In The Court Of The Crimson King

音声の再生について、プチノイズが出まくる件は解決したのだが、実はそれ以外の問題もある。これは言葉で表現するのが難しいのだが…再生の途中で瞬間的なスキップがけっこうちょくちょく発生する。時間をほんの一瞬だけ吹っ飛ばし…その時間内のこの世のものは全て消し飛ぶ。最終的に何か音が飛んだな?という結果だけが残る。

これはノイズというよりは要するにPCMデバイスにデータを叩き込むスケジューリングの問題に思える。しかしGHzでプロセッサがぶん回る時代にそんなことあるのか?

というわけでまたしてもarchlinuxのwikiを参照すると、なにやらPulseAudioの動作に伝統的な割り込み方式と新しいタイムベースのスケジューリングというものがあるらしく、後者で問題が起こるハードウェアもあるのだそうだ(前者で起こるハードウェアもある)。とりあえず/etc/pulse/default.pa

load-module module-udev-detect tsched=0

などと追加して割り込み(何の割り込み? PCMデータを突っ込んだ後のDMAの転送終了割り込みとか?)駆動を指定させたところ、だいぶマシになった。完全になくなったわけではないが…。

いやしかし、それにしても、intelチップセット内蔵のオーディオデバイスなんて最強にポピュラーなハードウェアなのになんでこんなちまちま設定を与えてやらないと上手く動かないのか。こういっちゃなんだけど、PulseAudioってちょっとポンコツなんじゃないの?

聞くところによるとubuntuではそろそろPulseAudioはobsoleteで、新しくPipeWireが音声と映像の再生を管理するようになるらしいので、そこでタナボタ式に解決したりしたら嬉しい。

One thought on “In The Court Of The Crimson King

Leave a Reply

Your email address will not be published. Required fields are marked *