Micro Textures With Macro-notes

Embed Size (px)

Citation preview

  • 7/30/2019 Micro Textures With Macro-notes

    1/4

    MICRO TEXTURES WITH MACRO-NOTES

    Mikael Laurson Mika Kuuskankare

    Sibelius AcademyCMT

    Sibelius AcademyDocMus

    ABSTRACT

    Viuhka is a compositional tool situated in PWGL. Thesystem has been recently adapted in order to enhance ournotation package. This paper contains a new notationalshort-hand, called macro-note, that can be used torealize short musical segments that have their lifespanwithin a macro-note. The system allows to generatevarious ornaments in the traditional sense, such as

    tremolos, trills, and arpeggios. More complex texturesare possible using overlapping and recursive macro-notedefinitions.

    1. INTRODUCTIONOur research group has used music notation for soundsynthesis control for several years. Our main focus has

    been in the control of instrument models [1, 2, 3]. Forthis purpose our notation software, called Expressive

    Notation Package or ENP [4], has many extra additionsand tools that are not typically found in notation

    programs such as score-BPFs, specialized note propertyeditors and tempo functions [5]. One of the main

    challenges in using music notation as a starting pointfor synthesis control is to modify the basic musicalinformation provided by the score, such as pitchinformation and rhythm, so that the system is able to

    produce convincing results in a musical context.In this paper we present a new concept, called macro-note, that allows to use notational short-hands which aretranslated by the control system to short musicaltextures. Obviously, similar kind of notational short-hands have been used already in musical scores forcenturies. For instance, tremolo-, trill- and arpeggio-markings are convenient as they allow to produce moreeconomic scores. Performers, who are accustomed to agiven musical style, are given more freedom for theirinterpretation. For instance during the baroque periodthe performer was expected to improvise variousembellishments and ornaments, occasionally even if thescore had no expression markings. The use of notationalshort-hands when dealing with sound synthesis controlis interesting partly due to same reasons. To realize anornamentsay a baroque trill in a dance movement

    just by using metrical notation without any abstractionmechanism can be an awkward and frustratingexperience. What is worse, the result is typically ruinedif the user changes the tempo. Thus, in order to capturethe freeflowing accelerandi/ritardandi gesturestypically associated with these kinds of ornaments we

    need better abstraction mechanisms: the system shouldrespond gracefully to tempo changes or to changes innote duration; the system should know about the currentmusical context such as dynamics, harmony, number ofnotes in a chord; the system should have knowledge

    about the current instrument and how it should react tovarious playing techniques; and so on.

    The idea of macro-notes is based on a compositionalenvironment called Viuhka [6]. Viuhka (Finnish, inEnglish Fan, in French ventail) is a PWGL [7]user-library designed for and based on ideas by PaavoHeininen (a well known Finnish composer, currently theemeritus composition professor at Sibelius Academy).PWGL, in turn, is a visual programming environmentwith a strong emphasis on computer assistedcomposition. Viuhka has mainly been used forcompositional work. One example is a composition byProfessor Paavo Heininen, called The Blue Exposure,a 15-part piece for computer generated tape, premiered atthe Musica nova festival in 2002, that was realizedusing Viuhka and PWCollider [8].This paper is organized as follows. First we give a briefoverview of the underlying Viuhka system which isused to generate the final musical textures. After this weexplain the macro-note definition protocol and how it isinterfaced with ENP and PWGL. The final sectionconsists of several case studies which aim to

    demonstrate the system in practice.

    2. VIUHKAViuhka is used to create complex, multi-layered musicaltextures. These can be used to produce scores forinstrumental music and to provide material for soundsynthesis. The end result of a Viuhka patch can either bedisplayed in a PWGL 2D-editor or in a PWGL score-editor.

    The starting point is a group of break-point functions(Viuhka bpfs) that constitute the pitch field (harmonicskeleton) of the result. Viuhka bpfs provide the main

    pitch material which can further be elaborated bydifferent sorts of Viuhka ornaments. Besides typicalornaments (like grace notes, trills, etc.), the Viuhkaornaments can also be runs, repetitions, chords, clusters,clouds or even complete Viuhka patches (i.e. a Viuhka

    patch can contain other Viuhka patches). The usertypically divides a Viuhka patch into musical timeslices or segments. The duration of the segments aregiven as a list of delta-times (or time intervals). Thestructure of each segment (i.e. number of layers,rhythmic structure, time modification, ornaments andsynthesis information) is normally given inside aPWGL abstraction. where the user defines the Viuhka

    parameter values. The output of the main Viuhka box isthe final score.

    In the following, when discussing the macro-notes, weconcentrate only to a subset of concepts provided byViuhka (for a more complete discussion see [6]).

  • 7/30/2019 Micro Textures With Macro-notes

    2/4

    Perhaps the most obvious difference between Viuhkaand our new macro-note scheme is that in the latter onewe produce musical textures that typically last only afew seconds, whereas Viuhka has been used to produce

    pieces lasting several minutes. Another importantdifference is that when working with macro-notes thesystem must access musical information from thecurrent macro-note such as pitch, dynamics and

    duration.

    3. MACRO-NOTE DEFINITIONNext we discuss how to define macro-notes in PWGL.These definitions can be quite general so a single macro-note definition can often be used in many musicalcontexts. After the user has defined a macro-note havinga unique name, it can be used in our notation program

    by attaching an expressioncontaining the name stringof the macro-noteto a note. When the score iscalculated, any macro-note encountered in the score willtrigger the appropriate macro-note definition which

    results in a sequence of note events. Several examples ofmacro-note definitions will be discussed in Section 4.

    A macro-note is defined visually using a specializedbox, called mk-macro-note, containing 14 requiredinputs (Figure 1). The first 7 inputs are shown in alight-grey colour and they are organized in 3 rows.These inputs define some general parameters whichaffect the box and its behaviour in general. The last 7inputsgrouped in 4 rowsare shown in dark-greycolour and they affect each individual note in theresulting sequence.

    The number of inputs can vary depending on the firstmenu-box input, class (row 1). This input defines theinstrument class for which the macro-note should bespecialized for. The class input should belong to theENP instrument class hierarchy [9]. Figure 1 shows amk-macro-note box that is specialized for the abstractinstrument class. instrument is the root class of theENP instrument class hierarchy and it has directsubclasses such as aerophones, strings, keyboardand percussion. The strings class has in turn twosubclasses: plucked-strings and bowed-strings. Bychanging the class definition the user can change the

    behaviour and the input scheme of the box. For instanceFigure 3 (given in the next section) shows a mk-macro-note box where the user has changed the class input to

    plucked-strings. This operation can change the numberof inputs depending on the class input. Our systemcontains a database that allows to define extra inputs forspecific instrument classes. In our example the plucked-strings has optional inputs for string, slur? andpluckpos. These parameters can be used to defineinstrument specific behaviour for macro-notedefinitions.

    In row 2 the next two inputs name and removeinputs define the name of the macro-note and whetheroriginal score notes belonging to the chord of themacro-note should be removed from the final result ornot. The third input in row 2, macro-notes, allows a

    kind of recursive macro-note definition as it accepts

    other mk-macro-note boxes as input. The result of anincoming texture is merged with the result of the currentmacro-note texture.

    The third row affects the global timing, duration andlength of the resulting sequence. It contains the inputoffsets which allows to define a time delay before theresulting texture begins. If this parameter is a list of

    offsets, the mk-macro-note box generates a delayedtexture foreach offset. This allows to create complex,densely overlapping textures using only a single macro-note definition (Figure 5 gives such an example).dursc allows to scale the duration of the resultingtexture relative to the duration of the macro-note. len-function can be given to constrain the length of theresulting sequence. This parameter guarantees that theresult length (i.e. number of notes) will fulfil a user-definable pattern. Typically this parameter is used inconjunction with ornaments that must always end witha certain note (see for instance Figure 3). If len-function is () then notes are simply generated until theduration of the sequence exceeds the duration of the

    macro-note.

    The rest of the inputs from pitch onwards (rows 4-7)are quite close to the ones found in the Viuhka system.These refer mostly to ordinary note parameters, such as

    pitch, timing, dynamics, articulation, etc. Row 4 dealswith pitch: pitch input is used to build the pitch fieldconsisting of break-point functions. indexes definesindexes that are used to read these break-point functions.Thus an index equal to 1 refers to the first break-pointfunction, 2 to the second one, and so on. Row 5handles the timing of the notes: dtimes is a list ofdelta-times between successive notes and tmodif isused to define tempo modifications with the help oftempo functions. In the next row ornaments allows todefine the note-types of the notes (n stands for anormal note). Finally, in row 7 amp is a list of MIDIvelocity values and artic is a list of articulation valuesgiven in percentage.

    Most of the ordinary note inputs discussed above acceptarguments as circ-lists [6]. Circ-lists are like ordinaryLisp lists except that the items are read in a circularfashion (i.e. after reading the last item, the next item isaccessed from the beginning of the list). A circ-list cancontain: (1) a single item (number, symbol, break-pointfunction, etc.); (2) lists of items; or (3) special formsthat are evaluated when they are being read. Thus anargument 60, a short-hand for (60), will result in (6060 60 ), (1 2 3) will result in (1 2 3 1 2 3 1 2 .),(1 3* 2)this a special form where 2 is repeated 3times will return (1 2 2 2 1 2 2 2 1 2).

    The inputs can contain reserved symbols that refer to thepossible state of the current macro-note or the currentchord owning the macro-note, such as: midi (thecurrent pitch-value of the macro-note); aux-midi (the

    pitch-value of an optional auxiliary note belonging to atrill or a glissando expression), midis (a list of pitch-values of all notes belonging to the current chord);string (the string number of the macro-note), and soon. Some state symbols have meaningful values only

  • 7/30/2019 Micro Textures With Macro-notes

    3/4

    when used in a correct context. For instance, string canhave a value only when dealing with string instruments.

    Figure 1. A mk-macro-note box specialized for theinstrument class with default values (to the left)and documentation strings (to the right).

    4. EXAMPLESIn this section we present some case studies in order toshow how our system can be used to define macro-notes. Under each example there is a musical score thatcontains one or several macro-note realizations. The notesequences generated by the macro-notes are shown in the

    notation with light-grey note heads without stems.

    We start with a simple macro-note example specializedfor plucked-strings, called tremolo (Figure 2). Itgenerates note repetitions using a tempo function and aamplitude contour (see the respective break-pointfunctions connected to the tmodif and amp inputs).dursc is 0.5 which means that the tremolo textureoccupies only half of the duration of the macro-note.Other parameters are defined as follows: pitch =midi, which refers to the pitch-value of the macro-note(the resulting pitch field consists of only one break-

    point function); indexes = (1), i.e. we always refer tothe first break-point function of the pitch field (thisresults in a repetition pattern); d-times is 0.15s (thisvalue is continuously modified by the tmodif

    parameter); ornaments = (n), i.e. we use only ordinarynotes in the result; artic = 100%, all notes arearticulated as full legato.

    Figure 2. A macro-note definition to generatetremolos (top) and its use in ENP (bottom).

    Our second example is quite similar. Now a trill gestureoccupies almost the whole duration of the macro-note(dursc = 0.9). Instead of generating a plain repetition,we have a pattern that alternates between the midi andthe aux-midi values (see the pitch input and theindexes input containing (1 2)). len-function checks

    that the last note of the sequence will always be themain-note of the ornament (= midi). The mk-macro-

    note box in Figure 3 contains also two optionalarguments, which allow to define fingering patterns for

    plucked-string instruments. Here both notes in thepattern will share the string number of the macro-note,(list string). (Note that the score is automaticallyfingered by the system before the macro-notecalculation.) The slur? parameter states that only thefirst note will be plucked while the rest will utilize a

    left-hand slurring technique (i.e. the input (nil 20* t)results in a circ-list that starts with a nil followed by20 tst stands for true).

    Figure 3. A left-hand trill definition for plucked-string instruments (top) and its use in ENP (bottom).Note that the score gives the auxiliary notes inparen thesis

    Our next example is more complex, and it aims todemonstrate two important features in the system. First,the macro-note can belong to a chord that containsseveral notes (see Figure 4). This allows to define more

    interesting pitch fields. Second, the boxes connected tothe inputs are always re-evaluated when the macro-notecalculation begins. Thus the system is dynamic as eachinput evaluation may produce different input values. Inour case the score contains multi-note chords that

    provide a rich pitch field which can be referred to by theindexes input. The pitch field is constructed using theexpression (mapcar list midis midis). This translateseach pitch-value in the current chord to a break-pointfunction. The indexes input is connected to a text-

    box. This box contains a Lisp expression that isevaluated each time a new macro-note is calculated. Theindexes input receives varying index patterns, whichmanifest themselves in complex arpeggio patterns in thefinal score. The artic parameter is 250% which meansthat all notes in the result are overlapping.

  • 7/30/2019 Micro Textures With Macro-notes

    4/4

    Figure 4. A complex arpeggio, carp, definition.

    Our final example (Figure 5) is elaborated from theprevious one. Here we aim to produce a complexstrumming technique that is used by flamenco

    guitarists, called rasgueado. This technique can beapproximated by generating several rapid and complexarpeggios with a small and varying delay between eacharpeggio gesture. To achieve this we use the offsetsinput (this input has been = 0 in all previous examples)and connect it to a patch that returns small random delta-valuesin the range 0.05s and 0.12sthat form adynamic list of offset values.

    Figure 5. A rasgueado technique simulation resulting in adense, overlapping texture. Each arpeggio pattern is delayedby a small random value.

    5. CONCLUSIONSThis paper presents a new tool that allows to generate ina flexible manner small-scale textures within a musicnotation system. Visual macro-note definitions can beused to realize both conventional ornaments and moreexperimental textures such as densely overlappingmulti-textures. Macro-notes are able to react to tempochanges and changes in macro-note duration. The usercan specify the used pitch material directly in the score.The inputs are evaluated dynamically in order to getvaried and lively results.

    6. ACKNOWLEDGEMENTSThe work of Mikael Laurson has been supported by theAcademy of Finland (SA 105557).

    7. REFERENCES[1] Laurson, M., C. Erkut, V. Vlimki, and M.

    Kuuskankare. Methods for Modeling RealisticPlaying in Acoustic Guitar Synthesis,Computer Music Journal, 25(3): 3849, 2001.

    [2] Vlimki, V., M. Laurson, and C. Erkut.Commuted Waveguide Synthesis of theClavichord, Computer Music Journal, 27(1):71-82, 2003.

    [3] Vlimki, V., H. Penttinen, J. Knif, M.Laurson, and C. Erkut. Sound Synthesis ofthe Harpsichord Using a ComputationallyEfficient Physical Model, EURASIP Journalon Applied Signal Processing, 2004(7): 934-

    948, 2004.[4] Kuuskankare, M., and M. Laurson. ENP2.0 A

    Music Notation Program Implemented inCommon Lisp and OpenGL, Proceedings ofthe International Computer Music Conference.Gothenburg, Sweden, pp. 463-466, 2002.

    [5] Laurson, M., and M. Kuuskankare. Aspectson Time Modification in Score-basedPerformance Control,Proceedings of the 2003SMAC. Stockholm, Sweden, pp. 545-548,2003.

    [6] Laurson, M. Viuhka: A CompositionalEnvironment for Musical Textures, VII

    Brazilian Symposium on Computer Music,Curitiba, Brasil, 2000.

    [7] Laurson, M., and M. Kuuskankare. PWGL: ANovel Visual Language based on CommonLisp, CLOS and OpenGL, Proceedings of the

    International Computer Music Conference.Gothenburg, Sweden, pp. 142145, 2002.

    [8] Laurson, M. PWCollider: A VisualComposition Tool for Software Synthesis,

    Proceedings of the International ComputerMusic Conference. Beijing, China, pp. 20-23,

    1999.[9] Laurson, M., and M. Kuuskankare. Instrument

    Concept in ENP and Sound SynthesisControl, Proceedings of the 2002 Journesd'Informatique Musicale. Marseille, France,2002.