3. First Interface Attempts: Pure Data and Max/MSP
My first instinct was to try Pure Data. It felt natural because it is close to sound-design workflows and patch-based thinking. I thought it might be a good place to create a simple interface that sends position values to the audio system. In theory, that made sense. But in practice, I quickly ran into a limitation: I wanted a visual and movement-based interface, and Pure Data did not feel comfortable enough for that.
The problem was not that Pure Data cannot send values or control sound. It can. The problem was the kind of experience I wanted. I wanted the listener to move, see sources, understand room geometry, and feel the relation between position and sound. The visual and animation side became important very early. My Pure Data attempts did not give me that feeling, so I stopped trying to force the GUI into a tool that did not suit the direction anymore.
After that, I tried Max/MSP. Max felt better for visual work and interaction. It gave me more control and felt more flexible than Pure Data for this particular task. I could imagine a more useful interface there. But even with Max, the result did not quite match what I wanted personally. It still felt like I was fighting the environment a little bit. I wanted something that behaved more like a small interactive application than a patch.
This part of the process was a bit frustrating, but it was useful. It showed me what the interface needed to do. It was not enough to have sliders or number boxes. The interface needed to show a room, show sources, allow movement, and later allow custom layouts and presets. It had to be a small spatial tool, not only a control panel.
In my second meeting with my professor, Python came up as a better option. I already had some basic Python knowledge, and the project became a good reason to build on it. This was slightly intimidating, because I had not used Python in this way before. But it also felt like the right challenge. If I could build the interface myself, I could make it behave exactly the way the project needed.
So Pure Data and Max were not failures in the end. They were part of the filtering process. They helped me understand that the core of this prototype needed to be a custom interface and calculation system, not just an audio patch.