I have an USB Audio Device Connected to my Windows 10 PC. I have configured the Audacity to use my Device for both Playback and Record.
When I change Project Sample Rate and Track Bit Depth in Audacity and played a wave file, Audacity is not actually changing the Sample rate and bitdepth for my Device(When i looked at Sound panel in Windows, the Device is still configured for different bitdepth and sample rate but not the one that i have set using audacity).
So changing in Audacity is not actually effecting the Device Configuration. Audacity is converting the audio to match the device configuration. Is there any way such that changing in Audacity actually changes settings on the Device Side ?
You can’t change the bit depth of an ADC or DAC. The drivers will make any necessary conversions.
By default, Audacity works “internally” at 32-bit floating-point. When you export you an set the bit-depth depending on your desired format.
The story is basically the same with the sample rate. i.e. You can play a 24-bit/192kHz file on any-old cheap soundcard. It “just works” and the conversion is hidden from the user. The same thing happens if you view an image that’s higher resolution than your monitor… Windows will happily reduce the resolution and display it without saying anything. Similarly, you can print a high-resolution image on a low-resolution printer.
From what I’ve read, many soundcards operate at 48kHz and they can’t be changed.
You can change the sample rate (Project Rate) in Audacity and any necessary conversion will be done automatically when you record (or when you export). If you open a file, Audacity will default to the sample rate of the file.
There might be a way to change the hardware clock frequency if the hardware & drivers support it, but unless the soundcard/interface came with a configuration utility it’s usually hidden from the user.
If you have a higher-end audio interface with ASIO drivers, and ASIO software (which Audacity is not), the audio will not be resampled and it will only work at sample rates supported by the hardware. (I’m pretty sure ASIO will do any necessary bit-depth conversion.)
When you change the “Project Rate” (lower left corner of the main Audacity window), Audacity will play and export at the selected sample rate. The Windows sound system, sound card and sound card drivers decide what they want to do with the audio stream that Audacity sends to them.
In most cases you would want to set the audio device settings to the same sample rate that you are using in Audacity (so as to avoid any unnecessary conversions).
No. In most cases there is no API available to applications for controlling hardware - that’s the job of the operating system and device drivers. If you think of a USB audio device as an example, the USB cable transmits audio data (possibly bi-directional) over pins 2 and 3, and DC power on pin 1 (pin 4 being ground), and that’s all.