Как динамически создавать новые звуковые объекты на основе необработанных WAV / DATA или других звуковых объектов? - PullRequest
1 голос
/ 01 февраля 2012

Существует ли библиотека AS3 или фрагмент кода, который может создавать измененные версии объекта Sound на лету (во время выполнения)? Либо на основе:

  • Существующий звуковой объект;
  • Объект ByteArray;
  • Какой-нибудь другой источник формата аудиофайла;

Например, скажем, у вас есть "сухой" звук выстрела из оружия. Вы могли бы:

  • Создайте реверберацию версию, чтобы она звучала отдаленно ;
  • Сделать версию с фильтром нижних частот версию, чтобы она звучала следующая комната / следующая дверь ;
  • Сделать задержку для пинг-понга его версию, чтобы он звучал кавернозный ;

Если эта предварительная обработка произойдет до начала игрового процесса, то все, что вам нужно сделать, это сыграть измененные объекты Sound. Это исключило бы необходимость использования SampleDataEvent API , который по-прежнему потребляет немного ресурсов процессора.

Итак, могут ли Sound объекты быть созданными и заполненными аудиоконтентом во время выполнения?

UPDATE:

Для дальнейшего уточнения моего вопроса я ищу способ компиляции объектов Sound во время выполнения, а не " synthesize " или " stream " аудио с помощью SampleDataEvent API (загрузка ЦП все еще может быть слишком высокой).

Моя конечная цель - легко создавать дубликаты определенных сухих звуков, предварительно встроенных в мою библиотеку (или внешние SWF / SWC), но изменять их с помощью различных фильтров во время выполнения, прежде чем они будут скомпилированы в объект Sound (возможно, с некоторыми динамическая генерация SWF-файлов).

Вы можете себе представить, что это похоже на ... использование звукового программного обеспечения DAW для загрузки существующего источника звука, обработки его в автономном режиме с фильтрами по вашему выбору (LP, HP, Reverb, Delay, Distortion .. .), отрендерите его, добавьте в библиотеку нового документа Flash, задайте имя класса и вуаля! Ваш конечный результат - это то, что будет воспроизводиться в дублированном (но измененном) звуковом объекте.

Если вам известны какие-либо библиотеки ActionScript 3.0 (SWC или исходные коды), которые могут воспроизводить этот вид офлайн-обработки DSP, я бы хотел услышать об этом.

1 Ответ

1 голос
/ 01 февраля 2012

В Flash Player 11 вы можете использовать Sound.loadPCMFromByteArray , чтобы создать звук из ByteArray во время выполнения, и вы можете обработать PCM ByteArray, чтобы получить желаемый эффект, а затем создать звук с ним.Вы можете обратиться к примеру громкости зеленого носка (или другим библиотекам), чтобы узнать, как обрабатывать звук, я не слишком разбираюсь в этом; o)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...