From ae85e7ad13ad4990efd6b331bb5c61c2cd8d552a Mon Sep 17 00:00:00 2001 From: Blitblank Date: Tue, 23 Dec 2025 23:46:29 -0600 Subject: [PATCH] update readme --- README.md | 27 +++++++++++++++++++++++++++ src/KeyboardController.cpp | 0 src/KeyboardController.h | 0 3 files changed, 27 insertions(+) create mode 100644 src/KeyboardController.cpp create mode 100644 src/KeyboardController.h diff --git a/README.md b/README.md index dd119ad..0f0f171 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,31 @@ +# metabolus + A QTWidgets C++ app for a basic digital synthesizer. This synthesizer isn't very good, but it's neat :3 + +## Development plan: +- [x] Build & project setup, get working hello-world program. +- [x] QTWidgets hello-world program: basic increment/reset counter +- [x] RtAudio hello-world: basic sine output +- [x] Connect UI control to sound output, add a slider for frequency control +- [ ] Add note control via either Midi or a keyboard. Coordinate on-off events to + start and stop tone generation +- [ ] Create a widget for this smart-slider to clean up the ui code +- [ ] Add envelope generation, attach to global volume for now. ADSR and such, + responds to note-on/note-off events +- [ ] Make midi/keyboard control cross-platform. Use case will mostly be + Midi -> linux and Keyboard -> windows though +- [ ] Create oscillator class where the actual tone generation occurs. Multiple + oscillators increase the sound complexity considerably +- [ ] Create a UI scope to visualize the synthesized composite waveform +- [ ] Create wavetables for more complex tone generation. Needs to be selectable from ui +- [ ] Create digital filters, prob biquad. Controllable from ui obv (cutoff + resonance) +- [ ] Add polyphony somewhere. Probably involves a voice class. If processing power + allows it, tie a voice to each midi note +- [ ] Add noise ? +- [ ] planning gets sparse this far out because its how far I got with the ESP32 synth + +## setup +TODO: instructions on build setup diff --git a/src/KeyboardController.cpp b/src/KeyboardController.cpp new file mode 100644 index 0000000..e69de29 diff --git a/src/KeyboardController.h b/src/KeyboardController.h new file mode 100644 index 0000000..e69de29