Перекрывающиеся звуки и отсечение в StandingWave3 - PullRequest
0 голосов
/ 22 августа 2011

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

// Create a chord of three simultaneous sine tones: A3, E4, A4.
var sequence:ListPerformance = new ListPerformance();
sequence.addSourceAt(0, new SineSource(new AudioDescriptor(), 0.1, 440));
sequence.addSourceAt(0, new SineSource(new AudioDescriptor(), 0.1, 660));
sequence.addSourceAt(0, new SineSource(new AudioDescriptor(), 0.2, 880));
// Play it back.
var source:IAudioSource = new AudioPerformer(sequence);
player.play(source);

тогда получается действительно неприятный звук и трассирующие сообщения с надписью «AUDIO CLIPPING». Разработчик объясняет в одном из отчетов о проблемах на github, что вам нужно уменьшить усиление семплов, когда вы смешиваете их вместе, чтобы избежать этого, и что нет простого способа динамически узнать, какое сокращение необходимо.

У меня вопрос: как получается, что stangingwave2, кажется, справился с этим автоматически? Например, приведенный выше код не обрезался в SW2. Аналогично рассмотрим пример демонстрации SW2 - если вы увеличите сустейн и удержание (ползунки S / H) и нажмете одну из кнопок последовательности, несколько тонов будут перекрываться без среза, даже если источник не показывает каких-либо видимых признаков изменения усиления или громкости тонов греха, они просто смешиваются вместе.

Что здесь происходит - был ли у SW2 какой-то способ автоматически с этим справиться, или есть какой-то надежный способ общего наложения произвольного числа звуков динамически, не вызывая отсечения? Спасибо!

1 Ответ

1 голос
/ 04 сентября 2011

Поскольку никакая активность здесь не представляется вероятной, я отмечу, что SW2, по-видимому, просто возвращает синусоидальные источники в гораздо меньшей степени, чем полная шкала, но оказывается, что если вы объедините достаточно источников, вы получите отсечение.SW3 возвращает источники в полном масштабе, поэтому ограничение становится очевидным при меньшем количестве источников.

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