Hello, I’m fascinated with the idea of creating a certain device which can play and mangle samples. While I’m not totally new to programming I have very little experience with boards. I want to find the right platform and stick to it and people recommended daisy to me. My first goal would be to create a simple midi controller with OLED-display and then - step by step - adding sequencing and also sampling, synthesis and FX to it. (It will probably take a will and many prototypes). These are a few questions I have and i hope you can help me, that would be amazing. Thanks a lot!
How fast is the platform really? Planing to have eight channels processing stereo audio in the final version, each channel with potentially timestretching/pitchshifting or doing singlecycle/granular synthesis. Basically eight simple monophonic synth/sampler voices playing and around 20-30 simple effects on them in total.
Is it possible to build and add more ADC and DAC if needed?
Are there libraries for streaming from SD card already? And using OLED displays?
With it being a STM32 platform (?), does that mean I can use other libraries without problems?
Do I need to add a clock for timing?
I saw basically all of the FX I want to do already in the DSP library. If people use them, doesn’t it all “sound same then”? Do people here code there own oscillators for example of just use the functions provided? (Maybe more relevant for “colorful” FX like reverb and such which can be very different)
I know it will be a very long journey of i ever get there… Can’t wait to get started. Thanks a lot for your help.
You have up to 10k CPU clock cycles per sample of audio. However some instruction take more than 1 cycle. Giving example effect names doesn’t tell much about their performance and optimization level.
Depends on what you mean by “libraries”. Running third party code is no problem, but you’re still running it on microcontroller rather than desktop. There’s no special property of STM32 for this, it’s a hardware platform.
Nah, clocks are too old school, you can just look at time on your cellphone. As for Daisy, it runs audio code in audio codec’s callback, so timing is consistent.
Thanks. 10k clock cycles seems a lot so I guess doing eight channels of audio synthesis and a bunch of effects could very well be possible? I want to keep it simple of course, I think timestretching will be one of the rather heavy operations.
For a clock, I was referring to a timer for keeping the BPM and counting milliseconds I guess. I understand that this is no problem. DSP is a new area for me and I will of course start with seemingly more simple tasks like midi, data transfer and Input/Output.
From what I understand everything I’m planing to do could be possible on the platform. Although I don’t understand the thing about using existing code yet. My understanding was that code would be rather specific to a platform or board. Like, for example, there is the specific daisySP lib but I imagine there are already a lot of DSP libs around that people use on STM32H7, can they be used? I’m sorry, probably sounds really dumb because this is a new chapter for me.
Yes, you probably imagine that There are very few DSP libraries suitable for embedded hardware. If that wasn’t the case, they likely wouldn’t bother writing DaisySP in first place.
So far people have used Q and naturally you can use stmlib.
If you need to access large amount of DSP code, the easiest way would be to export it from FAUST