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 audioInspect Audio Devices
List audio input and output devices on the target:
wendy device audio listThe 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 1Monitor Microphone Levels
Use the built-in VU meter to confirm the microphone is producing input:
wendy device audio monitor --id 1You can adjust the update rate:
wendy device audio monitor --id 1 --rate 20Stream Microphone Audio
To listen to microphone input locally:
# Interactive picker (recommended)
wendy device audio listen
# Use a specific device
wendy device audio listen --id 1To write raw PCM to stdout for another tool:
wendy device audio listen --id 1 --sample-rate 16000 --channels 1 --stdoutDevice 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 --allLatency 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 50App Configuration
A minimal microphone app uses:
{
"appId": "com.example.microphone",
"platform": "linux",
"version": "1.0.0",
"entitlements": [
{ "type": "audio" }
]
}Then deploy:
wendy run
