Calculating Modular Synth Parameters with AI
As I get deeper and deeper into collaborating with AI in my music production, I've been exploring new ways it can be integrated into my work.
I have sound design worked out for some tracks and I wanted to see what kind of cool sounds I could come up with if the AI was given the parameters for a synth module, all the knobs and inputs, and asked to calculate the settings.
Using AI with modular synths is always going to be a collaborative process of translating the AI's output into the analog inputs of the synth.
Make the Instruction Manual AI-Friendly
The first step was translating the instruction manual into context for the prompt. This can usually be done pretty easily with some meta-prompting by uploading the PDF and asking for a summary in the right format.
give me the text of this manual in all detail. skip the intro and table of contents, any warnings, any extra shit at the end.
Meta-Prompt as Much as Possible
Using the above as context, I whipped up a quick meta-prompt to get most of the prompt out of the way. I used o1 as it really excels at this kind of task.
below is the manual for the vortex complex oscillator. I'm making a prompt that generates settings for it.
1. summarize anything important in the manual into prompt guidelines.
2. output a generic settings template for the prompt.
[output from above]
This resulted in a tidy guide with tons of context and a coherent output template that I could use to translate the results to the synth.
# Generating Settings for the Cosmotronic Vortex Complex Oscillator
When creating settings for the Vortex, consider the following parameters and their options.
## VCO1 (Voltage-Controlled Oscillator 1)
### Low Pass Filter (LPF)
- **Slider Position**: Controls the cut-off frequency (0% to 100%).
- **Modulation Input**: Use internal SINE of VCO2 or external signal via LPF input jack.
- **Modulation Amount**: Adjust with the attenuator knob (0% to 100%).
### Wavefolder
- **Slider Position**: Sets the amount of wavefolding (0% to 100%).
- **Modulation Input**: Internal SINE of VCO2 or external signal via FOLD input jack.
- **Modulation Amount**: Controlled by the attenuator knob (0% to 100%).
### Phase Modulation (Phasemod)
- **Slider Position**: Determines the depth of phase modulation (0% to 100%).
- **Modulation Source**: Internal SINE of VCO2 or external signal via MOD input jack.
- **Modulation Amount**: Adjust with the attenuator knob (0% to 100%).
### Shape
- **Slider Position**: Morphs waveform from Triangle (0%) to Saw (100%).
- **Modulation Input**: Internal SINE of VCO2 or external signal via SHAPE input jack.
- **Modulation Amount**: Controlled by the attenuator knob (0% to 100%).
### Frequency Modulation (FM)
- **Through-Zero FM Amount**: Set with the THRU ZERO knob (0% to 100%).
- **Exponential FM Amount**: Adjust using the EXPONENTIAL knob (0% to 100%).
- **FM Index**: Global FM amount controlled by the FM INDEX knob (0% to 100%).
- **Modulation Input**: Internal SINE of VCO2 or external signal via LINEAR/EXPO input jacks.
## VCO2 (Voltage-Controlled Oscillator 2)
### Low Pass Filter (LPF)
- **Slider Position**: Controls the cut-off frequency (0% to 100%).
- **Modulation Input**: Use internal SINE of VCO1 or external signal via LPF input jack.
- **Modulation Amount**: Adjust with the attenuator knob (0% to 100%).
### Wavefolder
- **Slider Position**: Sets the amount of wavefolding (0% to 100%).
- **Modulation Input**: Internal SINE of VCO1 or external signal via FOLD input jack.
- **Modulation Amount**: Controlled by the attenuator knob (0% to 100%).
### Ring Modulation
- **Slider Position**: Determines the amount of ring modulation (0% to 100%).
- **Modulation Source**: Internal SINE of VCO1 or external signal via MOD input jack.
- **Modulation Amount**: Adjust with the attenuator knob (0% to 100%).
### Shape
- **Slider Position**: Morphs waveform from Distorted Sine (0%) to Saw (100%).
- **Modulation Input**: Internal SINE of VCO1 or external signal via SHAPE input jack.
- **Modulation Amount**: Controlled by the attenuator knob (0% to 100%).
### Frequency Modulation (FM)
- **Through-Zero FM Amount**: Set with the THRU ZERO knob (0% to 100%).
- **Exponential FM Amount**: Adjust using the EXPONENTIAL knob (0% to 100%).
- **FM Index**: Global FM amount controlled by the FM INDEX knob (0% to 100%).
- **Modulation Input**: Internal SINE of VCO1 or external signal via LINEAR/EXPO input jacks.
## Sync Section
- **Sync Mode**:
- **Center Position**: Sync disabled.
- **Left Position**: VCO1 synced to VCO2.
- **Right Position**: VCO2 synced to VCO1.
- **Sync Type**:
- **Left Switch (VCO1)**: Hard Sync (Up), Soft Sync (Down).
- **Right Switch (VCO2)**: Hard Sync (Up), Soft Sync (Down).
- **External Sync Inputs**: Optionally use external signals to override internal sync.
## V/Oct Inputs
- **VCO1 and VCO2 Pitch Control**:
- **Separate V/Oct Inputs**: Control pitches independently.
- **Linked V/Oct Input**: Use V/Oct Link Switch to control both with one signal.
- **Coarse and Fine Tune Knobs**: Set base pitch for each VCO.
## General Modulation Considerations
- **Modulation Inputs**: Accept bipolar signals; internal normalizations can be overridden.
- **Attenuator Knobs**: Adjust the amount of modulation applied.
- **Outputs**:
- **VCO1**: Triangle, Sine, Square outputs affected by various settings.
- **VCO2**: Sine, Saw, Square outputs with different modulations.
## Tips for Creating Settings
- **Experiment with Sync**: Use sync to clarify pitch while adding harmonics.
- **Combine Modulations**: Layer FM, phase modulation, and wavefolding for complex sounds.
- **Adjust Waveforms**: Morph between wave shapes to find unique timbres.
- **Balance Modulation Amounts**: Fine-tune attenuator knobs for subtle or dramatic effects.
- **Consider Interactions**: Be mindful of how one setting influences others.
---
## Vortex Settings Output Template
### VCO1 Settings
- **Low Pass Filter Cut-off Frequency**
- **Slider Position**: ___%
- **Modulation Source**: [SINE of VCO2 / External Signal]
- **Modulation Amount (Attenuator Knob)**: ___%
- **Wavefolder Amount**
- **Slider Position**: ___%
- **Modulation Source**: [SINE of VCO2 / External Signal]
- **Modulation Amount (Attenuator Knob)**: ___%
- **Phase Modulation Depth**
- **Slider Position**: ___%
- **Modulation Source**: [SINE of VCO2 / External Signal]
- **Modulation Amount (Attenuator Knob)**: ___%
- **Shape**
- **Slider Position**: ___%
- **Modulation Source**: [SINE of VCO2 / External Signal]
- **Modulation Amount (Attenuator Knob)**: ___%
- **Through-Zero FM Amount**
- **THRU ZERO Knob Position**: ___%
- **Exponential FM Amount**
- **EXPONENTIAL Knob Position**: ___%
- **FM Index**
- **FM INDEX Knob Position**: ___%
- **Modulation Source**: [SINE of VCO2 / External Signal]
### VCO2 Settings
- **Low Pass Filter Cut-off Frequency**
- **Slider Position**: ___%
- **Modulation Source**: [SINE of VCO1 / External Signal]
- **Modulation Amount (Attenuator Knob)**: ___%
- **Wavefolder Amount**
- **Slider Position**: ___%
- **Modulation Source**: [SINE of VCO1 / External Signal]
- **Modulation Amount (Attenuator Knob)**: ___%
- **Ring Modulation Amount**
- **Slider Position**: ___%
- **Modulation Source**: [SINE of VCO1 / External Signal]
- **Modulation Amount (Attenuator Knob)**: ___%
- **Shape**
- **Slider Position**: ___%
- **Modulation Source**: [SINE of VCO1 / External Signal]
- **Modulation Amount (Attenuator Knob)**: ___%
- **Through-Zero FM Amount**
- **THRU ZERO Knob Position**: ___%
- **Exponential FM Amount**
- **EXPONENTIAL Knob Position**: ___%
- **FM Index**
- **FM INDEX Knob Position**: ___%
- **Modulation Source**: [SINE of VCO1 / External Signal]
### Sync Settings
- **Sync Mode**
- **Toggle Switch Position**: [Off / VCO1 to VCO2 / VCO2 to VCO1]
- **Sync Type**
- **VCO1 Sync Switch**: [Hard Sync / Soft Sync]
- **VCO2 Sync Switch**: [Hard Sync / Soft Sync]
- **External Sync Inputs**
- **VCO1 Sync Input**: [None / External Signal]
- **VCO2 Sync Input**: [None / External Signal]
### V/Oct Inputs
- **VCO1 Pitch Control**
- **V/Oct Input**: [Source or None]
- **Coarse Tune Knob**: ___%
- **Fine Tune Knob**: ___%
- **VCO2 Pitch Control**
- **V/Oct Input**: [Source or None]
- **Coarse Tune Knob**: ___%
- **Fine Tune Knob**: ___%
- **V/Oct Link Switch**
- **Position**: [Separate / Linked]
### Modulation Inputs
- **VCO1 Modulation Inputs**
- **LPF Input**: [SINE of VCO2 / External Signal]
- **FOLD Input**: [SINE of VCO2 / External Signal]
- **MOD Input (Phase Modulation)**: [SINE of VCO2 / External Signal]
- **SHAPE Input**: [SINE of VCO2 / External Signal]
- **VCO2 Modulation Inputs**
- **LPF Input**: [SINE of VCO1 / External Signal]
- **FOLD Input**: [SINE of VCO1 / External Signal]
- **MOD Input (Ring Modulation)**: [SINE of VCO1 / External Signal]
- **SHAPE Input**: [SINE of VCO1 / External Signal]
- **FM Modulation Inputs**
- **VCO1 FM Input**: [SINE of VCO2 / External Signal]
- **VCO2 FM Input**: [SINE of VCO1 / External Signal]
### Outputs Used
- **VCO1 Outputs**
- **Triangle Output**: [Yes / No]
- **Sine Output**: [Yes / No]
- **Square Output**: [Yes / No]
- **Main Output**: [Yes / No]
- **VCO2 Outputs**
- **Sine Output**: [Yes / No]
- **Saw Output**: [Yes / No]
- **Square Output**: [Yes / No]
- **Main Output**: [Yes / No]
### Additional Notes
- **Creative Modulation Routing**: ___
- **Desired Sound Characteristics**: ___
- **Other Considerations**: ___
---
Add Instructions and Guidelines to Taste
With the bulk of the prompt already written, the AI just needs a little tweezing to guide it into thinking about this the right way.
To keep the instructions concise, I usually start with a block of guidelines, which are usually a big list of extra context with minutae about the instructions themselves. A lot of them will come from trial and error with the prompt in its infancy. This project also has some nuances and specific needs in the output.
## Guidelines
- Frequency modulation can be applied to either oscillator
- Linear FM to both oscillators will cause cross feedback and should be avoided
- Use subtle exponential FM for vibrato
- Use linear FM combined with FM index for harmonic enrichment
- The outputs are mixed
- The main outputs from each oscillator can be mixed with two other outputs to craft complex timbres
- Attenuation on each waveform is possible at this stage
- The outputs then go to a VCA
- The VCA is controlled by ENV1, an ADSR
- Modulation destinations
- Most parameters have a corresponding modulation destination
- The score calls for various accents and timbre changes that will be accomplished with modulation
- Velocity (note loudness)
- Accent (some notes call for FM/PM accent)
- Harmonics (overall harmonic complexity and presence)
- There must be a modulation destination for these three sequencer parameters
- They must be used on Vortex even if used elsewhere
- Mandatory modulation sources:
- VEL: sequencer velocity
- ACCENT: sequencer accent
- HARM: sequencer harmonics level
- Additional modulation sources:
- ENV1: ADSR, main volume envelope, can be used elsewhere as well
- ENV2: AR, secondary envelope, usually attached to filter cutoff
- LFO1: slow triangle
- LFO2: fast triangle
- CHAOS: medium LFO speed chaotic oscillator
- USER: let the user decide
---
The instructions are pretty straightforward to tailor the results just slightly.
## Instructions
1. Consider the given sound design.
2. Calculate the settings using the guidelines above and the detailed guide below.
- **Select Modulation Sources**: Choose between internal normalizations or external inputs.
- **Specify Values**: Provide specific percentages or positions for sliders and knobs.
- **Define Modulation Amounts**: Set attenuator knobs to control modulation depth.
- **Describe Sync Settings**: Indicate sync modes and types if used.
- **Detail Pitch Controls**: Mention any V/Oct inputs and tuning adjustments.
- **Include Additional Notes**: Add any creative routing or desired sound characteristics.
3. Output the settings for the Vortex in a markdown code block using the output template below.
4. Output a brief rationale and final synthesis, how the settings were chosen to achieve the given sound design, and how the mandatory modulation sources were implemented.
Putting it All Together
The final prompt is a combination of all the above.
Settings need to be calculated for the Cosmotronic Vortex module. Sound design will be provided. Use the guidelines and the possible module settings to construct settings for this track.
---
[guidelines]
[instructions]
[template]
[sound design]
[manual]
This example was tailored to the Vortex complex oscillator, but the same process can be applied to almost any module.