Mic/Spkr SampleRate mismatch on iMac


Testing on JUCE-Master from GitHub on my 2014 iMac running (BootCamp) Windows, it appears that the microphone and speakers do not use the same sample rate:


To reach that screenshot I just set the input and output device pulldowns to the standard inbuilt.

Investigating my audio settings I observed that my speakers are set to 24 bit 48 kHz, where is my microphone is set to 2 channel, 16 bit, 44.1 kHz.

For my project, should I simply adjust one of these values so that they match, or is it possible to handle mismatching sample rates in JUCE?

I would prefer the latter, as that would save my future users from having to fiddle their settings in order to use my app.

I suspect I would need a separate component for input and output, each deriving from AudioAppComponent with SetAudioChannels(1,0) and (0,2) respectively.


PS Adjusting my system settings (lowering the speakers to 44.1 kHz), the audio settings page works. But curiously the latency detection page fails. No error. It just doesn't seem to hear the signal it emitted. Could this be some hardware level echo cancellation magic at work?


Something on our to-do list is to create a cross-platform audio device utility that can take a bunch of arbitrary devices and synchronise them, resampling as necessary. But in the meantime it's not possible to get a single callback from two different devices, you'd need to open them seaparately and do something appropriate with the two callbacks.

Not sure about the latency detector, but yes, I guess noise cancellation could mess it up..