Audacityなどのアプリケーションでの再生と録音中に複数のサンプルレートをサポートします。

Audacityなどのアプリケーションでの再生と録音中に複数のサンプルレートをサポートします。

サウンドカードチャンネルを定義する方法は次のとおりです.asoundrc

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

ctl.!default { 
    type hw
    card 1
}

pcm_slave.usb_1 {
    pcm "hw:1,0"
    rate 44100
    channels 8
    buffer_size 4096
    period_size 1024
}

pcm.outch1 {
    type dshare
    ipc_key 1111
    slave usb_1
    bindings [ 0 ]
    hint.description "USB output/playback channel 1 (from output port 1)"
}

pcm.inch1 {
    type dsnoop
    ipc_key 1111
    slave usb_1
    bindings [ 0 ]
    hint.description "USB input/capture channel 1 (from input port 1)"
}

上記のaplay次のようにうまくいきます。arecordAudacity8kオーディオサンプルを再生しようとすると、次のエラーが発生する端末の機能/コマンド:

大胆な間違い

Audio device infoメニュー(ヘルプ - >オーディオデバイスオプション)でオプションを確認すると、Help次のようになります。

Device ID: 2
Device name: USB Audio (hw:1,0)
Host name: ALSA
Recording channels: 8
Playback channels: 8
Low Recording Latency: 0.008707
Low Playback Latency: 0.008707
High Recording Latency: 0.034830
High Playback Latency: 0.034830
Supported Rates:
    44100
    48000
    88200
    96000
==============================
Device ID: 10
Device name: outch1
Host name: ALSA
Recording channels: 0
Playback channels: 1
Low Recording Latency: -1.000000
Low Playback Latency: 0.023220
High Recording Latency: -1.000000
High Playback Latency: 0.023220
Supported Rates:
    44100
==============================
Device ID: 11
Device name: inch1
Host name: ALSA
Recording channels: 1
Playback channels: 0
Low Recording Latency: 0.023220
Low Playback Latency: -1.000000
High Recording Latency: 0.023220
High Playback Latency: -1.000000
Supported Rates:
==============================

見てみ8000ましょうオーディオデバイス情報です16000Supported Rateその場合、エラーが発生する理由は明らかです。

それでは、.asoundrcすべてのアプリケーション(Audacityもちろんを含む)が必要なサンプルレートでオーディオファイルを再生して録音できるように、これらのサンプルレートを追加/設定する方法と場所は何ですか?

ベストアンサー1

dmix//プラグインdshareは常にdsnoop固定サンプリングレートを使用します。

デバイス自体を異なる速度で実行するには、代わりにPulseAudioを使用してください。

プラグインに入る前にアプリケーションのデータをdshareリサンプリングするには、plugその周囲にプラグインをラップします。

pcm.outch1 {
    type plug
    slave.pcm {
        type dshare
        ipc_key 1111
        slave usb_1
        bindings [ 0 ]
    }
}

おすすめ記事