Skip to main content
a_rocchegiani
Associate II
June 26, 2012
Question

STM32F4 Discovery Soft Synth

  • June 26, 2012
  • 12 replies
  • 3812 views
Posted on June 26, 2012 at 18:36

Hi to all,

I started to develop a STM32F4-Discovery Soft Synth. A video showing it's first  beta release is here:

http://www.youtube.com/watch?v=4JkhzH57Je4

In some post I view a interest to audio application using STM32F4-Discovery.

Can someone that have interest in audio processing  give me some suggestion for the next release ? What kind of features to add ?
    This topic has been closed for replies.

    12 replies

    a_rocchegiani
    Associate II
    July 15, 2012
    Posted on July 15, 2012 at 14:56

    Hi to all,

    I got only some approval and some critical on my Soft Synth project.

    But I need some suggestion on how I must proceed in developing it !

    Please, anyone have some suggestion on features to implement, or some  possible application for it ?

    The project will be released as Open Source, so I want give a reusable version for many people.

    Best Regards, Alessandro.

    frankmeyer9
    Associate III
    July 16, 2012
    Posted on July 16, 2012 at 10:35

    Your problem might by the targeted audience.

    This forum is populated mostly by engineers, any deeper knowledge and interest in music is more or less coincidential. While I, for example, like to listen music sometimes, I have no intentions to make it myself...

    I rather suggest to post such a request to a forum dedicated to music.

    That probably results in a more purposeful feedback.

    Mario Luzeiro
    Associate III
    July 16, 2012
    Posted on July 16, 2012 at 13:12

    Hello,

    I'm a keyboard player and also a micro developer.

    Once, I had the idea to make a modular digital synthesizer (in order to have more voices) using STM32 micros.

    I'm talking about a real synthesizer for keyboard playing proposes, not a just a ''midi file player''.

    And that will be more nice to play: you could design your modular system (voice players, knobs, display, midi keyboard itnerface, computer interface) and so on!

    I think some type of ''WaveTable Synthesis'' will be more easy to develop

    Some youtube DIY synths:

    http://www.youtube.com/results?search_query=synthesizer+DIY+digital&oq=synthesizer+DIY+digital&gs_l=youtube.3...4994.6213.0.6327.8.8.0.0.0.0.101.644.7j1.8.0...0.0...1ac.BjVAoQNQxpI

    Keep the good work!
    Mario Luzeiro
    Associate III
    July 16, 2012
    Posted on July 16, 2012 at 13:16

    Were is a forum I used to suft to discuss about DIY synth:

    http://electro-music.com/forum/forum-112.html

    http://electro-music.com/forum/forum-158.html

    I think there are a lot of ideas there.

    And what about your synth? can you give more details about your implementation?

    a_rocchegiani
    Associate II
    July 16, 2012
    Posted on July 17, 2012 at 00:01

    Hello,

    I'll look some ideas on your links. Thank you.

    However, the player you see is just an example. I would get something more than just an Midi-player :)

    My synthesizer is developed keeping in mind the requirements for real-time.

    Each 'oscillator' processes a sample at a time, and makes it immediately available on the mixer outputs. All active 'oscillators' are processed in sequence so to obtain the output relative to a single mixed sample. In this stage, the latency is practically 0. Follows a post processing and writing in a small buffer used by the DMA for output.

    The buffer length determines in practice the latency from note-trigger to output.

    The suggestions that I ask are related to post-processing.

    I not asked at musicians, because I already know what kind of answers I would get.

    Some engineers who knows both DSP and STM32F4 limits, can definitely give me some advice on some realistic algorithms to try. Alessandro

    Mario Luzeiro
    Associate III
    July 18, 2012
    Posted on July 18, 2012 at 13:05

    What do you mean by ''post-processing'' ? Sound effects?

    What type of synthesizer are you develop? there are lots of types of sound synthesis

    http://en.wikipedia.org/wiki/Template:Sound_synthesis_types

    You should make a block diagram of the synth you will implement.

    For ''effects'' I think that for STMF4 you cannot push it much, if you want speed and more voices.. so maybe you should choose fast and light algorithms. There is one good site:

    http://musicdsp.org/archive.php

    MRL
    a_rocchegiani
    Associate II
    July 19, 2012
    Posted on July 19, 2012 at 18:47

    Hi MRL,

    I already known musicdsp.org from a long time and I use many of their contents.

    My project is a (improper defined) wavetable synth. It is a 'sample based' synth.

    This tecnique was implemented after FM synthesis, first in some musical instrument and later in various PC sound cards.

    Each 'oscillator' consist in a interpolator chained with a envelope generator and a LP filter.

    There are other stage (modulators) to vary some parameter during note generation.

    There is also a global effect chain (pseudo reverber, chorus, graphic equalizer)

    STM32F4 is a powerful MCU but it do not have unlimited resource, so I will make the various features selectable at compiler time.

    I will like to add some global post-process function as dinamic expander, antiliasing filter or any other low-computational DSP module.

    But as FM said, this isn't a right place to ask similar questions, so I am sorry for this improper forum's  utilization.

    Best Regards to all again, Alessandro.

    frankmeyer9
    Associate III
    July 19, 2012
    Posted on July 19, 2012 at 20:38

    But as FM said, this isn't a right place to ask similar questions, so I am sorry for this improper forum's  utilization.

     

    You might have got this wrong.

    That's certainly not 'improper utilization', but you just have a quite low probability of getting really qualified feedback. Like finding the needle in the haystack.

    Tesla DeLorean
    Guru
    July 19, 2012
    Posted on July 19, 2012 at 22:41

    Alessandro,

    Your posting here is certainly welcome, it is fascinating to see the many and varied applications people have for the parts.

    fm's suggestion was more one of controlling expectations you might have about others participating here, and getting answers/feedback you want. While there are a small cadre of us that hang around here answering questions, for the most part forums like this are filled with people focused on their own, and often immediate, problems.

    -Clive
    Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
    Mario Luzeiro
    Associate III
    July 20, 2012
    Posted on July 20, 2012 at 13:15

    Hi Alessandro,

    Your topic is with interest to me, because as I said, I tried once to start do something as you are doing (before STM32F4 uC).

    I understand now your synth type. PCM+Env+LP

    You already have ''global effect chain'', so I think is best to put here the processing that really changes the sound (compressor? expanders? etc..). In post-processing maybe only the ones that don't change much the sound, so the antialiasing could be appropriate in this case.

    Regarding STM32F4 resources, when I thought to develop my synth, because I'm also music enthusiastic, I prefer lots of features (and nice sounds) synth than quality (sample and bit rate). So uC resources will be used to create nice (single) digital instruments (multiple voices).

    So about the question you made:

    ''Some engineers who knows both DSP and STM32F4 limits, can definitely give me some advice on some realistic algorithms to try.''

    In my case I prefer to have a nice synth generator with just one STM32F4, you maybe can make an architecture that can add a parallel STM32F4 to make the global effects and the post processing stuff.

    For me as user point of view, this project will not catch me and I won't connect my midi keyboard to it if I ear a sound sample and realize that it is just a ''sample playback synth''.

    One source I found for get very good ideas is to download the user manuals of synth keyboards. They have the block diagram and how things are connected and how could be used. It will be easy to an ''engineer'' to understand and think how can it be developed. (make sure they are not patented :S)

    For example you can try the virtual version of KorgM1. Its a wavetable with synthesis .. much like the PCM+Env+LP but improoved.

    Have fun!

    If you follow this thread to another place / forum, please let me know to follow you!

    MRL