Skip to content

Commit 138a088

Browse files
committed
fix(2michat-v2): boost capture PGA for wake-word detection
TLV320AIC3104 ships with the input PGA at 27% (16 dB), which is too quiet for reliable microWakeWord triggering on a Pi Zero 2 W at typical speaking distance. Verified on satellite-bedroom: at 27% 'Hey Jarvis' never fires; at 80% (47.5 dB) it does. The output-side tune handled audibility; this handles detectability.
1 parent 9121dd6 commit 138a088

1 file changed

Lines changed: 6 additions & 4 deletions

File tree

02-stage-audiodriver-2michat-v2/02-set-audio-volume/files/configure_audio.sh

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
#!/bin/bash
22
set -u
33

4-
# TLV320AIC3104 on V2.0 ships quiet: HP DAC at -23.5 dB, HP/Line amps at
5-
# ~89% and muted on some units. PCM is driven by wpctl as hardware-volume
6-
# passthrough, so only the downstream stages need tuning. Runs every boot
7-
# because WirePlumber can reset ALSA state between sessions.
4+
# TLV320AIC3104 on V2.0 ships quiet on both ends: HP DAC at -23.5 dB,
5+
# HP/Line amps at ~89% and muted on some units, and the capture PGA at 27%
6+
# (16 dB) — too low for microWakeWord detection. PCM is driven by wpctl as
7+
# hardware-volume passthrough, so only the downstream stages need tuning.
8+
# Runs every boot because WirePlumber can reset ALSA state between sessions.
89

910
wait_for_card_and_control() {
1011
local card="$1"
@@ -65,6 +66,7 @@ set_control_if_exists "$CARD" "HP DAC" 100% || FAIL=1
6566
set_control_if_exists "$CARD" "Line DAC" 100% || FAIL=1
6667
set_control_if_exists "$CARD" "HP" 100% unmute || FAIL=1
6768
set_control_if_exists "$CARD" "Line" 100% unmute || FAIL=1
69+
set_control_if_exists "$CARD" "PGA" 80% cap || FAIL=1
6870

6971
if [ "$FAIL" -ne 0 ]; then
7072
echo "One or more amixer set calls failed; not storing state." >&2

0 commit comments

Comments
 (0)