Тональность и скорость - это одно и то же в контексте аудио программирования? - PullRequest
4 голосов
/ 05 мая 2010

Шаг означает «воспринимаемая частота». Ницца. Но когда я делаю тональность очень низкой в ​​OpenAL, звук воспроизводится во много раз дольше. Если я сделаю это очень высоко, звук будет очень коротким, но с высокой частотой. Для меня логически следствие замедления или ускорения.

Или это шаг! = Скорость?

Ответы [ 3 ]

3 голосов
/ 05 мая 2010

У Пола Р. есть довольно хороший ответ, но я бы хотел немного расширить его.Если вы думаете о звуке как о серии импульсов (и это так), то при более высоком токе будет больше импульсов в секунду (более высокая частота), а при более низком уклоне будет меньше (более низкая частота).Чтобы понизить высоту звука, вы должны распространить эти импульсы (сделать их дальше друг от друга).В результате продолжительность звука увеличится, потому что вы не уменьшили количество импульсов, а просто разделили их (меньше в секунду).Если вы попытаетесь увеличить высоту тона, произойдет обратное: импульсы будут ближе друг к другу, что сделает звук короче по длительности.

Если вы хотите, чтобы длительность оставалась постоянной независимо от изменений записанной высоты, вам необходимолибо выбросить информацию (более низкий шаг), либо информацию о производстве (более высокий шаг).Вот где начинается сложная обработка. Что можно безопасно отбросить?Что можно безопасно продублировать или сконструировать?

1 голос
/ 05 мая 2010

Относительно легко изменять pitch и rate вместе, так как все, что вам нужно сделать, это изменить частоту, с которой вы воспроизводите сэмплы. Если вы воспроизводите сэмплы с половинной предполагаемой скоростью, то высота звука уменьшается вдвое, а звук выходит на половинной скорости (подумайте о том, что кассетная дека работает на неправильной скорости). Обратное воспроизведение сэмплов быстрее, чем предполагалось, увеличит высоту звука и сделает все быстрее.

Вы можете варьировать pitch и rate независимо, но для этого требуется гораздо больше обработки, обычно с использованием некоторого алгоритма анализа и повторного синтеза (например, PSOLA для речи).

0 голосов
/ 20 сентября 2015

Используя алгоритм, который вы описываете в OpenAL, pitch = f (скорость) и speed = f '(шаг).

Возможно варьировать эти параметры несколько независимо, используя другой алгоритм. Для этого существует множество алгоритмов.

Указанные алгоритмы могут существовать в частотной области (вокодер, свертка частотной области) или во временной области (PSOLA, WSOLA, расширенная WSOLA) или в обоих одновременно (гибридные модели, использующие методы временной области переходные сечения и вокодерные методы для тональных сечений).

...