TEENSY-Synth PART 3: KEYBOARD

preview_player
Показать описание
In this series we are going to build an awesome DIY Synth with a Teensy 3.2 Microcontroller and the Teensy Audio Board.
In this episode we are going to make our synth playable by connecting a USB-Midi keyboard. We'll also look at Key-Buffers, Last Note priority, and code optimization.

DOWNLOAD the Code here:

Рекомендации по теме
Комментарии
Автор

Glad to be a Patreon of Notes and Volts. These videos take a lot of time to make and the information is of high value to me. My addiction is Synthesizers and owner of many Eurorack modules in DNA iQ Sounds Labs, LLC.

robertparenton
Автор

I've had your channel on watch later for ages and only just today started looking/watching your videos . Thank You for your knowledge !! This Teensy Synth is blowing me away! Looking forward to making it at some point.I didn't know about the GUI stuff before watching the last few vids. You've opened up a whole new world for me thanks

mrfeenix
Автор

Very clearly explained code, great lesson.
Also, thanks for the effort to make the note frequency array! AND thanks for making it the full 128 values, rather than the more limited set you intend to utilize. I could see some fun uses (FM, etc) for the extreme values, even if they are not "musical"

demagmusic
Автор

Hey Dave, I just started the journey of making my own synth and this playlist is such a huge help. Thanks so much for making it! Joined your Patreon to give back some support.

TheNormalUniverse
Автор

Thanks again. Cool to get my version of your synth going. Well done!

expensivenotes
Автор

Your videos are amazing! The Teensy series is particularly great, I wonder if it was possible to replace the midi keyboard with an Adafruit NeoTreillis, and if so, what would be the best way to do it?
Thanks a lot for making this channel!

jean-philippefalcon
Автор

Amazing, it works again perfectly on my mac and axiom

EricBalcon
Автор

Very useful stuff here, even if you’re making something else

haiaokuwa
Автор

To keep things neater in Pd try using shift and arrow keys to move objects rather than the mouse. :)

ghostly
Автор

More good stuff Dave! Are we heading in a direction that might one day lead to polyphony?

rogrevs
Автор

Dave, I have a Worlde Easypad.12 It's a Drum pad with USB. I can't seem to get any sound plugged into my Laptop!
Do I need software to make it work?

tubeDude
Автор

Over 20, 000 subscribers and only 70 likes? WTF is wrong with those subscribers. Can't they pound the LIKE button?

DrexProjects
Автор

i know its wrong but i need your help. im making a project of the "midi react LED" and i stuck in coding. i watched your all videos its very helpful. all i want is: "when i press c4(pitch number 60) led 13 is lighting and when i take my finger back the led is not lighting anymore. also i have code but i dont know where i do make mistakes.

#include <MIDI.h>
#define LED 13



void handleNoteOn(byte channel, byte note, byte velocity){
if (velocity >= 1){
digitalWrite(LED, HIGH);
}
}

void handleNoteOff(byte channel, byte note, byte velocity){
if (velocity == 0){
digitalWrite(LED, LOW);
}
}

void setup(){



pinMode(LED, OUTPUT);
}


void loop(){
MIDI.read();
}

So is handleNoteOn right code for this coding? I wanna make 88 led with my piano. Could you help me or can you make suggestion for my project? When i pressed c1 its react led1, c#1 react led 2 etc.. thank you.

OzgunGG
Автор

Just watched this, super well explained, I know is a few years old but thought how to optimise your DIV127 thing a bit more, you can define a const float array with the values for 0 to 1 in 127 steps, uses plenty of memory but Teensy has loads or even store in PROGMEM

const PROGMEM float divOneTwoSeven[] = {
0.000, 0.008, 0.016, 0.024, 0.031, 0.039, 0.047, 0.055,
0.063, 0.071, 0.079, 0.087, 0.094, 0.102, 0.110, 0.118,
0.126, 0.134, 0.142, 0.150, 0.157, 0.165, 0.173, 0.181,
0.189, 0.197, 0.205, 0.213, 0.220, 0.228, 0.236, 0.244,
0.252, 0.260, 0.268, 0.276, 0.283, 0.291, 0.299, 0.307,
0.315, 0.323, 0.331, 0.339, 0.346, 0.354, 0.362, 0.370,
0.378, 0.386, 0.394, 0.402, 0.409, 0.417, 0.425, 0.433,
0.441, 0.449, 0.457, 0.465, 0.472, 0.480, 0.488, 0.496,
0.504, 0.512, 0.520, 0.528, 0.535, 0.543, 0.551, 0.559,
0.567, 0.575, 0.583, 0.591, 0.598, 0.606, 0.614, 0.622,
0.630, 0.638, 0.646, 0.654, 0.661, 0.669, 0.677, 0.685,
0.693, 0.701, 0.709, 0.717, 0.724, 0.732, 0.740, 0.748,
0.756, 0.764, 0.772, 0.780, 0.787, 0.795, 0.803, 0.811,
0.819, 0.827, 0.835, 0.843, 0.850, 0.858, 0.866, 0.874,
0.882, 0.890, 0.898, 0.906, 0.913, 0.921, 0.929, 0.937,
0.945, 0.953, 0.961, 0.969, 0.976, 0.984, 0.992, 1.000
};


Then use in your functions: e.g. mixer1.gain(0, divOneTwoSeven[value] );

col