Size: a a a

Android NDK (C++) — русскоговорящее сообщество

2019 July 06

I

Ivansuper in Android NDK (C++) — русскоговорящее сообщество
Averaging is (X1 + X2) * 0.5
источник

I

Ivansuper in Android NDK (C++) — русскоговорящее сообщество
When you go from 44100 to 22050, you average each pair of samples and write it as a result sample
источник

I

Ivansuper in Android NDK (C++) — русскоговорящее сообщество
In cases when you go f.e. from 44100 to 32000 you must take into account that sample won't match for perfect averaging. In this situation you must also include neigbors multiplied by a weight that is effectively calculated as a "distance" to the sample on the time axis of a waveform
источник

I

Ivansuper in Android NDK (C++) — русскоговорящее сообщество
.  .  .  .
..........

This is  when they match with an integer factor. This is the easiest case.
источник

I

Ivansuper in Android NDK (C++) — русскоговорящее сообщество
Read each dot as a sample
источник

I

Ivansuper in Android NDK (C++) — русскоговорящее сообщество
0.4             0.9
0.4  0.64 0.74  0.9
источник

I

Ivansuper in Android NDK (C++) — русскоговорящее сообщество
2nd and 3rd are averaged from the source 2 samples
источник

I

Ivansuper in Android NDK (C++) — русскоговорящее сообщество
They get their values depending on how close do they get to original 0.4 or 0.9
источник

I

Ivansuper in Android NDK (C++) — русскоговорящее сообщество
AND THAT IS ALL ABOUT IT
источник

I

Ivansuper in Android NDK (C++) — русскоговорящее сообщество
Ivansuper
They get their values depending on how close do they get to original 0.4 or 0.9
This is called interpolation
источник

I

Ivansuper in Android NDK (C++) — русскоговорящее сообщество
In simplest case you go for linear interpolation. In more advanced ones you might use Math.sin as interpolation
источник

I

Ivansuper in Android NDK (C++) — русскоговорящее сообщество
And so on
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
so what actually determines the quality of the resampled audio
источник

I

Ivansuper in Android NDK (C++) — русскоговорящее сообщество
Yeah.
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
besides the actual sample rate src and dest values
источник

I

Ivansuper in Android NDK (C++) — русскоговорящее сообщество
Matthew Good
so what actually determines the quality of the resampled audio
The answer is in your question. The source and the target sample rate.
источник

I

Ivansuper in Android NDK (C++) — русскоговорящее сообщество
The bit depth of the math you are using to resample it
источник

I

Ivansuper in Android NDK (C++) — русскоговорящее сообщество
If you calculate using signed bytes, you are doomed
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
eg if from 44k to 48k is there such a thing as a low quality and high quality resampling?
источник

I

Ivansuper in Android NDK (C++) — русскоговорящее сообщество
Ivansuper
The bit depth of the math you are using to resample it
.
источник