Skip to content

olizajac/ML_SynthTools

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Releases

No releases published

Packages

No packages published

Languages

  • C 53.7%
  • C++ 46.3%