iPhone Applications Dev. Site


Safari, Firefox recommend  


Menu
Blog (en)
Blog (ja)
Dr Metronome (en)
Dr Metronome (ja)
Music Calc(en)
Music Calc(ja)
PPPPiano(en)
PPPPiano(ja)
Sound Pedometer GPS (en)
Sound Pedometer GPS (ja)
Piano R (en)
Piano R (ja)
Twicecast Radio(en)
Twicecast Radio(ja)
Voice Press (en)
Voice Press (ja)
P5 (en)
P5 (ja)
Tropf Musik(en)
Tropf Musik(jp)
Live Music Coder M^2 (en)
Live Music Coder M^2 (ja)
Synchronicity (en)
Synchronicity (ja)
Twicecast Live!(en)
Twicecast Live!(ja)
Ear Test3r (en)
聴力テスタ E3(ja)
dot E ++ (en)
dot E ++ (ja)
M^2 OSC (en)
M^2 OSC (ja)
Melody Mail (en)
メロディメール (ja)
Dr M. Vibration (en)
Dr M. Vibration (ja)
Dr Metronome.01(en)
Dr Metronome.01(ja)
BeatStopCamera(en)
BeatStopCamera(ja)
Demo Movies
Contact Us

Live Music Coder M^2  OSC :  Music Composer by Mathematics / Open Sound Control, for iPad

This application calculates note numbers and play their sounds in real-time operated by using command line style interface. It looks like Unix but also has new feature of our one-line-coding rule.
It supports Open Sound Control that can play external sounds too.

Try to play music by a sequence of numbers and formula instead of a score!
< Demo Movie >

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

[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

 

 


Powered by InfoIntegraView