Polyphonic MIDI Synthesizer for STM32F7
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
hardware
software
LICENSE.txt
README.md

README.md

MIDI Synthesizer for STM32F7 "CureSynth Whip"

Overview

This repository shows STM32F7 (ARM Cortex-M7) based polyphonic MIDI synthesizer "CureSynth Whip", which is GM1(General MIDI Level 1) nearly compatible. It can generate sound about 128 Instruments and 1 Drum set. Delay, LPF/HPF, Distortion effects are available for each part.

STM32F7を使用した、16パートのマルチティンバーMIDI音源「CureSynth Whip」です。シンセサイザー部はGM1規格に(ほぼ)対応しており、メロディ128音色、ドラムセット1種のパッチリストを搭載しています。各パートに対し、ディレイ・LPF/HPF・ディストーションを掛けることができます。

Sample Image

Specifications

Hardware spec

  • MCU: STM32F765VIT6 / ARM Cortex-M7 (STMicroelectronics)
  • DAC: PCM5102A (Texas Instruments)
  • Display: 128*64 SH1106 OLED Module (No brand, bought from AliExpress)

Synthesizer spec

  • Sound generation: One oscillator(sin, saw, square, triangle, noise) + one ring-modulator
  • Max polyphony: 36
  • Number of channels: 16 (one MIDI-IN)
  • Output: 16bit, 32kHz
  • Effects: Delay, LPF/HPF, Distortion, Sweep(Up, Down)
  • Format: General MIDI 1, Original format

Building Information

Making hardware

See Schematic.

Building software

Install SW4STM32(need registration), import Project files, and build.
In addition, use this binary file for STM32F765.

Notice: Use gcc optimization flag "-O3".

File Location

Memos for Development (written in Japanese)

References

MIDI specification

Synthesizer programming

Digital filter programming

SIMD of STM32

Hardware

Author

(c) 2017 Keshikan ( Website, Twitter )

License

Source codes and schematic are licensed under GPLv3 unless otherwise specified.