異なるリサンプリングアルゴリズムを使用するようにALSA1.0.23を作成しようとしています。インターネットで調べたところ、defaults.pcm.rate_converter "<library>"
の行を/etc/asound.conf
または~/.asoundrc
のいずれかに入れると、ALSAに別のリサンプリングアルゴリズムを使用するように指示されることがわかりました。
ただし、機能していないようです。次の行を〜/ .asoundrc defaults.pcm.rate_converter "speexrate_best"
に入れても、CPU使用率やロードされたライブラリのリストには影響しません(何かを再生しているときにlsof -n | grep speex
を実行しても何も起こりません)。ただし、次のスニペットは、ALSAに新しいリサンプリングアルゴリズムの使用を強制します。
pcm。!default { type rate slave { pcm "hw:0,0" rate 48000 } コンバーター "speexrate_best" }
そうすることで、CPU使用率が10〜15%になり、2つの新しい共有ライブラリがlsof
のリストに表示されますが、ソフトウェアミキシングが機能しなくなり、複数のオーディオファイルを再生できなくなります。
私はおそらく明らかな何かを見逃しています。ここで問題になる可能性があるのは何ですか?
Mplayerがずっとリサンプリングを行っていたようです。 aplay
でいくつかのwavファイルを再生すると、新しいリサンプリングアルゴリズムが意図したとおりに使用されていることがわかります。