Holger Wirtz 6 years ago
parent d8b7045057
commit 1dec1a1308
  1. 77
      MicroMDAEPiano.ino
  2. 2
      config.h

@ -34,7 +34,7 @@
#else #else
#include "mdaEPianoData.h" #include "mdaEPianoData.h"
#endif #endif
#if defined(MIDI_DEVICE_USB) #ifdef MIDI_DEVICE_USB
#include <midi_UsbTransport.h> #include <midi_UsbTransport.h>
#endif #endif
#ifdef MIDI_DEVICE_USB_HOST #ifdef MIDI_DEVICE_USB_HOST
@ -45,6 +45,9 @@
#include "LiquidCrystalPlus_I2C.h" #include "LiquidCrystalPlus_I2C.h"
#include "UI.h" #include "UI.h"
#include <BALibrary.h> // had rename libraries/BALibrary/src/peripherals/BAPhysicalControls.cpp #include <BALibrary.h> // had rename libraries/BALibrary/src/peripherals/BAPhysicalControls.cpp
#include <BAEffects.h>
using namespace BAEffects;
//************************************************************************************************* //*************************************************************************************************
//* GLOBAL VARIABLES //* GLOBAL VARIABLES
@ -59,37 +62,33 @@ AudioEffectFreeverb freeverb_r;
AudioEffectFreeverb freeverb_l; AudioEffectFreeverb freeverb_l;
AudioMixer4 reverb_mixer_r; AudioMixer4 reverb_mixer_r;
AudioMixer4 reverb_mixer_l; AudioMixer4 reverb_mixer_l;
AudioEffectDelay delay_r; AudioEffectSimpleChorus chorus_r(20.0);
AudioEffectDelay delay_l; AudioEffectSimpleChorus chorus_l(20.0);
AudioMixer4 delay_mixer_r; //BAEffects::AudioEffectAnalogDelay chorus_r(200.0);
AudioMixer4 delay_mixer_l; //BAEffects::AudioEffectAnalogDelay chorus_l(200.0);
AudioConnection patchCord0(queue_r, peak_r); AudioConnection patchCord0(queue_r, peak_r);
AudioConnection patchCord1(queue_l, peak_l); AudioConnection patchCord1(queue_l, peak_l);
AudioConnection patchCord2(queue_r, delay_r); AudioConnection patchCord2(queue_r, chorus_r);
AudioConnection patchCord3(queue_l, delay_l); AudioConnection patchCord3(queue_l, chorus_l);
AudioConnection patchCord4(queue_r, 0, delay_mixer_r, 0); AudioConnection patchCord4(chorus_r, freeverb_r);
AudioConnection patchCord5(delay_r, 0, delay_mixer_r, 1); AudioConnection patchCord5(chorus_l, freeverb_l);
AudioConnection patchCord6(queue_l, 0, delay_mixer_l, 0); AudioConnection patchCord6(chorus_r, 0, reverb_mixer_r, 0);
AudioConnection patchCord7(delay_l, 0, delay_mixer_l, 1); AudioConnection patchCord7(chorus_l, 0, reverb_mixer_l, 0);
AudioConnection patchCord8(delay_mixer_r, freeverb_r); AudioConnection patchCord8(freeverb_r, 0, reverb_mixer_r, 1);
AudioConnection patchCord9(delay_mixer_l, freeverb_l); AudioConnection patchCord9(freeverb_l, 0, reverb_mixer_l, 1);
AudioConnection patchCord10(delay_mixer_r, 0, reverb_mixer_r, 0);
AudioConnection patchCord11(delay_mixer_l, 0, reverb_mixer_l, 0);
AudioConnection patchCord12(freeverb_r, 0, reverb_mixer_r, 1);
AudioConnection patchCord13(freeverb_l, 0, reverb_mixer_l, 1);
#ifdef TEENSY_AUDIO_BOARD #ifdef TEENSY_AUDIO_BOARD
AudioOutputI2S i2s1; AudioOutputI2S i2s1;
AudioConnection patchCord14(reverb_mixer_r, 0, i2s1, 0); AudioConnection patchCord10(reverb_mixer_r, 0, i2s1, 0);
AudioConnection patchCord15(reverb_mixer_l, 0, i2s1, 1); AudioConnection patchCord11(reverb_mixer_l, 0, i2s1, 1);
AudioControlSGTL5000 sgtl5000_1; AudioControlSGTL5000 sgtl5000_1;
#else #else
AudioOutputPT8211 pt8211_1; AudioOutputPT8211 pt8211_1;
AudioAmplifier volume_r; AudioAmplifier volume_r;
AudioAmplifier volume_l; AudioAmplifier volume_l;
AudioConnection patchCord14(reverb_mixer_r, volume_r); AudioConnection patchCord10(reverb_mixer_r, volume_r);
AudioConnection patchCord15(reverb_mixer_l, volume_l); AudioConnection patchCord11(reverb_mixer_l, volume_l);
AudioConnection patchCord16(volume_r, 0, pt8211_1, 1); AudioConnection patchCord12(volume_r, 0, pt8211_1, 1);
AudioConnection patchCord17(volume_l, 0, pt8211_1, 0); AudioConnection patchCord13(volume_l, 0, pt8211_1, 0);
#endif #endif
// Objects // Objects
@ -116,7 +115,7 @@ uint32_t xrun = 0;
uint32_t overload = 0; uint32_t overload = 0;
uint32_t peak = 0; uint32_t peak = 0;
uint16_t render_time_max = 0; uint16_t render_time_max = 0;
float vol = VOLUME; float vol = _VOLUME;
float vol_right = 1.0; float vol_right = 1.0;
float vol_left = 1.0; float vol_left = 1.0;
elapsedMicros fill_audio_buffer; elapsedMicros fill_audio_buffer;
@ -235,19 +234,22 @@ void setup()
freeverb_l.roomsize(0.2); freeverb_l.roomsize(0.2);
freeverb_r.damping(0.5); freeverb_r.damping(0.5);
freeverb_l.damping(0.5); freeverb_l.damping(0.5);
reverb_mixer_r.gain(0, 0.7); reverb_mixer_r.gain(0, 1.0);
reverb_mixer_l.gain(0, 0.7); reverb_mixer_l.gain(0, 1.0);
reverb_mixer_r.gain(1, 0.3); reverb_mixer_r.gain(1, 0.0);
reverb_mixer_l.gain(1, 0.3); reverb_mixer_l.gain(1, 0.0);
// Chorus // Chorus
delay_mixer_r.gain(0, 1.0 - DELAY_VOLUME); chorus_r.enable();
delay_mixer_r.gain(1, DELAY_VOLUME); chorus_r.bypass(false);
delay_mixer_l.gain(0, 1.0 - DELAY_VOLUME); chorus_r.frequency(1.0f);
delay_mixer_l.gain(1, DELAY_VOLUME); chorus_r.mix(0.5f);
delay_r.delay(0, DELAY_R_MS); chorus_r.intensity(0.5f);
delay_l.delay(0, DELAY_L_MS); chorus_l.enable();
chorus_lfo.setRateAudio(DELAY_FRQ); chorus_r.bypass(false);
chorus_l.frequency(1.0f);
chorus_l.mix(0.5f);
chorus_l.intensity(0.5f);
Serial.println(F("<setup end>")); Serial.println(F("<setup end>"));
@ -318,11 +320,6 @@ void loop()
} }
#endif #endif
float c = *chorus_lfo.getNextVector();
delay_r.delay(0, DELAY_R_MS / 2 * c * DELAY_R_INTENSITY + DELAY_R_MS / 2);
delay_l.delay(0, DELAY_L_MS / 2 * c * DELAY_R_INTENSITY + DELAY_L_MS / 2);
queue_r.playBuffer(); queue_r.playBuffer();
queue_l.playBuffer(); queue_l.playBuffer();
} }

@ -59,7 +59,7 @@
//* AUDIO SETTINGS //* AUDIO SETTINGS
//************************************************************************************************* //*************************************************************************************************
#define VOLUME 0.8 #define _VOLUME 0.8
#define AUDIO_MEM 128 #define AUDIO_MEM 128
#define SAMPLE_RATE 44100 #define SAMPLE_RATE 44100
#define REDUCE_LOUDNESS 1 #define REDUCE_LOUDNESS 1

Loading…
Cancel
Save