WSL2でUSBオーディオデバイスを使おうと思ったけど駄目だった

スポンサーリンク

usbipd-winをインストールすれば、WSL2上でUSBデバイスが認識できて、デバイスによっては動くらしい。
なので、WSL2上でUSBオーディオバイスを使って再生もできるかなーと期待したものの、駄目だった記録です。

USBデバイスの認識まではできた。

追記

USBオーディオバイスを直接扱えませんが、WSL2上のUbuntuで簡単に音声再生/録音する方法がありました。

www.sato-susumu.com

環境

Windows 11 バージョン22H2 (OSビルド 22621.1105)
WSL2で、Ubuntu 20.04インストール済み

前提条件の確認

手順はMS公式の手順のとおり。
まずは前提条件を満たしているか確認

$ sudo wslsys
Release Install Date: 0x636e7a47
Branch: ni_release
Build: 22621
Full Build: 22621.1.amd64fre.ni_release.220506-1250
Uptime: 0d 5h 21m
Linux Release: Ubuntu 20.04.5 LTS
Linux Kernel: Linux 5.15.79.1-microsoft-standard-WSL2
Packages Count: 2400

OK, OK

usbipd-winのインストール

MS公式の手順に書いてあるとおり。
最新のusbipd-win(2.4.1)をインストール
順調、順調

USB/IP クライアントをインストール

usbipdのwikiによると、バージョン2.0.0以降は手順が変わったらしい。
Ubuntu20.04の方法:

$ sudo apt install linux-tools-virtual hwdata
$ sudo update-alternatives --install /usr/local/bin/usbip usbip `ls /usr/lib/linux-tools/*/usbip | tail -n1` 20


USBデバイス一覧表示とアタッチ

次のコマンドをPowerShellの管理者モードで実行。
Linux側にもusbipdがイントールされるので勘違いしたけど、デバイス一覧とアタッチはWindows側で実行。

>  usbipd wsl list
BUSID  VID:PID    DEVICE                                                        STATE
2-2    0d8c:0014  USB Audio Device, USB 入力デバイス                            Not attached
省略

> usbipd wsl attach --busid 2-2
usbipd: info: Using default WSL distribution 'Ubuntu-20.04'; specify the '--distribution' option to select a different one.

>  usbipd wsl list
BUSID  VID:PID    DEVICE                                                        STATE
2-2    0d8c:0014  USB Audio Device, USB 入力デバイス                            Attached - Ubuntu-20.04
省略


Ubuntu側で認識しているか確認

$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 0d8c:0014 C-Media Electronics, Inc. Audio Adapter (Unitek Y-247A)
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

ここまで認識したら、あとは楽勝じゃないかなと思ったが、、、

再生しようとしたけど駄目だった

$ sudo aplay -l
aplay: device_list:276: no soundcards found...

がっかり。

WSLのGitHub該当するissueがあったので無理っぽい。
PulseAudioサーバー/クライアントを使うかどうするか。。。

リンク

MS公式のWSL2でUSBを認識させる手順
UbuntuのSoundTroubleshooting