Live Music Coder M^2 app for iPhone and iPad


4.6 ( 6416 ratings )
Music Education
Developer: Twove Lab
0.99 USD
Current version: 1.1, last update: 6 years ago
First release : 26 Jun 2010
App size: 934 Kb

Live Music Coder M^2 : Music Composer by Mathematics

This application calculates note number and play its sound 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 and reversed scroll.

Try to play music by a sequence of numbers and formula instead of a score!

We make an effort at simple and real-time operation. You can do all operation of the parameter change and parameter 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
type : change keyboard
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)
oct : switch octave


Please visit our website!
http://iphone.iiv.jp/