TL;DR
Looking for a comprehensive guide to setting up physical controls, CV inputs and outputs in c++ on Seed, and or good c++ synth project examples to learn from.
Hey ya’ll, I’ve been messing around with DIY analog synth circuits for a while now, and just started experimenting with c++ and a “Daisy Seed” to build into small custom projects and augment my analog projects. As a total code noob, it’s been quite the journey even just setting up a dev environment in VS code, let alone understanding the concepts of libraries, .json file, headers, and the language itself.
As a learning exercise I’d like to experiment with as many of the examples as possible but the examples for “Seed” are quite limited and the ones in DSP don’t have any explanation of how to add external pots, switches, or inputs and set them up with different parameters or rates etc.
I managed to get the Moogladder filter cutoff to be controlled with a knob using this from the osc
example osc = filter:
//Convert floating point knob to midi (0-127)
//Then convert midi to freq. in Hz
osc.SetFreq(mtof(hardware.adc.GetFloat(0) * 127));
int main(void)
{
//Create an ADC configuration
AdcChannelConfig adcConfig;
//Add pin 21 as an analog input in this config. We'll use this to read the knob
adcConfig.InitSingle(hardware.GetPin(21));
But why do I need to convert to midi? Can’t I just tap a control pin with a pot?
In contrast the SVF example for “Patch” is much more detailed in how it’s manipulating the filter parameters but all the names of things are “Patch” board. How hard is it to convert to “Seed” pinouts? Can I copy the code from the “Patch” example of svf and change the input pin?
My primary question is can someone point me to the best resource or explain how to convert the examples from “Patch” or “Pod” etc. to “Seed”? only in the software sense, I have a decent grasp on the HW requirements in doing so (buffers, appropriate power sources, signal lvl conditioning and so on, so i don’t fry the device.)
Or is there some sort of simple guide on how to add pots and switches to some of the DSP examples. Maybe a .cpp example of “SVF” on Seed with controls for cutoff, res, and a multi prong switch that changes the output to LP BP HP…
What about CV control, how is that accomplished on the platform via the pins? Maybe an example of a CV input on seed? I assume it’s 0-5v only or maybe 0-3.3v. What about CV control between to discreet digital elements of the design, like PWM on an oscillator via lfo?
Sorry if this is an obtuse multi pronged question but the “getting started guilds” kinda drop you off a cliff as a beginner after getting the board to blink or play a drum note and I’m looking for some good overall c++ Seed design references to study to get a better understanding of the basics.
Like a “Noise Toaster” from MFOS on Daisy Seed lol, (maybe i should try to do this…).
Cheers!