I have bought a PCM2903C Analog to Digital Converter (ADC) connected to my Ubuntu 20.04 laptop via USB. But why does Sound Settings contain these 2 settings?:
- Digital Input (S/PDIF) - PCM2903C Audio Codec
- Analog Input - PCM2903C Audio Codec
(Plus internal microphone)
In other words: What does "analog input" by USB mean? Isn't all USB input supposed to be digital? That's why I bought a PCM2903C ADC...! The device is only connected by USB, not by SPDIF. Although the PCM2903C does have a SPDIF interface.
I look forward to hear from you.
Addition, Dec. 24th: I am using the PCM2903C ADC in the form of the evaluation board: https://www.ti.com/tool/PCM2903EVM-U
I really don't know any better way on how to describe this, but being that it is a USB interface device it doesn't matter if it is plugged into the USB port or installed internally. The device will still be the same device regardless.
Since this is an analog to digital converter you will see the analog input since it is part of the device itself. The reason it is listed is it allows you to select it as the input device for recording, converting, etc. from an analog source.
The PCM2903C Stereo Audio Codec With USB Interface, Single-Ended Analog Input/Output, and S/PDIF datasheet has the following Functional Block Diagram:
Which shows that the PCM2903C has two Audio Inputs:
The datasheet describes the selection of the input data as the following:
Since the PCM2903C has two audio inputs, think that explains why both would show up in Ubuntu as possible input source when connected to the PC, even if the product containing the PCM2903C doesn't have input connectors for both analog and S/PDIF.
Linux/PCM2903C: Linux drivers for PCM2903C? Format supported? USB transmission? contains:
I haven't (yet) found where the USB-Audio Class 1 commands are defined, but in the Linux Kernel source mixer_quirks.c has function
snd_mbox1_is_spdif_input
andsnd_mbox1_set_input_source
for handling aANALOG Source
orS/PDIF Source
."Analogue" means a continuously changing voltage which can be measured literally as accurately as you want, to the nearest volt or the nearest picovolt. This is what a microphone or other audio source produces (or any real-world measurement).
"Digital" for signals means that you've measured it to some precision, turning it into an integer number representing a fraction of the voltage range. You'll normally see the precision stated in bits, giving 2-to-the-power-of-X possible voltage reading. So for example a 16-bit ADC has 2^16=65536 possible values, meaning it measures in steps of 1/6556th of the range. You'll normally often measure at a regular rate too, because you're trying to capture a constantly-moving signal.
An analogue-to-digital converter (ADC) is the electronic device which does this job. All the signals coming out of it (and the USB link to the PC) are always digital; what's relevant here is what the signal going into it was.
USB is a nice generic way of sending anything over a cable, but it does need some complex processing behind it. SPDIF is a way of sending your digital samples over a cable without too much processing. It was designed back in the 1980s when the processing required for USB was literally impossible for most computers, never mind attached devices, and it remains a popular way for home entertainment devices to spit out audio in a digital form.
That's why your device has both an analogue input (the built-in microphone, and likely an headphone jack or something, which would be mixed together to feed the ADC) and a digital input (the SPDIF input). And that's what you're selecting between on your audio input options.
As an aside... Why would you want to use SPDIF to get a signal from somewhere else? Well, the alternative for getting digital audio between devices is for the source device to convert digital samples back to an analogue signal again using a digital-to-analogue converter (DAC), push that down a cable, and have the other end use an ADC to convert it back to digital again. Every step of this analogue process adds noise and distortion, so clearly it's desirable to keep things digital once you've got them digital, because digital signals don't get distorted. (Technically there are ways a digital signal can get distorted, but that's a level beyond what you need to get a handle on right now.)