Fixed Midi din
This commit is contained in:
parent
290d7772dc
commit
e2cc163eca
21
FM/FM.ino
21
FM/FM.ino
|
@ -58,14 +58,14 @@ Smooth <long> aSmoothIntensity(smoothness);
|
||||||
int carrier_freq = 440;
|
int carrier_freq = 440;
|
||||||
|
|
||||||
void noteOn(byte channel, byte note, byte velocity) {
|
void noteOn(byte channel, byte note, byte velocity) {
|
||||||
if (channel == MIDI_CHANNEL + 143) { //I have no ide why it's 143 here and 127 on noteoff
|
if (channel == MIDI_CHANNEL) {
|
||||||
carrier_freq = mtof((int) note);
|
carrier_freq = mtof((int) note);
|
||||||
gate = 1;
|
gate = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void noteOff(byte channel, byte note, byte velocity) {
|
void noteOff(byte channel, byte note, byte velocity) {
|
||||||
if (channel == MIDI_CHANNEL + 127) {
|
if (channel == MIDI_CHANNEL) {
|
||||||
gate = 0;
|
gate = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -78,18 +78,17 @@ void setup(){
|
||||||
|
|
||||||
MIDI.setHandleNoteOn(noteOn);
|
MIDI.setHandleNoteOn(noteOn);
|
||||||
MIDI.setHandleNoteOff(noteOff);
|
MIDI.setHandleNoteOff(noteOff);
|
||||||
MIDI.begin();
|
MIDI.begin(MIDI_CHANNEL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void updateControl(){
|
void updateControl(){
|
||||||
midiEventPacket_t rx;
|
midiEventPacket_t rx;
|
||||||
do {
|
do {
|
||||||
rx = MidiUSB.read();
|
rx = MidiUSB.read();
|
||||||
if (rx.header == 0x09) {
|
if (rx.header == 0x09) {
|
||||||
noteOn(rx.byte1, rx.byte2, rx.byte3);
|
noteOn(rx.byte1 - 143, rx.byte2, rx.byte3); //need to figure out what's with this 143 and 127 on noteoff
|
||||||
} else if (rx.header == 0x08) {
|
} else if (rx.header == 0x08) {
|
||||||
noteOff(rx.byte1, rx.byte2, rx.byte3);
|
noteOff(rx.byte1 - 127, rx.byte2, rx.byte3);
|
||||||
}
|
}
|
||||||
} while (rx.header != 0);
|
} while (rx.header != 0);
|
||||||
|
|
||||||
|
@ -107,22 +106,22 @@ void updateControl(){
|
||||||
aModulator.setFreq(mod_freq);
|
aModulator.setFreq(mod_freq);
|
||||||
|
|
||||||
// read the light dependent resistor on the width Analog input pin
|
// read the light dependent resistor on the width Analog input pin
|
||||||
int LDR1_value= mozziAnalogRead(CONTROLL1); // value is 0-1023
|
int Knob1value= mozziAnalogRead(CONTROLL1); // value is 0-1023
|
||||||
|
|
||||||
|
|
||||||
int LDR1_calibrated = kMapIntensity(LDR1_value);
|
int Knob1calibrated = kMapIntensity(Knob1value);
|
||||||
|
|
||||||
|
|
||||||
// calculate the fm_intensity
|
// calculate the fm_intensity
|
||||||
fm_intensity = ((long)LDR1_calibrated * knob2Val * (kIntensityMod.next()+128))>>8; // shift back to range after 8 bit multiply
|
fm_intensity = ((long)Knob1calibrated * knob2Val * (kIntensityMod.next()+128))>>8; // shift back to range after 8 bit multiply
|
||||||
|
|
||||||
|
|
||||||
// read the light dependent resistor on the speed Analog input pin
|
// read the light dependent resistor on the speed Analog input pin
|
||||||
int LDR2_value= mozziAnalogRead(CONTROLL2); // value is 0-1023
|
int Knob2value= mozziAnalogRead(CONTROLL2); // value is 0-1023
|
||||||
|
|
||||||
|
|
||||||
// use a float here for low frequencies
|
// use a float here for low frequencies
|
||||||
float mod_speed = (float)kMapModSpeed(LDR2_value)/1000;
|
float mod_speed = (float)kMapModSpeed(Knob2value)/1000;
|
||||||
|
|
||||||
kIntensityMod.setFreq(mod_speed);
|
kIntensityMod.setFreq(mod_speed);
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,5 @@
|
||||||
DIY Arduino-based synth built with [Mozzi library](https://sensorium.github.io/Mozzi/)
|
DIY Arduino-based synth built with [Mozzi library](https://sensorium.github.io/Mozzi/)
|
||||||
|
|
||||||
## ToDo:
|
## ToDo:
|
||||||
- Fix Midi-Din
|
|
||||||
- Add note buffer
|
- Add note buffer
|
||||||
- Tidy up the code (e.g. remove LDR references)
|
|
||||||
- Tune the values and remap the knobs
|
- Tune the values and remap the knobs
|
Loading…
Reference in New Issue