I think you would probably need to use a decoding channel (with BASS_STREAM_DECODE set) feeding a custom stream for this: the custom stream's STREAMPROC function would fetch data from the decoder via BASS_ChannelGetData, then check the data for silence and exclude it from the returned data.