#fmsynthesis — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #fmsynthesis, aggregated by home.social.
-
Clan Analogue’s compilation Sublime Wavelengths: The Cosmic Bliss of FM Synthesis, explores the art of frequency modulation in all its phases and manifestations. Compilation artists Acidalius, Sussiguala, KOshowKO, Reductionist and Aday, perform live from 8pm onwards at Brunswick Artists Bar, 316 Sydney Road, Brunswick this Saturday 8th of August.
#electronicmusic #synthesizer #fmsynthesis #livemusic
https://www.clananalogue.org/featured/clan-analogue-presents-fm3-at-brunswick-artists-bar/
-
I'm doing some research into algorithmic organisation of rhythm these days. Here's an experiment with composing rhythms as a list of 1's and 0's. These are then masked using modulo operators and probability gating to remove events.
#supercollider #livecoding #electronicmusic #experimentalmusic #computermusic #algorithmiccomposition #creativecoding #creativetechnology #drumandbass #electronica #glitch #808 #fmsynthesis
-
I'm doing some research into algorithmic organisation of rhythm these days. Here's an experiment with composing rhythms as a list of 1's and 0's. These are then masked using modulo operators and probability gating to remove events.
#supercollider #livecoding #electronicmusic #experimentalmusic #computermusic #algorithmiccomposition #creativecoding #creativetechnology #drumandbass #electronica #glitch #808 #fmsynthesis
-
The 1983 Invention That Ended Progressive Rock
#JustListen #Music #MusicProduction #History #Guitar #ElectricGuitar #Synthesizer #Synth #FM #FMSynthesis #Yamaha #DX7
https://www.youtube.com/watch?v=CTpyW3NDDqA -
The 1983 Invention That Ended Progressive Rock
#JustListen #Music #MusicProduction #History #Guitar #ElectricGuitar #Synthesizer #Synth #FM #FMSynthesis #Yamaha #DX7
https://www.youtube.com/watch?v=CTpyW3NDDqA -
WARNING: LOUD SOUND.
The beauty of FM: Sweeping the modulation index ratio from 1 to 100 on a carrier running at 200Hz and modulator at 800Hz. One of the things you can see clearly here is how the sidebands “wobble” as the modulation index is increased. It’s a rather complex pattern which can be understood using the Bessel functions often mentioned in literature about FM. No effects used, just two sine wave oscillators.
-
WARNING: LOUD SOUND.
The beauty of FM: Sweeping the modulation index ratio from 1 to 100 on a carrier running at 200Hz and modulator at 800Hz. One of the things you can see clearly here is how the sidebands “wobble” as the modulation index is increased. It’s a rather complex pattern which can be understood using the Bessel functions often mentioned in literature about FM. No effects used, just two sine wave oscillators.
-
WARNING: LOUD SOUND.
Another beautifully weird FM Synthesis example.
No sound effects used. Just two sine waves oscillators.
Two notes (C3 AND C5) repeating while the C:M ratio and modulation index increases.
-
WARNING: LOUD SOUND.
Another beautifully weird FM Synthesis example.
No sound effects used. Just two sine waves oscillators.
Two notes (C3 AND C5) repeating while the C:M ratio and modulation index increases.
-
WARNING: LOUD SOUND.
The beauty of FM: Sweeping the modulation frequency from 1hz to 10khz on a carrier running at 200hz. The modulation ratio index is 10.
-
WARNING: LOUD SOUND.
The beauty of FM: Sweeping the modulation frequency from 1hz to 10khz on a carrier running at 200hz. The modulation ratio index is 10.
-
WARNING: LOUD SOUND.
The beauty of FM: The spectrum of a 30 second sweep of the carrier frequency from 100hz to 10khz with the modulation frequency fixed at 200 hz and modulation index ratio of 5. Using one carrier and one modulator, both sine waves.
-
WARNING: LOUD SOUND.
The beauty of FM: The spectrum of a 30 second sweep of the carrier frequency from 100hz to 10khz with the modulation frequency fixed at 200 hz and modulation index ratio of 5. Using one carrier and one modulator, both sine waves.
-
Reading John Chowning's DX7 manual and gotta say, this illustration perfectly sums up my artistic life.
-
Reading John Chowning's DX7 manual and gotta say, this illustration perfectly sums up my artistic life.
-
Moved the stream to Sunday! Come watch and listen as I make some cool, weird sounds on the Korg opsix, and talk a minimal amount (for me).
https://www.youtube.com/live/e7oQh2AVvPk
#SoundDesign #SynthProgramming #FMSynthesis #LiveStream #opsix
-
Moved the stream to Sunday! Come watch and listen as I make some cool, weird sounds on the Korg opsix, and talk a minimal amount (for me).
https://www.youtube.com/live/e7oQh2AVvPk
#SoundDesign #SynthProgramming #FMSynthesis #LiveStream #opsix
-
I'm in this picture and I don't like it
#shitpost #MusicShitpost #MusicProduction #Synthesis #FMSynthesis
-
I'm in this picture and I don't like it
#shitpost #MusicShitpost #MusicProduction #Synthesis #FMSynthesis
-
Understanding FM: Algorithms
https://friprogramvarusyndikatet.tv/w/5LMg4aDFEiYkoboVmdzAcc
-
FM on the Side: Using FM as a secondary technique
https://friprogramvarusyndikatet.tv/w/oa1f43orybxMCPibnT8Lxy
-
Stream starts in 20 minutes! Today we look at using FM as a "side" technique -- using it with wavetables, VA, etc (rather than as the core/only technique) to spice up your patches and synth programming.
https://www.youtube.com/live/N4DRVu-XauM
#SoundDesign #SynthProgramming #FMSynthesis #ArturiaPigments
-
Stream starts in 20 minutes! Today we look at using FM as a "side" technique -- using it with wavetables, VA, etc (rather than as the core/only technique) to spice up your patches and synth programming.
https://www.youtube.com/live/N4DRVu-XauM
#SoundDesign #SynthProgramming #FMSynthesis #ArturiaPigments
-
New FM synth added to the Mercury Playground @mercury, coded with a single AudioWorkletProcessor inside a ToneAudioNode from ToneJS
It's a basic FM with a single modulator-(envelope)->carrier setup, and can be extended with extra voices and detuning to run 2-3 or more operators.
Syntax: `new synth fm index() ratio() fmShape()`
Some tutorials available on the website
#mercurylivecoding #fmsynthesis #webaudio #audioworkletprocessor #javascript #mercury #browserbased
-
New FM synth added to the Mercury Playground @mercury, coded completely with a single AudioWorkletProcessor
It's a basic FM with a single modulator-(envelope)->carrier setup, and can be extended with extra voices and detuning to run 2-3 or more operators.
Syntax: `new synth fm index() ratio() fmShape()`
Some tutorials available on the website
#mercurylivecoding #fmsynthesis #webaudio #audioworkletprocessor #javascript #mercury #browserbased
-
Don't want to get out from this loop
-
TX7 Repair Test in Ms Mad Lemon’s Amiga Music Setup
#Amiga #YamahaTX7 #MsMadLemon #SynthRepair #RetroComputing #FMsynthesis #MIDI #HomeStudio #DX7 #AmigaMusic
https://theoasisbbs.com/tx7-repair-test-in-ms-mad-lemons-amiga-music-setup/?fsp_sid=3857 -
TX7 Repair Test in Ms Mad Lemon’s Amiga Music Setup
#Amiga #YamahaTX7 #MsMadLemon #SynthRepair #RetroComputing #FMsynthesis #MIDI #HomeStudio #DX7 #AmigaMusic
https://theoasisbbs.com/tx7-repair-test-in-ms-mad-lemons-amiga-music-setup/?fsp_sid=3857 -
SGU-1 v0.1.0 Plays Monty on the Run
#X65 #X65Project #SGU1 #FMSynthesis #Chiptune #RetroComputing #8Bit #Synth #MontyOnTheRun #HomebrewHardware
https://theoasisbbs.com/sgu-1-v0-1-0-plays-monty-on-the-run/?fsp_sid=2767 -
SGU-1 v0.1.0 Plays Monty on the Run
#X65 #X65Project #SGU1 #FMSynthesis #Chiptune #RetroComputing #8Bit #Synth #MontyOnTheRun #HomebrewHardware
https://theoasisbbs.com/sgu-1-v0-1-0-plays-monty-on-the-run/?fsp_sid=2767 -
SGU-1 Furnace Tracker Demo Shows Off X65 Audio Range
#X65 #SGU1 #FurnaceTracker #Chiptune #RetroComputing #HomebrewHardware #TrackerMusic #FMSynthesis #Amiga #Atari
https://theoasisbbs.com/sgu-1-furnace-tracker-demo-shows-off-x65-audio-range/?fsp_sid=2216 -
SGU-1 Furnace Tracker Demo Shows Off X65 Audio Range
#X65 #SGU1 #FurnaceTracker #Chiptune #RetroComputing #HomebrewHardware #TrackerMusic #FMSynthesis #Amiga #Atari
https://theoasisbbs.com/sgu-1-furnace-tracker-demo-shows-off-x65-audio-range/?fsp_sid=2216 -
Australian electronic music collective Clan Analogue head east for Feb FM. Enjoy an afternoon of shimmering tones, intricate modulations and futuristic soundscapes, performed using the mysterious techniques of FM synthesis, live at Odeon Richmond, Melbourne, Victoria, on Sunday the 22nd of February.
#electronicmusic #fmsynthesis #livemusic
https://www.odeonrichmond.com.au/event-details/clan-analogue-presents-febfm
-
OPL3 Snooper on F256K2: A Hands-On YMF262 Explorer
#OPL3 #YMF262 #F256K2 #FMSynthesis #VGM #AdLib #SoundBlaster #RetroComputing #Foenix #AnyBitFeverDreams
https://theoasisbbs.com/opl3-snooper-on-f256k2-a-hands-on-ymf262-explorer/?fsp_sid=370 -
OPL3 Snooper on F256K2: A Hands-On YMF262 Explorer
#OPL3 #YMF262 #F256K2 #FMSynthesis #VGM #AdLib #SoundBlaster #RetroComputing #Foenix #AnyBitFeverDreams
https://theoasisbbs.com/opl3-snooper-on-f256k2-a-hands-on-ymf262-explorer/?fsp_sid=370 -
Wow, I haven't been on here since November. Where did time go?
Anyway, here's my latest musical experiment. I've been playing around with some microsound effects, specifically FM synthesis.
#Music #MusicProduction #Musician #Musicians #Indie #IndieMusic #IndieArtist #IndieMusician #Electronic #ElectronicMusic #Electronica #Experimental #ExperimentalMusic #ExperimentalElectronic #MIDI #MIDIMusic #Audacity #Microsound #FMSynthesis #AvantGarde #AvantGardeMusic #Weirdcore #Musodon #Audio
-
Wow, I haven't been on here since November. Where did time go?
Anyway, here's my latest musical experiment. I've been playing around with some microsound effects, specifically FM synthesis.
#Music #MusicProduction #Musician #Musicians #Indie #IndieMusic #IndieArtist #IndieMusician #Electronic #ElectronicMusic #Electronica #Experimental #ExperimentalMusic #ExperimentalElectronic #MIDI #MIDIMusic #Audacity #Microsound #FMSynthesis #AvantGarde #AvantGardeMusic #Weirdcore #Musodon #Audio
-
Klaus P. Rausch provides you with information about his book „DX Story“:
https://mis.backintimerecords.de/dx-story
FM synthesis - the magic formula for the #sound of the #80s -
Streaming time! At 12:30 PST today (just about 45 mins from now) I will be streaming a review and tour of the Korg opsix, for those looking for a new synth!
For convenience/by necessity I will be using the plug in version, but I WILL talk about the hardware version too. (I have both)
-
Streaming time! At 12:30 PST today (just about 45 mins from now) I will be streaming a review and tour of the Korg opsix, for those looking for a new synth!
For convenience/by necessity I will be using the plug in version, but I WILL talk about the hardware version too. (I have both)
-
SeventhSentinel – Snap the Sentinel OST
#FMsynth #FMsynthesis #Soundtrack #chiptune #ost #sn76489 #snapthesentinel #snapgame #videogame #videogameost #ym2612 #UnitedStates
CC BY-NC-SA (#CreativeCommons Attribution Non Commercial Share Alike) #ccmusic
https://seventhsentinel.bandcamp.com/album/snap-the-sentinel-ost -
SeventhSentinel – Snap the Sentinel OST
#FMsynth #FMsynthesis #Soundtrack #chiptune #ost #sn76489 #snapthesentinel #snapgame #videogame #videogameost #ym2612 #UnitedStates
CC BY-NC-SA (#CreativeCommons Attribution Non Commercial Share Alike) #ccmusic
https://seventhsentinel.bandcamp.com/album/snap-the-sentinel-ost -
Ready to make the inscrutable depths of FM synthesis scrutable? Dive into my FM Basics I guide, and learn how to make the weird approaches of FM synthesis (almost) as clear and obvious as a simple subtractive synth!
https://www.etherdiver.com/how-to-synth-a-guide-to-programming-synthesizers/fm-basics-i/
-
Ready to make the inscrutable depths of FM synthesis scrutable? Dive into my FM Basics I guide, and learn how to make the weird approaches of FM synthesis (almost) as clear and obvious as a simple subtractive synth!
https://www.etherdiver.com/how-to-synth-a-guide-to-programming-synthesizers/fm-basics-i/
-
Made a playlist for all of my FM synth programming content. Two videos each on Korg opsix and Ableton Operator, about 4 hours total. Pretty good intro to FM programming on ANY synth, even if I do say so myself.
https://www.youtube.com/playlist?list=PLD1jH_IvoIsUVhDBR4MYf3I-G09KcCw6E
-
Let's stream! Today at 12:30 PST (Pacific/Los Angeles time) I'll be back with more basic FM programming. This time we'll get into algorithms and the rest of the core FM toolset.
https://youtube.com/@etherdiver
If you need to brush up on the necessary bits to engage with today's stream, you can read the FM Basics I lesson here:
https://www.etherdiver.com/how-to-synth-a-guide-to-programming-synthesizers/fm-basics-i/
And/or watch last week's stream, embedded at the bottom of the linked lesson.
#FMSynthesis #SoundDesign #LiveStream #FMProgramming #HowToSynth
-
Get started with FM synthesis with my easy-to-follow, simple guide to the basics of FM programming. Learn about operators, ratios and feedback, and how to wield those tools to make cool synth noises!
https://www.etherdiver.com/how-to-synth-a-guide-to-programming-synthesizers/fm-basics-i/
#MusicProduction #synth #FMSynthesis #FMSynth #SoundDesign #Sound
-
Just in time for today's Intro to FM synthesis stream, allow me to debut the next piece of my how to synth series: FM Basics I
https://www.etherdiver.com/how-to-synth-a-guide-to-programming-synthesizers/fm-basics-i/
This lesson will introduce you to the core components of FM synthesis in a simple way. Today's stream will illustrate its points. Enjoy!
#SoundDesign #HowToSynth #SynthProgramming #FMSynth #FMSynthesis #FM
-
Arduino Audio and MIDI Frameworks
I’ve been collecting bookmarks for interesting Arduino audio projects for a while now, and having now played with the XIAO SAMD21 I started looking back over my list for other things to try. One thing that occurred to me is that there are a now a number of more powerful audio frameworks available for a range of microcontrollers, so in this post I’m doing an introductory “look see” at some of them, largely as “notes to self” to come back to them for some more detailed projects in the future.
Note: Many of these require a 32-bit processor, which is one of the reasons I’ve not looked at them so far.
Warning! I strongly recommend using old or second hand equipment for your experiments. I am not responsible for any damage to expensive instruments!
If you are new to microcontrollers, see the Getting Started pages.
Mozzi
I’ve spent quite a bit of time with Mozzi of course, the synthesis library for Arduino that supports a large range of microcontrollers, including the “original” 8-bit Arduino ATmega328P, so I won’t go over that again here.
For a starting point with Mozzi, see: Arduino PWM MIDI Synthesis with Mozzi. For using Mozzi on a 32-bit SAMD processor, there is more here and here.
But Mozzi isn’t the only game in town, especially if we’re expanding out to 32-bit microcontrollers.
The Arduino Sound Library
https://www.arduino.cc/reference/en/libraries/arduinosound/
This is an official Arduino library that supports SAMD21 based microcontrollers using an I2S digital to analog converter. It is designed for the MKR series of official Arduino boards.
Interestingly it appears to only support I2S audio devices for sound input and output. That seems like a little bit of a missed opportunity to me in that the SAMD21 has a built-in DAC, but I guess analogWrite() deals with access to the DAC relatively easily.
It is designed for official Arduino SAMD architecture boards – so those in the MKR series. It might work on other SAMD architecture boards, I haven’t looked into it in detail.
Phil Schatzmann’s Arduino Audio Tools
https://github.com/pschatzmann/arduino-audio-tools
This is a suite of open source code for audio stream processing, providing a range of audio sources (e.g. microphones, Internet streams, files, sensors, and so on) and sinks (e.g. DACs, PWM audio, MP3, codecs, audio modules, etc).
It can be used to build audio players, processors, effects, file processors, audio visualisers, networked audio tools, and so on.
I believe it supports the following microcontroller architectures:
- ESP32 (S and C variants)
- ESP8266
- RP2040 (MBED and non-MBED)
- AVR
- STM32
- SAMD
It supports several audio output boards too, including: ESP32-A1S based boards (ES8388 or AC101 codecs); VS1053 modules; and WM8960 modules.
I believe this is a library for audio processing, not necessarily audio synthesis.
Marcel Licence’s ML Synth Tools
https://github.com/marcel-licence/ML_SynthTools
This is a comprehensive synth library for producing synthesizers, organs and effects. Most of the code is open source, but there are certain key elements that are provided only in pre-built library form.
It provides libraries for the following microcontrollers:
- ESP32
- ESP8266
- XIAO SAMD21
- Teensy 4.1
- Daisy Seed
- Raspberry Pi Pico RP2040
- STM32F407
As well as the synthesizer core oscillators there are modules for arpeggiators, effects, meters, scopes, and MIDI file playing. Here are some example builds using the library:
- ML Organ (all platforms): https://github.com/marcel-licence/ml_synth_organ_example
- SAMD21 Synth: https://github.com/marcel-licence/samd21_mini_synth
- ML Synth (all platforms): https://github.com/marcel-licence/ml_synth_basic_example
- ESP32 FM synth: https://github.com/marcel-licence/esp32_fm_synth
- ESP32/RP2040 e-piano: https://github.com/marcel-licence/ml_epiano_example
Although it isn’t fully open source, this non-the-less looks like it would be worth taking a more detailed look. The provided videos of Marcel playing are particularly excellent.
MIDI Controller Libraries
There are a number of Arduino libraries for building MIDI controllers. Here are a selection of some that I’ve found so far.
OpenDesk MIDI Platform – https://github.com/shanteacontrols/OpenDeck
This is a set of firmware and two official PCB designs for MIDI controllers. In addition to the official boards, it also supports many microcontrollers, including:
- Arduino Mega 2560
- Arduino Nano 33 BLE
- Raspberry Pi Pico
- XIAO RP2040
- Teensy++ 2.0
And many others. It includes a web-based configuration utility for defining the MIDI commands for the controls. Official boards are available on Tindie and you can read more about them here: https://shanteacontrols.com/.
It supports a range of buttons, encoders, potentiometers, force sensitive resistors, certain touchscreens and can provided feedback using LEDs and displays.
Control Surface – https://github.com/tttapa/Control-Surface
This is a general purpose library for building MIDI input and output control devices. It supports a wide range of microcontrollers, including:
- AVR (Uno, Mega, Leonardo).
- Arduino Nano Every and 33.
- Teensy.
- ESP8266
- ESP32
- Raspberry Pi Pico
It supports a range of MIDI transports, including serial, USB, “direct serial” (using Hairless MIDI) and MIDI BLE. It also supports a range of buttons, potentiometers, rotary encoders, switches, keyboard matrices, and so on and can provide visual feedback using a range of LEDS and displays. It has built-in support for multiplexers, shift registers and LED drivers.
It includes a huge number of example projects to browse.
MIDIPal – https://github.com/pichenettes/midipal
This is a “MIDI Swiss Army Knife” that, with the additional of a display and rotary encoder, can provide a wide range of MIDI processing functions. It includes an editor application for programming MIDI filters.
This is a “native” AVR application, not for the Arduino environment.
Notes and Volts MIDI Controller – https://www.notesandvolts.com/2016/04/arduino-midi-controller-buttons.html
This is provided for completeness as it is a fairly common codebase for people to find and use with an Arduino. It supports a range of potentiometers and buttons and makes the task of configuring them as a MIDI control device relatively straight forward.
Closing Thoughts
As I say, this post is really almost a bit of a “to-do list” of things that look interesting and that I might try to take a more detailed look at, at some point.
If you have experience of any of these frameworks or libraries; or have suggestions of others that might be worth a look, do let me know in the comments!
Kevin
#ArduinoAudioTools #ControlSurface #dac #esp32 #fmSynthesis #i2s #midi #midiController #MIDIPal #MLSynthTools #mozzi #OpenDesk #pwm #rp2040 #samd21 #synthesis #xiao -
Arduino Audio and MIDI Frameworks
I’ve been collecting bookmarks for interesting Arduino audio projects for a while now, and having now played with the XIAO SAMD21 I started looking back over my list for other things to try. One thing that occurred to me is that there are a now a number of more powerful audio frameworks available for a range of microcontrollers, so in this post I’m doing an introductory “look see” at some of them, largely as “notes to self” to come back to them for some more detailed projects in the future.
Note: Many of these require a 32-bit processor, which is one of the reasons I’ve not looked at them so far.
Warning! I strongly recommend using old or second hand equipment for your experiments. I am not responsible for any damage to expensive instruments!
If you are new to microcontrollers, see the Getting Started pages.
Mozzi
I’ve spent quite a bit of time with Mozzi of course, the synthesis library for Arduino that supports a large range of microcontrollers, including the “original” 8-bit Arduino ATmega328P, so I won’t go over that again here.
For a starting point with Mozzi, see: Arduino PWM MIDI Synthesis with Mozzi. For using Mozzi on a 32-bit SAMD processor, there is more here and here.
But Mozzi isn’t the only game in town, especially if we’re expanding out to 32-bit microcontrollers.
The Arduino Sound Library
https://www.arduino.cc/reference/en/libraries/arduinosound/
This is an official Arduino library that supports SAMD21 based microcontrollers using an I2S digital to analog converter. It is designed for the MKR series of official Arduino boards.
Interestingly it appears to only support I2S audio devices for sound input and output. That seems like a little bit of a missed opportunity to me in that the SAMD21 has a built-in DAC, but I guess analogWrite() deals with access to the DAC relatively easily.
It is designed for official Arduino SAMD architecture boards – so those in the MKR series. It might work on other SAMD architecture boards, I haven’t looked into it in detail.
Phil Schatzmann’s Arduino Audio Tools
https://github.com/pschatzmann/arduino-audio-tools
This is a suite of open source code for audio stream processing, providing a range of audio sources (e.g. microphones, Internet streams, files, sensors, and so on) and sinks (e.g. DACs, PWM audio, MP3, codecs, audio modules, etc).
It can be used to build audio players, processors, effects, file processors, audio visualisers, networked audio tools, and so on.
I believe it supports the following microcontroller architectures:
- ESP32 (S and C variants)
- ESP8266
- RP2040 (MBED and non-MBED)
- AVR
- STM32
- SAMD
It supports several audio output boards too, including: ESP32-A1S based boards (ES8388 or AC101 codecs); VS1053 modules; and WM8960 modules.
I believe this is a library for audio processing, not necessarily audio synthesis.
Marcel Licence’s ML Synth Tools
https://github.com/marcel-licence/ML_SynthTools
This is a comprehensive synth library for producing synthesizers, organs and effects. Most of the code is open source, but there are certain key elements that are provided only in pre-built library form.
It provides libraries for the following microcontrollers:
- ESP32
- ESP8266
- XIAO SAMD21
- Teensy 4.1
- Daisy Seed
- Raspberry Pi Pico RP2040
- STM32F407
As well as the synthesizer core oscillators there are modules for arpeggiators, effects, meters, scopes, and MIDI file playing. Here are some example builds using the library:
- ML Organ (all platforms): https://github.com/marcel-licence/ml_synth_organ_example
- SAMD21 Synth: https://github.com/marcel-licence/samd21_mini_synth
- ML Synth (all platforms): https://github.com/marcel-licence/ml_synth_basic_example
- ESP32 FM synth: https://github.com/marcel-licence/esp32_fm_synth
- ESP32/RP2040 e-piano: https://github.com/marcel-licence/ml_epiano_example
Although it isn’t fully open source, this non-the-less looks like it would be worth taking a more detailed look. The provided videos of Marcel playing are particularly excellent.
MIDI Controller Libraries
There are a number of Arduino libraries for building MIDI controllers. Here are a selection of some that I’ve found so far.
OpenDesk MIDI Platform – https://github.com/shanteacontrols/OpenDeck
This is a set of firmware and two official PCB designs for MIDI controllers. In addition to the official boards, it also supports many microcontrollers, including:
- Arduino Mega 2560
- Arduino Nano 33 BLE
- Raspberry Pi Pico
- XIAO RP2040
- Teensy++ 2.0
And many others. It includes a web-based configuration utility for defining the MIDI commands for the controls. Official boards are available on Tindie and you can read more about them here: https://shanteacontrols.com/.
It supports a range of buttons, encoders, potentiometers, force sensitive resistors, certain touchscreens and can provided feedback using LEDs and displays.
Control Surface – https://github.com/tttapa/Control-Surface
This is a general purpose library for building MIDI input and output control devices. It supports a wide range of microcontrollers, including:
- AVR (Uno, Mega, Leonardo).
- Arduino Nano Every and 33.
- Teensy.
- ESP8266
- ESP32
- Raspberry Pi Pico
It supports a range of MIDI transports, including serial, USB, “direct serial” (using Hairless MIDI) and MIDI BLE. It also supports a range of buttons, potentiometers, rotary encoders, switches, keyboard matrices, and so on and can provide visual feedback using a range of LEDS and displays. It has built-in support for multiplexers, shift registers and LED drivers.
It includes a huge number of example projects to browse.
MIDIPal – https://github.com/pichenettes/midipal
This is a “MIDI Swiss Army Knife” that, with the additional of a display and rotary encoder, can provide a wide range of MIDI processing functions. It includes an editor application for programming MIDI filters.
This is a “native” AVR application, not for the Arduino environment.
Notes and Volts MIDI Controller – https://www.notesandvolts.com/2016/04/arduino-midi-controller-buttons.html
This is provided for completeness as it is a fairly common codebase for people to find and use with an Arduino. It supports a range of potentiometers and buttons and makes the task of configuring them as a MIDI control device relatively straight forward.
Closing Thoughts
As I say, this post is really almost a bit of a “to-do list” of things that look interesting and that I might try to take a more detailed look at, at some point.
If you have experience of any of these frameworks or libraries; or have suggestions of others that might be worth a look, do let me know in the comments!
Kevin
#ArduinoAudioTools #ControlSurface #dac #esp32 #fmSynthesis #i2s #midi #midiController #MIDIPal #MLSynthTools #mozzi #OpenDesk #pwm #rp2040 #samd21 #synthesis #xiao