On Wed, Oct 3, 2018 at 3:17 AM Alex Dashevski <alexd...@gmail.com> wrote:
> > if I do resampling before and after processing. for example, 48Khz -> 8Khz > and then 8Khz -> 48Khz then will it help ? > Lowering sample rate can help achieve lower latencies by giving you fewer samples to process in the same amount of time but just downsampling and then upsampling back doesn't really have any effect. > I don't understand why I need filter, This is to prevent alias but I can't > understand why ? > > Technically you only need a filter if your signal has information above the nyquist frequency of the lowest rate but this is not usually the case. I think wikipedia explains aliasing pretty well: https://en.wikipedia.org/wiki/Aliasing#Sampling_sinusoidal_functions . Once the high frequency information aliases it cannot be recovered by resampling back to the higher rate and your lower band information is now mixed in with the aliased information. The filter removes this high freqency data so that the low band stays clean through the whole process. Is there option to decrease latency or delay ? > The only way to reduce latency in your algorithm (unless there is some error in the implementation) is to reduce the block size, so you process 128 samples rather than 240. 240 isn't a very large amount of latency for a pitch shifter which is typically a CPU intensive process and therefore most implementations have relatively high latencies. I'm not sure I understand what you mean by the pitch duration requiring a buffer-resize or sample-rate decrease. WSOLA creates a signal with more samples than the input, you must resample that (usually by a non-integer amount) to make it the correct number of samples then output that, and reload your buffer with the next block of input data. Please clarify if you mean some other issue. _Spencer
_______________________________________________ dupswapdrop: music-dsp mailing list music-dsp@music.columbia.edu https://lists.columbia.edu/mailman/listinfo/music-dsp