This is actually outside my comfort zone..  Yes, S24_LE is the format used in filters
I see nine lines i brutefirwrapper with the format.width parameter:
    Line 289:         chunk = our_stdin.read(int(BLOCK_SECONDS*samplerate)*CHANNELS*format.width)
    Line 327:                     samplerate * format.width * 2,
    Line 328:                     format.width * 2,
    Line 343:             data = brutefir_stdout.read(format.width)
    Line 344:             if len(data)!=format.width:
    Line 356:     readahead_bytes = readahead_samples*format.width
    Line 370:         chunk = brutefir_stdout.read(int(BLOCK_SECONDS*samplerate)*CHANNELS*format.width)
    Line 378:     tail_bytes = int(samplerate*TAIL_SECONDS)*CHANNELS*format.width
    Line 467:         return [ format.decode(body[offset:offset+format.width]) for offset in range(0,len(body),format.width) ]  
What should be changed to achieve your suggestion? Sorry for being  a bit dense here.
Olav