We want to make music
What it does
It's a music synthesizer that can create more impressive and higher quality effects because it can produce them in parallel on a GPU
The goal of the project was to develop an affordable and powerful synthesis and effects engine in a small form factor. The engines takes advantage of the parallelization capacity of the NVIDIA Jetson Nano GPU to provide more powerful additive synthesis with large numbers of waves, as well as real-time effects processing. We also hoped to provide an intuitive and exciting physical interface for users to create their new sounds. Current hardware synthesizers are expensive and bulky, prohibitively so to many potential bedroom producers. Lowering the cost with a relatively inexpensive but powerful GPU will open the door to aspiring musicians who can't afford thousands of dollars in DAW's and synthesizers. By creating powerful and unique effects that naturally take advantage of the GPU, such as physically modelled reverb and real-time harmonization, we hope that producers of any skill level and setup will want to find a home for the Lil' Basstard in their production chain.
How we built it
Challenges we ran into
After the outbreak of COVID-19 and the subsequent cancellation of in-person classes, we found ourselves in a tough position. We were unable to access the labs and retrieve equipment, most importantly Jetson Nanos to proceed with at least software development. We also found ourselves unable to rely on receiving any outsourced parts in a timely fashion. As such, we decided to make a hard pivot to a software application that would allow us to at least finish the semester with a product. After waiting for our last equipment to arrive, we began to implement our original idea using Roli's JUCE software, a set of libraries made for creating music production applications. After learning this library in less than a week, we integrated our backend engine, leftover from earlier in the semester, with tweaks necessary to allow JUCE to run it. We also began to implement a GUI that would mimic the original design of our hardware. Eventually, we were able to integrate most essential functions of the engine with the GUI, albeit with some bugs. s