giuliomoro , thanks for the explanation on DC vs AC coupling. I think I understand better, but I can do more research to cement the concept. As for my setup, I’ve included a picture and some SuperCollider code which does a passthrough, that I used for my experiment. The same problem can be shown with the Bela passthrough example. To explain the picture, I have the bela board connected to my Focusrite: Bela Line out going to Line Input 3 on the Focusrite, Line Output 3 on Focusrite is connected to line inputs. (Section 1)
I’ve setup my DAW, (Section 2) so that my recorded voice is sent to Output 3 via a bus. I set the send level to 0db, and as pre-fader. Then I record the result on Input 2 (which maps to output 3 in my DAW). In this snap shop during playback, the levels aren’t the same loudness. I have the send level set to 0db, and the recorded result is extremely distorted. If I backoff of the send level to -15db, the distortion goes away, but the results is even quieter.
Additionally in section 3, I’ve recorded the input level amplitude as reported by the SuperCollider plug-in. I’m pretty sure the range is from 0 to 1, but I never exceeded .35 during my experiments, which makes me think it’s not getting a loud enough input signal. I display this information in my project as a bar meter to help me determine how loud to set the PA send levels. But I’m not sure how to calibrate my display since as of right now an input of .2 is causing distorted output.
ryjobil , I do have a whirlwind mic-eliminator DI box. I can try to experiment. But I think the distortion I’m hearing isn’t noise but like what happens when you push a signal too hot. Could it still be related? I guess the direct box would go from the bela line-out to the Focusrite, and not the other direction?
SuperCollider Passthough Code:
s = Server.default;
s.options.numAnalogInChannels = 2; // can be 2, 4 or 8
s.options.numAnalogOutChannels = 4; // can be 2, 4 or 8
s.options.numDigitalChannels = 16;
s.options.maxLogins = 4;
s.options.pgaGainLeft = 0; // sets the gain for the left audio input to 4 dB
s.options.pgaGainRight = 0; // sets the gain for the left audio input to 5 dB
s.options.headphoneLevel = 0; // sets the headphone level to -6 dB
s.options.speakerMuted = 0; // enable the speaker amp
s.options.dacLevel = 0; // sets the gain of the dac to 0 dB
s.options.adcLevel = 0; // sets the gain of the adc to 0 dB
s.options.numMultiplexChannels = 0; // do not enable multiplexer channels
s.options.blockSize = 128;
s.options.numInputBusChannels = 2; // Use only the L/R audio channels
s.options.numOutputBusChannels = 2; // Use only the L/R audio channels
s.options.memSize = 8192 * 16; // the default is 8192 which is quite little
s.boot;
s.waitForBoot{
SynthDef('hm', {
var in = SoundIn.ar(0);
Out.ar([0,1], in);
SendTrig.kr(Impulse.kr(5), 11, Amplitude.ar(in));
}).send(s);
s.sync;
Synth('hm');
o = OSCFunc({ arg msg, time; [time, msg].postln; },'/tr', a);
};