<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>[filter] Australian electronic music, arts, media, project listings</title>
  <subtitle>Australian electronic music, arts, news, events, media, project listings, links</subtitle>
  <link rel="alternate" type="text/html" href="http://www.aliak.com/content/workshop-maxmsp-course-goldsmiths-college-london"/>
  <link rel="self" type="application/atom+xml" href="http://www.aliak.com/node/1667/atom/feed"/>
  <id>http://www.aliak.com/node/1667/atom/feed</id>
  <updated>2006-11-03T17:55:00+00:00</updated>
  <entry>
    <title>workshop : max/msp course @ Goldsmiths College, London</title>
    <link rel="alternate" type="text/html" href="http://www.aliak.com/content/workshop-maxmsp-course-goldsmiths-college-london" />
    <id>http://www.aliak.com/content/workshop-maxmsp-course-goldsmiths-college-london</id>
    <published>2005-03-26T12:44:00+00:00</published>
    <updated>2006-11-03T17:55:00+00:00</updated>
    <author>
      <name>AliaK</name>
    </author>
    <category term="blog entry" />
    <category term="blog entry" />
    <category term="education" />
    <category term="interaction design" />
    <category term="music" />
    <category term="programming" />
    <category term="software" />
    <category term="united kingdom" />
    <category term="workshop" />
    <summary type="html"><![CDATA[<p><a href="http://www.goldsmiths.ac.uk/departments/music/ems/index.html" title="http://www.goldsmiths.ac.uk/departments/music/ems/index.html" rel="nofollow">http://www.goldsmiths.ac.uk/departments/music/ems/index.html</a><br />
max/msp course notes<br />
day 1<br />
19 March 2005<br />
Goldsmiths College, London<br />
bang &amp; toggle -&gt; easy way to see what's going on in the patch; test; use it to print values<br />
apple m = status window<br />
number box passes on info when it receives the bang<br />
toggle<br />
- off when 0 (int)<br />
- on for any other int value<br />
- if it gets a float, it truncates the decimal to give 0 or 1 eg 1.57 would give 1; 0.73 would give 0</p>
    ]]></summary>
    <content type="html"><![CDATA[<p><a href="http://www.goldsmiths.ac.uk/departments/music/ems/index.html" title="http://www.goldsmiths.ac.uk/departments/music/ems/index.html">http://www.goldsmiths.ac.uk/departments/music/ems/index.html</a></p>
<p>max/msp course notes<br />
day 1<br />
19 March 2005<br />
Goldsmiths College, London</p>
<p>bang &amp; toggle -&gt; easy way to see what's going on in the patch; test; use it to print values</p>
<p>apple m = status window<br />
number box passes on info when it receives the bang</p>
<p>toggle<br />
- off when 0 (int)<br />
- on for any other int value<br />
- if it gets a float, it truncates the decimal to give 0 or 1 eg 1.57 would give 1; 0.73 would give 0</p>
<p>give arguments labels if multiple elemnts are used<br />
eg print A, print B</p>
<p>prepend set - message -&gt; monitoring data; to preview data<br />
timings are in milliseconds</p>
<p>metro 1000-34 -&gt; 1000 is the start value; 34 will override 1000 (right input)</p>
<p>help metro -&gt; to show help pages (patches); or check help menus; also check status bar</p>
<p>1. what numbers do we use to control the object<br />
2. what numbers do we need<br />
3. how do we convert 1. to 2.</p>
<p>gui:<br />
- toggle<br />
- int number<br />
- float number<br />
- sliders<br />
- radio buttons x/y<br />
- dial<br />
- keyboard<br />
-- polyphonic (multiple select/toggle keys) or monophonic (single select keys)<br />
- apple i shows inspector eg uslider inspector</p>
<p>fatal loops = endless loop; stack overflow</p>
<p>right to left rule of calculation<br />
- patch values are calculated from top to bottom and right to left</p>
<p>maths expressions</p>
<p>select object<br />
- if then else</p>
<p>midi - can use virtual midi if no midi device connected</p>
<p>midi objects<br />
- don't use midi in/out much as this will include all the sync/clock/timing midi commands<br />
- use note in/out or bend in/out (pitch bend) etc instead<br />
- ctrl in -&gt; fader control</p>
<p>16channel = 1 channel for each device<br />
- this is right most number (A)<br />
   note in<br />
(C) (B) (A)</p>
<p>(A) who do you speak to (channel)<br />
(B) what do you tell it (velocity)<br />
(C) what value (value)</p>
<p>need to send note off also to stop notes. use makenote instead to manage this for you.<br />
makenote 67 1000 will turn off the note after 1 sec (1000)<br />
if musician plays notes on keyboard they decide when the note offs are sent so you don't need to send them for live players; only for virtual midi</p>
<p>trigger ff<br />
trigger ii (int)<br />
trigger (bb (bang)<br />
- avoids the right-left problems for cases i++ or ++i</p>
<p>----</p>
<p>first audio / msp</p>
<p>audio in (mic icon) / adc (sound cards with multiple inputs)<br />
audio out (speaker icon) / dac</p>
<p>option - dsp status<br />
- double click on objects<br />
- select sound card / audio driver options</p>
<p>adc input I/O mappings<br />
- you could setup 5.1. or 8ch audio here or best to do it using dac options</p>
<p>dsp status:<br />
latency<br />
- more response, smaller the number<br />
- tradeoff is that audio might drop out<br />
- if you set signal overdrive = on this guarantees continuous audio stream<br />
- you may get timing issues as max struggles to keep up with the processing required withe overdrive=on<br />
- overdrive=off, max performs better but audio may drop</p>
<p>sampling rate 44100<br />
i/p ch<br />
o/p ch<br />
i/o vector size 512<br />
sig vector size 64</p>
<p>msp patch leads are yellow<br />
gain faders are striped</p>
<p>max objects -&gt; calculates 1msec<br />
msp objects - calculate according to the sampling rate eg 44k</p>
<p>dsp status:<br />
cpu utilisation -&gt; this is % cpu max/msp needs to do audio<br />
- @ 70% mouse movements are degraded<br />
- max/msp doesn't support dual processors for msp/dsp audio but you could assign one processor to max and the other to msp/dsp<br />
- another way round this is to use keystroke commands instead of mouse during performance</p>
<p>calculator:<br />
route - send error messages<br />
#<br />
itoa (int to ascii)<br />
prepend set<br />
(value)</p>
<p>    open<br />
sfplay (play loaded sound files)<br />
simple audio chains</p>
<p>max/msp doesn't like the laptop going into standby</p>
<p>lists<br />
unpack<br />
- to unpack a list of numbers into a list of inputs<br />
unpack 0 0 0 0 0 0 -&gt; 0 is initial value also</p>
<p>makenote does the unpack internally</p>
<p>pack 0 0<br />
- 2 inputs -&gt; 1<br />
47     57<br />
pack 0 0<br />
prepend set<br />
47   57</p>
<p>           name of ch (this can be something else)<br />
send notes<br />
receive notes<br />
- these two: pack the list first to send to sendnotes</p>
<p>* scale is pc bandwidth processor power intensive<br />
so you use scale to invert the volume on freeform input square<br />
so volume decreases as cursor decreases<br />
default is volume increases as cursor decreases which is opposite to how we visually see it to what we hear</p>
<p>scale 0 127 127 0<br />
scalle 0 127 127 0<br />
the fifth argument is for exponential scale value</p>
<p>send maximum<br />
- right click to see if this name 'maximum' has been used before in the patch</p>
<p>send, receive or s, r (shortcut names)<br />
trigger t<br />
p double_click - patch "double_click" -&gt; a patch within a patch<br />
counter - can have multiple values and also multiple variables</p>
<p>set $1<br />
jam $1<br />
max $1</p>
<p>object ~ is msp object not max object</p>
<p>---</p>
<p>for next session, do up to tutorial 20 - max tutorials, + up to tutorial 10 msp tutorials</p>
<p>refernce manual - max object thesaurus</p>
<p>cycling74 alias folder -&gt; contains external patches library<br />
extras folder -&gt; contains tools which appear in tools menu</p>
<p>examples -&gt; these are patches</p>
<p>next session is April 9th</p>
    ]]></content>
  </entry>
</feed>
