# ALSA routing for the Debian laptop rover profile. # # This file intentionally mirrors the logical device names used by the Pi rover # audio setup. roverd can keep sending horn audio to "horn", forwarded browser # audio to "forward", and TTS to ALSA's default playback path without caring # which physical sound card is underneath the profile. pcm.roverd_playback { type plug # Use the system's first normal ALSA playback device as the physical sink. # This avoids referencing "default" here, because this file replaces # pcm.!default below and using it as a slave would recurse. slave.pcm "sysdefault" } pcm.roverd_capture { type plug # The media publisher records from "default"; with pcm.!default below that # capture side resolves here. Keeping capture separate from playback lets the # asym default expose ordinary microphone input while playback goes through # the TTS softvol path. slave.pcm "sysdefault" } pcm.tts_softvol { type softvol slave.pcm "roverd_playback" control { name "TTSMaster" card 0 } min_dB -60.0 max_dB 12.0 } pcm.horn_softvol { type softvol slave.pcm "roverd_playback" control { name "HornMaster" card 0 } min_dB -60.0 max_dB 12.0 } pcm.forward_softvol { type softvol slave.pcm "roverd_playback" control { name "ForwardMaster" card 0 } min_dB -60.0 max_dB 12.0 } pcm.tts { type plug slave.pcm "tts_softvol" } pcm.horn { type plug slave.pcm "horn_softvol" } pcm.forward { type plug slave.pcm "forward_softvol" } pcm.!default { type asym # Existing TTS engines play to their default ALSA output, so default playback # is intentionally the TTS path. This preserves the current TTS execution # model while still making the TTS volume control meaningful on laptops. playback.pcm "tts" capture.pcm "roverd_capture" } ctl.!default { type hw card 0 }