PortAudioがDebian / VirtualBoxで破損しているようです。

PortAudioがDebian / VirtualBoxで破損しているようです。

私はWindows 7ホストのVirtualBox 5.1.30でDebian 9.2.1を実行しています。私のプロジェクトでPortAudioライブラリを使用して複数のプラットフォームで使用できるようにしたいのですが、独自のサンプルプログラムを使用しても正しく機能しません。

Debianを新しくインストールしてアップデートした後、パッケージをインストールし、portaudio19-devPortAudio paex_sine.cWebサイトの現在のソースディストリビューションからパッケージをインポートしました。うまくコンパイルされますが、(gcc paex_sine.c -lportaudio -lm)実行すると多くのエラーが発生します。

ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround71
ALSA lib setup.c:547:(add_elem) Cannot obtain info for CTL elem (MIXER,'IEC958 Playback Default',0,0,0): No such file or directory
ALSA lib setup.c:547:(add_elem) Cannot obtain info for CTL elem (MIXER,'IEC958 Playback Default',0,0,0): No such file or directory
ALSA lib setup.c:547:(add_elem) Cannot obtain info for CTL elem (MIXER,'IEC958 Playback Default',0,0,0): No such file or directory
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm.c:8306:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:8306:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:8306:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:8306:(snd_pcm_recover) underrun occurred
...

オーディオ自体が非常に「揺れて」歪んで、私が書いたサンプル/テストアプリでも同様の結果が得られました。 PortAudioのコールバックループは、追加データを要求する前にバッファが(ほぼ)空になるのを待つのではなく、できるだけ早く実行されるようです。 (WAVファイルの再生はaplayうまく機能するため、VMが正しく設定されていると合理的に確信しています)。

私の仮想マシンにインストールされているPortAudioはバージョン1として報告されていますPortAudio V19.6.0-devel, revision 396fe4b6699ae929d3a685b3ef8a7e97396139a4。既知の問題で解決しましたか? VirtualBoxとの奇妙な相互作用?それともPortAudioの問題トラッカーにバグを書く必要がありますか?

編集:ちょうどDebian 9.2 Live CDを使って実際のコンピュータでこれを試しました。私のテスト(paex_sineサンプルとWAVプレーヤー)の両方が正常に再生を完了できましたが、PortAudioを初期化するときにまだいくつかのエラーが発生しました。

ALSA lib pcm_dmix.c:1052:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_route.c:867:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_dmix.c:1052:(snd_pcm_dmix_open) unable to open slave

これは、VirtualBoxのオーディオ「ハードウェア」にPortAudioが完全に壊れるという問題があることを示唆していましたが、Raspberry Pi 3のオンボードオーディオにも同様の問題がありました(「トリム」、歪んだ再生)。今、私はこの質問をPortAudioチームに尋ねるべきかRPiのスタッフに尋ねるべきかわかりません。また、これらの「未知のPCM」エラーをすべて削除する方法も知りたいです。

関連情報