Reblogged from Love Yourself; Your brain is wider than the sky ♕
Just listening to some House
Reblogged from It's Complicated
— John Cage, Lecture on Nothing (via leslieseuffert)
Reblogged from functor
It would mean a lot if you’d spend five minutes listening to me mumble incomprehensibly about a project I’ve been working on recently.
The project is a raytracer for audio. It uses raycasting as a technique for generating impulse responses. It’s all home-grown C++, using JUCE for GUI stuff, and Assimp for 3D asset file loading.
The tracer app loads .obj files (or other 3D file formats). It uses the diffuse and specular colour values stored in the model’s material data as 3-band diffuse and specular reflection coefficients, allowing simple materials such as wood, concrete or steel to be approximated, depending on the colours set in the model.
Each trace is exported as a mahoosive .json file, which can then be loaded into the flattener. The flattener converts this data into an ambisonic audio file, by multiplying impulses from each direction with a function of a polar pattern in that direction for each speaker.
The resulting audio file can be loaded into any convolution reverb program (such as Space Designer or Alitverb), and it will make your music sound 100% indistinct and far away.
I have a list of stuff that I still want to add to this, and your suggestions for extra features would be welcome. I’ve been working pretty solidly on this for a few weeks now though, so for the time being I’m going to take a break and work on other things.