Musicians and electronic enthusiasts interested in creating their very own Raspberry Pi synthesizer may be interested to know that in the latest issue of the HackSpace magazine, Ben Everard provides a tutorial on how to build a framework for creating audio devices using the awesome Raspberry Pi Pico microcontroller to build a PicoPicoSynth. The Raspberry Pi Pico is a tiny, fast, and versatile board built using new RP2040 a new microcontroller chip designed by Raspberry Pi Foundation.
The RP2040 features a dual-core Arm Cortex-M0+ processor with 264KB internal RAM and support for up to 16MB of off-chip Flash. A wide range of flexible I/O options includes I2C, SPI, and Programmable I/O (PIO). Using C and MicroPython, the Pico microcontroller is adaptable to a vast range of applications and skill levels, and getting started is as easy as dragging and dropping a file.
“Raspberry Pi Pico combines processing power with the ability to shuffle data in and out quickly. This makes it a good fit for a lot of different things, but the one we’ll be looking at today is a sound Raspberry Pi synthesizer. There are a huge number of ways you can make sound on a programmable electronic device, but there’s always space for one more way, isn’t there? We set about trying to create a framework for building audio devices using Raspberry Pi Pico that we’ve called PicoPicoSynth, because it’s a small synth for Pico.”
“The program is powered by a sequencer. This is a structure that contains (among other things) a sequence of notes that it plays on a loop. Actually, it contains several sequences of notes – one for each type of noise you want it to play. Each sequence is a series of numbers. A -1 tells the sequencer not to play that note; a 0 or higher means play the note. For every point in time (by default, 24,000 times a second), the sequencer calls a function for each type of noise with the note to play and the time since the note first sounded. From these inputs, the callback function can create the position of the sound wave at this point, and pass this back to the sequencer. All the sounds are then mixed and passed on to the Pico audio system, which plays them.”
Read more: Raspberry Pi synthesizer project