Synthesized Convolution Reverb by Raytracing (with Blender3D)

The Programm I’ve implemented as a Prototype in Python is meant to generate a synthesized reverb in an artificial room modeled in Blender3D.
So it calculates a reverb cararacteristic for a given Signal (eg. an Impuls) and a given set of Data (eg. size of the room, topology, position of the signal source, position of the reciver … ).

Goals:

  • Multible Sources support
  • native stereo support
  • Make it animatable
  • Implement diffrerent Materials (eg. paraterized EQ or diffuse Scattering)
  • Implement it in C++ & OpenCL for faster raytracing

DevelopementSite with first applicable .blend including python source (but be careful it could be slow):
https://developer.blender.org/T43549

First proof of concept results :
https://soundcloud.com/sebastian-schwank/sets/project-soundray

And of course first Sceenshots:




Hey,

very nice little project you have here.
I played around a little and tried creating an empty room (which leads to less occlusions) and lowered the scale factor from 8 to 2 (otherwise Python ran out of space with “List Index out of range, on line 97”).

This is the room with the sound waves:


And this is the audio output. The upper waveform is with a high scale value and the bottom waveform is the scene from above with a scale of 2.


If I find time I will do some more testing.
Fascinating to see the power of Python with creating audio files from a physical calculation of the Blender scene. If it just would be more performant…

Keep it up!

OMG! I love the idea of visualising a recording space and a sound space for playback. Could you specify surface materials as well?

A strange example from work, I often have clients send voice over recordings made in a motor vehicle, as they think that it is quiet and small. But it’s full of reflective surfaces and sounds overly bright. Wish I could show people how bad the idea is. Then what environment would be better (generally).

Love this!

Currently only fully reflective surfaces are supported.
(Will add blocking soon)

Some Updated IR-Results are avalilable here:

https://soundcloud.com/sebastian-schwank/sets/free-irs-created-in-blender3d

Found a much easier way to calculate the reverb using cycles.
Results soon.

I guess there’s no way to try this solution in current version of Blender? At least I see no attached scripts in https://developer.blender.org/T43549.