[ITP: Designing Your Synth Voice] I've Burntout!

Lol I’m so done, but remember this?!

I recently found this slide from Jesse’s earlier lectures and I think I should keep on referring to it! It’s so hard to understand what kind of stuff will go into the final modules we’re supposed to create for this class but this visual makes it more digestible. Maybe I will make a synth with all of that stuff in it?!

Week 5 Teensy Examples

wav2Sketch

wav2Sketch is a library that converts wav files into data arrays that can be played from on-board memory. This example triggers a different wav file to be played when one of the four buttons is pressed.

This is what my teensy setup is looking like these days!

Basic sampler

This example works the same as the previous one except that the wav files played are uploaded to an SD card and installed into the audio shield.

C Major seventh

Alriiiiight, below is what the gui output looks like, but I’m having a hard time understanding how the code works. The voice1Setup() functions are all called in the sketch's setup() function, so they are only executed once. I can see that the function is assigning a note (frequency) from the c major scale to a waveform but I have no idea what the potentiometers are doing in that case. So buttons 0, 1, 2, and 3 are playing 0, 2, 4, and 6 of the c major scale. The last button, 4, changes the octave of the scale.

Midi C major seventh

The gui for this example looks exactly the same as the example above. Here, instead of using specific frequencies for the notes, we are using midi to define the notes of the scale (and the midi to frequency library). I don’t think the fifth button (button 4) does anything. Nothing seems to change when I turn the knobs either.

I think the purpose of modulating the waveform and putting it through an LFO is what gives the notes that dreamy, vibe-y, echo-y bedroom pop sound.

Memory Usage

This example is playing a pink noise + sine wave note repeatedly. I have no idea what the Fast Fourier Transform is doing. The sketch prints out the memory usage of the various stages of the code. It can help to determine if you need to allocate more or less onboard memory to run a sketch. Sending “s” over serial slows the speed of the sketch and “f” makes it go faster.

Jesse’s VCV Rack Demo

I went through Jesse’s VCV Rack demo and this is the patch I ended up with (lol the same one he showed). I really found following along with this video to be super helpful in my understanding of patching. Below I collected some of my notes.

  • MIDI = messaging protocol which can contain information about pitch, trigger, velocity, etc

  • VCO = voltage controlled oscillator

  • VCA = voltage controlled amplifier —> signal intensity

  • CV = control voltage to modulate a signal

  • ADSR = attack, decay, sustain, release in terms of an envelope

  • Gate output —> gate input?

  • V/OCT connection gives different pitches (voltages) for the MIDI keys/notes

  • VCF = voltage controlled filter (low pass, high pass, band pass), adjustable frequency cut off

  • Quantizer = mapping frequencies being played to the nearest active value of the quantizer

Assignment

I would really love to make an arpeggiator! Gonna ask Jesse for some help!

Resources

Jesse’s week 5 examples

PJRC Audio Gui Tool

Jesse’s VCV Rack demo