When the sun goes down, and the moon comes up...
I turn into a teenage goo goo muck.
GGM is a software based sound/music synthesizer that runs on the STM32F4 Discovery Board.
The synth and platfom code have been partitioned for ease of portability. The synth code is written using floating point, so a target CPU should have a 32 bit (single precision) FPU. E.g. ARM Cortex M4 or better.
- 44100 samples/second (per channel)
- 16 bits/sample
- stereo output
- 32-bit floats for internal operations
- MIDI input (serial)
- 16 voice polyphony
- 16 channels with independent patches
- STM32F4Discovery Board (MB997) http://www.st.com/en/evaluation-tools/stm32f4discovery.html
- MIDI to serial breakout board http://ubld.it/products/midi-breakout-board/
The path to the GNU cross compilation tools is set in ./mk/common.mk
- common - common souces (target/SoC independent)
- drivers - device drivers (non SoC)
- ggm - GooGooMuck synthesizer (target/SoC independent)
- mk - make scripts
- scripts - python scripts
- soc - SoC drivers and definitions
- target - target specific code
- usb - tinyusb stack (ported to the STM32F4, work in progress)