Presentation is loading. Please wait.

Presentation is loading. Please wait.

A MINIMAL FRACTAL MUSIC FRACTAL MUSIC COMPOSITION LANGUAGE Jake Amonette, Tal Giat, Brian Hsieh, Eugene Yao Team Mondegreen.

Similar presentations


Presentation on theme: "A MINIMAL FRACTAL MUSIC FRACTAL MUSIC COMPOSITION LANGUAGE Jake Amonette, Tal Giat, Brian Hsieh, Eugene Yao Team Mondegreen."— Presentation transcript:

1

2 A MINIMAL FRACTAL MUSIC FRACTAL MUSIC COMPOSITION LANGUAGE Jake Amonette, Tal Giat, Brian Hsieh, Eugene Yao Team Mondegreen

3 Brian Hsieh

4

5 Jake Amonette

6 Tal Giat

7 MOTIVATION

8

9

10

11 DIFFERENT

12 FRACTAL

13

14 CONTEXT FREE ART

15

16 STARTSHAPE START RULE START{ SS1{ S 1.5 Y -.13} } RULE SS1 { BASE{S 1.3} BARNEY {} FRED {} } RULE BASE { SQUARE {B 0} SQUARE {S B 1} } RULE FRED { SQUARE {B 0} SQUARE {S B 1} FRED {R -3 S 0.98} } RULE BARNEY { SQUARE {B 0} SQUARE {S B 1} BARNEY {R 1 S 0.98} }

17 !PROGRAMMER

18

19 DETERMINISTIC

20

21 STEVE REICH

22 Language Description  AMFM  Object based music fractal composition language Seed-based Self-similar manipulations  Outputs music file

23 seed pianotest { PIANO; //6 bars of flute, 1 bar per line A4,1/4; C5,1/4; E5,1/8; G5,1/8; F4,1/4; E5,1/4; C5,1/4; A4,1/2; A4,1/4; C5,1/4; E5,1/8; G5,1/8; F4,1/4; E5,1/4; C5,1/4; A4,1/2; C5,1/4; D5,1/4; G5,1/8; A5,1/8; Ab4,1/4; G5,1/4; D5,1/4; C5,1/2; } seed flutetest { FLUTE; //1 bar of flute, 1 bar per line A4,1/8; C5,1/8; E5,1/16; G5,1/16; F4,1/8; E5,1/8; C5,1/8; A4,1/4; } start { play(pianotest, 1, 6); SSRhythm(flutetest, 3, 4); } seed pianotest { } seed flutetest { FLUTE; //1 bars of flute, 1 bar per line A4,1/8; C5,1/8; E5,1/16; G5,1/16; F4,1/8; E5,1/8; C5,1/8; A4,1/4; } E5,1/4; C5,1/4; A4,1/2; A4,1/4; C5,1/4; E5,1/8; G5,1/8; F4,1/4; E5,1/4; C5,1/4; A4,1/2; C5,1/4; D5,1/4; G5,1/8; A5,1/8; Ab4,1/4; G5,1/4; D5,1/4; C5,1/2; start { } play(pianotest, 1, 6); SSrhythm(flutetest, 3, 4); C5,1/4; E5,1/8; G5,1/8; F4,1/4; PIANO; //6 bars of piano, 1 bar per line A4,1/4; Sample Program

24 Translator Architecture

25 Systems Integration  Music generated by Fractal Composer by Myron Marston  Open source fractal music engine 

26 Fractal Composer  Fractal music Java library

27 Fractal Composer  AMFM generates a Java class that uses Fractal Composer  Fractal Composer generates musical output

28 Fractal Composer  Simple, right?

29 Fractal Composer  Problems!

30 Fractal Composer  Normally accessed via web front end  Unsuitable for our use. Also…

31 Fractal Composer  UI is cumbersome for creating large/complex compositions

32 Fractal Composer  Can’t read a UI like you can a program (or musical score)

33 Fractal Composer  Limitations!

34 Fractal Composer  Cannot have more than one seed per composition

35 Fractal Composer  No notion of sequence  AMFM allows composer to start or stop playing seed arbitrarily

36 Fractal Composer  Solution!

37 Fractal Composer  Extensive modifications to library

38 Fractal Composer  Refactored structure of library

39 Fractal Composer  Added multi-seed capability

40 Fractal Composer  Added basic sequencing

41 Fractal Composer  Modified API to allow generic front end

42 Environment and Support Tools IDETestingIdea Platform Translator Framework LangDocumentation + Source Control Eclipse + AntlrIDE gUnit + JUnit ChalkboardAntlr + StringTemplate Java1. 6 Google Code: Wiki, SVN

43 Test Plan Code check in/out

44 Test Plan Write new code Code check in/out

45 Test Plan Write new code Automated regression testing Code check in/out

46 Test Plan Write new code Automated regression testing Black box testing Code check in/out

47 Test Plan Write new code Automated regression testing Black box testing Code check in/out All tests passed

48 gUnit  gUnit, a unit testing framework for  SampleTest.gunit iler;} //test lexer COMMENT: "//hello\n" OK "// hello world\n" OK "/** too complicated */" FAIL

49 gUnit

50

51

52 CHANGE

53 HARD

54

55

56

57

58

59


Download ppt "A MINIMAL FRACTAL MUSIC FRACTAL MUSIC COMPOSITION LANGUAGE Jake Amonette, Tal Giat, Brian Hsieh, Eugene Yao Team Mondegreen."

Similar presentations


Ads by Google