I have zero musical skills so I made it pentatonic, which means I can just bash keys at random and it will sound quite pleasant.
Top-level
I have zero musical skills so I made it pentatonic, which means I can just bash keys at random and it will sound quite pleasant. 5 comments
I love the Karplus-Strong algorithm, it is a completely bullshit way to simulate a stringed instrument cheaply: https://en.wikipedia.org/wiki/Karplus–Strong_string_synthesis It can be a bit tricky to tune that algorithm since in its simplest form it can only be tuned to integer divisions of the audio frequency. Using just intonation helps here! The sample rate is 48000 Hz, and the "strings" are tuned to that divided by 54, 64, 72, 81 and 96, and then double those. @WAHa_06x36 Thank you very much for sharing this. I love that you're providing details about the implementation and design decisions. 👍 |
For the technical details, it's built around a Sipeed Longan Nano microcontroller module, connected up to a small amplifier, some little pill box speakers, and a bunch of microswitches. The microcontroller itself is a GD32VF103, a weird Chinese creation of dubious legality that stuffs a RISC-V core into a clone of an STM32F103 to replace the original ARM core.
It's pretty fast, and can run the built-in tiny LCD at 60 FPS along with 10 voices of Karplus-Strong synthesis.