オーディオレシーバーとオーディオカード/デバイスの違いとの関係は何ですか?
一つできますか?流し同じサウンドカードで複数のデバイスにシンクしますか?別名、受信装置が一対多の関係にありますか?
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スピーカーに接続されているコンピュータを介してテレビを聴くときのパイプワイヤ処理(私も効果が現れやすさ):
答え1
一部流し一部のデータフローを表します。 (存在する一部の特定のサウンドサーバー用語)
サウンドサーバーがない場合、オーディオアプリケーションはオーディオサンプルをハードウェアオーディオデバイスに直接出力します。必要はありません。流しこのような状況での概念。
これ流し概念は一部の特定のサウンドサーバーに表示されます(オプションのジャックオーディオ接続キットサウンドサーバーで使用されていることは決して読まないでください)。
サウンドサーバーを使用すると、オーディオアプリケーションはそのデータをサウンドサーバーに送信します。用語によると、これは次のとおりです。流し。
サウンドサーバーは、サウンドサーバーという用語を使用してデバイスに出力できます。流し
しかしそれも大丈夫です。流し一部の後処理アプリケーション自体のオーディオサンプル流しサウンドサーバーに立ち寄る流しサウンドデバイスに。
ところで、このサウンドサーバーも流し...別のサウンドサーバーに... :-)
コメントから:「サーバーは同時に2つ以上のデバイスに同じ(オーディオ)データを出力できますか?」
はい、この概念を導入したサウンドサーバーはそのおかげで可能でした。モジュールコンビネーションレシーバー、また可能性流しデバイスからのデータ出力は、一部のアプリケーションまたはサウンドサーバー自体の入力として返されます。モジュールループバック(ただし、完全に許容できない遅延時間が発生します)。 alsa仮想デバイスのおかげで、サウンドサーバーなしで同じタスクをすばやく実行できます。
答え2
あなたの質問に関する私の意見の説明です...
コンピューティングでは、受信機またはデータシンクは通常、データストリームの宛先を表す。
せん断
GStreamer、PulseAudio、またはPipeWireなどのストリームを使用する一部のコンピュータプログラムでは、ソースはストリームを生成しますが何も消費しないパイプの始点であり、シンクはストリームを生成せずに受け入れるエンドポイントです。 。
https://en.wikipedia.org/wiki/Sink_(コンピューティング)
したがって、オーディオレシーバーはスピーカーなどのオーディオ処理の対象となります。
サウンドカードは反対側にあります。
サウンドカード(オーディオカードとも呼ばれる)は、コンピュータプログラムの制御を受けてコンピュータにオーディオ信号の入出力を提供する内部拡張カードです。
サウンドカードは、デジタル - アナログコンバータ(DAC)を使用して、録音または生成されたデジタル信号データをアナログ形式に変換します。
https://en.wikipedia.org/wiki/Sound_card
したがって、サウンドカードはオーディオソースではなく、オーディオターゲット(シンク)でもありません。
サウンドカードがすることはデジタル信号を変換するだけです。
オーディオソースはメディアソース(メディアファイルなど)とも呼ばれます。
サウンド処理パイプラインは、メディアソース、メディア処理ソフトウェア(サウンドカードを使用)、メディアシンクで構成されています。
シンクとソース、およびオーディオ処理について言及するマイクロソフトのオーディオ処理の実装の概要については、以下のリンクを参照してください。
編集する:
PCでのオーディオ処理は、ビデオゲーム開発のレンダリングパイプラインと同様のオーディオ処理パイプライン(ソフトウェア)で構成されたオーディオ処理ソフトウェアによって行われます。
レンダリングパイプラインでは、レンダリング(ターゲットではない)にGPUが使用されるのと同じように、サウンドカードもオーディオ変換に使用されますが、それ自体がオーディオ信号の対象ではありません。
サウンドカードは入力(デジタルなど)を受け入れ、出力(アナログなど)を提供します。ここで、入力と出力は両方ともオーディオ処理ソフトウェアで管理されます。
オーディオソフトウェアとのユーザー対話によって、使用されるオーディオソースとシンク(ターゲット)が決まります。
たとえば、オーディオ入力にマイクを使用したい場合はこれがオーディオソースになり、ユーザーがオーディオファイルを使用している場合でもオーディオソースになります。
オーディオソフトウェアが閉じます。ドライバーの助けを借りて、マイクやスピーカーなどのソースまたはターゲットデバイスとの対話
オーディオパイプライン(ソフトウェアの概念)はソースから始まります。マイクオーディオ入力の場合、オーディオソフトウェアは、オーディオソフトウェアで使用できるようにサウンドカードの助けを借りてアナログ信号をデジタル信号に変換します。
したがって、サウンドカードはデジタルからアナログオーディオを処理するための仲介者であり、オーディオソフトウェアはアナログ信号ではなくデジタルオーディオ信号を処理し、アナログ信号を理解するため、オーディオソフトウェアに必要な仲介者です。オーディオソフトウェアは変換にサウンドカードを使用します。
信号がサウンドカードによって変換されると、オーディオソフトウェアはオーディオ信号をパイプの下に引き続き宛先に送信します。オーディオレシーバー
オーディオシンクは、新しいオーディオファイル(ユーザーが音声を録音してファイルに保存する場合)、またはスピーカー(ユーザーがオーディオを再生している場合)などです。
オーディオシンクはオーディオパイプラインの終わりであり、ソースはオーディオパイプラインの始まりです。
オーディオパイプライン自体はオーディオソフトウェアによって管理されます。
オーディオソースとオーディオシンクの間では、ソフトウェアはサウンドカードを使用した信号変換を含むオーディオ処理を担当します。したがって、サウンドカードは、ソースでもターゲットでもなく、オーディオパイプラインで使用される中間デバイスです。オーディオソフトウェア。
レンダリングパイプラインと同様に、GPUはビデオゲームソフトウェアのソースでもシンクでもありませんが、ゲームでエンコードされたパイプラインで使用されます。オーディオパイプラインでサウンドカードを使用するオーディオソフトウェアの場合も同様です。 。
編集2:
知っておくと良いですが、誰がオーディオを再生しますか?つまり、オーディオを出力コネクタに送信する人は誰ですか?このコネクタはオーディオデバイス用ですか?
オーディオパイプライン分析:
例:マイクを使って人の声を聞くには?
- ユーザーがマイクに向かって話し、マイク入力はアナログオーディオ信号です。
- オーディオソフトウェア(またはライブラリ)はマイクを管理するドライバからアナログ入力信号を受信しますが、アナログ信号を理解していません。
- その後、オーディオソフトウェアはサウンドカードドライバの助けを借りてオーディオパイプラインで処理できるようにアナログ信号入力をデジタル信号に変換します(サウンドカードは入力を受け入れて出力変換を提供します)。
- その後、オーディオソフトウェアは変換されたデジタル信号を受信して処理します。コーデックの適用、混合など(すべてソフトウェアが理解するデジタル信号を使用)
- その後、オーディオソフトウェアはサウンドカードを再利用してデジタル信号をアナログ信号に変換して受信機(スピーカーなど)に送信できます。
- このアナログ信号はスピーカーを管理するドライバに送信されます。スピーカーがオーディオを再生するには、信号がアナログでなければなりません。
したがって、オーディオソフトウェアはサウンドカードを2回使用します。まず、アナログをデジタルに変換してから、デジタルをアナログに変換します。ハードウェア(マイクとスピーカー)はデジタル信号を理解していませんが、オーディオソフトウェアはデジタル信号をシミュレートしないからです。したがって、変換に使用されるサウンドカードはそれを処理し、出力(または入力受信)を担当するドライバに送信できなければなりません。
オーディオファイルを再生する場合、信号はすでにデジタルなので、サウンドカードはこれを一度だけ使用します。つまり、スピーカーを管理するドライバにデジタルをアナログに送信します。 (例:アナログ入力なし)