Equalisation on high resolution flac audio

Hi all,
New to this forum and new to GStreamer.
I am playing 6- and 8-channel 96kHz 24 bit flac audio files using Mopidy with a GStreamer pipeline output containing:
equalizer-10bands … ! audioconvert ! audioresample ! audio/x-raw,rate=96000,channel=2,format=S32LE ! filesink …
Snapcast consumes the fifo as 96k 32-bit 2 channel PCM. The audio can also be passed between Mopidy and Snapcast using flac.
My environment is Raspberry Pi 4B’s running fresh Debian Bookworm installs.
I see that the equalizer elements support S16LE, F32LE, F64LE - not S32LE.
My goal is to produce the best possible audio quality.
Few questions:

  • Should I force a format change to float in the pipeline before passing it to the equalizer element?
  • Where should the equalisation be done in the pipeline? At the end (just before the filesink)?
  • I’m not explicitly decoding the flac input using flacparse ! flacdec . Is GStreamer being clever and decoding it anyway? (it works apart from buzzing between tracks when playing some other CD quality flac files)

Thx in advance for any help.
Brilliant software BTW :smile:
Cheers, Geoff.

I resolved the buzzing between tracks by explicitly converting to F64LE before equalising. Pipeline:
audioconvert ! audioresample resample-method=kaiser sinc-filter-mode=full quality=10 ! audio/x-raw,rate=96000,channels=2,format=F64LE
! equalizer-10bands band0=+10.0 band1=+8.0 band2=+6.0 band3=+4.0 band4=2.0 band5=0.0 band6=+1.0 band7=+1.0 band8=+3.0 band9=+5.0
! audioconvert ! audioresample resample-method=kaiser sinc-filter-mode=full quality=10
! audio/x-raw,rate=96000,channels=2,format=S32LE
! filesink location=/run/snapserver/snapfifo

Keen to receive any suggestions to produce the best possible audio quality.

Cheers, Geoff.