When I started this project, my main idea was to do a music synthesizer, i.e. algorithms that create sounds out of thin air (or from sin tables actually). I added an SD card to the design to also be able to play pre-recorded sounds (samples). But at the time I was considering this as a bonus feature and I didn’t know how well the hardware would allow me to play those samples (how many in parallel for example).
As I started to implement the sampling feature in the software, I realized that it was actually possible to read 10 samples in parallel from the SD card (thanks to STM32F4’s 4-bit mode SDIO support and DMA). At this time I also talk about Wee Noise Maker with my friend Raphael, he told me that a sampling is really a fun way to make music. He was right:
From this point I decided to focus the software development on the sampling and sequencing features.