ALSAを使用してサウンドカードを選択できますか?

ALSAを使用してサウンドカードを選択できますか?

Nvidiaサウンドカードで選択するとまったく機能しません。6項目(など) alsamixerの音量を上げることはできません。S/PDIFS/PDIF 1ここに画像の説明を入力してください。

いくつかの情報:

cat /proc/asound/cards
 0 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xf3310000 irq 31
 1 [NVidia         ]: HDA-Intel - HDA NVidia
                      HDA NVidia at 0xf3080000 irq 17
Kernel: 5.10.0-11-amd64 
Distro: Debian GNU/Linux 11 (bullseye) 

モニタースピーカーを使用するにはALSAのみを使用できますか?

起動するとpulseaudio使用できます。

# pactl list short sources
1   alsa_output.pci-0000_00_1b.0.analog-stereo.monitor  module-alsa-card.c  s16le 2ch 44100Hz   SUSPENDED
2   alsa_input.pci-0000_00_1b.0.analog-stereo   module-alsa-card.c  s16le 2ch 44100Hz   SUSPENDED
5   alsa_output.pci-0000_01_00.1.hdmi-stereo-extra2.monitor module-alsa-card.c  s16le 2ch 44100Hz   SUSPENDED
# pactl list short sinks
1   alsa_output.pci-0000_00_1b.0.analog-stereo  module-alsa-card.c  s16le 2ch 44100Hz   SUSPENDED
4   alsa_output.pci-0000_01_00.1.hdmi-stereo-extra2 module-alsa-card.c  s16le 2ch 44100Hz   SUSPENDED

pasystray簡単にシンクを選ぶことができますが、GP106 High Definition Audio Controller ...たまにならない時があります。

PAの実行時にHDA nvidiaサウンドカードを選択すると、alsamixer以前と同じです。

/etc/asound.conf私がしたことは次のとおりです。

defaults.pcm.card 1
defaults.ctl.card 1

ベースカードを選択する部分です。

使用しているものを変更できますが、alsavolume-iconミュートアイコンが表示された後は、使用するときと同じように音量を上げることはできませんalsamixer

動作させることができますか?では、asound.confこのカードを基本カードに設定します。

答え1

ここで、ALSAは実際のハードウェアが実行できる操作のみを提供します。 NVidia HDAサウンドチップの場合、各S / PDIFデジタルチャンネル(通常はHDMIまたはDisplayPortデジタルディスプレイ接続に接続されています)のオン/オフスイッチのみを提供します。

キーをalsamixer押して各チャンネルをオンまたはオフにし、左右の矢印キーを使用してチャンネル間を移動できる必要があります。M音量スライダー(上下の矢印キーで調整可能)は、サウンドチップに実際のミキサー機能がある場合にのみ表示されます。デジタル形式でのみサウンドを配信するグラフィックカードやその他のデバイスには、アナログミキサー機能がまったくない可能性があります。これは、標準形式のデジタルオーディオデータの「ストレートパイプ」に過ぎない場合が多いからです。

PulseAudioを使用しているときにスクリーンショットに表示されないことを意味する場合は、サウンドカード番号を明示的に設定してください(例:alsamixer -c 0と)alsamixer -c 1

Debianの現在のデフォルト設定でPulseAudioを使用している場合、alsamixerオプションなしで実行するとPulseAudioのマスターボリュームコントロールのみが表示され、他のものは表示されません。ただし、サウンドカード番号を指定すると、ALSAドライバが提供する設定に引き続きアクセスできます。

パルスオーディオ(PulseAudio)の導入ソフトウェアミキシングストリームが技術的に出力のみに転送される場合でも、CPUを使用してデジタルサウンドデータストリームをよりスムーズにまたはより大きくしたり、複数のソースからのサウンドを単一の出力に混合してボリュームを調整したりできます。 HDMIオーディオチャンネルなどのラインレベルのサウンドデータストリーム。

PulseAudioも動作しますサンプリングレート変換必要に応じて:モニタが単一のサンプルレートのみをサポートしている場合、ALSAドライバレイヤは他のサンプルレートを使用してサウンドデータを再生しようとするすべての試みを拒否します。

技術的にALSAできるソフトウェアのミキシングとサンプルレートの変換も可能ですが、ALSAがソフトウェアのミキシングを調整する方法には通常ファイルの編集が含まれますが、.asoundrcPulseAudioは音源の再生中でも動的再構成を容易にします。その結果、alsa-libこの目的のための使用は推奨されず、PulseAudioは本質的にその場を占めました。

ALSAは3つの主要コンポーネントに分かれています。

  • alsa-driver:実際のサウンドカードドライバ(現在Linuxカーネルに統合)
  • alsa-lib:ドライバを使用するためのパブリックライブラリとして.asoundrc
  • alsa-toolsalsamixer:、aplayなどarecordのユーザースペースツール

HDMIディスプレイと多くのUSB接続サウンドデバイスは個々のサンプリング周波数セットのみを許可するため、必要に応じて自動的にサンプリングレートを変換する機能がますます重要になっています。これがalsa-lib恵みから堕落したもう一つの理由のようです。

aplay -lALSAドライバインタフェースを使用してサウンドカードを選択するには、カードとデバイス番号(利用可能なオプションを参照)または出力デバイス名(aplay -Lそれぞれ参照)でデバイスを指定する必要があります。

残念ながら、ALSAドライバインタフェースを使用するアプリケーションにサウンドカードとデバイス番号、またはALSAデバイス名を入力する正確な方法は、アプリケーションによって異なります。一部のアプリケーションは名前のみを受け入れ、他のアプリケーションは数字のみを受け入れます。コマンドラインオプションまたは設定項目名もアプリケーションによって異なります。これを行う方法に関する明確なルールはありません。

答え2

モニタースピーカーを使用するにはALSAのみを使用できますか?

ALSAを直接使用するほとんどのアプリケーションは、コマンドラインオプションまたは設定ダイアログボックスから出力デバイスを選択できます。

以下を生成することもできます。音源設定ファイル、システム全体(/etc/asound.conf)、またはユーザーごと($HOME/.asoundrc)、ここで設定できます基本デバイス

alsamixerでnvidiaサウンドカードを選択するとまったく機能しません

alsamixerそのサウンドカードのミキサー設定を取得するには、サウンドカードのいずれかを選択します。サウンドカードをデフォルト値に設定したり、他の項目には影響しません。

Pulseaudioがインストールされている場合、通常は擬似デバイスをプライマリデバイスとして指定するasoundrcファイルもあるため、pulseALSAだけで実行したい操作と競合する可能性があります。


asoundrcの問題デバッグヘルプ:~/.asoundrc鉱山

 pcm.!default "plughw:2,0"

plughwOKを押してカード2に自動を選択しますaplay -L。カード1が必要な場合があります。その行から始めaplay-D。動作する場合は、ctl部品を追加します。


コーデック(サウンドハードウェアチップ)に音量調整機能がない場合、音量調整機能もないため音量を変更できません。

「ソフトウェアボリュームコントロール」を前に置くことができます。

pcm.!default "mynvidia"
ctl.!default "mynvidia"

pcm.mynvidia {
  type softvol
  slave {
    pcm "plughw:2,0"
  }
  control {
    name "Master"
    card "NVidia"
  }
}

おそらく象徴的なカード名と一緒に使用することもできますが、plughwまだ自分で試してみません。

答え3

dirktが言ったように、定義されたすべてのPCMをリストするには.asoundrc
aplay -L

設定によっては、ストリーミングは特定の時間にのみ許可されます。
私が知る限り、pcm.!default "plughw:1,8"正しい価値があります。

この構成では、より多くのストリームが許可されますが、

pcm.nvidiamix {
    type dmix
    ipc_key 1024
    slave {
        pcm "hw:NVidia,3"
        channels 2
        #rate 48000
        period_time 0
        period_size 1024
        buffer_time 0
        buffer_size 8192
    }
    bindings.0 0
    bindings.1 1
}
pcm.!default {
    type plug
    slave.pcm "nvidiamix"
    hint {
        show on
        description "Default Card NVidia"
    }
}
ctl.!default {
    type hw
    card "NVidia"
}

新しいMaster音が表示されますがalsamixer意味がありません。S/PDIF音を出す音だけがミュートできます。音量レベルを設定できますが、Nvidiaはそうではありません
。このパッケージを使用すると、モニター設定を変更できます。Intel HDA
ddcutil

一部のアプリケーションは機能しない可能性があり、apulseパッケージでこの問題を解決できます。
または試してみることができますpipewire https://wiki.debian.org/PipeWire

関連情報