Skip to content

Latest commit

 

History

History
75 lines (54 loc) · 2.94 KB

README.md

File metadata and controls

75 lines (54 loc) · 2.94 KB

ML_SynthTools

An Arduino synthesizer library

project picture
link to the video

This library supports different platforms:

  • ESP32
  • ESP8266
  • Seeedstudio XIAO (samd21 - cortex-m0plus)
  • Teensy 4.1 (imxrt1062)
  • Daisy Seed (cortex-m7)
  • Raspberry Pi Pico (rp2040)
  • STM32F407 (cortex-m4)

The organ example can be found here: https://github.com/marcel-licence/ml_synth_organ_example

All platforms are tested. Actually the sound quality might be a bit limited. The organ supports full polyphony (you can play all 64 notes of the upper manual at the same time). You can modify the sound using 9 drawbars. Percussion is supported (2nd, 3rd). A simple rotary implementation creates a simple (noisy) leslie like sound.

Demo using ESP32, ESP8266: https://youtu.be/c7TL8jcrnzs Demo using the XIAO: https://youtu.be/2wT8nByoUNw Demo using the Teensy4.1: https://youtu.be/H-NDCQnSDV0

More information will be available in future

Modules of this library

The library contains the following modules:

Compiling note

In some cases the following error might occur:

The plaform does not support 'compiler.libraries.ldflags' for precompiled libraries.

To fix this you can look for platform.txt

Add the following line:

compiler.libraries.ldflags=

Ref: https://youtu.be/c7TL8jcrnzs?t=419

If you get a lot of "undefined reference to" errors the library couldn't be found by Arduino.

To support new platforms I need the information in which folder Arduino was looking for the library. Example:

Compiling libraries...
Compiling library "ML_SynthTools"
Library ML_SynthTools has been declared precompiled:
Precompiled library in "C:\Users\...\Documents\Arduino\libraries\ML_SynthTools\src\cortex-m4\fpv4-sp-d16-hard" not found
Precompiled library in "C:\Users\...\Documents\Arduino\libraries\ML_SynthTools\src\cortex-m4" not found

Compiling RP2040 (v1.13.1)

Some changes in the toolchain cause that the linker searches the lib in the cortex-m0plus instead of the rp2040 path. Please copy the ML_SynthTools.a from src/rp2040 to src/cortex-m0plus and replace the existing file in case you want to use the lib with the RP2040


Please feel free to share your experience and ideas.