3.7 KiB
title, tags, author, count, exporter, date, url
| title | tags | author | count | exporter | date | url |
|---|---|---|---|---|---|---|
| Volume display and audio underrun fixes | claude | 2 | 3.1.0 | 2026-07-15T19-21-17+0000 | https://claude.ai/chat/0c44df5d-e4f0-425d-9730-53563dd8f762 |
Volume display and audio underrun fixes
Table of Contents
- 1: The wav file had distant sounds from my coworkers yapping. I didnt get…
- 2: audio works but is too quiet, amplify it and mix it all to make it mon…
chat-1
The wav file had distant sounds from my coworkers yapping. I didnt get to talk but that proves the mic does do something
┌──(lucka㉿theuniverseismine)-[~/programming/py/naowalk] └─$ python3 naomictest.py --ip spike.local --port 9561 [W] 1784142061.737086 18238 qi.path.sdklayout: No Application was created, trying to deduce paths ✅ Connected to spike.local
=== TEST 1: Mic hardware energy (all 4 mics) === Make noise near the robot's head (clap, talk right up close to it) for 10s... t=0s front=1.86 rear=1.76 left=22.41 right=25.90 t=1s front=1.78 rear=1.66 left=10.84 right=12.57 t=2s front=1.77 rear=1.75 left=12.23 right=13.08 t=3s front=1.75 rear=1.73 left=18.84 right=19.08 t=4s front=1.69 rear=1.78 left=18.88 right=18.45 t=5s front=1.73 rear=1.75 left=17.76 right=19.11 t=6s front=1.71 rear=1.79 left=15.86 right=14.67 t=7s front=1.73 rear=1.84 left=20.97 right=21.05 t=8s front=1.83 rear=1.72 left=14.95 right=15.82 t=9s front=1.68 rear=1.78 left=10.71 right=12.04 ⚠ Flat mic(s): front, rear. The others responded normally, which points to a fault specific to front, rear rather than the audio pipeline as a whole (that pipeline is clearly working for the others).
=== TEST 2: Local on-robot recording === Recording 5s directly to /home/nao/mic_test.wav on the robot itself (this bypasses the network stream and your laptop's audio sta ck entirely)... Done. Pull it off and play it with: scp nao@spike.local:/home/nao/mic_test.wav . (then open mic_test.wav in any media player - it's 4-channel, so check all channels) If that file has clearly audible sound, the mic and robot are fine and the bug is specifically in naowalk.py's live-streaming path.
=== TEST 3: Robot's own speaker === Press Enter to have the robot say a test phrase out loud...hi If you heard the robot speak just now, its speaker output is fine (this is unrelated to hearing its mic on your laptop, but rules out a robot-wide audio fault).
Done. Report back which test(s) failed and we'll know exactly where to look.
That's the smoking gun. Look at the pattern: left and right respond strongly to noise (10–25), front and rear are dead flat (~1.7–1.9) — every single test agrees. And the recording that had audible coworker chatter makes total sense now: it's a 4-channel file, so the left/right tracks caught that audio while front/rear stayed silent.
This was never a bug in the code. naowalk.py was explicitly requesting the front mic (setClientPreferences(..., 3, 0) — channel 3 = FRONTCHANNEL), which happens to be one of the two dead mics on this robot. It was faithfully streaming from a mic that produces no signal.
Fix: point the stream at a working mic instead — left or right. Let me make it configurable so you can pick whichever sounds better:
Now add the CLI flag and pass it through:
Let's verify and ship it:
top
chat-2
audio works but is too quiet, amplify it and mix it all to make it mono
Now let's rewrite SoundReceiver to request all mics, mix down to mono skipping dead channels, and apply amplification with a soft limiter: