2015-05-14 3 views
6

Я пытаюсь смоделировать океанский звук автоматически на чистых данных. До сих пор я добился очень простого звука, фильтруя некоторый шум с помощью [bp ~]. Я видел, что наилучший диапазон частоты отсечки составляет от 300 до 500 Гц, поэтому я хотел бы иметь горизонтальный слайдер [hsl], который идет от 300 до 500 и обратно, автоматически и на петле, пока я не скажу остановиться. (Я уже назначил диапазон (300 500) на ползунок, мне нужно только управлять им автоматически). Я пробовал с [osc ~], но это не сработает, потому что слайдер не является аудиоэлементом, а выход [osc ~] - аудиосигналом. На картинке я покажу, что у меня есть это далеко:Автоматический слайдер в чистых данных?

Current distribution of my program

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

ответ

3

Если ваш вопрос будет просто: Как автоматизировать ползунок? Ответ должен был бы посмотреть на объект [line]. Линия интерполирует от текущего значения до целевого значения за заданное время. Use the line object to interpolate between floats and automate a slider movement

(Примечание:. Когда управляющие сигналы, мы используем [строку ~] вместо)

Однако, ваша цель состоит в моделировании морского берега волны. В вышеупомянутой слайдерной автоматизации есть две проблемы: 1.) мы работаем в скорости передачи данных управления, а не в скорости передачи данных, и 2.) мы хотели бы облегчить и облегчить скачок. Осциллятор будет решать обе проблемы одновременно. Oscillator acting as an envelope to a signal

. (Примечание: здесь опущен для упрощения является то, что управление амплитудой не должно быть линейным из-за восприятия объема не равен увеличение мощности)

Поскольку мы не хотим менять только амплитуду, но тембр (частота отсечки полос пропускания) мы хотим использовать синусоидальную функцию, с которой мы можем запустить счетчик, чтобы достичь желаемой анимации диапазона вывода, включая ослабление и выключение. Примечание. Ползунок действует только как визуализация в этом патче. Bandpass automation

+0

Обратите внимание, что объект [sin] ожидает ввода в * radian * (0..2π), в отличие от сигнала объекта [cos ~]!), Который принимает нормированные значения (0..1). –

+0

также при управлении сигналами вы должны использовать [line ~], а не [line]. –

+0

@ umläute отсекающее входное отверстие [bp ~] - это вход контроля скорости. Вы читали текст? –

3

В Pd есть два объекта, которые позволяют конвертировать из мира сигналов в мир управления. [sig ~] преобразует элементы управления в сигналы, а [моментальный снимок ~] преобразует сигналы в элементы управления. Вы можете использовать свое [osc ~] решение, используя [snapshot ~].

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

Это тест, который пробивает [моментальный снимок ~] 20 раз в секунду для захвата [osc ~], движущегося с частотой 1 Гц. Я использовал несколько простых операторов для масштабирования вывода от -1 до 1, чтобы быть между 300 и 500, чтобы соответствовать вашему примеру. Вы можете исправить это на своем слайдере и отправиться на гонки.

Pd patch illustrating snapshot and metronome solution

Смежные вопросы