Nucleo Synth (Virtual Analog Synthesizer)

Document created by pappas.chris on Feb 1, 2017Last modified by pappas.chris on Jul 16, 2017
Version 21Show Document
  • View in full screen mode

About this project

An expandable feature 6-voice virtual analog synthesizer using only one STM32F7 Nucleo-144 board.

 

Project info

Type : Built using one STM32F7 Nucleo-144 board, one stereo audio jack, and a USB-OTG to USB-A adapter.

 

Things used in this project

Hardware components :

NUCLEO-F746ZG1NUCLEO-F746ZG - STM32 Nucleo-144 development board.A NUCLEO-F767ZI board can be used as well.
Stereo audio jack1Chosen by the user. 
USB-OTG to USB-A Female adapter.1

Chosen by the user. 

Use For HOST mode.

USB-OTG to USB-A Male adapter.1

Chosen by the user. 

Use for DEVICE mode.

 

Software Tools :

SW4STM32 System Workbench (GCC)

 

Story

I created this project to offer a low-cost alternative to creating analog synth sounds.

 

 +++++++++++++++ Current specifications ++++++++++++++++++
* 6-voices of polyphony.
* Dual oscillator per voice.
* VCA (with ADSR) per voice.
* VCF (4-pole lowpass with ADSR) per voice.
* Master tuning.
* Waveform select saw/saw, saw/square, or square/square.
* Oscillator mix.
* De-tune.
* Separate LFO for Modulation and PWM.
* Scale for upper oscillators.
* PW/PWM on the square wave.
* Separate adjustable keyboard follow for ENV and VCF.
* Keyboard velocity routable to VCA and VCF.
* VCF envelope level.
* Editable parameters.
* Stereo simulation effect.
* Phrase Sequencer (Host mode only).

 

=============== Soon to be implemented =================.

* Oscillator hard-sync.

* Separate LFO for VCF/VCA.

* Multi-timbrality.

 

Video

  • Code explanation

 

Audio

  • Nucleo Synth Sound Demo (see attachment below)

 

Code

  • Nucleo Synth Version 0.7.1 Host Project for GCC (see attachment below)
  • Nucleo Synth Version 0.7.1 Device Project For GCC (see attachment below)
3 people found this helpful

Outcomes