Звук катящегося шарика

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

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

Спасибо!

6 ответов

Решение

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

Например, в FMOD вы можете использовать метод Channel::setFrequency. В идеале вы должны рассчитать желаемую частоту воспроизведения на основе исходной частоты сэмплирования WAV (Fo), текущей скорости мяча (Vc) и "идеальной" скорости мяча, при которой WAV по умолчанию звучит правильно (Vi). Нечто подобное:

F = Fo * (Vc / Vi)

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

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

ADDENDUM: подобное масштабирование частоты воспроизведения также можно использовать для имитации эффекта Доплера. Как только вы настроите частоту воспроизведения, вы будете выполнять другую шкалу частоты на основе скорости мяча относительно "слушателя" (камеры).

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

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

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

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

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

Кстати, http://www.freesound.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 и выполнить воспроизведение.

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

Другие вопросы по тегам