# Reference ALSA routing for the Debian laptop rover profile. # # This intentionally mirrors pi/asound.conf as closely as a normal PC can: # one fixed hardware card, one dmix playback engine, separate softvol controls # for TTS/horn/forwarded audio, and a raw capture alias for the rover mic. # # The Debian laptop installer no longer copies this file directly. It renders # /etc/asound.conf from /etc/roverd-installer.env so laptops with HDMI as card 0 # can point these same logical mixer devices at their real speaker card. # # This is NOT meant to preserve normal desktop audio behavior. The laptop rover # installer disables PipeWire/PulseAudio so roverd owns the audio hardware like # the Raspberry Pi rover does. If the laptop's real speaker/mic card is not ALSA # card 0, rerun the Debian laptop installer and answer the ALSA prompts using: # aplay -l # arecord -l # Mix multiple playback clients in software with a fixed low-cost format. pcm.dmixer { type dmix ipc_key 1024 ipc_perm 0666 slave { pcm "hw:0,0" format S16_LE rate 16000 channels 1 period_time 0 period_size 1024 buffer_size 4096 } } # TTS volume control (used by default playback path). pcm.tts_softvol { type softvol slave.pcm "dmixer" control { name "TTSMaster" card 0 } min_dB -60.0 max_dB 12.0 } # Horn volume control. pcm.horn_softvol { type softvol slave.pcm "dmixer" control { name "HornMaster" card 0 } min_dB -60.0 max_dB 12.0 } # Forwarded audio volume control. pcm.forward_softvol { type softvol slave.pcm "dmixer" control { name "ForwardMaster" card 0 } min_dB -60.0 max_dB 12.0 } # Per-source playback PCMs. pcm.tts { type plug slave.pcm "tts_softvol" } pcm.horn { type plug slave.pcm "horn_softvol" } pcm.forward { type plug slave.pcm "forward_softvol" } # Capture alias used by laptop rover config defaults. pcm.rovermic { type plug slave.pcm "hw:0,0" } # Defaults: TTS direct playback + raw capture on the dedicated laptop sound card. pcm.!default { type asym playback.pcm "tts" capture.pcm "rovermic" } ctl.!default { type hw card 0 }