Вопрос

Я ищу наиболее реалистичный способ воспроизведения звука катящегося мяча.В настоящее время я использую семпл Wav, который воспроизвожу снова и снова, пока мяч движется, — что кажется неправильным.

Я подумывал о полном синтезе звука, о котором знаю очень мало (почти ничего), буду благодарен за любые туториалы/исследовательские материалы/образцы, касающиеся синтеза звука мяча из определенного материала, катящегося по поверхности. из другого материала.Также, если эта идея совершенно неверна, предложите другой способ сделать это.

Спасибо!

Это было полезно?

Решение

Я предполагаю, что вы получите максимальную отдачу от вложенных средств, выполнив динамическую регулировку частоты звука, которая сделает частоту воспроизведения пропорциональной скорости мяча.Я не знаю, какой тип звуковой библиотеки вы используете, но большинство из них поддерживают тот или иной вариант.

Например, в ФМОД вы можете использовать метод Channel::setFrequency.В идеале вы должны вычислить желаемую частоту воспроизведения на основе исходной частоты дискретизации вашего WAV (Fo), текущей скорости мяча (Vc) и «идеальной» скорости мяча, при которой WAV по умолчанию звучит правильно (Vi).Обычно что-то вроде:

F = Fo * (Vc/Vi)

Это будет иметь тенденцию ломаться по мере того, как мяч будет отдаляться от «идеальной» скорости.Возможно, вам захочется иметь несколько разных WAV-файлов, подходящих для разных диапазонов скоростей, на которые вы переключаетесь при определенных пороговых скоростях.В пределах каждого диапазона WAV вы должны выполнить одинаковую настройку частоты.

Еще одно замечание:вероятно, это не то, что стоит делать в каждом кадре.Я предполагаю, что делать это более 20 раз в секунду было бы пустой тратой времени.

ДОПОЛНЕНИЕ:Подобное масштабирование частоты воспроизведения также можно использовать для моделирования эффекта Доплера.После того, как вы настроили частоту воспроизведения, вы должны выполнить другую шкалу частоты, основанную на скорости мяча относительно «слушателя» (камеры).

Другие советы

Вы пробовали воспроизвести звук вперед, затем назад и зациклить?Я использую этот трюк графически для создания повторяющихся узоров.Я не особо разбираюсь в звуке, но может это сработает?

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

Одним из недостатков является то, что звук, скорее всего, будет звучать синтезировано — вам придется добавить шум и тому подобное, чтобы он звучал более реалистично.Заставить это звучать достаточно реалистично может оказаться самой сложной задачей.

Я не думаю, что вам нужны проблемы, чтобы синтезировать это.Было бы слишком сложно даже звучать убедительно.

В зависимости от вашей сцены вы можете зациклить звук вперед/назад и имитировать эффект Доплера, применяя фильтр нижних частот и/или изменяя его высоту.

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

Мне очень нравится подход, описанный в этой статье SIGGRAPH:

http://www.cs.ubc.ca/~kvdoel/publications/foleyautomatic.pdf

Там описывается синтез звука раскачивания камня в воке (нет, правда :).Идея состоит в том, чтобы использовать модальный синтез (т.свернутые импульсные характеристики), и результаты могут быть очень убедительными.

Вот ссылка на демонстрационное видео, которое прилагается к статье:

http://www.cs.ubc.ca/~kvdoel/publications/foleyautomatic.mpeg

А вот ссылка на библиотеку JASS (написанную одним из авторов), которая использовалась для создания звука для видео:

http://www.cs.ubc.ca/~kvdoel/jass/jass.html

Я не уверен, что вы сможете запустить его на смартфоне, но с достаточно эффективной процедурой/аппроксимацией свертки вы сможете сделать что-то интересное...

Мой вопрос: «Почему?» - Вы видите какую -то пользу в этом, или это просто для развлечения?Ваш вопрос подразумевает, что вас не устраивает используемый вами WAV, но я твердо уверен, что синтез вашего собственного будет звучать намного хуже.

Если ваш образец wav звучит неправильно, я бы посоветовал попробовать найти другой образец.Синтезировать звук непросто, и он никогда не будет звучать так реалистично, как ваш сэмпл.

Синтез в реальном времени может потребовать больше ресурсов для обработки и вычислений.Вполне возможно, что в конечном итоге вы предварительно преобразуете синтезированный звук в WAV-файл и выполняете воспроизведение.

Если вы хотите имитировать звук различных материалов, вы можете использовать какой-нибудь DSP или даже простые приемы, такие как замедление или ускорение воспроизведения WAV.Самый простой способ — предварительно выполнить их рендеринг в другом приложении и сохранить одну копию файла для каждого использования.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top