我购买了 PCM2903C 模拟数字转换器 (ADC),通过 USB 连接到我的 Ubuntu 20.04 笔记本电脑。但为什么声音设置包含这 2 个设置?:
- 数字输入 (S/PDIF) - PCM2903C 音频编解码器
- 模拟输入 - PCM2903C 音频编解码器
(另加内置麦克风)
换句话说:USB 的“模拟输入”是什么意思?所有 USB 输入不是都应该是数字的吗?这就是我购买 PCM2903C ADC 的原因……!该设备仅通过 USB 连接,而不是通过 SPDIF 连接。尽管 PCM2903C 确实有一个 SPDIF 接口。
我期待您的回复。
补充一下,12月24日:我使用的是评估板形式的PCM2903C ADC:https://www.ti.com/tool/PCM2903EVM-U
答案1
但是为什么声音设置包含这 2 个设置?
这具有 USB 接口、单端模拟输入/输出和 S/PDIF 的 PCM2903C 立体声音频编解码器数据表具有以下功能框图:
这表明 PCM2903C 有两个音频输入:
- ADC 模拟(16 位 Delta-Sigma)
- 音频/音频
数据表对输入数据的选择描述如下:
输入数据可选择 S/PDIF 或 ADC 模拟输入。当设备检测到 S/PDIF 输入并成功锁定接收数据时,将自动从 S/PDIF 本身选择同步输入传输数据源;否则,所选数据源为 ADC 模拟输入。
由于 PCM2903C 有两个音频输入,认为这解释了为什么当连接到 PC 时,两者都会在 Ubuntu 中显示为可能的输入源,即使包含 PCM2903C 的产品没有模拟和 S/PDIF 的输入连接器。
Linux/PCM2903C:PCM2903C 的 Linux 驱动程序?支持什么格式?USB 传输?包含:
该设备不需要特殊的驱动程序,因为它使用操作系统的原生 USB-Audio Class 1 驱动程序。
我还没有找到USB 音频 1 类命令已经定义,但在 Linux 内核源代码中混频器_quirks.c具有功能snd_mbox1_is_spdif_input
和snd_mbox1_set_input_source
用于处理ANALOG Source
或S/PDIF Source
。
答案2
我真的不知道还有什么更好的方式来描述这一点,但既然它是一个 USB 接口设备,那么无论是插入 USB 端口还是内部安装都没关系。无论如何,该设备仍将是同一设备。
由于这是一个模拟数字转换器您将看到模拟输入,因为它是设备本身的一部分。列出它的原因是它允许您选择它作为从模拟源进行录制、转换等的输入设备。
答案3
“模拟”是指连续变化的电压,可以按您需要的精度进行测量,精确到伏特或皮伏特。这是麦克风或其他音频源产生的电压(或任何实际测量值)。
信号的“数字”意味着您已经以某种精度对其进行了测量,将其转换为表示电压范围的一小部分的整数。您通常会看到以位表示的精度,从而给出 2 的 X 次方个可能的电压读数。因此,例如,16 位 ADC 有 2^16=65536 个可能的值,这意味着它以范围的 1/6556 为步长进行测量。您通常也会以常规速率进行测量,因为您要尝试捕获不断移动的信号。
模拟数字转换器 (ADC) 是完成这项工作的电子设备。从它输出的所有信号(以及 USB 到 PC 的链接)始终是数字的;这里相关的是信号传输的内容进入它是。
USB 是一种很好的通用发送方式任何事物通过电缆,但它确实需要一些复杂的处理。音频接口是一种无需过多处理即可通过电缆发送数字样本的方式。它设计于 20 世纪 80 年代,当时大多数计算机(更不用说连接的设备)都无法完成 USB 所需的处理,但它仍然是家庭娱乐设备以数字形式输出音频的流行方式。
这就是为什么您的设备既有模拟输入(内置麦克风,也可能是耳机插孔等,它们会混合在一起以馈送 ADC)又有数字输入(SPDIF 输入)。这就是您在音频输入选项中进行选择的内容。
顺便说一句……你为什么要使用 SPDIF 从其他地方获取信号?好吧,在设备之间获取数字音频的另一种方法是让源设备使用数模转换器 (DAC) 将数字样本再次转换回模拟信号,将其推入电缆,然后让另一端使用 ADC 将其再次转换回数字信号。这个模拟过程的每一步都会增加噪音和失真,因此显然,一旦将数字信号数字化,最好将其保持数字化,因为数字信号不会失真。(从技术上讲,数字信号可能会以多种方式失真,但这超出了您现在需要控制的程度。)