Curves

Max for Live

.. this one of semi-official page, the main crossroad is here – Sequencing.
– have to say, my mind is blown away w/ M4L and its community/ users, that actually make it really live for ordinary musicians/ non-programmers..
This part still serves mostly as tracer, also cause I also deleted ytb account (cause ytb support genocide in Palestine)..

I. Sources 

Online general

Programming in Max For Live

Programming in Max For Live (ytb)
2012 – but still official and last update and overall the fact that is old ins not much disruptive. Pretty good vids.
So far only big change is location of “Open in presentation” – that is: Open Inspector, click outside object, so Inspector list is blank. Click on “P” in top line above blank win and then Open presentation.
M4L: Presentation Mode (ytb)
most of other stuff are solved in comment section: In making sequencer 9-11 – Like snapshot has to be activated in inspector or in last 11-part check pattr in solo chapter bellow..

 

Cycling ’74 Tutorials

Cycling74 Max/MSP/Jitter Tutorials: Polyphonic Synth (youtube.com)
Mentioning useful stuff metioning under titles Did You Know #.. :
Did You Know #: 2 Message Box Sends – just make semi-colon, write name of receive object and it is done, U can send it to more receivers and select it w/ $1, $2..
#4: Inspector Messages – dragging color from inspector holding Alt creates bcg box w/ particular color. W/out alt – wrote in generic. Drop on object – already connect it.

 

Gen~

Tutorial: gen~ for Beginners | Cycling ’74  |  cycling74 (ytb).
– 7-part series introducing Gen~.
Gen~ & Codebox are sometimes faster/ more efficient not necessary cause of coding (when compiled, it is actually the same), but just the fact, that u no-longer need to set order of executions, specially in case of multiple routing of signal according to the conditions. This further boost w/ fact that comparative conditions have pass: f. e. <p At gating signal till At (value – param – that keeps updated and you can put variables into operator/ objects) – no trigger for conditions, gate and actually no gate.
– codebox also allow take Cbased codes, throw them into Codebox – it highlights syntax error, so after connection u have it in your patch.
     – cool also is, that code is displayed when patching, so it speeds up learning.
– nother nice thing is that it imo keeps track better than MSP (cause it is strictly sample based, MSP use Imo some approximation), has also history operator and routing to jit.gen~….
bit unfortunately Gen~ needs Max (dongle) license (400 usd/ 200 for Ableton users).

 

Basic topics/ differences from Pd

Floats

Since M4L is based on MAX code – from time when float was calculation intensive, unlike in Pd/ Plugdata it by default use a bit annoyingly integers.
To put floats/ decimals into math-operator object need to add  “0.” into . (Pics)
Fortunately, expression works normally.
Despite this 0. (t b f has to be done in Plugdata too), nice thing is that u can set number of decimals display and live.numberbox keeps value after reopening without loadmess (tough display only 2 decimals?).

Dot-1

Pop up/ Floating window

Sending

– Max can send float to msg without set $1 – to right inlet (but it is equivalent to set – so it is just set, not output).
– M4L can aslo send across the tracks, vst/device wrappers just w/ send/ receive and inside patch w bindto, Pattr.

Storing/ loading – Preset system

– u can store similarly to Text module, but M4L has snapshot like Preset system – this is last Achilles heel of Plugdata I know about..
It also have Patrr & Pattrstorage

 

Pattr & Pattrstorage – Presets & Interpolation – Helpful Objects to Know – Max MSP Tutorial  | Ytb

 

1) Pattr w/ Attr. @bindto + calling to Scripting Name (that can be set in inspector – Bound to object) and object w/ particular Scripting name – here test – binding here two num boxes: Change in top numBox will also set blue numBox.
1b) U can set Swatch bindto testB and w/ ::bgcolor adding it will change numBox clr. 
2) U can also use middle outlet to Script name connected numBox.

Interpolate
setting recall 1 2 $1 w/ number obj. (Rpart of Pic) incrementally change/ interpolate between 1-2nd state.

– setting can be store into JSON file and read w/ read msg sent to pattrstorage.

Modulating

 see also Storing/ Loading – Preset system  Pattr part cause it a priory needs connection..

Inside patch

Using Plug-ins and Max for Live devices in Max 7 – YouTube
updates: checking available messages is not cntr+click, but Rclick. Then it is clear, that getting parameters readable msg is param (not getparam) and for printing out values one needs imo use 3rd outlet
M4L objects imo have 3r special inlet for midi.

Inside Ableton

Cycling74 Max for Live: Selected Params  |  Ytb.
– u get/set ID by clicking on Ableton parameter and then on the top msg path live..  Java part seems to me now redundant.
– once ID is set, u can keep only red square part.
– this tough only sets value, so u have to control the parameters from inside Max in order to get there new values and set modulation separately, if u particularly want to see its value unaltered with modulation.
– there is also built in Identifier u can get by Rclck on Max background and select ..(Rpic)

Inside vsts

Using Plug-ins and Max for Live devices in Max 7 – YouTube
– vst is pretty similar to modulating inside patch, however, there is no solo inlet for midi MIDI and one needs to use midiin w/ midiparse or mpeparse. (Rpic – green).
     – and for Pattr resp Autopattr for vst cannot interpolate by Patchstore values, but as shown: u can bindto parameters (also in group and individual controls) and interpole in process or u can config the pars.

Pattrforward
Thispatcher

– Scripting with thispatcher – Helpful Objects to Know – Max MSP Tutorial  |  Ytb.
– Thispatcher is one of the standard cases when script msg is used: 

Arrays/ Table

Dynamic Clocks

– can be same like in Pd (Lpic).
Same way u can use Counter (Rpic) – allowing set step length, starting point, max/ min and direction of counting in one module. Also allowing counting of rounds, send bang on max and min.

First Gate is switching between clock or Uzi – which display range at once.
Primary counter (red color) counts clock/ticks. 
Counter is tricky and needs some dedication, same like setting metro-float clocks.
Under Prim. counter hit max outlet sending bang to min message, while cycle flag (last outlet) moving the nother clock, setting number of step. This is one of the combination that work. Clock has tons of settings in which they heywire, but setting clock is same way painful proces in Pd – typical mishaps is that clock wont count first value, then then jump in third one – and they can be very creative in these type of errors.

This is just illustration patch, showing, that u r most of the time for these task better of w/ Gen~.

Pd M4L equvalents

Until
– Uzi

Spigot
– Gate

Wrap, Else/ Pi2
– constants are imo only in Gen~, Wrap is also only in Gen~, but in Max u have pong (in wrap mode it is actually wrap) and in MSP u have to use modulo.

Basic devices to learn from/ get inspired

Strang mod

– Imo revolutionary device since it bring ODE into e-music, while also displaying it.
– AZZIN did similar milestone in Architect – applying on MIDI.

For inspiration

Modular sequencer

– it is tough mostly locked, so nothing much to learn. 

Division

– also at least good bench-mark – again pushing the envelope of devices further — that is generally a healthy thing.
– I am tough generally not fan of close Max devices – u effectively kill the main advantage of Max: tweak the patch to suite it your needs.

Dillon showcasing his approach in Divion etc. on Gens Codebox

– great stuff showing use of Gen~ Codebox, Buffers + Data, how to do functions in code and how to route its signal also to jit.gen~ and for sound into oscillators..

Using Buffers to create a particle synth in Max/MSP – Part 1 (youtube.com)
File in – dropbox.

Using Buffers to create a particle synth in Max/MSP – Part 2 (youtube.com)
File in – dropbox.

Codebox used on granular synth

Max/MSP Tutorial | Build a granular synthesiser with codebox in gen~ (for loop version)
Link on – ytb.

My devices

Enveloseq

– Envelosequencer – so far just writing notes, cause it takes time..
– ES is sequencer w/ its own envelopes (and ultimately modulation) – hence envelo-sequencer. 
      – it can use either exponents or interpolation – in both cases exponents or breaking points and other parameters are stored for each step/ envelope and values can be trigger or modulated from preloader based on well-tempering. One can see that pitch and exponent bending are pretty similar characteristic – as it goes in interpolation (real Bezier curves) remains to be seen for me..
     – acceleration based on Kepler planets movement and attractors may be – if everything will go well – added.
– ES should this time run next to dynamic clocks/ counter, also Gen~ clocking. This technique should be used on internal Max envelopes to prevent glitches when modulating, ., on vst it has no sense to run/ compute audio-rate to, so  standard dynamic clock output will be used, tough w/ API it may do difference, so one still should compare it..
– in first trial is used regular exponent shaping with compound curves w/ optional bending apex point setting, but device aiming at Bezier curves. 
warning ahead – this is typical sequencer: so audio parts won’t be shared – downloadable will be only part modulating/ triggering audio (that doesn’t – obviously – include (granular)synths/ fxs): that is fun part reserved for u.

Fragments
Motion Tracer

– enter – here.

Attack

This is a win for planned Bezier curves. 

Global control overall ADSR parameters..
In Time P0 is basically offset, P1-3 are three breaking points.
Attack has 3 sections. Last point of section is first one in next, so second section has only 3 points and last has only two, cause last point there have to be 1 (so it has no sense to keep it “modulatable”). 
If scale is longer than 12 degrees, scale will get divided into part – u can set part w/ lower values under the sliders.
– project is meant to be open so u can always adjust it – for convenience it set 64 (higher values are making adjusting more difficult, so change it for higher values only if u need it.)
Upper values above slider can maybe one day allow offset the start in ratios like f. e. 10 11 12 1 2 …
Similar values bellow sliders are used in case octave has more than 12 values, scale is generally not suppose to have more than 36 steps – it definitely can if one wish, but some minor space-management needs to be then done. 
Ratio display ratio/ S ratio is slaved ratio.
Ratios are also displayed at bottom in fraction. Numerator/ denomitor is display down in line.
First number above shows integer 2 1/4  – 2 is at top right, 1/4 down. Sometime for modulation purposes u want to use 5/4 – than number five equivalent value is at top right side.
Master of three section is selected in S-I/M w/ one of the three nob. 
Fine display interpolated value between two neighboring degrees/ steps.
1-5 radios/ buttons are setting octave equivalent.
Scale/ Manual allow to interpolate across the ratios by number box – in case for modulation more than +/- 1 or whatever..
No button set whether u set point manually (or in display) and then they just modulated by ratios.
If off, u set values – 2 pairs value on down left side of sliders manually (or u set it in display and value shows up there).

Last box on Right side is obviously Preset – 16 values are for bar, U can than change bar and Phrase.
     – last 8 values are for testing shapes.
     – txt save for interchanging saves may be added..

Dec. (at top/ left to sliders) sets number of decimal places display – 1 = 3, 2 = 4, 3 = 5 and correct 4 = 6.

Function
First button sets wheter ratios will be multiplied (typicaly used for pitch) or add up.
Second buttons sets equal temperament – button down sets typical equal temperament, nother is for your own algorithm.
In case u have more algorithm, number box on right is used.

Sub windows
Under the preset are sub windows: 1) first one is explained on Attack top part: in win are 4 values used for modulation 4 ratios – their original value is retained (both in fraction and number). If u decided to modulate w/ fraction style, u use fraction in this win and result ratio is display next to it.
U can also modulate w/ interpolation – changing 4 values row down in the middle. The row below shows new cents like style value.

This text will be in patch Infos (uploaded tough after it settles).
Patch will be uploaded soon, but finishing will take long – very long time.
The manual is writing on fly cause I also need to understand, what am I doing, specially when I came to patch after some pause.]]]
GUI is inline only on px base order – this mean that some values/ buttons.. may not be in line. This would required set position manually, but at stage when GUI is constantly changing/ evolving, it would slow down patching.
There will be longer pause – like till autumn – I need to dig into Bezier curves, Graphics and Attractors

Intepolation  of changeable scale

Misa tribut – thnx to legendary Pd/Pgd user for helping to sort out interpolation in for brutalist/ minimalist accessible way.

The interpolating of more than 2 values can be done w/ setting breaking point (“> 0” – pic), which when crossed will tough leave leftover (it is not caused by imprecision)..
Suppose u changing value in cents, when crossing from 0.01 to 0 – which sets new range – zero value get trigger to new range, but will still keep leaving 0.1 from previous range.
So u have to set up eraser when departure value range.
This may not be an issue on some modulation, but definitely is a problem on Pitch in ratio, when 0.01 can make more than 1/3 of the step..

Violet is same like (plus it also receive/ load scale) in my former Enseq – Using Gate can save a lot.

XX

X

Leave a Reply

Your email address will not be published. Required fields are marked *