Likely you want to use Acoustamo, which is effecitvely doing the ray bouncing that is illustrated in that program, but in 3d. Congratulations to our AU 2014 Dynamo Hackathon winner: "Acoustamo: Designed by Sound" - Dynamo BIM
For your questions:
-
I can’t say ‘exactly this’ has been done, but stuff like it certainly has. The link above is one such example.
-
For just 2d analysis you can intersect the geometry with a given plane. That will return surfaces or lines (depending on the original geometry). Starting with Revit 2020 there is an API for custom 2d exporter which could help. I haven’t seen anyone pull much info that way, but here are some relevant links:
API Changes 2020
CustomExporter Class
There was also a recent post on “repeat commands on list index” leveraged an acoustical aspect in the build, including tracing the rays. Repeat commands per list index - #8 by jacob.small
That in a 2d manor would effectively give you a good start - you’d only have to ask “did you touch the source” (which may not be the best method here as sound doesn’t reflect as a ray).
There is also the option of just using a raybounce method in the Revit API. The forum has a few examples of that if you look around enough.