ステレオ再生とキャプチャのためのALSAプラグインdmixとdsnoopの使用と設定

ステレオ再生とキャプチャのためのALSAプラグインdmixとdsnoopの使用と設定

私のコンピュータに新しいPCIベースのサウンドカードをインストールしました。入力と出力にはそれぞれ1から8まで番号が付けられた8つのS / PDIFベースのI / Oペアがあります。ライン3-8をステレオ入力(マイク)として使用し、ライン3-8をステレオ出力(再生)として使用してみました。

  • ライン3 +ライン4 =チャンネル1(入力と出力)、
  • ライン5 +ライン6 =チャンネル2(入力と出力)、
  • ライン7 +ライン8 =チャンネル3(入力と出力)。

だから私は次のようにしました.asoundrc

pcm.!default {
    type plug
    slave {
       pcm "hw:1,0"
    }
}

ctl.!default {
    type hw
    card 1
}


pcm.play_out_44 {
    type dmix
    ipc_key 1201
    ipc_key_add_uid true
    slave {
        pcm "hw:1,0"
        channels 2
        rate 44100
        format S32_LE
        buffer_size 4096
        period_size 1024
    }
}

pcm.rec_in_44 {
    type dsnoop
    ipc_key 1210
    slave {
        pcm "hw:1,0"
        channels 2
        rate 44100
        buffer_size 4096
        period_size 1024
    }
}


pcm.outch1 {
    type plug
    slave {
        pcm "play_out_44"
        bindings { 
            2 2
            3 3
        }
        hint.description "PCI Card Stereo output/playback channel 1 (from output ports 3 & 4)"
    }
}

pcm.inch1 {
    type plug
    slave {
        pcm "rec_in_44"
        bindings { 
            2 2
            3 3
        }
        hint.description "PCI Card Stereo input/capture channel 1 (from input ports 3 & 4)"
    }
}

pcm.outch2 {
    type plug
    slave {
        pcm "play_out_44"
        bindings { 
            4 4
            5 5
        }
        hint.description "PCI Card Stereo output/playback channel 2 (from output ports 5 & 6)"
    }
}

pcm.inch2 {
    type plug
    slave {
        pcm "rec_in_44"
        bindings { 
            4 4
            5 5
        }
        hint.description "PCI Card Stereo input/capture channel 2 (from input ports 5 & 6)"
    }
}

pcm.outch3 {
    type plug
    slave {
        pcm "play_out_44"
        bindings { 
            6 6
            7 7
        }
        hint.description "PCI Card Stereo output/playback channel 3 (from output ports 7 & 8)"
    }
}

pcm.inch3 {
    type plug
    slave {
        pcm "rec_in_44"
        bindings { 
            6 6
            7 7
        }
        hint.description "PCI Card Stereo input/capture channel 3 (from input ports 7 & 8)"
    }
}

上記のようにここdmix、私の設定に合わせて新しいタイプを作成しました。しかし、再生とキャプチャの試みを開こうとするとAudacity、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , inch1, inch2, inch3, outch1.outch2outch3

.asoundrcデバイスでステレオ再生とステレオキャプチャを変更または作成するにはどうすればよいですか?

答え1

outch既存のステレオサウンドカードを使用してプラグの問題を再現してみました。inchプラグにも同様の問題があるようです。

問題は、このフィールドがsumplugsフィールドを受け入れないことです。あまり必要ないと思います。bindingshinthintbindings入力dmixするdsnooper(望むよりここ)

毎回太字で表示することなく設定をすばやくデバッグするには、次の手順を実行します(そして問題を診断する方法)。

  • PCMSにわかりやすい名前を付けてください。常に「xx」で始まるように名前を変更しました。
  • ランニングaplay -L | grep xx。それでは、少なくともしなければなりません。バラよりあなたのPCM。あなたの剥がれた.asoundrcを見るとわかります。

   xxplay_out_44
   xxoutch1
  • 次のwavファイルを見つけます。locate *.wav | head
  • 前のステップで見つけたpcmsの1つを使用してwavファイルを再生します。

    > aplay -D xxoutch1  /usr/share/sounds/sound-icons/xylofon.wav 
    ALSA lib pcm.c:7448:(snd_pcm_slave_conf) Unknown field bindings

これで素晴らしいエラーメッセージが表示されます。そのフィールドを削除すると、bindings文句が表示されますhint

関連情報