Android-аудио: изменение высоты тона

Документация Android для SoundPool гласит: «Приложение также может изменять высоту звука, регулируя скорость воспроизведения в режиме реального времени для доплеровских эффектов или эффектов синтеза». Поэтому я попытался сделать это, используя метод setRate, чтобы плавно варьироваться от одной ноты к другой, но результат ужасен: вариации звука очень рваные. Вот код, который я попробовал. Пожалуйста, скажите мне, если есть лучший способ.

int streamId = soundPool.play (soundId, 1, 1, 1, 0, 1.0f);
for (float x = 0; x < 1; x += 0.005) {
  SystemClock.sleep (10);
  soundPool.setRate (streamId, 1 + x);
}

Ответы на вопрос(2)

Ваш ответ на вопрос