The Music Processing Language
Jan 31, 2016
The Music Processing Language
Da Quan Rong
Midium
scripting languagecomposition and editing of musicplatform independent architecturesupport for wav, midi and Mp3useful regardless of musical ability
Language Features
InterpretedJava-basedEnables music effects processing
Midium Programsampletrack = open("sample.mp3")play(sampletrack)while(sampletrack.realDuration > 100)
wait(4)changeSpeed(sampletrack,1.2)
endwhilewait(3)stop(sampletrack)
Application Domain
programming language platformsynthesizer
Michael Brotzman
Architecture
MidiumSourceProgram
Controller
Model Disc
View
Output
Midium
Controller
MidiumSourceProgram
Lexer
Model
View
Controller
Interpreter
Grammar
StateManager
Model
Controller DAO
View
Model
Disc
View
Player
Controller
Model
View
Synthesizer
Output
EffectsEngine
Mikhail Aronov
File Types in Midium
.mm .trk .mp
Source Program FileMain.mm
t = open(“track1.trk”)while (t.realDuration >= 2.0)
play(t)changeSpeed(t, .5)
endwhile
Track Filetrack1.trk
0.0 2.0 file1.mp3 2.0 5.0 file2.mp30.0 3.0 /home/PLT/file3.trk1.0 3.0 file4.wav
Wait Time
Duration
Media file
Key Mapping Filesample.mp
a 0.0 file1.mp3b 2.0 file2.mp3c 0.0 /home/PLT/file3.trkd 1.0 file4.wav
Offset
Character
File name/Path
Jacquilene Jacob
Program Functions
system functionseffect functions
System Functions
stopprintmatchcontainswaitstartSynthstopSynth
Sample.mm
t = open(“track1.trk”)while (t.realDuration >= 2.0)
play(t)changeSpeed(t, .5)
endwhile
open
play
Effects
filterfadeloop
compressreverse
Sample.mm
t = open(“track1.trk”)while (t.realDuration >= 2.0)
play(t)changeSpeed(t, .5)
endwhile changeSpeed
Testing and validation
Test cases
EffectsSystem functionsInterpreter
simpleflexiblepowerfulANDno semi-colons!