FluidSynth currently only supports 16 bit audio sample data, such as in the SF2 format.
There are several functions which are used for synthesizing the output, in particular:
fluid_synth_nwrite_float
fluid_synth_process
fluid_synth_write_float
fluid_synth_write_s16
The last one in particular outputs 16 bit audio and performs dithering when converting to signed 16 bit values. I'm not sure if that is what you are observing or not though. FluidSynth does have a low pass filter, reverb and chorus effects, so perhaps that is affecting the output you are seeing? I would turn off the reverb and chorus affects at least and perhaps disable the filter by setting the cutoff frequency to its highest value and the Q value to the lowest value for the instrument you are testing and make sure there is no modulation of the filter cutoff occurring with the envelope or oscillators.
As far as rendering the audio to a file, you could use the "-a file" option for "real time" rendering or the -F option for faster than realtime rendering of a MIDI file with the fluidsynth shell. Not sure if that will get you want you want though, since I don't fully understand what you mean by "before it's rendered".
Element