-
-
Notifications
You must be signed in to change notification settings - Fork 20
Audio Configuration
Configure how Ava captures and processes audio from the microphone.
Compatible with Android 5-16.
0.6.4 extends Software Mic Gain to negative values (attenuation) and splits recording device routing out from the System Recording Mode. 0.6.5 added smart echo cancellation with room-matched strength levels (Light / Standard / Strong / Adaptive). 0.6.6 added on-device noise suppression and echo cancellation preview recording. 0.7.3 added the Echo-Reference Bus for shared far-end playback reference, software NS strength tiers (WebRTC), and software AEC room type selection.
Choose how the microphone captures audio:
| Mode | Description |
|---|---|
| Auto select | Lets the device choose. Best default |
| Speech boost | Tries to make speech clearer. May change tone |
| Normal pickup | Plain microphone input. Safest choice |
| Call boost | More like call audio. May over-process |
| Unprocessed | Closest to raw input. Good for testing |
| Option | Description |
|---|---|
| Noise suppression | Use device noise suppressor when available |
| Automatic gain control | Use device AGC when available |
| Hardware echo cancellation | Enable hardware echo cancellation when supported |
| Software echo cancellation | Cancel Ava's own playback from microphone so wake words work during music/TTS playback |
Software AEC is recommended when using music playback or TTS. It replaces the device echo canceler while enabled.
Cancellation strength offers four levels:
| Level | Description |
|---|---|
| Light | Favors natural speech |
| Standard | Fits most homes |
| Strong | For difficult rooms or louder speakers |
| Adaptive | Automatically adjusts based on playback (default) |
Most homes can keep the default Adaptive + Standard setting.
At the bottom of Smart noise suppression and Echo cancellation, record a short clip and listen on the spot to compare before and after processing. The echo page also offers a quick test. Recorded data stays only on the device.
Path: Ava Settings → Voice → Microphone → Smart noise suppression / Echo cancellation
Ava offers two noise suppression systems — hardware and software — and they are mutually exclusive. Enabling one turns the other off automatically.
| System | Engine | When to Use |
|---|---|---|
| Hardware NS | Android platform NoiseSuppressor | Default; zero CPU cost; available on most devices |
| Software NS | WebRTC NoiseSuppressor | When hardware NS is unavailable or produces poor results |
Software NS strength:
| Strength | Description |
|---|---|
| Light | Default for satellite/call; minimal speech thinning |
| Standard | Balanced reduction |
| Strong | Maximum reduction; may thin speech |
Path: Settings → Voice Config → Audio → Software noise suppression → Suppression strength
Controls how aggressively the echo canceler suppresses playback bleed from the microphone:
| Strength | Description |
|---|---|
| Light | Minimal speech thinning; for quiet rooms |
| Standard | Default; balanced playback bleed removal |
| Strong | Maximum playback bleed removal; may thin speech |
Controls the adaptive filter tail length — how long a room's echo the canceler can model. Changing this rebuilds the echo canceler state.
| Room | Description |
|---|---|
| Small room (Near) | Bedroom / study / small soft room |
| Adaptive (Living) | Default home room (living-like) |
| Open plan | Open-plan / hard finishes / kitchen-dining |
Pick the room type that best matches where the device is mounted. A longer tail models a bigger, harder room but takes more CPU to converge.
When enabled, software AEC is temporarily bypassed while mic audio is streaming to Home Assistant (after wake / while the user speaks). AEC resumes afterward. This prevents the adaptive filter from removing the user's own voice when the speaker is not actively playing.
Path: Settings → Voice Config → Audio → Software echo cancellation → Pause while speaking
Hardware AEC and software AEC are mutually exclusive. Enabling one turns the other off automatically.
Software echo cancellation now uses a shared far-end bus. Voice satellite and LAN call paths can hold playback reference simultaneously. Pausing one no longer blinds the other's AEC. This directly addresses intercom echo feedback observed on Xiaomi hardware.
What it does:
- Multiple consumers (satellite AEC, call AEC) share one playback reference bus
- A paused consumer no longer blinds another consumer's AEC
- When several playback sources overlap, reference audio is mixed with proper headroom instead of being clipped by each writer
- This repairs nonlinear distortion that an adaptive filter could not learn when speech, music, and calls overlapped
Before 0.7.3, if you started a LAN call while music was playing, the call path could grab the echo reference and blind the music AEC — or vice versa. The shared bus fixes this.
Adjust PCM audio before wake word detection and streaming. Range: -24 dB to +24 dB (0.6.4; previously 0-24 dB, positive only).
- Positive values amplify a quiet input
- Negative values attenuate a microphone that is too loud or captures too much background noise
- Default remains 0 dB
Recording device routing is now a separate choice from the System Recording Mode above (Android's AudioSource mode).
| Option | Description |
|---|---|
| Auto | Let Android pick the input device |
| Built-in microphone | Force the device's built-in mic |
| USB microphone | Force a connected USB mic, with safe fallback to the default input if the requested USB device is unavailable |
Path: Ava Settings → Voice Config → Microphone
Thanks to @lone-baggie for requesting explicit USB microphone selection in #157.
| Preset | Description |
|---|---|
| Standard 16kHz Mono | Default for voice recognition |
| Broadcast 48kHz Mono | Higher quality capture |
| Stereo Input 48kHz | Stereo recording |
| Low Latency 16kHz | Reduced latency |
| Voice Call Optimized | For voice call use case |
| Unprocessed Raw 48kHz | Raw capture, no processing |
| Compact 8kHz | Lowest bandwidth |
| CD Quality 44.1kHz | High quality |
| Studio 96kHz | Very high quality |
| Ultra HD 192kHz | Maximum quality |
The Voice Channel switch disables all voice input, wake word, and voice assistant threads. Service restart required to apply.
Continuous conversation lets you issue multiple commands without saying the wake word each time.
- Say wake word + first command
- After Ava responds, automatically enters listening mode
- Say next command directly (no wake word needed)
- After 10 seconds of silence, exits continuous conversation mode
| Mode | Description |
|---|---|
| Exit Keyword Stop | End when the assistant says goodbye or farewell phrases (default) |
| Question Mark Continue | Keep listening only if the reply ends with "?"; stop after other replies |
- Go to Settings -> Interaction
- Turn on Continuous Conversation switch
- Choose end condition mode
Conversation subtitles display what you said and Ava's response on screen as a floating window.
- Go to Settings -> Interaction
- Turn on Floating Subtitle switch
Mute mode turns off the microphone, Ava won't respond to any wake words.
Method 1: In Settings
- Go to Settings -> Voice Config
- Turn on Mute switch
Method 2: Home Assistant Control
service: switch.turn_on target: entity_id: switch.your_device_name_mute
Back to Voice Control
- Quick-Start
- System-Requirements
- Voice-Control
- Chorus-Wake
- ESPHome-Encryption
- HA-Direct-Connection
- Browser
- Screensaver
- Floating-Windows
- Home-Launcher
- Home-Screen-Widgets
- Notification-Scenes
- Quick-Entity
- Sensors
- Backup
- Sendspin
- Bluetooth
- Voice-Messages-Calls
- Music-Playback
- Camera
- Screen-Control
- Intent-Launcher
- ADB-Commands
- Mod-Store
- Ava-Fleet