Inspiration
A love of music production, the obscene cost of synthesizers, and the Drive soundtrack
What it does
In its simplest form, it is a synthesizer. It creates a basic wave using wave functions and runs it through a series of custom filters to produce a wide range of sounds. Finally the sounds are bound to a physical "keyboard" made using an Arduino.
How we built it
The input driver and function generator ares written in python using numpy and pyaudio libraries for calculating wave functions and to output the result to audio output..
Challenges we ran into
-pyaudio doesn't play nice with multiprocessing
-multithreading wasn't as good an option because it doesn't properly parallelize due to Python's GIL
-parsing serial input from a constant stream lead to a few issues
What we learned
We learned a lot about realtime signal processing, the performance limitations of Python and the ins and outs of creating an controller device from the hardware level to driver software.
What's next for Patch Cable
-We'd like to rewrite the signal processing in a faster language. Python couldn't keep up with realtime transformation as well was we would have liked.
-We'd like to add a command line and visual interface for making the function chains to make it easier to make sounds as you go.


Log in or sign up for Devpost to join the conversation.