libsidplayfp
0.3.5
|
Public Member Functions | |
SincResampler (const double clockFrequency, const double samplingFrequency, const double highestAccurateFrequency) | |
bool | input (const int input) |
int | output () const |
void | reset () |
![]() | |
short | getOutput () const |
reSIDfp::SincResampler::SincResampler | ( | const double | clockFrequency, |
const double | samplingFrequency, | ||
const double | highestAccurateFrequency | ||
) |
Use a clock freqency of 985248Hz for PAL C64, 1022730Hz for NTSC C64. The default end of passband frequency is pass_freq = 0.9*sample_freq/2 for sample frequencies up to ~ 44.1kHz, and 20kHz for higher sample frequencies.
For resampling, the ratio between the clock frequency and the sample frequency is limited as follows: 125*clock_freq/sample_freq < 16384 E.g. provided a clock frequency of ~ 1MHz, the sample frequency can not be set lower than ~ 8kHz. A lower sample frequency would make the resampling code overfill its 16k sample ring buffer.
The end of passband frequency is also limited: pass_freq <= 0.9*sample_freq/2
E.g. for a 44.1kHz sampling rate the end of passband frequency is limited to slightly below 20kHz. This constraint ensures that the FIR table is not overfilled.
clockFrequency | System clock frequency at Hz |
method | sampling method to use |
samplingFrequency | Desired output sampling rate |
|
virtual |
Input a sample into resampler. Output "true" when resampler is ready with new sample.
sample |
Implements reSIDfp::Resampler.