WendyOS Docs
Hardware Access

Microphone Access

Capture and monitor microphone input from WendyOS apps

Microphone Access

Microphones use the audio entitlement. This grants the app access to ALSA audio devices for recording, voice commands, wake-word detection, speech-to-text, and audio analysis.

Add the entitlement from your project directory:

wendy project entitlements add audio

Inspect Audio Devices

List audio input and output devices on the target:

wendy device audio list

The output includes device IDs, device names, type, and which device is currently default.

To set a specific audio device as the default:

wendy device audio set-default --id 1

Monitor Microphone Levels

Use the built-in VU meter to confirm the microphone is producing input:

wendy device audio monitor --id 1

You can adjust the update rate:

wendy device audio monitor --id 1 --rate 20

Stream Microphone Audio

To listen to microphone input locally:

# Interactive picker (recommended)
wendy device audio listen

# Use a specific device
wendy device audio listen --id 1

To write raw PCM to stdout for another tool:

wendy device audio listen --id 1 --sample-rate 16000 --channels 1 --stdout

Device Selection

When --id is omitted, the CLI auto-selects a single microphone, or presents an interactive picker when multiple microphones are available. On platforms with virtual audio endpoints (e.g., Jetson Tegra ADMAIF routing FIFOs), the picker excludes devices matching known virtual/dummy patterns (ADMAIF, HDMI, dummy, loopback, null, virtual) by default. Use --all to include these in the selection pool:

wendy device audio listen --all

Latency Control

The --buffer-ms flag controls the playback jitter-buffer target in milliseconds. Lower values reduce latency but increase susceptibility to dropouts on jittery networks:

# Lower latency (more prone to dropouts)
wendy device audio listen --buffer-ms 15

# Higher latency (smoother playback)
wendy device audio listen --buffer-ms 50

App Configuration

A minimal microphone app uses:

{
  "appId": "com.example.microphone",
  "platform": "linux",
  "version": "1.0.0",
  "entitlements": [
    { "type": "audio" }
  ]
}

Then deploy:

wendy run
The Wendy CLI deploying a microphone app to a WendyOS device

On this page