-,J      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                  ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d efghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~       $portable experimentalsilva.samuel@alumni.uminho.pt!portable experimentalsilva.samuel@alumni.uminho.pt"portable experimentalsilva.samuel@alumni.uminho.ptE  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGE  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGEFGABCDE?@:;<=>7983456.210/+-,()*"'&%$# !  E    !!"'&%$##$%&'()*)*+-,,-.210//012345645679889:;<=>;<=>?@@ABCDEBCDEFGGportable experimentalsilva.samuel@alumni.uminho.pt HInvariant class specification IJRatio Number definition KInteger Number definition LText is String MDelta type is a number NNumber is Double Owrapper to get Integer Number Pwrapper to get Ratio Number Qlike unzip Rlike zip HIJKLMNOPQR NMLKJOPHIQR HIIJKLMNOPQR,STUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~,STUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~,}~{|yzwxuvstjrqponmlkgih_fedcba`]^Y\[ZVXWUST,STTUVXWWXY\[ZZ[\]^^_fedcba``abcdefgihhijrqponmlkklmnopqrsttuvvwxxyzz{||}~~portable experimentalsilva.samuel@alumni.uminho.pt2222 portable experimentalsilva.samuel@alumni.uminho.pt)split product the 0-adic split fst snd Left Right sum McCarthy's conditional: ap expn guard swap  assoc right  assoc left  dist right  undist right  flat right  flat left  unflat right  unflat left pair with nil coswap coassoc right maybe 2 Either either 2 maybe Binding to either2maybe Binding to maybe2either out  catamorphism in  anamorphism  hylomorphism mapping concat reverse out  catamorphism in  anamorphism  hylomorphism )))portable experimentalsilva.samuel@alumni.uminho.pt6Definition of Settings to make general configurations  It is possible grow empty configurations  fromList wrapper to settings wrapper to settings Get value from configuration #get Text value from Configurations %get Number value from Configurations  Change Text Change Number Union  portable experimentalsilva.samuel@alumni.uminho.pt Motive Definition make new motive $get Internal Motive representation (get Motive from internal representation General cata  General map (join Pair of Motive into Motive of Pair )Split Motive of Pair into Pair of Motive (join List of Motive into Motive of List )split Motive of List into List of Motive    portable experimentalsilva.samuel@alumni.uminho.pt* MelodicNode with PitchClass  Pitch Class definition  B  A  G F E D C Accident is defined as number  provisional.  It doesn'3t support natural (only supports flats and sharps) 3 To supports sharps, flats and natural, it will be  Maybe Number & This number is number of half-tones. Melodic node default settings  rest combinator ! Default rest "default non-rest #'Transforms 7-number into Char notation $'Transforms 7-number into Char notation %(Transforms Char into 7-Number notation &Transpose to 12 level '(transforms 7 level to 12-level notation (*transforms 12-level into 7-level notation )!Transposes over 7 absolute level *Reverse +symmetric melodic ,Convert to alpha notation -Convert to alpha notation .)get 7-Absolute music from alpha notation /-Convert 7-absolute into 12-absolute notation 0-Convert 12-absolute into 7-absolute notation 1relative melodic. 2 absolute PF *      !"#$%&'()*+,-./012*      !"#$%&'()*+,-./012*         !"#$%&'()*+,-./012 portable experimentalsilva.samuel@alumni.uminho.pt3456789:;<=Dots is defined by number. 1 Only Integers and positive numbers are allowed. >?@ Rhythm node Asefault settings Bcomputes duration PW Ccomputes compass duration Dchanges duration Ecomputes duration Freverse Gsymmetric trsnformation HComputes relative Rhythm I Absolute PF JKLMN3456789:;<=>?@ABCDEFGHIJKLMN@?>=<3;:987654ABCDEFGHIJKLMN3;:987654456789:;<=>?@ABCDEFGHIJKLMN portable experimentalsilva.samuel@alumni.uminho.pt OPQVoiceZipNode definition Rdefault settings S transposes Tchanges duration Ucomputes duration Vreverse W relative X absolute OPQRSTUVWX QPORSTUVWX OPQRSTUVWX portable experimentalsilva.samuel@alumni.uminho.pt Y Position ZNew Notation Position [New Notation Node \Info ]sefault settings ^_transpose using above layers `(tempo transformation using above layers a(duration computation using above layers breverse using above layers c+relative transformation using above layers d+absolute transformation using above layers YZ[\]^_`abcd \[ZY]^_`abcd YZ[\]^_`abcdportable experimentalsilva.samuel@alumni.uminho.pt efghdefault settings ijkTranspose using above layers l(tempo transformation using above layers m(duration computation using above layers nreverse using above layers o+absolute transformation using above layers p+relative transformation using above layers efghijklmnop gfehijklmnop efghijklmnopportable experimentalsilva.samuel@alumni.uminho.pt qrstdefault settings uTranspose using above layers v(tempo transformation using above layers w(duration computation using above layers xreverse using above layers y+absolute transformation using above layers z+relative transformation using above layers qrstuvwxyz srqtuvwxyz qrstuvwxyzportable experimentalsilva.samuel@alumni.uminho.pt {|}Definition of annotation ~sefault settings Transpose using above layers (tempo transformation using above layers (duration computation using above layers reverse using above layers +absolute transformation using above layers +relative transformation using above layers {|}~ ~}|{ {|}~#portable experimentalsilva.samuel@alumni.uminho.ptHMusicXML Schema specify  xs:string MusicXML Schema specify  xs:string HHH portable experimentalsilva.samuel@alumni.uminho.ptportable experimentalsilva.samuel@alumni.uminho.pt?MusicXML Schema specify  xs:string MusicXML Schema specify  xs:string       !"#$%&'()?      !"#$%&'()?      !"#$%&'()?         !"#$%&'()C*+,-./012MusicXML Schema specify  xs:string 3MusicXML Schema specify  xs:string 456789:;<=>?positive number @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklC*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklCWVUOTSRQPNMKLJGIHFEDCBA@?>=<;8:974653210/.-,+*XYZ[\]^_`abcdefghijklC*+,-./01234655678:99:;<=>?@ABCDEFGIHHIJKLLMNOTSRQPPQRSTUVWXYZ[\]^_`abcdefghijklKmnopqrstuMusicXML Schema specify  xs:string vMusicXML Schema specify  xs:string wxyz{|}~positive number Kmnopqrstuvwxyz{|}~K~{}|zwyxvutsrqponmKmnopqrstuvwyxxyz{}||}~{positive number       !"#$%&'()*+,-./012{      !"#$%&'()*+,-./012{      !"#$%&'()*+,-./012{       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFpositive number GHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~3456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Ñnml^kjihgfedcba`_]Y\[ZXWVUQTSRPONMLKJIHGFEDCBA@=?><;:9876543opqrstuvwxyz{|}~3456789:;<=?>>?@ABCDEFGHIJKLMNOPQTSRRSTUVWXY\[ZZ[\]^ kjihgfedcba`__`abcdefghijklmnopqrstuvwxyz{|}~))))HaXml experimentalsilva.samuel@alumni.uminho.pt      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopq      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopq      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopq      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqportable experimentalsilva.samuel@alumni.uminho.ptrstuvwxyrstuvwxyrstuvwxyrstuvwxyportable experimentalsilva.samuel@alumni.uminho.ptzzzzportable experimentalsilva.samuel@alumni.uminho.pt{|}{|}{|}{|}portable experimentalsilva.samuel@alumni.uminho.pt.~.~.~.~portable experimentalsilva.samuel@alumni.uminho.pt portable experimentalsilva.samuel@alumni.uminho.ptMeasure class.  computes node' s duration makes generic interface reads interface prints interface destroy measures build measures $HaXML, Haskore experimentalsilva.samuel@alumni.uminho.ptBHIJKLMNPQR%&'()*++,--..//01234567889:;<==>??@ABCDEFFGHIJKLMNOPPQRSTUVVWXYZZ[[\]^_`abcdefghijjklmnopqrsstuvwxyz{|}t~pqro}kuvwxyz{to}t     u v w x y z {    p q r  s     t                              j                 ! " # $ %        & ' ( )  *      +,-./  012  34567v  89:;<=>?@ABCDEFGHI%JKLMNOP&'QRSTUVWojtXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~89:ABCDEF%JKLMNOP&'QRSTUVWojtXYZ[\]^_`abcdefghijklmABCDEFRSTUVWoj}XYZ[\]^_abcABCDEFRSTUVWoj}XYZ[\]^_abcAFRSTUVWoj}XYZ[\]^_abcAFGRSTUVWojXYZ[\]^_abcWXYZ[\  Z[\]^_`    abc !"#$%&'()*+,-./0123456789:;<n=>p?@rAnBCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_   ``_^]a\bcdefghijklmnopqrstuvwx Y y z { B | }~ hamusic-0.1.1Music.Analysis.ChordScriptMusic.Analysis.BaseMusic.Analysis.ABCMusic.Analysis.MusicXML.Level1!Music.Analysis.MusicXML.Level1NumMusic.Analysis.PF Music.Analysis.Abstract.SettingsMusic.Analysis.Abstract.MotiveMusic.Analysis.Abstract.MelodicMusic.Analysis.Abstract.RhythmMusic.Analysis.Abstract.Zip!Music.Analysis.Abstract.NotationsMusic.Analysis.Abstract.Voices#Music.Analysis.Abstract.Instruments"Music.Analysis.Abstract.AnnotationMusic.Analysis.MusicXML.Level2 Music.Analysis.MusicXML2Abstract!Music.Analysis.MusicXML.Functions!Music.Analysis.MusicXML.Level2Num!Music.Analysis.MusicXML.Level3NumMusic.Analysis.MusicXML.Level3Music.Analysis.MusicXML.Level4Music.Analysis.MusicXML.Level5Music.Analysis.MusicXML.Level6Music.Analysis.MusicXMLMusic.Analysis.Abstract2ABCMusic.Analysis.MusicXML2ABC Music.Analysis.Abstract2LilypondMusic.Analysis.MusicXML2HaskoreMusic.Analysis.ScriptMusic.Analysis.InterfaceMusic.Analysis.LilypondMusic.Analysis.HaskoreMusic.Analysis.AbstractMusic.AnalysisModeMinorMajor Midi_play Midi_play_no Midi_play_yesMidimidiPlayHaskoreTimepartParttime Count_selectCount_select_note_normalCount_select_note_cueCount_select_note_graceCount_select_noteCount_select_music_dataCount_select_measureCount_select_partCount countSelect Stat_verboseStat_verbose_noStat_verbose_yes Stat_Attrs statVerboseStatReification_valueReification_value_5Reification_value_4Reification_value_3Reification_value_2Reification_value_1 ReificationreificationValue Filter_modeFilter_mode_noFilter_mode_yes Filter_selectFilter_select_note_normalFilter_select_note_cueFilter_select_note_graceFilter_select_noteFilter filterSelect filterModeAction_warningsAction_warnings_noAction_warnings_yes Action_Attrs actionInput actionOutputactionWarningsAction Script_Attrs scriptAuthor scriptDatescriptDescription Invariant invariant RatioNumber IntegerNumberTextDeltaNumber toIntegertoRatio unzipMaybezipMaybeDurationOctaveDottedDecreaseIncrease AccidentalFlatNaturalSharpAccidentPitchBAGFEDCABCNoteRest ABCMusicDataSymbol GraceNotesStaccatoSlurTieChordTupletSingleABCKeyABCMeterABCTitleABCIndex ABCMetaDataABCMusic Accidental_Three_Quarters_FlatThree_Quarters_Sharp Quarter_Flat Quarter_Sharp Natural_Flat Natural_Sharp Flat_Flat Sharp_Sharp Double_SharpDotType_Th256Th128Th64Th32Th16EighthQuarterHalfWholeBreveLongTypeAlterStep Full_Note_ Full_Note_3 Full_Note_1 Full_NoteNote_Note_3Note Music_Data Music_Data_1Score_Partwisesplit><!p1p2i1i2-|-condapexpngrdswapassocrassocldistrundistrflatrflatlunflatrunflatlpwnilcoswapcoassocr maybe2either either2maybee2mm2eoutLcataLinLanaLhyloLmapLconcatLreverseLoutL1cataL1inL1anaL1hyloL1SettingsemptyfromListtext'textnumber'numberpriority getSettingschangeSettings'changeSettingsgetText getNumber changeText changeNumberunionunion1MotivemkMotive fromMotivetoMotivemeta cataMotive mapMotivejoinMotivePairsplitMotivePairjoinMotiveListsplitMotiveListMelodicClassNode PitchClass AccidentClassUnknowAccident DoubleFlat DoubleSharp MelodicClassMelodicAbsoluteMelodicRelative MelodicNodesettingsrestmkRestmkNoRestpitchpitch'absPitch transpose12f7to12f12to7 transposereverse symmetrictoAlphatoAlpha' fromAlphato12from12relativeabsolute DurationClassUnkownDurationDotsRhythmRelativeRhythmAbsolute RhythmNode durationNodecompasstempodurationdurationNumberdurationTotalNumbergetDurationClass getDurationgetDuration_aux1VoiceZipRelativeVoiceZipAbsolute VoiceZipNodePositionNotationPosition NotationNode NotationInfo addNotationMultiVoiceRelativeMultiVoiceAbsoluteMultiVoiceNode joinVoices splitVoicesMultiInstrumentRelativeMultiInstrumentAbsoluteMultiInstrumentNodeAnnotationRelativeAnnotationAbsoluteMultiAnnotationNodeAnnotationNodeAnnotClef_Octave_ChangeLineSignClef_Sign_None Clef_Sign_TABClef_Sign_Percussion Clef_Sign_C Clef_Sign_F Clef_Sign_GClef Beat_TypeBeatsTime_BTime_5Time Key_Octave Key_AlterKey_StepLocrianIonianAeolian MixolydianLydianPhrygianDorianFifthsKey_Key_2Key_1Key Divisions Attributes Music_Data_5Measureabst_Score_Partwiseabst_Music_Data abst_Note abst_Note_abst_Full_Noteabst_Full_Note_ abst_Pitch abst_Typeabst_Dotabst_Accidental split_Measuresplit_Music_Data split_Note split_Note_split_Full_Notesplit_Full_Note_ split_Pitch split_Type split_Dotsplit_Accidentalmk_Music mk_MusicDatamk_Notemk_MelodicNodemk_Pitch mk_RhythmNodeisNote isGraceNote isCueNote isNormalNote filterNote filterNotNotefilterGraceNotefilterNotGraceNote filterCueNotefilterNotCueNotefilterNormalNotefilterNotNormalNote filterNote' count_part count_measurecount_music_data count_notecount_note_gracecount_note_cuecount_note_normal mapMusicXML Measure_Style Directive Transpose Staff_Details Instruments Part_SymbolStavesTime_6 EditorialStaff InstrumentEditorial_VoiceBarline Music_Data_10 Music_Data_3 Music_Data_2Part abst_Measure abst_Durationabst_Divisionsabst_Attributesabst_Key abst_Key_ abst_Time abst_Clefmap_Score_Partwisemap_Part map_Measuremap_Music_DatatoNum_Music_Data toNum_NotetoNum_Full_NotetoNum_Attributes toNum_Key toNum_Mode toNum_Time toNum_Clef NotationsLyricBeamNoteheadStemTime_Modification Unpitched Full_Note_2CueGraceNote_2Note_1 Music_Data_13 Music_Data_12 Music_Data_11 Music_Data_9 Music_Data_8 Music_Data_7 Music_Data_6 Music_Data_4 abst_Partabst_Editorial_Voiceabst_Instrument abst_Staffabst_Editorial abst_Stavesabst_Part_Symbolabst_Instrumentsabst_Staff_Detailsabst_Transposeabst_Directiveabst_Measure_Stylerep_Score_Partwiserep_Part rep_Measurerep_Music_Datarep_Note rep_Note_ rep_Full_Noterep_Full_Note_ rep_Durationrep_Editorial_Voicerep_Instrumentrep_Typerep_Dotrep_Accidental rep_Staff rep_Editorial rep_Divisions rep_Stavesrep_Attributesrep_Keyrep_Key_rep_Timerep_Part_Symbolrep_Instrumentsrep_Clefrep_Staff_Details rep_Transpose rep_Directiverep_Measure_Style abst_Graceabst_Cueabst_Tieabst_Time_Modification abst_Stem abst_Notehead abst_Beamabst_Notationsabst_Key_Octave abst_Lyricempty_Print_Styleempty_Printoutempty_Level_Display rep_Gracerep_Cuerep_Tierep_Time_Modificationrep_Stem rep_Noteheadrep_Beam rep_Notationsrep_Key_Octave rep_Lyric Annotation Music_Data_14abst_Annotationabst_SSSrep_Annotationrep_SSS toTimewise toPartwise abst_Step abst_Alter abst_Octaveabst_Unpitched abst_Rest abst_Type_abst_Accidental_ abst_Fifths abst_Mode abst_Key_Stepabst_Key_Alter abst_Time_B abst_Beatsabst_Beat_Type abst_Sign abst_Lineabst_Clef_Octave_Change rep_Pitchrep_Step rep_Alter rep_Octave rep_Unpitchedrep_Rest rep_Type_rep_Accidental_ rep_Fifthsrep_Mode rep_Key_Step rep_Key_Alter rep_Time_B rep_Beats rep_Beat_Typerep_Signrep_Linerep_Clef_Octave_Change dur_Duration dur_Backup dur_Forward dur_Note_dur_Notedur_Attributes dur_Divisionsdur_Music_Data_map_Score_Partwise' map_Part' map_Measure'map_Music_Data' read_Numberread_IntegerNumber coread_Numbercoread_IntegerNumbermk_Metamk_Notes mk_Durationmk_Note' mk_Accidentoutput outputDotsoutputAccidents ControlID Control_Voice Control_StaffControl_Instrumentfrom_Score_Partwise from_Part from_Measurefrom_Music_Data from_Note group_Part group_MeasuretoNotegroup_Music_Data_group_Instrument group_Voice group_Staffcmp_Instrument cmp_Voice cmp_Staffget_Instrument get_Voice get_Staffgroup_Measure'headM toMedium_toMedium toMedium'toClasstoDur abst_Note'measure2haskore part2haskorepartwise2haskoretoMidisaveMidiplayMidi playGeneric procFilter onlyPartwiseprocReification procCountprocStat procParttime procTimepart procHaskoreprocMidiprocWarn procOutput fromError procAction_ procAction procScript nodeDuration Interfaceinput catMeasures uncatMeasures