Я пишу приложение, в котором я пытаюсь изменить высоту звука при записи фильма (.m4v). Или путем изменения звуковой шаг фильма после этого. Я хочу, чтобы конечным результатом был фильм (.m4v), который имеет исходную длину (т.е. тот же визуальный эффект, что и оригинал), но с измененным звуковым шагом, например, «голос бурундука». Преобразование в реальном времени предпочесть, если это возможно.
Я много читал об изменении высоты тона звука в iOS, но большинство примеров сосредоточено на воспроизведении, т. е. воспроизведении звука с другой высотой тона.
В своем приложении я записываю фильм (.m4v/AVFileTypeQuickTimeMovie) и сохраняю его с помощью стандартного AVAssetWriter. При сохранении фильма у меня есть доступ к следующим элементам, в которых я пытался манипулировать звуком (например, изменять высоту тона):
Я пытался подключиться к вышеуказанным объектам, чтобы изменить высоту звука, но безуспешно.
Я также пытался использовать Dirac, как описано здесь: Изменение высоты звука в реальном времени в iPhone с помощью Dirac
И OpenAL с AL_PITCH, как описано здесь: Передача вывода из OpenAL в буфер
И библиотека "BASS" от un4seen: Изменение высоты тона/темпа в реальном времени
Я не нашел успеха ни в одной из вышеперечисленных библиотек, скорее всего, потому, что я действительно не знаю, как их использовать и где подключите их к коду сохранения звука.
По-видимому, существует множество библиотек с аналогичными эффектами, но с упором на воспроизведение или пользовательский код записи. Я хочу манипулировать аудиопотоком, который у меня уже есть (AVAssetWriterAudioInput), или изменить сохраненный видеоклип (.m4v). Я хочу, чтобы видео было немодифицированным визуально, т.е. воспроизводилось с той же скоростью. Но я хочу, чтобы звук шел быстрее (как бурундук) или медленнее (как... монстр?
Есть ли у вас какие-либо предложения, как я могу изменить высоту тона либо в реальном времени (при записи фильма), либо впоследствии с помощью преобразование всего фильма (.файл m4v)? Должен ли я изучить Dirac, OpenAL, SoundTouch, BASS или какую-либо другую библиотеку?
Я хочу иметь возможность поделиться фильмом с другими людьми с измененным звуком, поэтому я не могу полагаться на изменение высоты тона только для воспроизведения.