Volume control for Mark 1 RCA stereo jacks

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.

2 Likes

So I just tried this, and it had no effect.

Has anyone else tried it? I feel like maybe an intervening update has broken this method, but I’d love to know if it’s just me…

I’ve been couch-surfing for a while and thus haven’t had my Mycroft set up, but when i have time i’ll dig it out, update, and see what’s changed — assuming nobody beats me to it!