Как я могу применить гитарные эффекты, такие как погружение (смещение высоты тона) или вау-вау (сжатие), к сэмплам гитары, воспроизводимым в приложении для iOS?
Я создаю приложение для iOS, которое позволяет пользователю воспроизводить звуки гитары - например, выщипывание или ударение.
Я хотел бы позволить пользователю применять смещение высоты тона или вау-вау (сжатие) к звучанию гитары.
В настоящее время я использую аудиосэмплы звука гитары.
Я сделал несколько основных рецензий на DSP и синтез звука, но я не эксперт в этом. Я видел библиотеки, такие как csound и stk, и кажется, что их звуки синтезированы (т.е. не воспроизводятся из аудиосэмплов). Я не уверен, как их применять или могу ли я использовать их для применения таких эффектов, как смещение высоты тона или вау-вау, к аудиосэмплам.
Может ли кто-нибудь указать мне правильное направление для этого?
1 ответ
Вы можете использовать библиотеки обработки аудио с открытым исходным кодом. По сути, вы получаете аудиосэмплы, и вам нужно обрабатывать их и отправлять как сэмплы. Обработка может быть выполнена этими библиотеками, или вы используете одну из своих. Вот одна библиотека DSP (Disclaimer: я написал это). Посмотрите на метод process(float,float) для любого из классов, чтобы увидеть, как это делается.
Вау-вау и компрессия - это 2 совершенно разных эффекта. Вау-вау - это фильтр нижних частот, центральная частота которого изменяется медленно, тогда как сжатие - это метод выравнивания громкости. В приведенной выше библиотеке есть класс Compressor, который вы можете проверить.
STK также имеет классы эффектов, не только классы синтеза (JCRev) - это классы для реверберации, но я настоятельно рекомендую держаться подальше от него, так как их действительно сложно компилировать и поддерживать.
Если вы еще этого не видели, посмотрите превосходную и всеобъемлющую книгу Джулиуса Смита " Физическая обработка звукового сигнала".