Can't hear audio in "Processing audio input" tutorial and can't use printf

Thank you! I’ll look into how JUCE handles stdout in a bit. I found another post that’s relevant here.

I finally realized that the processing multiplies the output by the slider level. Since the slider is capped at 0.25 (and by default starts at 0), the volume gets significantly reduced. This meant I had to speak at a louder volume than I normally would to be able to hear the output above my own internal voice - or tap loudly on my laptop’s frame when using the internal mic. When the slider is between 0 and 0.1, I can hear basically nothing because the volume of the audio is so low.

As a suggestion for this tutorial, my expectations were that the volume of the original audio would remain constant while the amount of white noise added would be variable based on the setting of the slider. Either changing the explanation of the tutorial to be more clear or adjusting the code to match that description would help greatly.

Current description:

The demo project modulates an incoming signal with white noise. The level of the white noise can be changed which affects the level of the overall output. The result is a very “fuzzy” version of the input signal.

Currently, the level affects the volume of the output altogether, so the slider is really a volume slider. The volume of the white noise is actually constant, relative to the volume of the output.

Current processing line:

for (auto sample = 0; sample < bufferToFill.numSamples; ++sample)
    outBuffer[sample] = inBuffer[sample] * random.nextFloat() * level;

Suggestion:

for (auto sample = 0; sample < bufferToFill.numSamples; ++sample)
{
    // manipulate the floating point to fall between [-1,1]
    auto noise = (random.nextFloat() * 2) - 1;
    outBuffer[sample] = inBuffer[sample] + (noise * level);
}