Moode Forum

Full Version: Switch between headphone / speaker settings
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I have a suggestion: my moode has both headphone and line out and I like to listen via both headphones and speakers at different times. When listening with headphones I like a bit of crossfeed, but no EQ; when listening through my speakers I don't want any crossfeed but do like a touch of parametric EQ to flatten the response a bit. At the moment it takes quite a few clicks in the settings menu to switch between the two. It would be really cool if you could define separate filter settings for headphones and speakers and switch easily between them from the Playback page.
There was an item on the TODO list from long ago titled "Configuration Profiles" which was meant to do just what you are describing and automatically configure the player based on a collection of settings. The way it would work is first you manually configure the player and then SAVE the config as a named Profile for example "Headphones". Then reconfigure the player for listening through speakers and save the config as a Profile named "Speakers"

When a Profile is applied the player is automatically configured. Something like that.

-Tim
Nice one it seems a +1 to me
(07-20-2018, 02:04 PM)Tim Curtis Wrote: [ -> ]There was an item on the TODO list from long ago titled "Configuration Profiles" which was meant to do just what you are describing and automatically configure the player based on a collection of settings. The way it would work is first you manually configure the player and then SAVE the config as a named Profile for example "Headphones". Then reconfigure the player for listening through speakers and save the config as a Profile named "Speakers"

When a Profile is applied the player is automatically configured. Something like that.

-Tim

@Tim Curtis

I want to switch between an I2S DAC (feeds the amp/speakers) and a USB Audio Device (feeds my headphones). Won't a reboot still be necessary to deal with the device table yada yada yada?

Even is this is true, a profiles capability would greatly simplify the overall process. +1

Regards,
Kent
I'd have to look back in my notes but I don't think a reboot is needed.

You just leave the I2S config in place and your USB audio device plugged in and then switching between the two is a matter of editing mpd.conf and then restarting MPD. 

When both devices either support hardware volume or neither device supports it AND they both use the default ALSA mixer names of Digital (I2S) and PCM (USB) then the edits are straight forward. It gets tricky when non-default ALSA mixer names are used or when One device is configured to use hardware volume and the other software volume, etc etc.

ALSO - watch out for volume when switching outputs.

Example

I2S device

audio_output {
type "alsa"
name "ALSA default"
device "hw:0,0"
mixer_type "hardware"
mixer_control "Digital"
mixer_device "hw:0"
mixer_index "0"
dop "no"
}

USB device

audio_output {
type "alsa"
name "ALSA default"
device "hw:1,0"
mixer_type "hardware"
mixer_control "PCM"
mixer_device "hw:1"
mixer_index "0"
dop "no"
}

-Tim
(07-22-2018, 08:20 PM)Tim Curtis Wrote: [ -> ]I'd have to look back in my notes but I don't think a reboot is needed.

You just leave the I2S config in place and your USB audio device plugged in and then switching between the two is a matter of editing mpd.conf and then restarting MPD. 

That's cool. Makes sense now that I think about it.

Quote:When both devices either support hardware volume or neither device supports it AND they both use the default ALSA mixer names of Digital (I2S) and PCM (USB) then the edits are straight forward. It gets tricky when non-default ALSA mixer names are used or when One device is configured to use hardware volume and the other software volume, etc etc.

ALSO - watch out for volume when switching outputs.

Fortunately we have you to wrestle with the devil in the details  Big Grin

It wouldn't bother me if volume were always forced to zero when switching. Better the minor inconvenience of readjusting it than a major pain to ears and/or transducers.

Regards,
Kent
We would need "Audio Device Profiles" to implement reliable I2S/USB interface switching.

The profile would specify something like below. Then MPD could be automatically configured when switching interfaces.

- Device Name (ex: Allo Boss DAC)
- Interface (I2S or USB)
- Volume control (Hardware, Software, None)
- Initial volume (0 - 100)

The existing Audio device DB could be used if "Volume control" and "Initial volume" columns were added but there would also need to be a maintenance screen for add/edit/delete Devices... Thats a bit of work.

-Tim
(07-23-2018, 01:58 PM)Tim Curtis Wrote: [ -> ]We would need "Audio Device Profiles" to implement reliable I2S/USB interface switching.

The profile would specify something like below. Then MPD could be automatically configured when switching interfaces.

- Device Name (ex: Allo Boss DAC)
- Interface (I2S or USB)
- Volume control (Hardware, Software, None)
- Initial volume (0 - 100)

The existing Audio device DB could be used if "Volume control" and "Initial volume" columns were added but there would also need to be a maintenance screen for add/edit/delete Devices... Thats a bit of work.

-Tim


Meanwhile, there's always the brute-force solution. Use two RPis, one with the I2S DAC hiding  in the audio cabinet and the other with the USB-audio adapter located more or less centrally in the area I'm likely to be using the headphones. The "Players" selector you added to the moOde UI makes using this combo especially easy.

The RPi0W is cute but I'll want to use an RPi3B+ for the second player so I can reduce interference between WiFi (onboard) and Bluetooth (in the adapter) transmitters: 5GHz WiFi vs 2.4GHz Bluetooth.

Regards,
Kent