Поиск по этому блогу

воскресенье, 14 октября 2012 г.

Перевод и адаптация Loadbang (пилотный выпуск)



Вот и пилотная глава.
Для тех кто не в курсе, данная книга совершенно бесплатно распространяется по сетке. Идея перевода заключается в том, что по своей конструкции книга достаточно доходчиво написана, но написана на базе Pd, а как показывает практика Max более востребованный программный продукт нежели Pd.
Глава получилась достаточно простой. Подробности далее.

Первую главу я решил не трогать, по элементарной причине, что там излагаются совсем уж основы работы c Pd (в нашем случае с Max), которых я уже в некоторой степени касался при проектировании гранулярного синтезатора в Max/MSP. Да и вообще вводные части в некоторых местах пересекаются с моим прошлым проектом (по крайней мере, основ), но как говорится, повторение – мать учения. К тому же, первые главы построены таким образом, что материал будет ясен даже тем, кто совсем не понимает, как работать с Max’ом.

Что же я хочу от вас?
Очень хотелось бы знать, нужен ли вам такой материал, или все же лучше отступить от элементарщины и затронуть уже более «продвинутые» главы, или может вам вообще все это не нужно? Пожалуйста, не поленитесь и оставьте свой голос вот здесь.



Глава 2. Первые шаги в Мax/MSP
2.1 Введение
2.1.1 Простейший пример

Сразу же после запуска Max/MSP (в дальнейшем просто Max) на вашем мониторе появляется главное окно Max. Создайте новый патчер выбрав File>New Patcher.



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

1. Через контекстное меню.

2. При английской раскладке клавиатуры нажать клавишу «N».

3. Двойной клик по открытому для редактирования окну патчера


и уже из открывшегося меню в секции Basic выбрать стандартный объект.


После чего на экране появится прямоугольник со скругленными углами.


Далее необходимо два раза кликнуть по объекту (если он еще не открылся для редактирования).
И ввести текст «cycle~ 440» (без кавычек). Кстати символ «~» (тильда), будет частенько использоваться вами при работе со звуком в Max/MSP.

Примечание к адаптации: В оригинале, т.е. в Pd, вместо «cycle~ 440» используется объект «osc~ 440». Но оба они по своей сути выполняют одну и ту же функцию – генерирование синусоидального сигнала.

После данных манипуляций только что созданный объект примет, следующий вид:


Теперь наш объект обзавелся тремя дополнительными черными прямоугольниками, верхние из которых называются inlets (далее - инлет) и отвечают за входящие в объект данные, а нижние outlets ( далее - аутлет) и отвечают за выходящие из объекта данные.

При наведении курсора на аутлет, его изображение (курсора) примет следующий вид:


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


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

Так как мы еще не создали второго объекта, с которым можно было бы соединить наш «cycle~ 440», то при отпускании кнопки мыши кабель исчезнет. При наведении же на инлет какого либо другого объекта, данные объекты соединятся между собой.

Сделайте еще один объект, аналогично вышеописанному алгоритму, только теперь назовите его «dac~», и расположите его под объектом «cycle~». После чего соедините аутлет с левым и правым инлетами объекта «dac~», по вышеописанному алгоритму.

В итоге вы услышите звуковой сигнал. Если этого не произошло, то необходимо либо:

1. Закрыть патч для редактирования и двойным кликом по объекту «dac~», открыть окно настроек звука, где можно выбрать необходимый аудио драйвер и включить его (отмечено стрелкой).
 


2. Открыть контекстное меню Options>DSP Status… После чего откроется окно аналогичное показанному пунктом выше.





Примечание к адаптации: «dac~» - представляет собой ЦАП отвечающий, понятное дело, за вывод звукового сигнала. Так же в максе присутствует объект, выполняющий функции аналогичные «dac~» под названием «ezdac~» который позволяет включать и выключать ЦАП при закрытии патча не переходя в меню DSP status. Так же, помимо прописывания имени в окне объекта можно вызвать с помощью меню вызываемого двойным щелчком по рабочей области патча.



Теперь создадим окно для ввода целых числовых значений, либо добавив новый объект «number» по одному из выше предложенных алгоритмов, либо с помощью клавиши «I», либо с помощью меню объектов вызываемого двойным кликом по рабочей области.

После этого соединяем аутлет объекта «number» с инлетом объекта «cycle~». Так же закрытие патча для редактирования даст нам возможность изменять частоту на генераторе синусоидальной волны, с помощью мыши или же вводя числовые значения с помощью клавиатуры. Более точно данное значение можно менять ужерживая Shift.

Примечание к адаптации: Манипулировать объектом «number» можно и при открытом для редактирования патче, удерживая Ctrl. Аналогично можно открывать/закрывать патч для редактирования нажав Клик+Ctrl.

В итоге патч будет выглядеть для нас следующим образом:


Далее необходимо, удерживая Alt, в открытом для редактирования патче, выделить рамкой сигнальные соединения MSP. И удалить их клавишей Del. После этого на месте соединения создайте еще один объект «*~0».


Теперь, пожалуй, добавим немного места для новых объектов. Для этого выделим рамкой «*~0» и «dac~» и опустим их немного ниже. После этого создайте два объекта «message» (все варианты создания описаны выше), горячая клавиша – «M». Сообщениям необходимо присвоить значения 0 и 1, соответственно.



Примечание к адаптации: Так же для экономии времени, второй объект можно создать обыкновенным дублированием первого, для этого необходимо удерживая Alt перетащить объект в сторону.



Что мы получили в итоге?

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

1 комментарий:

  1. я очень давно хочу добраться до "Max" и думаю с такими статейками я в нем все таки чего нибудь соберу

    ОтветитьУдалить