software synthesizer

Nothing says Rockstar Musician Lifestyle like spreadsheet software. Okay, we might have mixed up the word order a bit in that sentence, but there’s always Python to add some truth to it. After all, if we look at the basic concept of MIDI sequencers, we essentially have a row of time-interval steps, and depending on the user interface, either virtual or actual columns of pitches or individual instruments. From a purely technical point of view, spreadsheets and the like would do just fine here.

Amused by that idea, [Maxime] wrote a Python sequencer that processes CSV files that works with both hardware and software MIDI synthesizers. Being Python, most of the details are implemented in external modules, which makes the code rather compact and easy to follow, considering it supports both drums and melody tracks in the most common scales. If you want to give it a try, all you need is the python-rtmidi and mido module, and you should be good to go.

For all the musicians out there, here’s a great use for your Raspberry Pi. All the features you would expect from a nice analog synth are implemented in a Raspberry Pi-based polysynth – dual oscillators, LFOs, and phasers – and it looks like there will be a few more features added before the Raspi synth is released.

Even though the ‘synthesis’ part of the Raspi synth already sounds wonderful, getting MIDI on the Rasberry Pi leaves much to be desired. The creator of the Raspi synth thought about using the GPIO pins as a MIDI interface, but because the GPIO pins cannot run natively at 31250 bps (the MIDI spec), the Raspberry Pi has to waste most of its CPU cycles just listening for MIDI traffic.

Right now the Raspberry Pi synth is controlled by a USB-connected MIDI interface, and as you can hear after the break, sounds wonderful. We can’t wait to hear what this synth will be able to do in a few months’ time.