top of page
  • Writer's pictureDarren Woodland

Random Pure Data Silliness

Updated: Mar 16, 2023

I decided to do something tangentially related to the project and explore Pure Data.

I went down a rabbit hole and ended up on YouTube looking for videos for learning sound synthesis and pure data.

I had actually looked into the possibility of using Pure Data (Pd) with the Unity game engine as one possible avenue for creating this project. And I consistently take a step back and consider if Unity with Pd would be a more useful option for development.

However, for the time being, I will stick with Unreal and MetaSounds. Anyways...

I followed along with a tutorial by Yann Seznec some time back for using Pd as a sound design and audio implementation tool in Unity. In the process, I stumbled upon Plug Data, a Pd wrapper that has a nice onboard compiler to make embedding patches into other software, DAWs, and boards, a simpler process. Especially seeing as the Heavy Compiler (hvcc) was not supported on GitHub at the time. Plug data is also nice because of its incorporation of other languages and libraries like Lua and C++.

C++ compiler? Maybe you see where this is going...

I ended up following along with a tutorial from Simon Hutchison and making a Pd patch in Plug Data that is reminiscent of Brian Eno's Music for Airports.

Random Pd Silliness

This patch takes chords and notes as MIDI values and randomly selects them in a repeated, endless, sequence. The MIDI values are sent out to the Reaper using LoopMIDI as an internal router. The values are sonified using Spitfire Audio's Labs VSTs.

The whole point of the exercise was to see if I could use the Plug Data C++ compiler, which had recently been updated, to reformat the export of the patch as Unreal engine-compatible code. Then I could possibly directly embed a Pd patch as a Blueprints or MetaSounds node.

This did not work and was difficult to wrap my head around at this time. It is theoretically possible, but I'd need to spend more time and learn some more Unreal-specific C++ to get it working.

It was not a total waste of time though. I did get more Pd time in and learned a bit more about using Directed Acyclic Graph (DAGs) tools for audio work. I also learned the process for custom C++ classes in Unreal 5.

I also had another idea that could help me learn MetaSouns and UE5. Why not take the Pd resources I have gathered and attempt to recreate them in UE5 using MetaSouns and Blueprints? And why not add more game-like functionality while I'm at it?

More on that later...

3 views0 comments


bottom of page