Я хочу сделать музыкальное приложение (запись голоса, воспроизведение пианино или гитары) - PullRequest
1 голос
/ 22 февраля 2012

Я хочу сделать музыкальное приложение (android)

пользователь записывает голос, а приложение меняет звук пианино или гитары

, поэтому я сделал запись партии и анализ голоса записи с помощью FFT.

Проблема в том, как воспроизвести звук инструмента?

, если используется Thread, невозможно воспроизвести измененный ритм, просто регулярно воспроизводите звук.

Я использую звуковой файл для воспроизведения звука инструмента (.mid, .wave ... и т. д.) в папке raw

плз помогите мне, как играть на инструментальном звуке ??

1 Ответ

0 голосов
/ 23 февраля 2012

Один из распространенных способов сделать это - использовать аудиоанализ и ресинтез. Для анализа вы должны использовать алгоритм оценки основного тона (а не только БПФ). Затем вы можете подать выходные данные аудио анализа (предполагаемый шаг, полосу пропускания, амплитуду и т. Д.) В модуль синтеза формы волны музыкального инструмента, используемый для подачи аудиовыхода, обычно используя короткие буферы (некоторое количество миллисекунд) для периодический обратный звонок. Существует множество алгоритмов синтеза различного качества.

Эта техника, похоже, используется несколькими приложениями для iOS / iPhone. Не уверен насчет последних API-интерфейсов Android, но в более ранних версиях Android минимальная задержка, разрешенная API-интерфейсом ОС, была объявлена ​​длительной и не очень хорошей.

...