Skip to content

k-omura/STM32F4-Digital-Synthesizer

Repository files navigation

STM32F4 source digital synthesizer

Digital synthesizer project by STM32F407VET6.

The purpose of this project is to make a sound just by creating a simple synthesizer controller.
Hopefully there will be lots of innovative UI ideas for music.
A binary file is prepared for the controller designer, so download it and write with STM32CubeProg etc.
See Wiki or Parameter.xlsx and STM32F407_Synthesizer.pdf in the doc directory for parameter and SPI communication methods.

Development environment

Basic features

  • Designed to be operated from the outside via SPI.
  • Play 10 sounds (sine, square, saw, triangle x10) at the same time.
  • It has a built-in low-pass filter that can manipulate the cutoff frequency and Q value.
  • The sound wave type is output by the DAC.
  • Tremolo, Vibrato, WOW
  • ADSR

Future features

  • What you want.

Known issue(s)

  • SPI operation may stop.
  • If the SPI speed is too fast (more than about 2MHz), the operation cannot keep up.

Demo

Hot to use

Write the binary and connect your controller.
See here on the Wiki for details.
I have prepared a simple code for Arduino nano, so please check it out.
Set the SPI speed to about 1MHz.

How to edit this project with STM32CubeIDE

See here on the Wiki for details.
Only the basic code is uploaded.
This is because I think that it is smoother to start from the environment construction because I am using ARM CMSIS etc.
Therefore, you need to prepare the ST and ARM libraries with confidence, but it is easy if you use the STM32Cube IDE.
Create a project from the information in 32F407_FSMC.pdf and 32F407_FSMC.ioc in the doc directory.

More information will be added.