WSL2で音を鳴らす

記述日 2023年11月27日

WSLで音を鳴らすのは以前に方法を確立して以降使いもせず放置してたのだがふと思い出したので現状を確認してみた

以前の記事 Pulseaudioによるリモートオーディオ


どうやらWSLg導入のタイミングで正式に対応された模様

参考 WSL2上のUbuntu20.04から簡単に音声再生/録音ができた - 佐藤百貨店 (sato-susumu.com)

記事に倣って音を鳴らそうとしたらaplayがインストールされていなかった

$ sudo apt install alsa-utils

でインストール

$ aplay /usr/share/sounds/alsa/Side_Right.wav

で再生確認


自前でpulseaudioサーバーを用意しなくて済むので余計な管理コストがなくなった

ネットワーク経由なのでそれ所以の問題はあるだろうけど現状は満足

Hyper-Vで使っている仮想オーディオ辺りを組み込んでもらえたら更に良くなるだろうか?


現状でwslでオーディオデバイスをフルで扱うならusbipを使う方法が考えられる

昔試した時の記憶は昔過ぎて忘れてしまったが成功ではなかったと思う

原理的にネットワーク経由以上の遅延発生と純粋に認識しない可能性

気が向いたらチャレンジするが気乗りはしない

オーディオ以外のUSBデバイスを繋げたくなった時のついで程度で

USB デバイスを接続する | Microsoft Learn

> winget install --interactive --exact dorssel.usbipd-win


更新 2023年11月28日

現状USBデバイスを利用するにはカーネルのカスタマイズが必要

記憶にないので過去自分がusbipを使ったのは普通のubuntuでwslではなかったと思われ

これを参考にして

以下を組み込んだと思う※ゲームパッドのついでで作業したのでメモするの忘れた

> Device Drivers > Sound card support > Advanced Linux Sound Architecture > USB sound devices

<*>   USB Audio/MIDI driver


結果は成功

$ aplay -l

**** ハードウェアデバイス PLAYBACK のリスト ****

カード 0: Audio [AB13X USB Audio], デバイス 0: USB Audio [USB Audio]

  サブデバイス: 1/1

  サブデバイス #0: subdevice #0

音も鳴る

$ speaker-test -t wav -c 2 -D hw:CARD=Audio,DEV=0

但し今のところモノラル再生しかできていない


使ったUSBオーディオはDONKIの330円DAC

難しい事は判らないので鳴った事で満足

とりあえずAB13Xに対応するドライバーがない為と仮定しておく

Matrix:Main - AlsaProject (alsa-project.org)


--




コメント

このブログの人気の投稿

Ubuntu20.04にxrdpで接続するとAuthentication Requiredが発生する件

Oculus Quest 2と音ゲー

WSL2でKVMを動かす