Fixes: Disabling audio thru by default because it's noisy.

pull/32/head
Holger Wirtz 4 years ago
parent 29908d078a
commit c8a2fdbccc
  1. 92
      MicroDexed.ino
  2. 4
      config.h

@ -73,6 +73,10 @@ AudioAmplifier volume_l;
AudioEffectStereoMono stereo2mono; AudioEffectStereoMono stereo2mono;
AudioAnalyzePeak master_peak_r; AudioAnalyzePeak master_peak_r;
AudioAnalyzePeak master_peak_l; AudioAnalyzePeak master_peak_l;
#if defined(ANTIALIAS_FRQ)
AudioFilterBiquad antialias_r;
AudioFilterBiquad antialias_l;
#endif
#if defined(TEENSY_AUDIO_BOARD) && defined(SGTL5000_AUDIO_THRU) #if defined(TEENSY_AUDIO_BOARD) && defined(SGTL5000_AUDIO_THRU)
AudioMixer4 audio_thru_mixer_r; AudioMixer4 audio_thru_mixer_r;
AudioMixer4 audio_thru_mixer_l; AudioMixer4 audio_thru_mixer_l;
@ -92,59 +96,66 @@ AudioConnection patchCord2(freeverb_r, 0, master_mixer_r, 3);
AudioConnection patchCord3(freeverb_l, 0, master_mixer_l, 3); AudioConnection patchCord3(freeverb_l, 0, master_mixer_l, 3);
#endif #endif
#endif #endif
#if defined(ANTIALIAS_FRQ)
AudioConnection patchCord6(master_mixer_r, antialias_r);
AudioConnection patchCord7(master_mixer_l, antialias_l);
AudioConnection patchCord8(antialias_r, volume_r);
AudioConnection patchCord9(antialias_l, volume_l);
#else
AudioConnection patchCord6(master_mixer_r, volume_r); AudioConnection patchCord6(master_mixer_r, volume_r);
AudioConnection patchCord7(master_mixer_l, volume_l); AudioConnection patchCord7(master_mixer_l, volume_l);
AudioConnection patchCord8(volume_r, 0, stereo2mono, 0); #endif
AudioConnection patchCord9(volume_l, 0, stereo2mono, 1); AudioConnection patchCord10(volume_r, 0, stereo2mono, 0);
AudioConnection patchCord10(stereo2mono, 0, master_peak_r, 0); AudioConnection patchCord11(volume_l, 0, stereo2mono, 1);
AudioConnection patchCord11(stereo2mono, 0, master_peak_l, 0); AudioConnection patchCord12(stereo2mono, 0, master_peak_r, 0);
AudioConnection patchCord13(stereo2mono, 0, master_peak_l, 0);
// Outputs // Outputs
#if defined(TEENSY_AUDIO_BOARD) #if defined(TEENSY_AUDIO_BOARD)
AudioOutputI2S i2s1; AudioOutputI2S i2s1;
#ifndef SGTL5000_AUDIO_THRU #ifndef SGTL5000_AUDIO_THRU
AudioConnection patchCord12(stereo2mono, 0, i2s1, 0); AudioConnection patchCord14(stereo2mono, 0, i2s1, 0);
AudioConnection patchCord13(stereo2mono, 1, i2s1, 1); AudioConnection patchCord15(stereo2mono, 1, i2s1, 1);
#endif #endif
AudioControlSGTL5000 sgtl5000_1; AudioControlSGTL5000 sgtl5000_1;
#elif defined (I2S_AUDIO_ONLY) #elif defined (I2S_AUDIO_ONLY)
AudioOutputI2S i2s1; AudioOutputI2S i2s1;
AudioConnection patchCord12(stereo2mono, 0, i2s1, 0); AudioConnection patchCord14(stereo2mono, 0, i2s1, 0);
AudioConnection patchCord13(stereo2mono, 1, i2s1, 1); AudioConnection patchCord15(stereo2mono, 1, i2s1, 1);
#elif defined(TGA_AUDIO_BOARD) #elif defined(TGA_AUDIO_BOARD)
AudioOutputI2S i2s1; AudioOutputI2S i2s1;
AudioConnection patchCord12(stereo2mono, 0, i2s1, 0); AudioConnection patchCord14(stereo2mono, 0, i2s1, 0);
AudioConnection patchCord13(stereo2mono, 1, i2s1, 1); AudioConnection patchCord15(stereo2mono, 1, i2s1, 1);
AudioControlWM8731master wm8731_1; AudioControlWM8731master wm8731_1;
#elif defined(PT8211_AUDIO) #elif defined(PT8211_AUDIO)
AudioOutputPT8211 pt8211_1; AudioOutputPT8211 pt8211_1;
AudioConnection patchCord12(stereo2mono, 0, pt8211_1, 0); AudioConnection patchCord14(stereo2mono, 0, pt8211_1, 0);
AudioConnection patchCord13(stereo2mono, 1, pt8211_1, 1); AudioConnection patchCord15(stereo2mono, 1, pt8211_1, 1);
#elif defined(TEENSY_DAC_SYMMETRIC) #elif defined(TEENSY_DAC_SYMMETRIC)
AudioOutputAnalogStereo dacOut; AudioOutputAnalogStereo dacOut;
AudioMixer4 invMixer; AudioMixer4 invMixer;
AudioConnection patchCord12(stereo2mono, 0, dacOut , 0); AudioConnection patchCord14(stereo2mono, 0, dacOut , 0);
AudioConnection patchCord13(stereo2mono, 1, invMixer, 0); AudioConnection patchCord15(stereo2mono, 1, invMixer, 0);
AudioConnection patchCord14(invMixer, 0, dacOut , 1); AudioConnection patchCord16(invMixer, 0, dacOut , 1);
#elif defined(TEENSY_DAC) #elif defined(TEENSY_DAC)
AudioOutputAnalogStereo dacOut; AudioOutputAnalogStereo dacOut;
AudioConnection patchCord12(stereo2mono, 0, dacOut, 0); AudioConnection patchCord14(stereo2mono, 0, dacOut, 0);
AudioConnection patchCord13(stereo2mono, 1, dacOut, 1); AudioConnection patchCord15(stereo2mono, 1, dacOut, 1);
#endif #endif
#ifdef AUDIO_DEVICE_USB #ifdef AUDIO_DEVICE_USB
AudioOutputUSB usb1; AudioOutputUSB usb1;
AudioConnection patchCord15(stereo2mono, 0, usb1, 0); AudioConnection patchCord17(stereo2mono, 0, usb1, 0);
AudioConnection patchCord16(stereo2mono, 1, usb1, 1); AudioConnection patchCord18(stereo2mono, 1, usb1, 1);
#endif #endif
#if defined(TEENSY_AUDIO_BOARD) && defined(SGTL5000_AUDIO_THRU) #if defined(TEENSY_AUDIO_BOARD) && defined(SGTL5000_AUDIO_THRU)
AudioInputI2S i2s1in; AudioInputI2S i2s1in;
AudioConnection patchCord17(stereo2mono, 0, audio_thru_mixer_r, 0); AudioConnection patchCord19(stereo2mono, 0, audio_thru_mixer_r, 0);
AudioConnection patchCord18(stereo2mono, 1, audio_thru_mixer_l, 0); AudioConnection patchCord20(stereo2mono, 1, audio_thru_mixer_l, 0);
AudioConnection patchCord19(i2s1in, 0, audio_thru_mixer_r, 1); AudioConnection patchCord21(i2s1in, 0, audio_thru_mixer_r, 1);
AudioConnection patchCord20(i2s1in, 1, audio_thru_mixer_l, 1); AudioConnection patchCord22(i2s1in, 1, audio_thru_mixer_l, 1);
AudioConnection patchCord21(audio_thru_mixer_r, 0, i2s1, 0); AudioConnection patchCord23(audio_thru_mixer_r, 0, i2s1, 0);
AudioConnection patchCord22(audio_thru_mixer_l, 0, i2s1, 1); AudioConnection patchCord24(audio_thru_mixer_l, 0, i2s1, 1);
#endif #endif
// //
@ -309,34 +320,24 @@ void setup()
sgtl5000_1.unmuteHeadphone(); sgtl5000_1.unmuteHeadphone();
sgtl5000_1.unmuteLineout(); sgtl5000_1.unmuteLineout();
sgtl5000_1.volume(SGTL5000_HEADPHONE_VOLUME, SGTL5000_HEADPHONE_VOLUME); // Headphone volume sgtl5000_1.volume(SGTL5000_HEADPHONE_VOLUME, SGTL5000_HEADPHONE_VOLUME); // Headphone volume
sgtl5000_1.audioProcessorDisable();
sgtl5000_1.audioPostProcessorEnable();
#ifdef SGTL5000_AUDIO_THRU #ifdef SGTL5000_AUDIO_THRU
sgtl5000_1.audioPreProcessorEnable(); //sgtl5000_1.audioPreProcessorEnable();
sgtl5000_1.inputSelect(AUDIO_INPUT_LINEIN); sgtl5000_1.inputSelect(AUDIO_INPUT_LINEIN);
sgtl5000_1.lineInLevel(5); sgtl5000_1.lineInLevel(5);
sgtl5000_1.adcHighPassFilterEnable(); //sgtl5000_1.adcHighPassFilterEnable();
#endif #endif
#ifdef SGTL5000_AUDIO_ENHANCE #ifdef SGTL5000_AUDIO_ENHANCE
sgtl5000_1.audioPostProcessorEnable();
sgtl5000_1.enhanceBassEnable(); sgtl5000_1.enhanceBassEnable();
sgtl5000_1.enhanceBass(1.0, 1.5); // enhanceBass(1.0, 1.0, 1, 2); // Configures the bass enhancement by setting the levels of the original stereo signal and the bass-enhanced mono level which will be mixed together. The high-pass filter may be enabled (0) or bypassed (1). sgtl5000_1.enhanceBass(1.0, 1.5, 0, 5); // enhanceBass(1.0, 1.0, 1, 2); // Configures the bass enhancement by setting the levels of the original stereo signal and the bass-enhanced mono level which will be mixed together. The high-pass filter may be enabled (0) or bypassed (1).
sgtl5000_1.surroundSoundEnable(); sgtl5000_1.surroundSoundEnable();
sgtl5000_1.surroundSound(7, 3); // Configures virtual surround width from 0 (mono) to 7 (widest). select may be set to 1 (disable), 2 (mono input) or 3 (stereo input). sgtl5000_1.surroundSound(7, 3); // Configures virtual surround width from 0 (mono) to 7 (widest). select may be set to 1 (disable), 2 (mono input) or 3 (stereo input).
sgtl5000_1.autoVolumeEnable(); sgtl5000_1.autoVolumeEnable();
sgtl5000_1.autoVolumeControl(1, 1, 1, 0.9, 0.01, 0.05); sgtl5000_1.autoVolumeControl(1, 1, 1, 0.9, 0.01, 0.05);
/* The cutoff frequency is specified as follows:
value frequency
0 80Hz
1 100Hz
2 125Hz
3 150Hz
4 175Hz
5 200Hz
6 225Hz
*/
sgtl5000_1.eqSelect(2); // Tone Control sgtl5000_1.eqSelect(2); // Tone Control
sgtl5000_1.eqBands(EQ_BASS_DEFAULT, EQ_TREBLE_DEFAULT); sgtl5000_1.eqBands(EQ_BASS_DEFAULT, EQ_TREBLE_DEFAULT);
#else #else
sgtl5000_1.audioProcessorDisable();
sgtl5000_1.autoVolumeDisable(); sgtl5000_1.autoVolumeDisable();
sgtl5000_1.surroundSoundDisable(); sgtl5000_1.surroundSoundDisable();
sgtl5000_1.enhanceBassDisable(); sgtl5000_1.enhanceBassDisable();
@ -412,6 +413,17 @@ void setup()
freeverb_antialias_l.setLowpass(3, REVERB_ANTIALIAS_FRQ, 1.3); freeverb_antialias_l.setLowpass(3, REVERB_ANTIALIAS_FRQ, 1.3);
#endif #endif
#if defined(ANTIALIAS_FRQ)
antialias_r.setLowpass(0, ANTIALIAS_FRQ, 0.54);
antialias_r.setLowpass(1, ANTIALIAS_FRQ, 1.3);
antialias_r.setLowpass(2, ANTIALIAS_FRQ, 0.54);
antialias_r.setLowpass(3, ANTIALIAS_FRQ, 1.3);
antialias_l.setLowpass(0, ANTIALIAS_FRQ, 0.54);
antialias_l.setLowpass(1, ANTIALIAS_FRQ, 1.3);
antialias_l.setLowpass(2, ANTIALIAS_FRQ, 0.54);
antialias_l.setLowpass(3, ANTIALIAS_FRQ, 1.3);
#endif
initial_values_from_eeprom(false); initial_values_from_eeprom(false);
// start SD card // start SD card

@ -103,7 +103,7 @@
#define DEXED_ENGINE DEXED_ENGINE_MODERN // DEXED_ENGINE_MARKI // DEXED_ENGINE_OPL #define DEXED_ENGINE DEXED_ENGINE_MODERN // DEXED_ENGINE_MARKI // DEXED_ENGINE_OPL
// Number of Dexed instances // Number of Dexed instances
#define NUM_DEXED 1 // 1 or 2 - nothing else! #define NUM_DEXED 2 // 1 or 2 - nothing else!
// FX-CHAIN ENABLE/DISABLE // FX-CHAIN ENABLE/DISABLE
#define USE_FX 1 #define USE_FX 1
// CHORUS parameters // CHORUS parameters
@ -113,6 +113,8 @@
#define MOD_FILTER_CUTOFF_HZ 2000 #define MOD_FILTER_CUTOFF_HZ 2000
// REVERB parameters // REVERB parameters
#define REVERB_ANTIALIAS_FRQ 7500 #define REVERB_ANTIALIAS_FRQ 7500
// ANTIALIAS frequency
//#define ANTIALIAS_FRQ 15000
// SGTL5000 // SGTL5000
#ifdef TEENSY_AUDIO_BOARD #ifdef TEENSY_AUDIO_BOARD
#define SGTL5000_AUDIO_ENHANCE 1 #define SGTL5000_AUDIO_ENHANCE 1

Loading…
Cancel
Save