ruairioflaherty said:
Understood! What makes it so complicated? I've never understood why certain apps default to using the OS (with always on SRC) and others can force an external interface to change sample rate. It seems like something I should know.
Why? Because the applications designed for general use by consumers don't expect the consumer to have the first clue about any of this. The hardware informs the operating system which sample rates and word lengths are supported. In Mac OS X, the user can choose something in the Audio MIDI Setup. (In Windows, I have no idea any more.) So whatever choice is made there is the default. Also, most users have only one audio device connected to their computer. Certainly, based on the source's sample rate, whatever program that is playing audio could switch the hardware to match that sample rate -- if the hardware supports it. But the ugly truth is that most consumers can't distinguish between something played with SRC and something else played without it.
And the OS's audio system needs to be able to play streams from multiple sources at a time. Maybe Joe User is playing something back from iTunes, and he also wants the Mail program to ping when mail arrives, and he wants to hear the Facebook notifications, and so forth. All of these sorts of programs just send their sounds to the audio subsystem. The audio subsystem then SRCs each of these streams to the default output device's sample rate, and mixes them all together.
Remember -- that's how the average consumer user expects this all to happen.
Imagine the sort of chaos that could happen if iTunes was smart enough to change the hardware sample rate to match the various files' rates. (And my iTunes library is full of stuff ripped from CDs at 44.1 kHz/16-bit as well as some hi-res stuff from HD Tracks, and some other stuff I recorded and mixed that's at 48 kHz/24-bit.) So now something is playing along at 96 kHz and the mail tone comes through ... what should happen?
On the other hand, your favorite professional applications, liked Logic, query the audio driver to find out what sample rates the hardware supports, and allow you to decide what to use. This is because professional users of these programs know what they're doing and need this control.
Logic doesn't SRC (unless you use a plug-in to do that). If you have audio files recorded at 44.1 kHz and you tell the hardware to run at 48 kHz, it will sound wrong.
-a