この記事はなに?
WSL2上でsounddeviceライブラリを使った録音アプリを作ろうと思ったら、オーディオデバイスが読み込まれなくて悪戦苦闘したので、その備忘録です。
結論
いろいろ探ったところ、こんな感じ。(2023.04.03時点)
・ WSL上でPulseAudioというソフトのインストールが必要
・ PulseAudioのパスを通す
PulseAudioはWSLの最新版の中には既に含まれているらしい(WSLg)のですが、明示的にインストールする必要があるとのこと。
昔はWindows側にもソフトを入れる必要があったらしいですが、現在はWindowsの方にソフトをインストールする必要はなさそう。
方法
bash
export PULSE_SERVER=unix:$(sed 's/unix://g' <<< "$PULSE_SERVER")
apt -y install pulseaudio
参考にさせていただいた資料
本当に助かりました!ありがとうございます!
瞳孔is横(@cat2151) 様のツイート
WSLでALSA鳴った
— 瞳孔is横 (@cat2151) January 11, 2023
export PULSE_SERVER=unix:$(sed 's/unix://g' <<< "$PULSE_SERVER")
※issuesに書いてあったとおりenv漏れらしいので
apt -y install pulseaudio を明示的にやる
※これが必須。issuesにはこれは書いてなかった気がする
これで成功した
合間に数分試すだけで鳴ったラッキー
WSL2上のUbuntu20.04から簡単に音声再生/録音ができた