Windows WSL2 Setup

Running voice agents inside Windows Subsystem for Linux (WSL2) is a popular choice for developers, but routing microphone audio from your Windows host to the WSL2 container requires extra setup.

Follow this guide to get Yumi's ears working under WSL2.


🛠️ Step 1: Install PulseAudio / ALSA inside WSL2

WSL2 does not natively include an audio server. You must install alsa-utils and set up PulseAudio or PipeWire.

Inside your WSL2 terminal:

sudo apt-get update
sudo apt-get install -y alsa-utils libasound2-dev portaudio19-dev

🎙️ Step 2: Route Microphone via USBIP-WIN

Because WSL2 runs as a lightweight utility VM, it does not share the host's direct audio interfaces. You can route your physical USB microphone into the WSL2 VM using usbipd-win.

  1. On your Windows Host, install usbipd-win (via github.com/dorssel/usbipd-win).
  2. Open an Administrator PowerShell window on Windows and list your USB devices:
    usbipd list
    
  3. Locate your USB microphone (e.g. Bus ID 2-4) and bind it:
    usbipd bind --busid 2-4
    
  4. Attach it directly to your running WSL2 instance:
    usbipd attach --wsl --busid 2-4
    
  5. Inside WSL2, verify the device is recognized:
    lsusb
    

You will now see your USB microphone listed as a local USB device inside your Linux environment!


⚡ Step 3: Run Yumi in WSL2

Follow the standard Developer Manual guide inside your WSL2 prompt to clone and sync Yumi. When you boot the wake-up server, Uvicorn will listen on port 8000 inside the WSL2 instance and Windows will automatically route port forwarding so you can open http://localhost:8000/ in your Windows host browser!

Proceed to Core Senses to learn how the audio pipeline processes this signal.