while playing around for another thread I came across a nasty problem
I execute the following sketch
The purpose is to come up with a matched filter, but I'm not there yet.
I use the USB-Audio to transfer waveforms to PC to watch them with Audacity.
I realize severe cross-talking in the two Audacity traces.
I do not know if this is in the USB-Audio part or somewhere else in the processing
Unfortunately I have no osci available that I could plug into headphone to see if cross-talk also happens there
If someone could be please so king to test this for me, that would be very much appreciated.
Edit: @Paul, if you read this, to me it seems a problem with USB audio, as the multiply-rms chain works properly.
I execute the following sketch
Code:
#include <Audio.h>
#include <Wire.h>
#include <SPI.h>
#include <SD.h>
#include <SerialFlash.h>
// GUItool: begin automatically generated code
AudioSynthToneSweep tonesweep1; //xy=187,150
AudioEffectDelay delay1; //xy=553,233
AudioEffectDelay delay2; //xy=559,492
AudioEffectMultiply multiply2; //xy=764,585
AudioOutputUSB usb1; //xy=800,343
AudioOutputI2S i2s1; //xy=802,170.60000610351562
AudioAnalyzeRMS rms1; //xy=908,584
AudioConnection patchCord1(tonesweep1, delay1);
AudioConnection patchCord2(tonesweep1, delay2);
AudioConnection patchCord3(delay1, 0, multiply2, 0);
AudioConnection patchCord4(delay1, 0, i2s1, 0);
AudioConnection patchCord5(delay1, 0, usb1, 0);
AudioConnection patchCord6(delay2, 0, multiply2, 1);
AudioConnection patchCord7(delay2, 0, i2s1, 1);
AudioConnection patchCord8(delay2, 0, usb1, 1);
AudioConnection patchCord9(multiply2, rms1);
AudioControlSGTL5000 sgtl5000_1; //xy=171,462
// GUItool: end automatically generated code
void setup() {
// put your setup code here, to run once:
AudioMemory(120);
while(!Serial);
Serial.println("TestShift");
// setup audio board
sgtl5000_1.enable();
// setup headphone
sgtl5000_1.volume(0.1);
delay1.delay(0,0); // delay in ms
for(int ii=1;ii<8;ii++) delay1.disable(ii);
delay2.delay(0,10); // delay in ms
for(int ii=1;ii<8;ii++) delay2.disable(ii);
}
void loop() {
if(tonesweep1.isPlaying()) return;
tonesweep1.play(1.0,500,1000,0.01);
if(rms1.available())
{
float val=rms1.read()*AUDIO_BLOCK_SAMPLES;
if(val>0.001)
Serial.println(val);
}
delay(100);
}
The purpose is to come up with a matched filter, but I'm not there yet.
I use the USB-Audio to transfer waveforms to PC to watch them with Audacity.
I realize severe cross-talking in the two Audacity traces.
I do not know if this is in the USB-Audio part or somewhere else in the processing
Unfortunately I have no osci available that I could plug into headphone to see if cross-talk also happens there
If someone could be please so king to test this for me, that would be very much appreciated.
Edit: @Paul, if you read this, to me it seems a problem with USB audio, as the multiply-rms chain works properly.
Last edited: