Maxscore-Current-State-Of-The-Art.Pdf
Total Page:16
File Type:pdf, Size:1020Kb
MAXSCORE – CURRENT STATE OF THE ART Live API Live Clip Georg Hajdu Nick Didkovsky M4L.GetAllNotes M4L.GetTimeSig M4L.GetTempo Hochschule für Musik und Theater Hamburg Rockefeller University Figure 2. Communication between the main components Center for Microtonal Music and [email protected], of a MaxScore patch. Multi-Media (ZM4) www.algomusic.com AutoSetClef AutoSetKeySig SetTempo [email protected] 2. LIVE Transcriber Percussion Map ABSTRACT Drawing is done with the Max lcd object to which When Max for Live extension was released in 2010 the processed music glyph and curve messages are by Ableton and Cycling ‘74, it became obvious that Max MaxScore We present recent developments of MaxScore – an ultimately passed. These come out of MaxScore’s MaxScore could provide what numerous Live users were desiring: a device for the notation of Live mxj notation object for Max—and the environment first outlet while its second outlet is also used in Inverse Sequence Dump it is embedded in. Since the first presentation of response to info messages which play an important MIDI clips. To this end, we have developed two Percussion Map MaxScore at the 2008 ICMC in Belfast, the role in some scenarios in which note and/or staff devices for display (LiveScore Viewer) and editing Java software has gone through some major attributes need to be queried before a music glyph (LiveScore Editor), and added two more devices (a development stages making it a prime choice for is drawn. The third and fourth outlets pass sampler and a soundfont player) for microtonal Live API M4L.ReplaceAllNotes music notation within the Max and Live (via Max instrument output and sequence dumps as well as playback, which is not natively supported by for Live) software environments. Besides providing echo the indexes of the notes transcribed by the Ableton. a growing set of well over 230 messages, which transcriber (Fig. 2). Live Clip communicate with the JMSL API, development has focused on offering convenient tools for real-time Figure 4. Communication between Live, Max and composition and notation in networked music MaxScore during transcription and updating. The flow is environments as well as graphical and microtonal top to bottom. notation. The LiveScore/MaxScore editors are Figure 3. Screen shot of the LiveScore Viewer central to our efforts—implementing different microtonal notation modes (48TET, 72TET and 2.1. LiveScore Editor Just Intonation) as well as the Max patcher-based Ableton Live (pitch time duration d velocity mute _flag) Scorepions plugin system. notes 13 While the LiveScore Viewer was designed to give note 59 42.166668 0.158333 125 0 users a quick and musically sensible overview of a note 60 42. 0.158333 125 0 clip’s content, the editor makes use of the Live API note 60 42.333332 0.158333 125 0 1. INTRODUCTION note 62 42.5 0.158333 125 0 for bi-directional communication: a clip can be note 64 42.666668 0.158333 125 0 MaxScore is a Java Max object developed by Nick Figure 1. LiveScore Editor with floating palettes. selected from the Live clip matrix, transcribed and note 65 42.833332 0.158333 125 0 note 67 43. 0.158333 125 0 edited with all edits being instantaneously mirrored Didkovsky, which works in conjunction with Max note 69 43.166668 0.158333 125 0 abstractions created by Georg Hajdu [1][2]. Being MaxScore employs a hierarchical data format in the original. Before transcription, a key finder note 70 43.333332 0.158333 125 0 released in 2007 (with a precursor from 2005), it where score, measure, staff, track, note and interval (utilizing a neural network recognizing major/minor note 72 43.5 0.158333 125 0 elements (among others) form a tree. New key profiles [4]) and a clef finder (analyzing the note 74 43.666668 0.158333 125 0 represents the first integrated notation solution for note 76 43.833332 0.158333 125 0 the Max programming environment and has attributes (e.g. for the visibility of notes, noteheads pitch distribution in the clip) preprocess the note note 77 44. 3. 126 0 enjoyed a loyal following despite powerful or stems etc.) are continually being added to lists. Additionally, a percussion map translates done alternatives such as the Bach Project accommodate new scenarios. In addition, a user can MIDI key numbers into the appropriate pitches and (http://www.bachproject.net). MaxScore renders to define an unlimited number of extra note symbols should percussion notation be desired (Fig. MaxScore (instrument time tempo duration pitch velocity hold event_flag dimensions which can be used to control various 6). additional_note_dimension) the Canvas abstraction, which consists of a set of sequenceDump start nested Max patches (Fig. 1). While earlier versions processes and drive playback devices. 0. 0. 60. 1. 0. 0. 1. 3. 0. of MaxScore have used basic drawing shapes such To complement the functionality of MaxScore, A set of menus and floating palettes are available ... ... ... ... ... ... ... ... ... as linesegments, polygons and arcs to represent Ádám Siska has designed a number of Max for convenient editing and embellishing of the 0. 42. 60. 0.166667 60. 125. 0.158333 3. 0. transcribed clips, which can be saved in JMSL’s 0. 42.166668 60. 0.166667 59. 125. 0.158333 3. 0. musical signs, the versions since 2009 employ a externals: sadam.rapidXML, sadam.base64 and 0. 42.333332 60. 0.166667 60. 125. 0.158333 3. 0. music font and use a more abstract definition of sadam.lzo among others [3]. As some crucial info XML score format (Fig. 1). Staff attributes can be 0. 42.5 60. 0.166667 62. 125. 0.158333 3. 0. music glyphs (e.g. note heads and clefs) as well as queries return XML code, Siska’s Max wrapper for set in the Staff Manager, which represents an 0. 42.666668 60. 0.166667 64. 125. 0.158333 3. 0. alternative view of the Editor window. 0. 42.833332 60. 0.166667 65. 125. 0.158333 3. 0. music curves (e.g. ties, slurs, tuplets, ottava the efficient RapidXml parser is an indispensable 0. 43. 60. 0.166667 67. 125. 0.158333 3. 0. alta/bassa). Since rendering is done in Max, music ingredient in most scenarios involving real-time Since for a given clip, LiveScore’s transcriber will 0. 43.166668 60. 0.166667 69. 125. 0.158333 3. 0. glyph and curve messages can be intercepted and notation, while the other two objects facilitate the only transcribe one track (i.e. voice) and shorten the 0. 43.333332 60. 0.166667 70. 125. 0.158333 3. 0. duration of a note when a new note starts, the 0. 43.5 60. 0.166667 72. 125. 0.158333 3. 0. reinterpreted by the Canvas, allowing for greater communication of remote MaxScore instances—a 0. 43.666668 60. 0.166667 74. 125. 0.158333 3. 0. flexibility and adaptability compared to “boxed” welcome feature in networked music performances. question arises as to how it preserves the polyphony 0. 43.833332 60. 0.166667 76. 125. 0.158333 3. 0. solutions. The Canvas abstraction now of overlapping note events contained in a Live clip. 0. 44. 60. 3. 77. 126. 3. 3. 0. 0. 47. 60. 1. 0. 0. 1. 3. 0. The answer is as follows: note elements have a accommodates various music font maps (New Recently, a searchable dictionary was added in sequenceDump stop Aloisen, Jazz, Maestro and Opus) and microtonal order to facilitate programming with MaxScore “hold” attribute which stores sustain time and will Table 1. Comparison between Live note lists and maps (for eighth-tone, twelfth-tone and Extended with its plethora of different messages. be used when the Live clip is being updated. MaxScore sequence dumps Helmholtz-Ellis JI Pitch notation) and is also capable of exporting vector graphics in svg format. _156 _157 MAXSCORE – CURRENT STATE OF THE ART Live API Live Clip Georg Hajdu Nick Didkovsky M4L.GetAllNotes M4L.GetTimeSig M4L.GetTempo Hochschule für Musik und Theater Hamburg Rockefeller University Figure 2. Communication between the main components Center for Microtonal Music and [email protected], of a MaxScore patch. Multi-Media (ZM4) www.algomusic.com AutoSetClef AutoSetKeySig SetTempo [email protected] 2. LIVE Transcriber Percussion Map ABSTRACT Drawing is done with the Max lcd object to which When Max for Live extension was released in 2010 the processed music glyph and curve messages are by Ableton and Cycling ‘74, it became obvious that Max MaxScore We present recent developments of MaxScore – an ultimately passed. These come out of MaxScore’s MaxScore could provide what numerous Live users were desiring: a device for the notation of Live mxj notation object for Max—and the environment first outlet while its second outlet is also used in Inverse Sequence Dump it is embedded in. Since the first presentation of response to info messages which play an important MIDI clips. To this end, we have developed two Percussion Map MaxScore at the 2008 ICMC in Belfast, the role in some scenarios in which note and/or staff devices for display (LiveScore Viewer) and editing Java software has gone through some major attributes need to be queried before a music glyph (LiveScore Editor), and added two more devices (a development stages making it a prime choice for is drawn. The third and fourth outlets pass sampler and a soundfont player) for microtonal Live API M4L.ReplaceAllNotes music notation within the Max and Live (via Max instrument output and sequence dumps as well as playback, which is not natively supported by for Live) software environments. Besides providing echo the indexes of the notes transcribed by the Ableton.