Information, schematics and software
This repo is my collection ideas and links concerning electronic music gear with focus on analog modular synths, microcontroller and MIDI modules and maybe FPGAs. And of course to develop own designs.
In 2023, an article was published on amazona.de "Module vom Bausatz bis zur Eigenkreation" (German, translated "Modules: From kits to own creations") that gives a very nice overview on the different levels you can construct your own modules. When organizing workshops, it probably makes sense to focus on entry ... medium level participants, teach some theory and of course give practical support and fix bugs.
Please contact me if you are interested in collaborations, workshops or sharing some ideas!
-
Building a synthesizer module kit like the Erica Synths DIY kits. For intermediate soldering and electronics skills, this should require 1/2 ... 1 day to complete and debug. However, you end up with a single module which could be underwhelming as a first synth experience.
-
Ray Wilson's Noise Toaster is a compact semimodular synth, described in his book "Make: Analog Synthesizers" (see below). PCB and front panel are available via https://synthcube.com (UK). This is in the style of Erica Synth's Bullfrog. Maybe I redesign the synth to fit into a Eurorack and add some patch points etc. This also allows producing and ordering cheaper PCBs and front panels for a workshop.
-
VCV-Rack, a software emulation of modular synthesis. The possibilities and limitations of modular synth sound design can be explained and explored easily and for free as a first step. VCV-Rack can be used as a plug-in for DAWs, enabling interfacing audio and control signals to hardware modules and synths in a hybrid synth. This can help to avoid the initial single-module-sadness. Unfortunately, this is only possible with the pro-version.
Alternatively, Disthro Cardinal packages VCV-Rack together with the most popular modules and works as a plugin in AudioUnit/CLAP/LV2/VST2/VST3 formats and as a standalone app for FreeBSD, Linux, macOS, Windows and the Web.
-
PT2399 delay boards are really cheap (1 ... 2 € at AliExpress) and can be used to build delay based effects for guitar players and modular synth afficionados, increasing the number of potential workshop participants. Examples and documentation see linked here.
-
Retro / LoFi synths can be constructed with low effort for those who love the crispy sounds from the 8 bit era.
-
Free-style courses starting with just a schematic for advanced synthesizer developers / electronic tinkerers. Breadboards work well for the complexity level of a typical synth module, and from this a stripline board or a PCB can be designed and manufactured.
-
Faust + ESP32 audio platform (see below), focussing on algorithms and a software-centric approach to music electronics, suitable for stomp boxes and modular systems alike.
-
Arduino / Teensy (see below) + some analog interfacing
Maker spaces, technical museums, universities, synth shops, synth fairs or conferences, ... ranging from 1/2 day to several days / evenings either in a row or once a week.
Here is a small selection of courses available on the internet:
-
DSP Lab for EPFL course, this online book is a step-by-step documentation for the lab of the EPFL course COM-303 Signal processing for communications
Experiments are coded in Python on a PC and in C++ on a microcontroller, starting with a simple audio passthrough and doing pitch shifting, filtering, granular synthesis etc.
- Ray Wilson aka Music From Outer Space: If you don't know this, it's time to dive in!
- Moritz Klein certainly creates some of best synth related DIY stuff you can find on Youtube. Together with Erica Synths he even developed a series of educational DIY synth modules mki x es.EDU.
- Look Mum No Computer and especially his Youtube Channel breathe a true punky DIY spirit! Many designs are described and can be bought at his KosmoModularGrid Shop.
- Kevin's Simple DIY Electro Music Projects and his Youtube Channel provide tons of information on music electronics, especially for Arduino and RPi Pico.
- Michael Zülch has a lot of analog and Arduino based modules on his Github Repo, complete with KiCAD files.
- Bamanya Brian from Uganda is a true DIY synth guy, on his Afrorack Youtube channel he shows what he calls Africa's first home made modular synth, what it's like to how to make cheap synth modules and demonstrates some African rhythms on modular synth. He also shows how to make a MIDI to CV converter for 5$.
- Notes and Volts and his Youtube Channel have lots of interesting audio projects, mainly built around uCs like the Teensy.
- Rene Schmitz Schmitzbits is a treasure trove for analog synth related circuits.
- Raymond Schouten has some very reduced but interesting projects for mixed analog / Arduino synthesizers.
- Modwiggler - THE forum for all things related to modular synths.
- Last but not least: The Subreddit /r/synthdiy
- 3D-printed front panels on Printables
- Attractive enclosures for pedals etc. at banzaimusic.com
- A general discussion on PCB and alumininum front panels: https://modwiggler.com/forum/viewtopic.php?t=278898
- Felix Wiegand [wgdmodular] is a module developer, a Youtuber and Instagrammer. His website also gives good tips about buying those standard but sometimes hard-to-get components like jacks, pots, standoffs etc. His GitHub repo features firmware for his Daisy Seed module "Loewenzahnhonig" module and KiCAD components and footprints for Eurorack modules.
- Compact (outer diameter 30 mm) 24 RBG LED ring from Duppa Components for rotary encoders
- Mutable Instruments Breadboard Friends have some nice ideas for making breadboarding audio / synth projects easier
- Erica Synths Labor is the perfect breadboard environment for creating modular synths
- ADDAC System, a breadboard that is part of a modular synth
The retro audio SN76477 complex sound generator IC (Texas Instruments) from the 80s is still available at prices round 3 ... 15 € (also as a board in the same price range).
- NA5Y: "Space Invader Sounds Part 2 - The SN76477".
- Steven Bolin, SN76477 Synth Demo
- Thomas Henry SN Voice SN76477 Eurorack Module
Electrical specification and interfaces
- MIDI to CV Skull, a MIDI to CV converter shaped like a skull (well ...) using an RPI Pico with an MCP4725 I2C 12 bit DAC (CircuitPython)
- Basic MIDI to CV converter using an AT Tiny and PWM (C)
- Sparkfun has a great introduction
- Kevin's diyelectromusic has a great set of basic MIDI project tutorials on a RPi Pico with Micropython to be up and running in no time at all:
- MIDI (out), MicroPython and the Raspberry Pi Pico, a "Hello World" project to write some MIDI commands.
- MIDI In for 3.3V Microcontrollers is counterpart
- Raspberry Pi Pico MIDI Channel Router routes a MIDI In port to one of 8 MIDI Out ports, utilizing a.o. the RPi PIO functionality. With detailled explanation of channel decoding - funtastic!
- Raspberry Pi Pico MIDI Channel Merger works the other way round, merging signals from eight MIDI Inputs to one MIDI output.
- Raspberry Pi Pico Multi MIDI Router is a five part project for a general 6-IN, 6-OUT MIDI routing device.
- Raspberry Pi Pico: Grundlagen der Energieversorgung / Stromversorgung, how to power a RPi Pico from (German) via Micro-USB connector, VBUS pin, 3V3 pin or VSYS pin without frying it
- EuroPi is a module based on the Raspberry Pi Pico that can be reprogrammed in MicroPython.
- Arduino Beat Detector, using just a coupling capacitor and simple IIR filters to extract beat timing from audio data
Teensy boards are widely used low-cost, high-performance ARM M7 based microcontroller boards. Besides general purpose projects, Teensies are frequently used for audio applications due to good software libraries and a fast USB port.
Daisy Seed boards have been used for a lot of audio and synth projects due to their high-performance ARM processors and on-board HiFi-grade ADCs and DACs, unfortunately they are not so easily available and pricey in Germany.
ESP32 modules and boards give the most "bang for the buck" you can get, drawbacks are an overwhelming variety of boards and revisions and a lower quality of audio libraries for music making compared to Teensy and Daisy Seed.
The OWL platform is an Open Source Software and Hardware, community-driven signal processing platform. Rebeltech builds and sells fully programmable pedals and Eurorack modules like the Genius based on this platform.
Open Hardware Eurorack Compatible Audio FPGA Front End is a really cool project, built around a AK4619VN four-channel audio codec providing four analog inputs and four analog outputs on a narrow module. Sample code for an Icebreaker FPGA (Lattice) board is provided and all files are on Github. There is even a Plugin allowing to run Verilog code inside the VCV Rack audio simulator!
Faust (Functional Audio Stream) is a functional programming language for sound synthesis and audio processing with a strong focus on the design of synthesizers, musical instruments, audio effects, etc. It is used in the academia and, of course, by musicians.
Faust has been implemented on low-cost uC platforms like ESP32 and Teensy, some of my experiences and experiments will be linked here.
PureData is a visual programming language for creating interactive computer music and multimedia. It is an open source project and was originally developed by Miller Puckette who also developed Max.
pd describe data-flow systems where objects on a visual canvas receive, process and transmit atomic data types.
There is support for Daisy platforms via pd2dsy.
libpd packs puredata as an embeddable audio synthesis library.
The Pduino object provides Firmata-based access where Firmata is a protocol for communicating with microcontrollers from software on a host computer. Alternatively, you can control the Teensy via USB MIDI messages.
plugdata is a visual programming environment for PureData.
Due to common history, Max is quite similar to pd and also describes data-flow systems. However, it is a commercial software published by Cycling74 which have been acquired by Ableton in 2017.
Gen is an extension for the Max environment that allows compiling visual code into a more efficient binary form that can also be exported outside the Max environment. for more details see a tutorial on the gen~ object.
Maxuino supports Teensy running StandardFirmata.