#android #audio #audio-streaming
#Android #Аудио #потоковое аудио
Вопрос:
Люди,
В моем приложении для Android я записываю аудио и воспроизводю его. Пользователь обычно является певцом.
Теперь мне нужна возможность воспроизведения звука с уменьшенной скоростью.
Как я понимаю, данные PCM — это просто смесь синусоидальных волн на разных частотах. Существует одна доминирующая волна (наибольшая величина), которая приводит к музыкальным нотам песни.
Чтобы уменьшить скорость в 2 раза, сначала я думал, что буду просто дублировать каждый сэмпл. Например, если выбранные входные значения PCM равны 20000, 25000, 30000, …, я буду воспроизводить 20000, 20000, 25000, 25000, 30000, 30000. Однако это не кажется правильным решением. Все, что я, кажется, здесь делаю, это увеличиваю длину волны (следовательно, частоту) синусоидальных волн. Я думаю, что это приведет к изменению голоса / заметок.
Может кто-нибудь подсказать, как уменьшить или увеличить скорость?
Заранее благодарим вас за помощь.
С уважением, Питер
Ответ №1:
Если под скоростью вы подразумеваете изменение голоса в данных PCM с медленного (высокий гигант) на быстрый (бурундук), то
возможно, вы захотите взглянуть на этот алгоритм для изменения высоты тона .. Идея состоит в том, чтобы получить правильную частоту дискретизации в соответствии с требуемой высотой тона.
Комментарии:
1. Спасибо за вашу помощь. Я не смотрю на изменение голоса. Я просто хочу воспроизвести запись с уменьшенной скоростью.