音频接收器和声卡、设备有什么区别和关系?

音频接收器和声卡、设备有什么区别和关系?

音频接收器和音频卡/设备之间有什么区别和关系?

可以一个下沉沉入同一声卡的多个设备中?又名,接收器设备可以是一对多关系?

PS:我不是一个十足的菜鸟,但我对 Linux 音频也不是很了解

aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC1220 Analog [ALC1220 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 1: ALC1220 Digital [ALC1220 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [LG TV SSCR2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

gst-inspect-1.0 | grep -iP "audio sink|pipewire" | more
alsa:  alsasink: Audio sink (ALSA)
autodetect:  autoaudiosink: Auto audio sink
jack:  jackaudiosink: Audio Sink (Jack)
oss4:  oss4sink: OSS v4 Audio Sink
ossaudio:  osssink: Audio Sink (OSS)
pipewire:  pipewiredeviceprovider (GstDeviceProviderFactory)
pipewire:  pipewiresink: PipeWire sink
pipewire:  pipewiresrc: PipeWire source
pulseaudio:  pulsesink: PulseAudio Audio Sink

通过计算机收听连接到 KEF LSX 扬声器的电视时的 Pipewire 处理(我也使用易效): 在此输入图像描述

答案1

一些下沉指的是一些数据流。 (在一些特定的声音服务器术语

如果没有任何声音服务器,音频应用程序会将其音频样本直接输出到硬件音频设备。不需要任何下沉这些情况下的概念。

下沉概念出现在某些特定的声音服务器上(从未阅读过它用于选择的插孔音频连接套件声音服务器。)。
使用声音服务器时,音频应用程序将其数据发送到声音服务器。根据其术语,这使得下沉
声音服务器可以输出到设备,使用该声音服务器术语,这将使得另一个下沉
但也可以下沉音频样本到某些后处理应用程序本身下沉顺便到声音服务器下沉到声音设备。

顺便说一句,该声音服务器也能够下沉到...另一个声音服务器...:-)


来自评论:“服务器能否同时向超过 1 个设备输出相同的(音频)数据?”

是的,关于声音服务器引入了这个概念,这是可能的,这要归功于它的模块组合接收器,也有可能下沉设备输出的数据,作为输入返回到某些应用程序,甚至返回到声音服务器本身,这要归功于模块环回(但代价是完全不可接受的延迟)。请注意,由于 alsa 虚拟设备,无需任何声音服务器即可更快地实现相同的操作。

答案2

我对你的问题的评论的解释......

在计算中,接收器或数据接收器通常指数据流的目的地。

剪断

在一些使用流的计算机程序中,例如 GStreamer、PulseAudio 或 PipeWire,源是产生流但不消耗任何流的管道的起点,而接收器是接受流而不产生任何流的终点。

https://en.wikipedia.org/wiki/Sink_(计算)

因此,音频接收器是音频处理的目的地,例如扬声器。

声卡在另一只手...

声卡(也称为音频卡)是一种内部扩展卡,在计算机程序的控制下向计算机提供音频信号的输入和输出。

声卡使用数模转换器 (DAC),将记录或生成的数字信号数据转换为模拟格式。

https://en.wikipedia.org/wiki/Sound_card

因此,声卡既不是音频源,也不是音频目的地(接收器)。
声卡所做的只是转换数字信号。

音频源也称为媒体源(即媒体文件)。
声音处理管道由媒体源到媒体处理软件(使用声卡)再到媒体接收器组成。

请参阅下面的链接,了解 Microsoft 音频处理实现的概述,其中提到了接收器和源以及音频处理:

https://learn.microsoft.com/en-us/windows/win32/medfound/overview-of-the-media-foundation-architecture

编辑:

PC 上的音频处理由音频处理软件完成,由音频处理管道(软件事物)组成,类似于视频游戏开发中的渲染管道。

以类似的方式,GPU 如何在渲染管道中用于渲染(但不是目的地),声卡也用于音频转换,但本身并不是音频信号的目的地。

声卡接受输入(例如数字)并提供输出(例如模拟),其中输入和输出均由音频处理软件管理。
用户与音频软件的交互决定了使用哪些音频源和接收器(目的地)。

例如,如果要使用麦克风进行音频输入,那么这就是音频源,如果用户使用音频文件,那么它也是音频源。

音频软件将关闭。在驱动程序的帮助下与源或目的地设备(例如麦克风或扬声器)进行交互

音频管道(软件概念)从源开始,在麦克风音频输入的情况下,音频软件在声卡的帮助下将模拟信号转换为数字信号,以便音频软件可以使用。

因此,声卡是一种中间体,仅用于数字到模拟的音频处理,反之亦然,这是音频软件所需的,因为音频软件处理数字音频信号而不处理模拟信号,要理解模拟信号,音频软件使用声卡用于转换。

一旦信号被声卡转换,音频软件将继续将音频信号沿着管道流向目的地。音频接收器

音频接收器可以是新的音频文件(例如,如果用户正在录制语音并保存到文件),也可以是扬声器(例如,如果用户正在播放音频)

音频接收器是音频管道的末端,其中源是音频管道的起点。

音频管道本身由音频软件管理。

在音频源和音频接收器之间,软件负责音频处理,其中包括使用声卡进行信号转换,因此声卡既不是源也不是目的地,而是音频软件使用的音频管道中的中间单元。

就像在渲染管道中一样,GPU 既不是视频游戏软件的源也不是接收器,而是由编码到游戏中的管道使用,音频软件在音频管道中使用声卡也是如此。

编辑2:

很高兴知道,但是谁来播放音频,即将其发送到输出连接器?这些连接器是音频设备吗?

音频管道细分:

例子:如何使用麦克风来听一个人的声音?

  1. 用户对着麦克风说话,麦克风的输入是模拟音频信号
  2. 音频软件(或库)从管理麦克风的驱动程序接收模拟输入信号,但不理解模拟信号
  3. 然后,音频软件在声卡驱动程序的帮助下将模拟信号输入转换为数字信号,以便能够在音频管道中处理它(声卡接受输入并提供输出 - 转换)
  4. 然后音频软件接收并处理转换后的数字信号,例如。应用编解码器,进行混合等(全部使用软件能够理解的数字信号)
  5. 然后,音频软件再次使用声卡将数字信号转换为模拟信号,以便能够将其发送到接收器(例如扬声器)
  6. 然后,该模拟信号被发送到管理扬声器的驱动器,为了使扬声器播放音频,信号必须是模拟的。

因此,音频软件使用声卡两次,第一次将模拟转换为数字,然后再次将数字转换为模拟,因为硬件(麦克风和扬声器)不理解数字信号,但另一方面音频软件不模拟数字信号,因此需要用于转换的声卡能够处理它并将其发送到负责输出(或接收输入)的驱动程序。

在播放音频文件的情况下,信号已经是数字的,因此声卡将仅使用一次,即将数字到模拟发送到管理扬声器的驱动程序。 (例如,没有模拟输入)

相关内容