I ran into an unexpected issue with my Mark 1 when setting it up to stream from Google Music on my command. I hooked it into my amplifier, only to discover that the RCA output is a line-level output, and no volume control normally available to Mycroft can adjust it. Rather inconvenient to have a voice assistant you can’t tell to quiet down!
The solution is to create a software volume control audio path and profile set, and bind them to the Mark 1’s audio output in Pulseaudio:
# /usr/share/pulseaudio/alsa-mixer/profile-sets/mycroft-enclosure-mark1.conf
[General]
auto-profiles = yes
[Mapping mycroft-enclosure-mark1]
device-strings = hw:%f
channel-map = left,right
paths-output = analog-output-software
paths-input = analog-input-mic
# /usr/share/pulseaudio/alsa-mixer/paths/analog-output-sofware.conf
[General]
priority = 99
[Element Master]
switch = mute
volume = ignore
override-map.1 = all
override-map.2 = all-left,all-right
.include analog-output.conf.common
# /etc/pulse/default.pa
# Insert the following line before all other audio drivers are loaded.
load-module module-alsa-card device_id=sndrpiproto name=mycroft-enclosure-mark1 card_name=mycroft-enclosure-mark1 profile_set=mycroft-enclosure-mark1.conf profile="output:analog-output-software,input:analog-input-mic"
Add the two new files, make the change to the driver parameters, and reboot your Mark 1 (or otherwise reload Pulseaudio for the mycroft user), and presto: the Pulseaudio master volume mixer will affect both the internal speaker and the output jacks.