All Projects → marcel-licence → esp32_basic_synth

marcel-licence / esp32_basic_synth

Licence: GPL-3.0 license
ESP32 based simple synthesizer project

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to esp32 basic synth

Audiobench
Open source modular synthesizer
Stars: ✭ 63 (-52.99%)
Mutual labels:  midi, synthesizer
guitar
🎸 Online guitar toy and tablature recorder/player
Stars: ✭ 80 (-40.3%)
Mutual labels:  midi, synthesizer
Audiokitsynthone
AudioKit Synth One: Open-Source iOS Synthesizer App
Stars: ✭ 1,258 (+838.81%)
Mutual labels:  midi, synthesizer
Romplayer
AudioKit Sample Player (ROM Player) - EXS24, Sound Font, Wave Player
Stars: ✭ 445 (+232.09%)
Mutual labels:  midi, synthesizer
Unimidi
Realtime MIDI IO for Ruby
Stars: ✭ 229 (+70.9%)
Mutual labels:  midi, synthesizer
Webaudiofont
Use full GM set of musical instruments to play MIDI and single sounds or effects. Support for reverberation and equaliser. No plugins, no Flash. Pure HTML5 implementation compatible with desktop and mobile browser. See live examples.
Stars: ✭ 600 (+347.76%)
Mutual labels:  midi, synthesizer
Lick
LiCK, Library for ChucK
Stars: ✭ 118 (-11.94%)
Mutual labels:  midi, synthesizer
MicroDexed
Dexed port for Teensy (3.5/3.6 with audio shield)
Stars: ✭ 20 (-85.07%)
Mutual labels:  midi, synthesizer
Omnimidi
A software MIDI synthesizer for professional use.
Stars: ✭ 181 (+35.07%)
Mutual labels:  midi, synthesizer
Shaden
🎧 A modular audio synthesizer.
Stars: ✭ 175 (+30.6%)
Mutual labels:  midi, synthesizer
Awesome Music Production
A curated list of software, services and resources to create and distribute music.
Stars: ✭ 340 (+153.73%)
Mutual labels:  midi, synthesizer
Adlplug
FM Chip Synthesizer — OPL & OPN — VST/LV2/Standalone
Stars: ✭ 249 (+85.82%)
Mutual labels:  midi, synthesizer
arduino-midi-sound-module
Turn your Arduino Uno into a 16-voice MIDI sound synthesizer
Stars: ✭ 43 (-67.91%)
Mutual labels:  midi, synthesizer
Fluidsynth
Software synthesizer based on the SoundFont 2 specifications
Stars: ✭ 811 (+505.22%)
Mutual labels:  midi, synthesizer
kiro-synth
Modular sound synthesizer written in Rust
Stars: ✭ 62 (-53.73%)
Mutual labels:  midi, synthesizer
Miti
miti is a musical instrument textual interface. Basically, its MIDI, but with human-readable text. 🎵
Stars: ✭ 103 (-23.13%)
Mutual labels:  midi, synthesizer
midi2cv
Use a simple Python script, a few wires, and a MCP4725 to convert any MIDI signal to a control voltage.
Stars: ✭ 26 (-80.6%)
Mutual labels:  midi, synthesizer
tune
Make xenharmonic music and create synthesizer tuning files for microtonal scales.
Stars: ✭ 73 (-45.52%)
Mutual labels:  midi, synthesizer
Fsynth
Web-based and pixels-based collaborative synthesizer
Stars: ✭ 146 (+8.96%)
Mutual labels:  midi, synthesizer
Mt32 Pi
🎹🎶 A baremetal kernel that turns your Raspberry Pi 3 or later into a Roland MT-32 emulator and SoundFont synthesizer based on Circle, Munt, and FluidSynth.
Stars: ✭ 231 (+72.39%)
Mutual labels:  midi, synthesizer

esp32_basic_synth

ESP32 based DIY polyphonic MIDI synthesizer module Arduino project

project picture
link to the video

More infos: - little quick start guide to get started with arduino synthesizer / music projects: https://youtu.be/ZNxGCB-d68g

The project has been tested on

  • ESP32 Audio Kit V2.2 (using ESP32-A1S)
  • ESP32 DEVKIT - DOIT (actually only supporting esp32\1.0.4 library)

ESP32 Audio Kit V2.2

To compile set board to: ESP32 Dev Module Ensure "#define ESP32_AUDIO_KIT" is set in config.h IO22 will be used for MIDI in.

The ADC multiplexer can be used (other wise please remove #define ADC_TO_MIDI_ENABLED from config.h) Connection of the ADC multiplexer:

  • EN -> Ground
  • S0 -> IO23
  • S1 -> IO18
  • S2 -> IO14
  • S3 -> Ground
  • Sig -> IO12

ESP32 DEVKIT - DOIT

To compile set the board to: DOIT ESP32 DEVKIT V1 Ensure that "#define ESP32_AUDIO_KIT" has been removed from config.h

Using a DAC

An external audio DAC is recommended for this setup:

  • BCLK -> IO25
  • WLCK -> IO27
  • DOUT -> IO26

Using no DAC

You can also get a sound without a DAC. Add '#define I2S_NODAC' to config.h

The default output pin is IO22. Add a capacitor in series of the audio line (10µF for example)

Using an ADC multiplexer

Connection of the ADC multiplexer:

ADC Mapping

The adc module has been only tested with the ESP32 Audio Kit V2.2. In z_config.ino you can define your own mapping. Actually only 8 channels are read from the multiplexer. The adc lookup is used to define a channel and cc per analog input (C0..C7). By changing adc values a MIDI messages will generated internally. It should be also mapped int the MIDI mapping.

MIDI Mapping

A controller mapping can be found in z_config.ino. You can define your own controller mapping if your controller does support CC messages.

MIDI via USB

MIDI can be received via USB activating the MACRO "MIDI_VIA_USB_ENABLED" in config.h.

Default PIN Mapping is:

  • CS: IO5
  • INT: IO17 (not used)
  • SCK: IO18
  • MISO: IO19
  • MOSI: IO23

For more information refer to the MIDI related project: https://github.com/marcel-licence/esp32_usb_midi Using USB can be seen here: https://youtu.be/Mt3rT-SVZww


If you have questions or ideas please feel free to use the discussion area!

Derived projects

MichaelPNolan added a phyicial interface, knobs etc. to make it standalone: https://github.com/MichaelPNolan/StandAloneSynth37key/tree/main/esp32_alone_synth

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].