Hi,
Let's assume that my system has sample rate = 48Khz and audio buffer size =
240 samples. It should be on RealTime.
Can I do that:

1. Dowsampe to 8Khz and buffer size should be 240*6
2. To do proccessing on buffer 240*6 with 8Khz sample rate.
3. Upsample to 48khz with original buffer size.

Thanks,
Alex


‫בתאריך יום ד׳, 3 באוק׳ 2018 ב-23:51 מאת ‪Spencer Jackson‬‏ <‪
ssjackso...@gmail.com‬‏>:‬

> I have only used libraries for resampling myself. I haven't looked at
> their source, but it's available. The two libraries I'm aware of are at
> http://www.mega-nerd.com/SRC/download.html
> and
> https://kokkinizita.linuxaudio.org/linuxaudio/zita-resampler/resampler.html
>
> perhaps they can give you some insight.
>
> On Wed, Oct 3, 2018 at 2:46 PM Alex Dashevski <alexd...@gmail.com> wrote:
>
>> I wrote on android ndk and there is fastpath concept. Thus, I think that
>> resampling can help me.
>> Can you recommend me code example ?
>> Can you give me an example of resampling ? for example from 48Khz to 8Khz
>> and 8Khz to 48Khz.
>> I found this:
>> https://dspguru.com/dsp/faqs/multirate/resampling/
>> but it is not enough clear for me,
>>
>> Thanks,
>> Alex
>>
>>
>> ‫בתאריך יום ד׳, 3 באוק׳ 2018 ב-20:56 מאת ‪Spencer Jackson‬‏ <‪
>> ssjackso...@gmail.com‬‏>:‬
>>
>>>
>>>
>>> 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
>>
>> _______________________________________________
>> dupswapdrop: music-dsp mailing list
>> music-dsp@music.columbia.edu
>> https://lists.columbia.edu/mailman/listinfo/music-dsp
>
> _______________________________________________
> dupswapdrop: music-dsp mailing list
> music-dsp@music.columbia.edu
> https://lists.columbia.edu/mailman/listinfo/music-dsp
_______________________________________________
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp

Reply via email to