AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 772023
Accepted
Adrian
Adrian
Asked: 2024-03-11 00:48:03 +0800 CST2024-03-11 00:48:03 +0800 CST 2024-03-11 00:48:03 +0800 CST

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

  • 772

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

一个接收器可以接收到同一声卡的多个设备吗?又名,接收器设备可以是一对多关系?

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 处理(我也使用EasyEffects): 在此输入图像描述

linux
  • 2 2 个回答
  • 62 Views

2 个回答

  • Voted
  1. metablaster
    2024-03-11T17:08:22+08:002024-03-11T17:08:22+08:00

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

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

    剪断

    在一些使用流的计算机程序中,例如 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. 然后,该模拟信号被发送到管理扬声器的驱动器,为了使扬声器播放音频,信号必须是模拟的。

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

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

    • 1
  2. Best Answer
    MC68020
    2024-03-11T23:23:10+08:002024-03-11T23:23:10+08:00

    某些接收器指的是某些数据流。(在某些特定的声音服务器术语中)

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

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

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


    来自评论:“服务器可以同时向 1 个以上的设备输出相同的(音频)数据吗?”

    是的,关于引入该概念的声音服务器,由于其module-combine-sink,它还可以将设备输出的数据接收到,作为输入返回到某些应用程序,甚至返回到声音服务器本身得益于模块环回(但代价是完全不可接受的延迟)。请注意,由于 alsa 虚拟设备,无需任何声音服务器即可更快地实现相同的操作。

    • 1

相关问题

  • 有没有办法让 ls 只显示某些目录的隐藏文件?

  • 使用键盘快捷键启动/停止 systemd 服务 [关闭]

  • 需要一些系统调用

  • astyle 不会更改源文件格式

  • 通过标签将根文件系统传递给linux内核

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve