Hi there,
I wish to use the regain functionality of flac.
To read samples from a wav file, I'm using the c library sndfilelib. This
gives be samples between -1 and +1. I use the following code to establish the
replay gain -
#define BUFFER_LEN 4096
...
float data [BUFFER_LEN] ;
InitGainAnalysis ( 44100 );
while ((readcount = sf_read_float (infile, data, BUFFER_LEN)))
{
int i;
for(i = 0; i < readcount; i++)
{
if(i%2==0)
l_samples[i/2] = data[i]*1.0;
else
r_samples[i/2] = data[i]*1.0;
}
int response = AnalyzeSamples ( l_samples, r_samples, readcount/2, 2 );
std::cout << "Response: "<< GAIN_ANALYSIS_ERROR <<
std::endl;
}
std::cout << Recommended dB change for song: "<< GetTitleGain()
<< "dB" << std::endl;
which gives me a result of 64.82dB. If I multiple the samples by 10.0
(data[i]*10.0) and try again, I get the same result. If by 100.0 then I get
50.9dB, and by 1000.0 I get 30.9dB.
Obviously having my samples in the range of -1 and 1 isn't working. What
range should they be within.
Thanks for your help,
Barry