~~~~~~~~~~~~~~ | How to run | ~~~~~~~~~~~~~~ The executable has been built on a Raspberry Pi 400 using Raspberry Pi OS (Bullseye), but it should also run fine on a Raspberry Pi 4. It may also run on a number of other Pis without recompilation, but I haven't tested this, so no promises. To hear some music, you'll first need to take ownership of the file. If you try to run immediately after downloading, you'll get a permission error. To solve this, run '$ chmod 777 sine-time' in the terminal, then you can enter '$ ./sine-time' to listen to some cool tunes. It'll also build a WAV file (because listening to music through the terminal isn't ideal). ~~~~~~~~~~~~~~~~~~~~ | About the Engine | ~~~~~~~~~~~~~~~~~~~~ It uses a custom-built executable wavetable synthesizer program, which you can find the source code for here: https://github.com/protodomemusic/super-wavexe The song itself is stereo, 44.1kHz, and uses 7 oscillator voices and 1 drum channel. The wavetables are generated at runtime, as are the drum sounds, which use a single oscillator and a simple LFSR for noise. Sequencing is in MML, but a custom one that really needs some serious attention after a few years of 'it's good enough'. Source code here: https://github.com/protodomemusic/mmml Honestly, it's very upsetting to write in. Effects include: - Low-pass/high-pass filters - Reverb - Delay - Distortion - Waveshaping - Wave blending?? Is that what it's called? ~~~~~~~~~~~~~~~~~~ | Final Thoughts | ~~~~~~~~~~~~~~~~~~ Huge thanks to all of the (numerous) sources I used when studying up on DSP programming techniques (credited in the code) and Revision for organising such a fantastic event. I hope you enjoy the music!