複数のアプリケーションが開いている場合、ALSAは機能しません。

複数のアプリケーションが開いている場合、ALSAは機能しません。

私はサウンド関連のPythonプログラムを書いているので、PortAudioライブラリを使用するSoundDevice Pythonモジュールを使用しています。私はアーチLinuxと深いデスクトップを使用しています。

コンピュータの電源を入れて利用可能なデバイスを印刷すると、次の結果が表示されます。

   0 HDA Intel PCH: ALC887-VD Analog (hw:0,0), ALSA (2 in, 2 out)
   1 HDA Intel PCH: ALC887-VD Digital (hw:0,1), ALSA (0 in, 2 out)
   2 HDA Intel PCH: ALC887-VD Alt Analog (hw:0,2), ALSA (2 in, 0 out)
   3 HDA ATI HDMI: 0 (hw:1,3), ALSA (0 in, 8 out)
   4 sysdefault, ALSA (128 in, 128 out)
   5 front, ALSA (0 in, 2 out)
   6 surround40, ALSA (0 in, 2 out)
   7 surround51, ALSA (0 in, 2 out)
   8 surround71, ALSA (0 in, 2 out)
   9 iec958, ALSA (0 in, 2 out)
  10 spdif, ALSA (0 in, 2 out)
  11 pulse, ALSA (32 in, 32 out)
  12 dmixed, ALSA (0 in, 2 out)
  13 dsnooped, ALSA (2 in, 0 out)
  14 duplex, ALSA (2 in, 2 out)
  15 dmix, ALSA (0 in, 2 out)
* 16 default, ALSA (128 in, 128 out)

ALSA(入力128、出力128)を使用していると出てきます。それでは、アプリケーション(Chromiumと仮定します)を開き、音楽を再生し、引き続きインターネットを閲覧します。使用可能なデバイスを印刷すると、次の結果が表示されます。

   0 HDA Intel PCH: ALC887-VD Analog (hw:0,0), ALSA (2 in, 0 out)
<  1 HDA Intel PCH: ALC887-VD Digital (hw:0,1), ALSA (0 in, 2 out)
   2 HDA Intel PCH: ALC887-VD Alt Analog (hw:0,2), ALSA (2 in, 0 out)
   3 HDA ATI HDMI: 0 (hw:1,3), ALSA (0 in, 8 out)
   4 sysdefault, ALSA (128 in, 0 out)
   5 iec958, ALSA (0 in, 2 out)
   6 spdif, ALSA (0 in, 2 out)
   7 pulse, ALSA (32 in, 32 out)
   8 dsnooped, ALSA (2 in, 0 out)
   9 duplex, ALSA (2 in, 0 out)
> 10 default, ALSA (128 in, 0 out)

これは、出力にIntelを使用し、入力にALSA(128インチ、0)を使用していることを示します。以前のようなALSAの入出力がないのはなぜですか?

これは、Audacityを含むサウンドを使用するすべてのアプリケーションで発生します。

現在は代替としてプラスを使用していますが、ALSAがより良いと言って、同時に複数のアプリを開いたままにしてもそれを使いたいです。

編集する

構成を編集した後のリストは次のとおりです。

>  0 HDA Intel PCH: ALC887-VD Analog (hw:0,0), ALSA (2 in, 2 out)
   1 HDA Intel PCH: ALC887-VD Digital (hw:0,1), ALSA (0 in, 2 out)
   2 HDA Intel PCH: ALC887-VD Alt Analog (hw:0,2), ALSA (2 in, 0 out)
   3 HDA ATI HDMI: 0 (hw:1,3), ALSA (0 in, 8 out)
   4 sysdefault, ALSA (128 in, 128 out)
   5 front, ALSA (0 in, 2 out)
   6 surround40, ALSA (0 in, 2 out)
   7 surround51, ALSA (0 in, 2 out)
   8 surround71, ALSA (0 in, 2 out)
   9 iec958, ALSA (0 in, 2 out)
  10 spdif, ALSA (0 in, 2 out)
  11 pulse, ALSA (32 in, 32 out)
  12 dmix, ALSA (0 in, 2 out)
< 13 default, ALSA (0 in, 128 out)

ベストアンサー1

プライマリデバイスの代わりにALSAデバイスへの出力が必要ですdmix。複数のストリームを混合してサウンドカードに出力できます。ご覧のとおり、ハードウェアミキシングをサポートしていないサウンドデバイスでは自動的に設定され、システムにはすでに設定されています。

以下の詳細情報を見つけることができます。アルサウィキ

dmix次の設定を使用してデフォルト値に設定できます。

pcm.!default {
    type plug
    slave.pcm "dmix"
}

ALSAを使用するには、すべてのアプリケーションを構成する必要があります。また、これはdmix出力デバイスにすぎないため、複数の入力を管理するためにdsnoopALSA Wikiに詳細な指示があります。構成例どちらの場合も、特定の設定(特にデフォルトの基本ハードウェアデバイス)に合わせて調整できます。

おすすめ記事