Mopidy Discourse

Change gstreamer parameters in audio/output during playback

I have an audio device running Mopidy, and the gstreamer output/pipline works great (I have it tee-d to output to an amp and to a visualizer). I also have interface for an equalizer - for this I’ve set up my ALSA config to go through ALSA equalizer; the code that handles the interface uses python alsamixer to realise the interface settings.

This works, but ALSA equalizer is a bit janky and has a very narrow range before it distorts the audio. GStreamer has an equalizer plugin which seems to work better.

However, as per the example:
gst-launch-1.0 filesrc location=song.ogg ! oggdemux ! vorbisdec ! audioconvert ! equalizer-10bands band2=3.0 ! alsasink

The band values (0-9) are included in the pipeline definition - ie preset when I start Mopidy. Has anyone got any ideas how/if it is possible to dynamically change these during playback? Either via Mopidy API, or CLI, or python? - I’m not well up enough on gstreamer to know where to start…