DOC PREVIEW
Columbia COMS W4115 - m - A language for music generation

This preview shows page 1-2-3 out of 8 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 8 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 8 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 8 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 8 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

m A language for music generation.IntroductionCompiler DesignHello World TutorialDerived TypesLessons LearnedConclusionsDEMOmA language for music generation.Yiling Hu | Monica Ramirez-Santana | Jiaying XuIntroduction m is a language specifically designed for algorithmic music composition Gives the programmer the following functionality: translation of traditional musical concepts into arithmetic types arithmetic operators for manipulation typical control structures randomization functionsCompiler Designinterpret.mlm.ml  scanner.mll  parser.mly  ast.mljavacjavaprogram.mOutput.javaOutput.classoutput.midHello World Tutorial/* The 'Hello World' program of the m algorithmic music compositionlanguage. Plays middle C. */void main(){note n;chord c;staff s;part p;n.pitch = C4; // set the note, middle Cn.duration = 1.0;n.intensity = 100;s.instrument = 0; // pianop.bpm = 60;p.beatsig = 0.25;add(c, n);add(s, c);add(p, s);play(p);}C-like syntaxPitch literal – shorthand for the programmerMore typesPrint this song to Java source fileCompose the songSet all derived type fields-Define note and song characteristicsDerived TypesType Members add() play()notepitchintensitydurationCannot add anything to type notePlay the pitch at the intensity defined for the duration defined.chordCollection of notesAdd type notePlay its notes simultaneously.staffCollection of notes and chordsinstrumentAdd typechordPlay its chords in the order they were added.partbpmbeat signatureAdd type staffPlay its staffs simultaneously. Translation of traditional music concepts into arithmetic types Hierarchical in nature Standard library functions to interact with themLessons Learned Start early Learn Ocaml Meet often Source code version control Testing is good Catching errors early on is hardConclusions Simple way to make simple music Great for elevators, coffee shops, places that have music that no one really pays attentions Meet often Making a language is


View Full Document

Columbia COMS W4115 - m - A language for music generation

Documents in this Course
YOLT

YOLT

13 pages

Lattakia

Lattakia

15 pages

EasyQL

EasyQL

14 pages

Photogram

Photogram

163 pages

Espresso

Espresso

27 pages

NumLang

NumLang

6 pages

EMPATH

EMPATH

14 pages

La Mesa

La Mesa

9 pages

JTemplate

JTemplate

238 pages

MATVEC

MATVEC

4 pages

TONEDEF

TONEDEF

14 pages

SASSi

SASSi

16 pages

JTemplate

JTemplate

39 pages

BATS

BATS

10 pages

Synapse

Synapse

11 pages

c.def

c.def

116 pages

TweaXML

TweaXML

108 pages

Load more
Download m - A language for music generation
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view m - A language for music generation and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view m - A language for music generation 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?