Control Logic Plugins with Max

ontrolling Logic Plugin Parameters with Max CC Messages

This turns out to be quite simple.

1) Open Logic
2) Open Max (I’ve got a “MaxToLogicPlugins.pat” file email off list??if you want a copy)
In your Max patch, create a [ctlout] object and connect a number box??to the left most inlet.??I’ve been using [ctlout 85] which sends??values out to CC85 (which is usually unassigned, I think).??Then??double click on the [ctlout] object to set the MIDI output port.??I??usually select “from Max/MSP 1”.
3) insert a plugin into a Logic Track (leave the plugin window open)
4) In Logic hit COMMAND+L (the Controller Assignment Window will open)
????if the window does not open you may have to create the key??command for
????”Learn new Controller Assignment” (more on this below)
5) click the slider (on the Logic plugin) you want to control
6) Go directly to Max and adjust the dial or number box that is??sending CC values to your [ctlout] object.??I limited mine from??0-127, I do not know if other ranges are possible.
7) Go back to Logic and hit COMMAND+L again

Now when you move the number box (or dial) it should move the plugin??parameter in Logic.??You may have to move the number box a bit before??it activates.

These settings are stored in Preferences => Control Surfaces =>??Controller Assignments, and can be deleted from that page.??I am also??unsure if these are stored (and thus active) for all Logic Documents??or if they are Logic document specific.

Much of these instructions came from:
http://discussions.info.apple.com/webx?128@501.fIEhaPsX96e.2@.68b375f6

Here are the instructions I learned from:
http://www.logicprohelp.com/viewtopic.php? p=2194&start=0&sid=aed65a5872d9d9aa5667d4681eb4734c

Logic Pro 7 makes it very easy to use your MIDI controller’s wheels??and knobs to control your Logic mixer and plug-ins interface. Here’s??a quick guide:

1?Hit Command+L*
(L as in Learn) – The Controller Assignment window opens. Uncheck??”Expert View” if necessary and move that window out of the way (don’t??even worry about it).

2?Click on the fader or knob you want to control.

3?Move the knob on your MIDI controller
(for better results have the knob on zero before you start, and then??move the knob slowly from zero to max and back down to zero).

(you can repeat steps 2 and 3 for as many knobs as you want)

4?Hit Command+L
(and close the Controller Assignement window).

You’re done.

* If Command+L is not assigned you can assign it (or any other key??combination) yourself in your key command window: search for the key??command “Learn new Controller Assignment”.

MSP Tut.23 Analysis: Viewing signal data

Tutorial 23 : Analysis: Viewing signal data

Display the value of a signal: number~
이번 챕터에서는 신호의 숫자 값을 볼 수 있는 MSP objects와 그것을 Max massage로 바꾸어 주는 기능들에 대해서 이야기 할 것입니다.
.
• 오디오를 키도 컴퓨터의 input jacks으로 소리를 보내세요.

250 milliseconds 마다 Patcher 의 꼭대기에 있는 number~ objects는 각 채널로 들어오는 신호의 현재 값을 보여줍니다. 그리고 meter~ objects는 지난 250ms의 최고 amplitude 값을 analog LED display 처럼 그래픽 형태로 보여줍니다


number~ 로 들어오는 신호는 일단 보여진 후에 오른쪽 outlet에 소수값으로 보내집니다. 즉, 그 시그널 값이 sampling하고 그것을 메시지로 다른 Max objects로 보낼 수 있다는 것을 의미합니다.

number~ object는 사실 하나안에 두개의 bjects와 같은 것인데요, 들어오는 신호와 그것을 소수값으로 오른쪽 outlet에 보내는거 이외에, number~ 는 또한 왼쪽 outlet으로 신호를 보내는 숫자박스의 역할을 하기도 합니다.

• MIDI keyboard의 Mod wheel을 움직이거나 “Amplitude”라고 표시된 number~ 의 오른쪽을 drag해 봅니다.
이것은. number~ object의 왼쪽 outlet으로 보내질 신호의 값을 설정합니다. 그 신호는 두개의 *~ object의 오른쪽 inlet과 연결되어서 exdac~으로 보내질 신호의 amplitude을 제어합니다.

number~ object는 동시에 받아들인 신호를 오른쪽 outlet으로 내보낼 소수로 전환합니다. 그리고 받아들인 소수 값은 왼쪽 outlet으로 보낼 신호로 전환시킵니다. 그 두 가지 일은 동시에 이루어 질 수 있지만, 한번에 하나의 값만 보여줄 수 있습니다. number~에 의해 보여지는 값은 그것이 어떤 display mode로 되어있는지에 따라서 다릅니다. number~의 왼쪽 부분에 작은 파형이 나타나면, 그것은 Signal Monitor Mode에 있는 것이며 왼쪽 inlet에서 들어오는 시그널 값을 보여줍니다. number~의 왼쪽 부분에 작은 화살표가 나타나면, 그것은 Signal Output Mode에 있는 것이고, 왼쪽 outlet으로 보낼 신호 값을 보여줍니다.

number~의 display mode를 제한하기 위하여 Pather winder를 unloch시키고 Max메뉴에서 Get Info..를 선택합니다.

최소한 한가지의 display mode는 체크되어있어야 합니다. 임의의 값으로 위의 예처럼 두가지 mode가 선택되어 있습니다. 그런 경우에는 잠겨진 Patcher에서 number~의 왼쪽 옆을 클릭하여 한가지에서 다른 한가지 mode로 전환할 수 있습니다. number~의 출력은 그것이 어떤 mode로 되어있든지 계속 진행됩니다.

투토리얼 패치에서 여러분은 number~의 두 가지 mode를 볼 수 있는데요, Patcher window 위에 있는 number~ objects는 들어오는 신호 값을 보여주기 위해 사용되고 있기 때문에 Signal Output Mode 로 되어있습니다. (새로운 값들은 Signal Output display mode로 되어 있을 때만 tapy또는 마우스 드래드에 의해 입력 될 수 있습니다.)
이 각각의 number~ objects는 오직 하나의 기능을 위해 고안되어 있기 때문에 각각은 Get Info..대화 창에서 한가지 display mode로만 설정되어 있습니다.

Interpolation with number~
number~ object 는 또 다른 유용한 특징들을 보여줍니다. 그것은 line~ object와 매우 유사하게, 경사진 신호를 생성하기 위해 입력 값들 간에 내삽 값을 줄 수 있습니다. 만일 number~가 오른쪽 inlet에서 0이 아닌 숫자를 받으면, 그때마다 그 숫자는 새로운 값을 선형적으로 내삽하기 위한 시간 (ms)의 양으로 사용됩니다. 이는 line~으로 리스트를 보내는 것과 같습니다.

그러나 line~과는 달리 number~는 내삽시간을 한번 이상 받을 필요가 없습니다.; 그 시간을 기억하여 새로운 숫자를 왼쪽 inlet에서 받을 때마다 그 시간을 사용합니다. 이 특징은 출력 신호의 진폭이 불연속적으로 변하는 것을 막기 위하여 “Amplitude” number~ 에 사용되었습니다.

Peak amplitude: meter~
meter~ 는 마지막의 displays이후에 받아들인 peak amplitude를 주기적으로 보여줍니다. 동시에 그것은 또한 peak signal값을 소수의 형태로 자신의 출력으로 내보냅니다. 출력 값은 항상 양수이며 peak값이 음수일때도 그렇습니다.

meter~ 는 신호의peak amplitude를 관찰하는데 유용합니다.  (number~와는 달리 그것은 신호의 순간적인 진폭을 보여주고 내보냅니다.) meter~는 오디오 신호를 위한 것이므로 -`에서1까지의 신호를 받아들입니다. 만일 그 범위를 벗어나면 meter~는 최대값까지 “clipping”된 붉은색의 LED를 보여줍니다.

• 만일 clipping display를 보기 원하면, 출력 신호의 진폭을 1이 넘도록 증가시키고 다시 바람직한 level로 되돌리시오

meter~의 display사이의 시간 간격에 대한 임의의 값은 250ms입니다. 그러나 display간격은 interval message를 가지고 변경 할 수 있습니다. Display interval이 짧을수록 LED display는 더욱 정확한 반면, interval이 길어질수록 여러분은 visual 하고 numeric한 출력을 읽는 데에 시간이 많이 걸립니다.

• Patcher윈도우의 왼쪽 아래에 “Display Interval” 이라고 표시된 number box의 숫자를 드래그함으로써 display interval을 달리하여 실험해 보시오

Use a signal to generate Max messages: snapshot~
snapshot~ object는 number~의 오른쪽 inlet이 그렇듯이 현재의 시그널 값을 내보냅니다. 그러나 snapshot~에 의해서 여서분은 출력을 on/off상태로 만들거나, bang을 보냄으로써 한 개의 값을 갖는 출력을 설정할 수 있습니다. 오른쪽 inlet에서 0이 아닌, 숫자를 받으면 snapshot~은 그 숫자를 time interbal(ms)로 사용하여 주기적으로 신호값을 왼쪽 inlet에서 보여줍니다. Time interbal값으로 0을 받으면 snapshot~은 중지됩니다.

Tutorial 패치의 오른쪽 반은 어떻게 신호 waveform이 MIDI 데이터를 생성하는지에 대한 간단한 예를 보여줍니다. 우리는 MIDI note message를 위한 패치값을 얻기 위하여sub-audio 코사인 곡선을 샘플링 할 것입니다.

• number~ 를 사용하여 출력 amplitude를 0으로 설정하시오. 패치 위에 있는 number box들에서 “Rate” number box 는 0.14로, “Depth” number box 는 0.5로 설정하시오. message box 200 을 클릭하여1/5초마다 신호값을 보고하는 snapshot~을 시작하시오

snapshot~이 1/5초마다 신호값을 보고하기 때문에 cycle~의 주기는 약 7초가 되고, 멜로디는 35개의 음마다 싸인 wave의 한주기를 나타내게 됩니다. Wave의 진폭이 0.5이므로, 멜로디는 36에서 84 (60±24)까지의 범위를 갖게 됩니다.

• cycle~에 대한 “Rate”와 “Depth”값을 달리하여 실험해 보시오. snapshot~ 은 5Hz의 속도(200ms마다 한번)로 샘플링하고 있으며, 그것의 Nyquist rate는 is 2.5 Hz가 되어 cycle~의 효율적인 진동수를 제한합니다. ( 더 큰 진동수는 “folded over”될 것입니다). snapshot~을 중지하려면 0 메시지 박스를 클릭하세요.

Amplitude modulation
• tremolo depth 를 0.5로, tremolo rate는 4로 설정하세요.output amplitude를 듣기 편안한 레벨로 증가시키세요

cycle~ object 는 들어오는 사운드를 4Hz의 tremolo를 가지고 amplitude modulation시킵니다.

• 더 빠른 mpdulation rate를 가지고 실험하면서 amplitude modulation에 의한 음색변화의 효과를 들어보세요. ring modulation을 듣기 위해서는 depth를 1로 하세요. modulation depth를 1로 설정하세요. Modulation effect를 없애려면 depth를 0으로 하세요.

View a signal excerpt: capture~
capture~ object 는 Max object capture에 해당합니다. 그것은 많은 시그널 값들(임의의 값으로서 최근에받은 4096 samples)을 저장하며, 여러분을 시거널의 전체 excerpt(발췌부분)을 텍스트 형태로 볼 수 있다.

• 이 object는 시간에 따라 시그널이 어떻게 변했는지를 정확하게 보기 위해 유용합니다. (4096 samples 은 44.1 kHz의 sampling rate에서는 약 93ms가 걸립니다.) 여러분은 보기 원하는 샘플의 개수를 argument로서 입력할 수 있고, 그렇게하면 capture~ 는 그 샘플들을(Max에 사용 가능한 충분한 RAM공간이 있다는 가정하에)저장할 것입니다. 그러나 capture~텍스트 윈도우에 보여질 수 있는 문자의 개수는 32.000rofh 제한되어 있습니다. Capture~에 의해 저장되는 값을 컨트롤하는데에는 매우 많은 아규먼트와 메시지가 있습니다. 자세한 사항을 알고싶으면 Objects section을 참고하세요.

ejies updated

Hi Maxers,

I’m pleased to announce my humble collection has been updated for the  
new fantastic features of MaxMSP 4.5.5.

http://www.e–j.com

Cheers,
ej

New:
ej.dialog: replacement for the dialog object
ejies-shortcuts.txt: init file containing the ejies’s shortcuts (new  
feature of 4.5.5)
ejies-prototypes: contains the prototypes of the ejies’s jsui (new  
feature of 4.5.5)
ej.function.js: have now its own inspector! (new feature of 4.5.5)
ej.numbox.js: have now its own inspector! (new feature of 4.5.5)

Bugs corrections:
ej.function.js: 5th outlet assistance correction (Thanks Oliv’)
ej.numbox.js: now rounding while using the set method
jit.fullscreen: fsmenubar correctly defined (depending on the number  
of screen)
splay~: inlet works now (connected to the sfplay~)

Improvements:
AddShortcuts2Max.command: adding shortcuts for New from Clipboard,  
Encapsulate and De-Encapsulate
ej.function.js: domain has now 2 limits (like the range). If you  
specify the domain, with only one argument, it’ll start at 0
ej.function.js: Zoom features (zoom_x, zoom_y, getzoom_x, getzoom_y &  
zoomout messages)
ej.function.js: bang, int/float, and next message are now in the high  
priority thread
ej.function.js: draw improvements (the drawing operations appears  
less often)
ej.function.js: object configuration is now saved in the patcher
ej.function.js: cursor changes when you edit points (autocursor mode)
ej.function.js: set limit to 2047 points (the js array is limited to  
4095 items, for being sent to an outlet)
ej.function.js: new ghost & getghost messages to set/get the  
transparency of the background functions and the transparency of the  
grid
ej.function.js: point display as framecircle when it’s y value is  
equal to 0 (like the function object)
ej.function.js: new bordersync feature wich keep the first and last  
points at the same y position (Thanks Vlad)
ej.function.js: read and write function optimized (using the new  
hiddenconnect message)
ej.function.js: increased the size of the object (2048*2048) if the  
fsaa is disabled (“nofsaa 1” message)
ej.function.js: if notifyrecalled is on (in the inspector), output  
the message “recalled” when a preset is recalled from pattrstorage  
(That’s for Ben)
ej.numbox.js: object configuration is now saved in the patcher (you  
don’t have to put the arguments in the inspector anymore)
ej.numbox.js: keyboard input is now possible while the patch is  
locked, i.e non edit mode (an abstraction is automatically loaded and  
removed)
ej.cc.js: new defaults message… use my favorites colors 🙂
splay~: dropfile added (you can drop a sound file on the window to  
select the sound you want to play)