Skip to content

Latest commit

 

History

History
53 lines (42 loc) · 1.75 KB

README.md

File metadata and controls

53 lines (42 loc) · 1.75 KB

GooGooMuck

When the sun goes down, and the moon comes up...

I turn into a teenage goo goo muck.

What Is It?

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.

Specifications

  • 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

Hardware

Build tools:

The path to the GNU cross compilation tools is set in ./mk/common.mk

Source Layout

  • 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)

Inspirations

Resources