comparison qm-dsp-decimate/decimate.cpp @ 17:f8efad075df0

Better output, to match resample
author Chris Cannam
date Fri, 18 Oct 2013 15:47:08 +0100
parents e35d83f7b4f0
children 69ee50c19c0c
comparison
equal deleted inserted replaced
16:66abf86c864d 17:f8efad075df0
89 } 89 }
90 90
91 int sourceRate = sfinfo.samplerate; 91 int sourceRate = sfinfo.samplerate;
92 int targetRate = sourceRate / factor; 92 int targetRate = sourceRate / factor;
93 93
94 cerr << "Decimating by factor " << factor << ", from " << sourceRate
95 << " to " << targetRate << " Hz" << endl;
96
94 if (sourceRate % factor != 0) { 97 if (sourceRate % factor != 0) {
95 cerr << "WARNING: Decimation factor " << factor << " from source rate " 98 cerr << "WARNING: Decimation factor " << factor << " from source rate "
96 << sourceRate << " gives non-integral target rate (not supported " 99 << sourceRate << " gives non-integral target rate (not supported "
97 << "by output file format), recording as " << targetRate << endl; 100 << "by output file format), recording as " << targetRate << endl;
98 } 101 }
188 etv.tv_sec -= 1; 191 etv.tv_sec -= 1;
189 } 192 }
190 etv.tv_usec -= tv.tv_usec; 193 etv.tv_usec -= tv.tv_usec;
191 194
192 double sec = double(etv.tv_sec) + (double(etv.tv_usec) / 1000000.0); 195 double sec = double(etv.tv_sec) + (double(etv.tv_usec) / 1000000.0);
193 cerr << "elapsed time: " << sec << " sec, in frames/sec: " << sfinfo.frames/sec << ", out frames/sec: " << n/sec << endl; 196 cerr << sfinfo.frames << " frames in, " << n << " frames out"
197 << ", nominal factor " << (1.0/factor)
198 << ", actual " << double(n)/double(sfinfo.frames)
199 << endl << "Elapsed time: " << sec << " sec, in frames/sec: "
200 << int(sfinfo.frames/sec) << ", out frames/sec: " << int(n/sec) << endl;
194 201
195 return 0; 202 return 0;
196 } 203 }
197 204
198 205