2

組み込みプロジェクトで ALSA dmix プラグインを使用しており、mp321-alsa で再生して mp3 ファイルをミキシングしています。asound.conf で、dmix のサンプル レートを 44100Hz に設定しました。

44100Hz (または 44100Hz に均等に分割されるレート) 以外のレートでサンプリングされた mp3 ファイルを再生しようとすると、オーディオ品質が低下するか、さらに悪いことにファイルの先頭が省略されます。これにはランダムな側面があります。たとえば 300 ミリ秒の長さのオーディオ ファイルを作成して mpg321-alsa で再生すると、正常に再生されることもあれば、まったく音が出ないこともあります。

これは dmix の既知の問題ですか? mp3 ファイルをリサンプリングする以外に回避策はありますか?

4

1 に答える 1

3

ALSA プラグインのドキュメントを参照してください。

dmix プラグイン自体がサポートする構成は 1 つだけであることに注意してください。つまり、固定レート (デフォルト 48000)、フォーマット ( S16)、チャネル (2)、および period_time (125000) のみがサポートされます。他の構成を使用するには、スレーブ PCM 定義で値を明示的に設定する必要があります。レート、フォーマット、チャンネルはプラグインを追加することでカバーできますが、基本構成は 1 つしかありません。

例として(ニーズに合わせて変更してください)、

pcm.dsp0 {
    type plug
    slave.pcm "asym0"
    slave.rate 44100
}

pcm.asym0 {
    type asym
    playback.pcm "dmix0"
    capture.pcm "dsnoop0"
}

pcm.dmix0 {
    type dmix
    ipc_key 1024
    ipc_perm 0666
    slave {
        pcm {
            type hw
            card 0
            device 0
        }
        period_time 0
        period_size 1024
        buffer_size 65536
        format "S16_LE"
        periods 128
        rate 44100
    }
}

pcm.dsnoop0 {
    type dsnoop
    ipc_key 1025
    ipc_perm 0666
    slave.pcm {
        type hw
        card 0
        device 0
    }
}
于 2009-11-11T18:41:01.053 に答える