v1.6.2 — LED music visualizer reacts to playback
Highlights
🔴🎵 The LED ring now reacts to the music. v1.6.1 routed librespot straight to
the speaker, so nexusqd's audio analyzer (the snd-aloop loopback) got nothing and
the ring stayed idle during playback. The nexusq ALSA PCM is now a tee
(type multi + type route) that duplicates the 48 kHz stereo to BOTH the TAS5713
speaker AND the snd-aloop loopback (hw:Loopback,0); nexusqd's existing arecord
tap on hw:Loopback,1 drives the FFT/beat visualizer while the speaker plays. The
speaker is the timing master; the loopback slave is plughw, so it adapts to
whatever rate the cable is at (nexusqd's arecord may have set it) and never blocks
playback. New /etc/modules-load.d/snd-aloop.conf auto-loads the loopback
(CONFIG_SND_ALOOP=m). device-google-steelhead pkgrel 12.
Verified live: the ring pulses/animates to Spotify; no ALSA/xrun errors,
nexusqd/librespot NRestarts=0; the tee opens regardless of which side grabs the
loopback first.
The kernel is unchanged from v1.6.1 (same TAS5713 2× audio fix) —
nexusq-boot-v1.6.2.imgis byte-identical to v1.6.1's. Only the rootfs
changed, so if v1.6.1's boot is already on the device you only need to flash
userdata.
Install
zstd -d nexusq-rootfs-v1.6.2-sparse.img.zst
fastboot flash boot nexusq-boot-v1.6.2.img # optional if v1.6.1 boot is already flashed
fastboot -S 100M flash userdata nexusq-rootfs-v1.6.2-sparse.imgWiFi is configured per-device (a flash wipes it); the Spotify "Nexus Q" target
appears on a phone on the same WiFi.
Known issues
- The Spotify Connect session can briefly go "inactive" on the first play and
reconnect (librespot "context is not available" — a single-track-vs-playlist
quirk; no ALSA error). Playback is stable afterwards.
Assets
nexusq-boot-v1.6.2.img(5.0 MiB) — kernel + appended SMP DTB; identical to v1.6.1nexusq-rootfs-v1.6.2-sparse.img.zst(448 MiB; ~2.08 GiB raw) — zstd all-RAW sparsenexusq-v1.6.2.sha256— checksums