Live Music Coder M^2 OSC Designed For Command-Line Music Making

iPad Music Software:  Live Music Coder M^2 OSC is a new computer music app that calculates note numbers and play their sounds in real-time, operated by using command-line style interface.

It supports Open Sound Control to play external sounds too.

“We make an effort at simple and real-time operation,” note the developers. “You can do all operations of the parameter change etc. while playing music in real-time.”

You can get a taste of the Live Music Coder command options below.

Live Music Coder is available now for $1.99 in the App Store.

[function]

define parameters
describe formula
start/stop sequencer
view data list
save/load/delete parameters
view current status
show help

[calculator] 1) user parameter
r1,r2 : array of note number
– note : 4 octave from 1 to 48, except for them are silence. 1tick = sixteen note.
– sound: sine wave which decreases envelope , no volume controller.
– tempo : 40 – 160 BPM
a0, b0, c0, d0 : 4 output sound channels. calculate each formula.

– simple example
define parameters:
r1=1 3 5 6
r2=13 15 17
a0=r1
b0=r2
->
output A track : C1 D1 E1 F1 C1 D1 E1 F1 C1 ……. repeated
output B track : C2 D2 E2 C2 D2 E2 C2 D2 E2 …….repeated
as sixteen note

2) operator
+, -, *, / , % ( add, subtract,multiply,divide,residue)

3) controller
?,:, !, <, =, >,| (if, else, not, smaller, equal, larger, separator)

4) embedded parameter
q : tick. increment this per sixteen note.
s : slider value (0~99)
x : random value (0~range) range:0~99
v1,v2,v3,v4 : store the value before separator(|) and branch(?,:), then reference in the expression.
(1|2|3|4| -> v1=1, v2=2, v3=3, v4=4)
a1~8, b1~8, c1~8, d1~8 : history of a0, b0, c0, d0 (a0->a1->a2->a3->a4->a5->a6->a7->a8)

5) formula samples
** First of all define the array (sequence) “r1/r2” of note number and then calculate them in the sound track (a0, b0, c0, d0).

r1=1 3 5 6 8 10
a0=r1+1 -> 2 4 6 7 9 11 ….
a0=r1?>5+12 -> 1 3 5 18 20 22 ….
(if r1>5 then r1+12)
a0=r1?>5+12:12|v3 -> 12 12 12 18 20 22 ….
(if r1>5 then r1+12 else 12)
a0=r1?>5|24:12|v4 -> 12 12 12 24 24 24 …..
(if r1>5 then 24 else 12)
———-
r2=1 0 1 1 2 0 2 2 (0: rest)
b0=r2
->
1 0 1 1 2 0 2 2 1 0 1 1 2 0 2 2 …
———-
a0=x
(simple random music)

[button] start/stop : start/stop music
list/load/save/delete : list data file, load/save/delete data
status/view/help1/help2 : view current status, view selected data int the list, show help1/help2

clear : back cursor or clear-all-parameter
enter : execute command

r : define note number (switch r1/r2)
a : select (a0,1,2,3,4,5,6,7,8)
b : select (b0,1,2,3,4,5,6,7,8)
c : select (c0,1,2,3,4,5,6,7,8)
d : select (d0,1,2,3,4,5,6,7,8)

a0: describe formula of sound track 1 (left operand only)
b0: describe formula of sound track 2 (left operand only)
c0: describe formula of sound track 3 (left operand only)
d0: describe formula of sound track 4 (left operand only)
a1-8: reference history of output note number of track1 (right operand only)
b1-8: reference history of output note number of track2 (right operand only)
c1-8: reference history of output note number of track3 (right operand only)
d1-8: reference history of output note number of track4 (right operand only)

v : select (v1,2,3,4)
selector : switch octave
OSC : OSC setting

5 thoughts on “Live Music Coder M^2 OSC Designed For Command-Line Music Making

  1. @Victor
    I Totally agree. You could also do this in "Basic!" for the iPad. I think this app is a little more in depth and let's you use external sounds as well tho.

  2. I fail to see how this language (apart from the implementation) is really useful for computer music. There's no support for pitch classes, no markov chains, no grammars, no analysis, etc. Apart from the fact that you don't have a keyboard to work with while you actually need one this can't be for real, this has to be joke, right?

  3. I got this web site from my friend who told me on the topic of this web page and at the moment this time I am
    browsing this site and reading very innformative articles at
    tbis place.

Leave a Reply

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