!      !"#$%&'()*+,-./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 bcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./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-e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.{.|/}/~//////////000000000001111222222233333333333333333333333444444444444444445555555555555556666666666777777777777777777777888888999999:::::;;;; ; ; ; ; ;;;;<<<<<<<<<<<<<<= =!="=#=$=%=&='=(=)=*=+=,=-=.=/=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@[@\@]@^@_@`AaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzA{A|A}A~AAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C C CCCCCCCCCCCCCCCCCCC C!C"C#C$C%C&C'C(C)C*C+C,C-C.C/C0C1C2C3C4C5C6C7C8C9C:C;C<C=C>C?C@CACBCCCDCECFCGCHCICJCKCLCMCNCOCPCQCRCSCTCUCVCWCXCYCZC[C\C]C^C_C`CaCbCcCdCeCfCgChCiCjCkClCmCnCoCpCqCrCsCtCuCvCwCxCyCzC{C|C}C~CCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD D D D D DDDDDDDDDDDDDDDDDDD D!D"D#D$D%D&D'D(D)D*D+D,D-D.D/D0D1D2D3D4D5D6D7D8D9D:D;D<D=D>D?D@DADBDCDDDEDFDGDHDIDJDKDLDMDNDODPDQDRDSDTDUDVDWDXDYDZD[D\D]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDmDnDoDpDqDrEsEtEuEvEwExEyEzE{E|E}E~EEEEEEEEEFFFFFFFFFFFFGGGGGGGGGGGGGGGGHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIUJ    !!!!                 !   !  !    ! "#$%&'()*+,-./01234"#$%&'()*+,-./01234#"-./01234%&'()*+,$"#$%&'()*+,-./01234KQ      !"#$%&'()*+,-./0123456L789/0789789M :;<=>?@AB :;<=>?@AB :;;<==>A@??@ABN CDEFGHIJKLMN CDEFGHIJKLMN CDEHGFFGHIJKLMNOOPQRSTUOPQRSTUORQPPQRSTUPVWXYZ[\]^_`abcVWXYZ[\]^_`abcVWX[ZYYZ[\]^_`abcQ defghijkl defghijkl deefgghjiijklR mnopqrstuvwx mnopqrstuvwx mnosrqppqrstuvwxSyz{|}~yz{|}~yz{|}~ -56789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a-56789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a-PRQONMLKSTUJIVHGFWEXYZ[\D]CB^A_@?>`5=<;:9876a-5=<;:98766789:;<=>?@ABCDEFGHIJKLMNOPRQQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~obcdefghijklmnopqrstuvwxyz{|}~o|}~ijklghefcdwzyx{tvumsrqponbmbcddeffghhijkljklmsrqponnopqrstvuuvwzyxxyz{|}~%%%%                     +Medium type with a controller constructor.  controller parallel composition sequential composition primitive content  !"#$%&' !"#$%&' "!#$%&' !"#$%&'()*+,-./0123456789:()*+,-./0123456789:*-,+)(./0123456789:()*-,++,-./0123456789:;<=>*+,-;<=>;*-,+<=>;<=>?@ABCD controller Eparallel composition Fsequential composition Gprimitive content HMedium type with a label .(e.g. the duration of the represented music), a controller constructor and direct support for rests. IJKLMNOPQRS?@ABCDEFGHIJKLMNOPQRSHIJKCGFED?@ABMLNOPQSR?@AB@ABCGFEDDEFGHIJKIJKLMNOPQRS"TUVWXYZ[\]^_`abcdefghijklmnopqrst Converts 1%4 to "qn" and so on. u"TUVWXYZ[\]^_`abcdefghijklmnopqrstu"VUTWXYZ[\]^_a`cdefghibklmnojqrpstu"TUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~vwxyz{|}~v~}|{zyxwv~}|{zyxwwxyz{|}~ $      !"#$      !"#$      !"#$       !"#$%&'()*+,-./01234$%&'()*+,-./01234('&%$)*,-+./12034$%&'()*+,-./01234 56789:;<=56789:;<=56789:;<= 56789:;<=(>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde(>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde(?@AB>CDEFGIJKLMNOPQRSTUVWXYZ[\H]_^`acdeb(>?@AB@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|fghijklmnopqrstuvwxyz{|fhijklmngqrstuvwpoyxz{|fghijklmnopqrstuvwxyz{|.}~.}~.~}.}~ 5                   !     "#     HIJKLMNOPQRSTUVWXYZ[\HIJKLMNOPQRSTUVWXYZ[\$ignores the note attributes bcdefghijklmnopqrvwxyz{|}~bcdefghijklmnopqrv~}|{zyxw Cin contrast to RhyMusic.fromStdMelody it has fixed instrument type ,  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~bcdefghijklmnopqrvwxyz{|}~,  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~bcdefghijklmnopqrv~}|{zyxw% << &    '(    )+      !"#$%&'()*+,-./+      !"#$%&'()*+,-./+      !"#$&'()*+,-.%/+      !"#$%&'()*+,-./*01234567012345670324156701234567+89:;<=>?@ABCDEFGHIJK89:;<=>?@ABCDEFGHIJK89:;J?K=><AB@DEFGHIC89:;<=>?@ABCDEFGHIJK,LMN ! wrapped in a State monad. OPQRSLMNOPQRSLMNOPQRSLMNOPQRS-TUVWXYZ[\]^_`abcdTUVWXYZ[\]^_`abcdWVUTXYZ[]^\_`abcdTUVWXYZ[\]^_`abcd.efghijklmnopqrstuvwxyz{efghijklmnopqrstuvwxyz{jklgihmnfpqorestuvwxyz{efgihhijklmnopqrstuvwxyz{/ |}~ |}~ |~} |}~0    12Cin contrast to RhyMusic.fromStdMelody it has fixed instrument type zbcdefghijklmnopqrvwxyz{|}~zbcdefghijklmnopqrv~}|{zyxw3456    78 "9  # $ % & ' ( ):;                        < * + , - . / 0 1 2 3 4 5 6 7= !"#$%&'()*+,-./0 !"#$%&'()*+,-./0 !"#$%&')*+,-(./0 !"#$%&'()*+,-./0>123456789:;<=>?@ABCDEFGHIJK123456789:;<=>?@ABCDEFGHIJK342156789B<>@C:=?AF;DEHIKJG1234456789:;<=>?@ABCDEFGHIJK? 8L 9 : ; <M = > ? @ A B C D E F G H INO JPQRSLMNOPQRSLMNOPQRSLMNOPQRS@ TUVWXYZ[\]^_ TUVWXYZ[\]^_ TUVWXYZ[\]^_ TUVWXYZ[\]^_A2`abcdefghijklmnopqrstuvwxyz{|}~2`abcdefghijklmnopqrstuvwxyz{|}~2abcd`lmnop}k~efhijgrsqutvwyzx|{2`abcdefghijklmnopqrstuvwxyz{|}~B####C      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ #&)<?BS^,69HMPV[  $'*=@CT_ 47:INQW\!3FK  "%(+/01.-258;>ADEGJLORUYXZ]`abvluksiqhrgm{eo}cn|fp~djtwxyz       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~D      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopq      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopq "3> (-06;  #4?).17<&+  !$%'*,/2598:=@ABCWeMVdLTbJR`ISaHN\FP^DO]GQ_EKUXYZ[cfgjhkimlnopq       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqErstuvwxyz{|}~rstuvwxyz{|}~rstuvwxyz{|}~rstuvwxyz{|}~F should be moved to Utility should be moved to Utility should be moved to Utility .Convert a block of a song to a list of notes. lines of a block    GH" K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h&time interval between NoteOn and now, B in terms of the tempo at the NoteOn +SetTempo values: the one at the NoteOn and U the ratio between the current tempo and the first one. 2channel and pitch of NoteOn (NoteOff must match) the track to be searched 0the needed event and the remainder of the track iT6 j k l m n o p q r s t u v w x y z { | } ~  I0000U VWXVWYVWZVW[VW\VW]VW^VW_VW`VWaVWbVWcVWdVWeVWfVWgVWhVWiVWjVWkVWlVWmVWnVWoVWpVWqVWrVWsVWtVWuVWvVWwVWxVWyVWzVW{VW|VW}VW~VWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWV  V    !"#$%&'()*+,-./0123456789:;<=>?@AB;CDEFGHIJKLMNOPQRSTUVWXY;Z  B ; [ \ ] ^ _ ` 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 { | } ~                                  ;                 ;Z      !"#$%&'()*+,-./0123456789:;<=> ?@ABCDEFGH!"IJ;KLMNOP;QRMST;9QRMST@CDUVGHW;XYZ[\U]^_`abcdefgh;XU]ijklm9QRM;Znopq !rsSTtu;vwxyz{|}~;9M>BAB< "!HG      !;"#$%&'()*+,-;./012345678;9:;<=>?;@@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{||}~;Dhga ;    !;!Z!!!!!""""""##;#@#####$;$$$3$$$$@$@$$$$$$$$$;@%%%%%%;%%%%%&&&&&&&&&&'''''''(;(Z(((((((((()));)))))))))))))))))))))))))))))))))))))))) * * * * ***[*++++++++++++++++++ +!+,",#,$,%,&,',(,-)-*-+-,---.-/-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//[/0V0W0000X0&0Y0Z0'0[1\1]1^12;22@22223_3`3a3b3c3d3e3f3g3h3i33j3k3l3m33n3o3p3q3r3s4;4Z4t4u4v4w44x4y44z444{4|4}4~5V5W5555555X5&5Y5Z5'55[66666666667777777777777777777778;8Z8<8F889;9Z9999:;:Z:::;;;; ;!;;;;;;;;<<<<<<<<<<<<<<==================>>>>>>>>>>>>>>>>>>>>>>>>>>>?;???????@@@@@@@@@X@@@AvAAAAAAAAAAAAAQAAAAAAAAAAAAAA A ARA A A AAAAAAATAAAAAAAAXAABBBBBBB B!B"B#B$B%B&BB@BB;B'B(B)B*B+B,BB-BB.B/B0BBBB1B2B3C4C5C6C7C8C9C:C;C<C=C>C?C@CACBCCCDCECFCGCHCICJCKCLCMCNCOCPCQCRCSCTCUCVCWCCXCYCZC[C\C\C]C^C_C`CaCbCcCdCeCfCgChCiCjCkClCmCnCoCpCqCrCsCtCuCvCwCxCyCzC{C|C}C~CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCvCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C D4D5D6D7D8D9D:D;D<D=D>D?D@DADBDCDDDEDFDGDHDIDJDKDLDMDNDODPDQDRDSDTDUD D D DDVDWDDXDYDZD[D\D\D]D^D_DD`DaDbDcDdDeDfDgDhDiDjDkDlDDDDDqDrDsDtDuDvDwDxDyDzD{D|D}D~DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDvDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD D EEEEEEEE@EEEEEEEFEEEE E!E"FF#F$F%F&F'F(F)F*F+F,F-G.GG/G0G1G2G3G4G5G6G7GGBG8G9G:H;H<H=I>I?IvI@IIAIBICIDIEIFIGIHIIIJIKILIMINIOIPIQIRISITIUIVIWIXIYIZI[I\I]I^I_I`IaIbIcIdIeIfIgIhIiIjIkJlJmJnJmJoJpJqJrJsJtJuJvw Z x yKKzK{K|}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~W}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~:}~}~}~}~}~}~}~-L;LLMMMMM;MMYMMNYNN;NNNNNNNNNO;OOYOOOOPYPP;PPPPPPPPPPPQQQQQQQQ;QRYRR;RRRRRRRRRSSSSSSSSSSSSSS}S|SSSSS      !"#$%&'()*+,-./0123456789:;<=>?@^`AB C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` Z a b c d e f g h i j k l m n o p q!r!s!t!u##v#w#xyz{8|9}9~99999<<<<<<<<<<<<<<???????????????????HH@HHHHXHHHHHHHHHHHHHHHHHHHHHHHHHVVVVVVVVVVVVVVV.VVVVVVVZV;VVQVRVVVVVVVVVVVhaskore-0.1.0.2Haskore.Music.GeneralMIDI*Haskore.Interface.CSound.OrchestraFunctionHaskore.Interface.CSound&Haskore.Interface.CSound.InstrumentMapMedium.ControlledHaskore.Basic.PitchHaskore.Basic.Scale&Haskore.Interface.AutoTrack.ScaleChart)Haskore.Interface.AutoTrack.Transposeable&Haskore.Interface.AutoTrack.InstrumentHaskore.Basic.IntervalHaskore.Basic.Dynamics"Haskore.Interface.CSound.Generator"Haskore.Interface.CSound.Orchestra!Haskore.Interface.CSound.SoundMapMedium.TemporalMediumMedium.Plain.BinaryMedium.Plain.ListMedium.Controlled.ListMedium.Plain.ContextFreeGrammar$Medium.Controlled.ContextFreeGrammarMedium.LabeledControlled.ListHaskore.Basic.Duration Haskore.MusicHaskore.PerformanceHaskore.Performance.PlayerHaskore.Performance.ContextHaskore.MelodyHaskore.Basic.TempoHaskore.Composition.ChordHaskore.Composition.ChordType'Haskore.Interface.AutoTrack.ChordSymbolHaskore.Composition.TrillHaskore.Melody.StandardHaskore.Music.RhythmicHaskore.Composition.DrumHaskore.Example.FlipHaskore.Example.SsfHaskore.Interface.CSound.NoteHaskore.Composition.RhythmHaskore.Example.BesondrerTagHaskore.Example.ChildSong6Haskore.Example.DetailHaskore.Example.FractalHaskore.Example.GuitarHaskore.Example.HeilandHimmelHaskore.Performance.DefaultHaskore.Interface.MMLHaskore.Music.Standard$Haskore.Interface.MIDI.InstrumentMapHaskore.Interface.MIDI.NoteHaskore.Performance.FancyHaskore.Example.RaenzleinHaskore.Example.WhiteChristmas$Haskore.Interface.AutoTrack.ChartBar&Haskore.Interface.AutoTrack.ChordChart&Haskore.Interface.AutoTrack.EventChartHaskore.Performance.BackEndHaskore.Interface.MIDI.WriteHaskore.Interface.MIDI.RenderHaskore.Example.SelfSim!Haskore.Interface.AutoTrack.StyleHaskore.Example.Kantate147Haskore.Example.NewResolutionsHaskore.Interface.CSound.Score!Haskore.Interface.CSound.Tutorial'Haskore.Interface.CSound.TutorialCustomHaskore.Process.FormatHaskore.Interface.MED.TextHaskore.Process.OptimizationHaskore.Interface.MIDI.ReadHaskore.Example.MiscellaneousHaskore.General.LetRecHaskore.General.MapHaskore.General.TagDictionary!Haskore.General.LoopTreeTaggedGen$Haskore.General.LoopTreeRecursiveGenHaskore.General.LoopTreeTagged!Haskore.General.LoopTreeRecursiveHaskore.General.GraphTaggedGen!Haskore.General.GraphRecursiveGenHaskore.General.UtilityHaskore.Interface.MIDIHaskore midi-0.1.5Sound.MIDI.GeneralAcousticGrandPianoBrightAcousticPianoElectricGrandPiano HonkyTonkElectricPiano1ElectricPiano2 HarpsichordClavinetCelesta GlockenspielMusicBox VibraphoneMarimba Xylophone TubularBellsDulcimer DrawbarOrganPercussiveOrgan RockOrgan ChurchOrgan ReedOrgan Accordion HarmonicaTangoAccordianAcousticGuitarNylonAcousticGuitarSteelElectricGuitarJazzElectricGuitarCleanElectricGuitarMutedOverdrivenGuitarDistortionGuitarGuitarHarmonics AcousticBassElectricBassFingerElectricBassPick FretlessBass SlapBass1 SlapBass2 SynthBass1 SynthBass2ViolinViolaCello ContrabassTremoloStringsPizzicatoStringsOrchestralHarpTimpaniStringEnsemble1StringEnsemble2 SynthStrings1 SynthStrings2 ChoirAahs VoiceOohs SynthVoice OrchestraHitTrumpetTromboneTuba MutedTrumpet FrenchHorn BrassSection SynthBrass1 SynthBrass2 SopranoSaxAltoSaxTenorSax BaritoneSaxOboe EnglishHornBassoonClarinetPiccoloFluteRecorderPanFlute BlownBottle SkakuhachiWhistleOcarina Lead1Square Lead2Sawtooth Lead3Calliope Lead4Chiff Lead5Charang Lead6Voice Lead7Fifths Lead8BassLead Pad1NewAgePad2Warm Pad3Polysynth Pad4Choir Pad5Bowed Pad6MetallicPad7Halo Pad8SweepFX1Rain FX2Soundtrack FX3Crystal FX4Atmosphere FX5Brightness FX6Goblins FX7EchoesFX8SciFiSitarBanjoShamisenKotoKalimbaBagpipeFiddleShanai TinkleBellAgogo SteelDrums Woodblock TaikoDrum MelodicTom SynthDrum ReverseCymbalGuitarFretNoise BreathNoiseSeashore BirdTweet TelephoneRing HelicopterApplauseGunshot InstrumentAcousticBassDrum BassDrum1 SideStick AcousticSnareHandClap ElectricSnare LowFloorTom ClosedHiHat HighFloorTom PedalHiHatLowTom OpenHiHat LowMidTomHiMidTom CrashCymbal1HighTom RideCymbal1 ChineseCymbalRideBell Tambourine SplashCymbalCowbell CrashCymbal2 Vibraslap RideCymbal2HiBongoLowBongo MuteHiConga OpenHiCongaLowConga HighTimbale LowTimbale HighAgogoLowAgogoCabasaMaracas ShortWhistle LongWhistle ShortGuiro LongGuiroClaves HiWoodBlock LowWoodBlock MuteCuica OpenCuica MuteTriangle OpenTriangleDrum Sound.MIDI.Message.Channel.Voice toProgramSound.MIDI.Parser.Status toChannel elemSorted allowedArgs argCountTableTimePFieldVelocityName instrument instrumentsinstrumentToNumbershowInstrumentNumberToSound SoundTabletableFromInstruments addToTablelookupCcontrol switchBinary switchListfoldListfoldBinRelativeAbsoluteOctaveClassBsBBfAsAAfGsGGfFsFFfEsEEfDsDDfCsCfTtoIntfromInt classToInt classParse classFormat intToFreq transpose fromOffsets fromIntervalscontinue ionianRel dorianRel phrygianRel lydianRel mixolydianRel aeolianRel lokrianRel alteredRelhtwtRelwthtRelioniandorianphrygianlydian mixolydianaeolianlokrianalteredhtwtwthtConsbass bottomRangetopRangeunison minorSecond majorSecond minorThird majorThirdfourthfifth minorSixth majorSixth minorSeventh majorSeventhoctaveoctaveMinorSecondoctaveMajorSecondoctaveMinorThirdoctaveMajorThird octaveFourth octaveFifthoctaveMinorSixthoctaveMajorSixthoctaveMinorSeventhoctaveMajorSeventhnormal mezzoPianopiano pianissimopianoPianissimo mezzoForteforte fortissimoforteFortissimompppppppmfffffffRandDist PosCauchyCauchyGaussianBiExponExpon TriangularLinearUniformMult LowestHarmNHarmsDCOffset PhaseOffsetPNum PStrengthPointEndPt SegLengthStartPt CoefficientsInterval ParameterNumberChanNumSkipTimeSFName SoundFileRoutine soundFile tableValues polynomial exponential1 exponential2cubiclineSeg1lineSeg2 cubicSpline compSine1 compSine2 compSine3 cosineHarms randomTabletoStatementWordsOrcQuadStereoMonoOutput getChannelsgetNamegetChannelCountPluckDecayMethodPluckFilterSmoothPluckWeightedSmoothPluckStretchDrumPluckSimpleDrumPluckStretchSmoothPluckSimpleSmooth IndexMode NormalIndexRawIndexEvalRateARCRNRifthenSigExp DelayLine GlobalSigGlobalBoolean InstrBlockinstrBlockInstrinstrBlockReverbinstrBlockOutputinstrBlockGlobalsCtrlRateAudRateHeader tableNumber readGlobalnoteDurnotePitnoteVelpFieldp1p2p3p4p5p6p7p8p9<*<=*>*>=*==*/=*&&*||*sigGen constFloatconstInt constEnumpchToHzdbToAmplineexponlineSegexponSegenvphasor tblLookup tblLookupIoscoscIfmOscfmOscIsampOscrandomrandomHrandomIgenBuzzbuzzpluckdelayvdelaycombalpassreverbdelTapdelTapIrecgetMultipleOutputssaveIAsavetoString channelCountmkSignaladdInstrmkOrctestorc1test1DrumAssociation DrumSigExpDrumTableWithAttributes DrumTableInstrumentAssociationInstrumentSigExpInstrumentTableWithAttributesInstrumentTable AttributeList AttributeDrumId InstrumentIdSoundIdattributeControllookupInstrumentinstrumentTableToInstrBlocksaddInstrumentControlsinstrumentAssociation instrumentEq instrument1 instrument2 instrument3 instrument4 lookupDrumdrumTableToInstrBlocksaddDrumControlsdrumAssociationdrumdrumEqdrum1drum2drum3drum4Control controlDuranticontrolDurdurnoneDur Constructprim+:+=:=serialparallelserial1 parallel1mapList mapListFlatlistMediumFromAnybinaryMediumFromAny:=::+: Primitive errorNoneserialS parallelSParallelSerial serialToListparallelToList fromMedium toMediumList mapControl TagMediumTag CallMultiCallPrimtoMediumexpandwhileMcondensejoinTag replaceInfixisCyclic smallestCyclemaximumCommonInfixmaximumCommonInfixMulti commonPrefixcommonPrefixRecLabel emptyLabelfoldLabelSerialfoldLabelParallel Structurelabel structure serialLabel parallelLabelfromControlledMediumListmapLabelOffsetRatio%+ fromRatiotoRatiotoNumberscaleadddivide divisiblegcddotted doubleDottedbnwnhnqnensntnsfndwndhndqndendsndtnddhnddqnddennameDictionary propToStringNoteHeadNoHead ArtHarmonic SlashHead TremoloHead TriangleHeadXHead SquareHead DiamondHeadOrnamentHead Instruction ArpeggioDown ArpeggioUpArpeggio ShortTrill TrilledTurnTurn DoubleMordent InvMordentMordentTrill ArticulationStoppedThumbWedgeSwell BartokPizzLeftPizz PizzicatoHarmonicUpBowDownBowBreath FermataDownFermataPedalMarcatoTenutoSlurredLegatoStaccatoTempo Accelerando RitardandoDynamic Diminuendo CrescendoAccentLoudnessPhraseAttributeOrnArtTmpDyn PlayerNameDurRatioPhrasePlayer TransposeAtomatom mkControl changeTempo setPlayerphraserestbnrwnrhnrqnrenrsnrtnrsfnrdwnrdhnrdqnrdenrdsnrdtnrddhnrddqnrddenrchordrepeat replicatereversetaketakeLinetake' takeLine'/=:dropdropLinedrop' dropLine'filter partitionpartitionMaybeapplyPrimitivemapNote mapDurNotedynamictempo articulationornamentaccent crescendo diminuendo loudness1 ritardando accelerandostaccatolegato defltLegato defltStaccato defltAccent bigAccent NotateFun PhraseFunNoteFun PlayerConsnameplayNoteinterpretPhrase notatePlayerMonadPaddedWithRests UpdateContextContext contextDur contextPlayercontextTransposecontextDynamics PlayerMapEventeventDur eventDynamicseventTranspose eventNotePadded updatePlayer updateDurupdateTransposeupdateDynamics fromMusicpaddedFromMusicsequenceReadercombinemonadFromMusic EventModifierPhraseInterpreterMapchangeVelocity changeDur staccatoRel legatoRel slurredRel mapInitEvents mapEvents staccatoAbs legatoAbs slurredAbsgetDurModifiersetDur setTranspose setDynamics getPlayergetDur getTranspose getDynamicsNote noteAttrs_ notePitch_ noteAttrs notePitchtoMelodyNullAttrnotenote'cfccsdfddsefeesfsgfggsafaasbfbbscMajcMajArpcMajChd noteToPitch invertNoteretroinvert retroInvert invertRetrometro largoRangelarghettoRange adagioRange andanteRange moderatoRange allegroRange prestoRangeprestissimoRangeaveragelargo larghettoadagioandantemoderatoallegropresto prestissimopr1pr2mkLnpr12=/=BoundaryGenericgenericPitchClassgenericIntervals genericDur genericAttr InversionpitchToIntervalintervalToPitch pitchInvertintervalInvert samePitch sameIntervalmajorIntminorIntmajorSeventhIntminorSeventhIntdominantSeventhIntminorMajorSeventhIntsustainedFourthIntmajorminordominantSeventhminorMajorSeventhsustainedFourthgenericleastVaryingInversionsinversionIncrementmatchingInversionmean chordCenterboundaryCentergenericToNotes shortestWays processZonepropShortestWaysleastVaryingInversionsSWinversionCenters melodicGen harmonicGentoChord fromStringparseroot chordTypetrilltrill'trillNtrillN'rollrollNNoteAttributesna velocity1vibratotremolofromMelodyNullAttrNoteBodyTonepitchvelocitybodymaybeInstrument noteFromAttrsnoteFromStdMelodyNotenoteFromMelodyNote fromStdMelody fromMelodyInstrElementRollnRollNRtoMusictoMusicDefaultAttr funkGroove lineToMusicelementToMusicflipSeqflipSeq2 noteArraymakeSongsongcoresong1core1song2core2 shortLegatom1m2m3m4melody parameters fromRhyNotevelocityFromStd pitchFromStd velocityToDb amplitudeToDbzeroKeyToMusicWithDrumToMusicWithMusicunit fromPositionstoMusicWithMusictoMusicWithDrumtoMusicWithDrumUnittoShuffledMusicWithDrumtoShuffledMusicWithDrumUnittickR downBeatR backBeatRclaveR claveRumbaR claveBossaRclave5clave7 jazzRideRjazzWaltzRideRjazzWaltzHiHatRcountInRtickPclaveP claveRumbaP claveBossaP jazzRidePjazzWaltzRidePjazzWaltzHiHatP downBeatP backBeatPclickclave claveRumba claveBossametro5metro7 basicBassDrum basicSnare basicHiHatridecountInnoAttrbar0bass0bar1bass1fdvelvlmapb1b2b3bassLinev1v1av1bv2v2av2bv2cv2dv2ev2f mainVoicelevels randomItem randomRStatemerge dyadicPattern simpleSongdyadicLevelPatternIFSATMatrixVectorvaddvvmultmvmultcvmultw0w1w2init0wsresultmkNote sourceToMusic DelayedNote UpDownPattern DirectionDownUpmapChordToStringchoosePitchForString stringPitches delayTime dirDelaysudpudpInterudpLastchordschordToPattern guitarEvents delayNotesstringMelodies parallelSongparallelSongMIDIchordWithLegatoPattern legatoSonglegatoSongMIDImelody0melody1melody2bass2melody3bass3playermapcontextfromMusicModifyContextfloatFromMusicpaddedFromMusicModifyContextAccum barToMusic toMusicStateFromChannelProgramPitchFromChannelProgram FromChannelToChannelProgramPitchToChannelProgram ToChannelChannelProgramPitchTableChannelProgramTable ChannelTablerepairallValidassignChannelsfromInstruments partialMatch lookupINamereverseLookupMaybe reverseLookup defltTabledefltdefltGM defltCMap velocityOn velocityOffchannelprogramfromMIDIEvents toMIDIEvents fromGMNote toRhyNotetoGMNote velocityToStd pitchToStdprocessPerformancefancyInterpretDynamicfancyInterpretTempofancyInterpretArticulationfancyInterpretOrnamentfancyInterpretPhrasedoublePaddedFromMusicvlinemel0verserefrains1s2stringsm3am4am3bm4bs3s4as4bbassdrumsnarehihatrhythmlengthreadChordSymbolbarsconcathasChordeventsfromChordChart fromChartBarmapTime mapTimePaddedeventFromPerformanceEventfromPerformancefromPaddedPerformancefromRhythmicPerformancefromGMPerformancefromGMPerformanceAutofromRhythmicPerformanceMixedfromGMPerformanceMixedfromGMPerformanceMixedAutofromRhythmicMusicfromRhythmicMusicMixed fromGMMusicfromGMMusicMixedfromGMMusicAutofromGMMusicMixedAutovolumeHaskoreToMIDIvolumeMIDIToHaskorefileFromRhythmicMusicmidi generalMidigeneralMidiDeflt mixedMidimixedGeneralMidifileFromGeneralMIDIMusicfileNameplay playWin95 playWinNT playLinuxplayAlsa playTimidityplayTimidityJackplayTestgmUpmgmTestSNotePatClusterClsimaddmult simFringefringe simToHasksim1t6sim2t7sim12t8sim3t9sim4sim4sssdursst10pat1pat2pat3pat4'pat4 playToStreamjazzbossatakeFiverock thomasCaribharmonic initOctavessongMML musicTracksgrammar markovChainmarkovChainMidicmtoMidimainmarimbaxylovibglockcomp2arpeggio minArpegUp minArpegDown majArpegDown six3ArpegDownpattern melPatternbellPart vibesLine vibesPart cMajorScale gMajorScale dPentMinScaleprevNotenextNote nextNote' back2NotenextNRprevNRback2NRmakeSNdiddlepart1bridgepart2run1 part3Patternrun2run3 vibeLine3 vibePart3harmony3part3 all3InstsendElendRunendingTables Normalize TableSize CreatTimeTableVolumePchCpsAbsPchDuration StartTimeBpm Statement simpleSinesquaresawtoothtriangle whiteNoisecompSinefromPerformanceBEfromRhythmicPerformanceMap%fromRhythmicPerformanceWithAttributesnoteToStatementstatementToStringstatementToWords pchToStringPhonemeZhhThzZzzVvvGggJjjDddBbbHahHooHeeXxxShhThhSssFffNggNngNnnMmmLllRrrOooUuuUhhOhhAwwAhhAaaEhhIhhEee TutOrchestra QuadruplePairInstr1p4Instr1p2Instr2p0Instr1p0TutAttr attrVelocityattrParameters TutMelody pureToneTN pureToneTablepureToneoscPuretune1musicFromMelodyattrToInstr1p0attrToInstr2p0attrToInstr1p2attrToInstr1p4performanceFromMusic instrNum1 instrNum2 instrAssoc1p0 instrAssoc2p0 instrAssoc1p2 instrAssoc1p4scoredexampleoe1score1hdro1 csoundDirtut1 twoHarmsTNtwoHarmsscore2oe2o2tut2 manySinesTNmanySinesTable manySinesscore3lineCSoe3o3tut3oe4o4tut4 coolEnvTN coolEnvTablecoolEnv oscCoolEnvtune2 triangleTNsquareTN sawtoothTN triangleTsquareT sawtoothTscore4oe5o5tut5score5oe6oe7o6tut6score6oe8o7tut7oe9o8tut8oe10o9tut9oe11o10 quickChordemChordcChordgChorddChordtune3score7tut10oe12o11tut11oe13o12tut12oe14o13tut13oe15o14tut14oe16o15tut15 midHumpTNmidHumpscore8oe17o16tut16pingscore9oe18o17tut17oe19o18tut18oe20o19tut19oe21o20tut20lowPasshighPassoe22o21tut21oe23o22tut22 toOrchestra pianoEnvTN pianoEnvTable pianoWaveTNpianoWaveTablepianoEnv pianoWave pianoScorepianoOEpianoOrc reedyEnvTN reedyEnvTable reedyWaveTNreedyWaveTablereedyEnv reedyWave reedyScorereedyOEreedyOrcreedyreedy2OE reedy2Orcreedy2 fluteTune fluteEnvTN fluteEnvTable fluteWaveTNfluteWaveTablefluteEnv fluteWave fluteScorefluteOEfluteOrcflutevoice' voiceTunevoiceVibWaveTNvoiceVibWaveTable voiceWaveTNvoiceWaveTable voiceWave voiceVibWave voiceScorevoiceOEvoiceOrcvoiceOutFuncOutFunc4OutFunc2OutFunc0 instrToNumscoreFromPerformancematchInstrOutFuncscoreFromPerformanceSafe applyOutFuncprettyGrammarMediumprettyGrammarMelody prettyGrammarbind tagMediumlistlistFunc dummySrcLoc prettyMelody prettyExp primMelody controlGen durSyntaxshowDurenclosesieve sliceHoriz sliceVert splitBlocks cellToNote parseDigit parseNote parseCell columnToNotes linesToNotescolumnToSimpleSerialall isZeroRest compositionduration mergeControl'mergeControlCompact mergeControlcumulateControllersflattenControllers removeNeutralvolumesingletonMedium singleton toRhyMusic toGMMusicretrieveTracks MidiArrange StdContextvibest0cms'cms drumScalet1tempmu2t2t3repruncascadecascadest4't4run'cascade' cascades't5t10scs6ssf0drumst11t12t12at13notet13t13at13bt13ct13dt13et14t14bt14ct14dtabtadtcbtctcdtcdabCountVarExprAppendConstknot beginKnotendKnot exampleLet exampleEqus exampleResult IntervalslowesthighestfindWithDefault lookupIndex findIndexcontainers-0.3.0.0Data.Mapvalid showTreeWithshowTree deleteFindMax deleteFindMin splitLookupsplitfromDistinctAscListfromAscListWithKeyfromAscListWith fromAscList toAscListtoListfromListWithKey fromListWithfromListassocskeysSetkeyselems foldWithKeyfoldmapKeysMonotonic mapKeysWithmapKeysmapAccumWithKeymapAccum mapWithKeypartitionWithKey filterWithKeyisProperSubmapOfByisProperSubmapOf isSubmapOfBy isSubmapOfintersectionWithKeyintersectionWith intersectiondifferenceWithKeydifferenceWith difference unionWithKey unionWithunion unionsWithunionsupdateMaxWithKeyupdateMinWithKey updateMax updateMin deleteMax deleteMinfindMaxfindMindeleteAtupdateAtelemAtupdateLookupWithKey updateWithKeyupdate adjustWithKeyadjustdeleteinsertLookupWithKey insertWithKey insertWithinsertemptymembersizenull\\!CollShow collShowsPrecCollEq collEqualLoopBranchunwindFixRecurserecoursetoTaggedtoTaggedUnique toTaggedState fromTaggedexample0mapEexample1exampleLeapFrogTree ReferenceShareshareByteListsplitByfoldrfshuffleflattenTuples2flattenTuples3flattenTuples4headWithDefault zipWithMatch zipWithMatch3maximum0 translaterandListmodulus divideModulusgcdDurstringCharFromBytestringByteFromCharOrcStateLoopDefs StatementDefs StatementDefIndexDefMultiDef DelayWriteDefDelayDefTapDefLineFunctionRates BooleanFixedDelayLineFixedSigFixedTreeTerm constTerm prefixTerm infixTermcomparisonTermSigTermIndexSigGenPrefixInfix ConditionalResultTapReadStr TableNumberConstInt ConstFloat DelayLineTerm BooleanTerm ComparisonOperatorOutCountFunctionReverboperatorrunFix simpleFix addEqTreeaddEqgetRate getRateTermgetFixedExpressionsmkList mkListTerm mkListAllmkListDL mkListBool mkListOut getLineRates procDelay setUpDelaysprocTapsextractFunctionsgiveNameheaderToStringinstrBlockToStringshowInstrument writeLoopsgetLoops globalRate globalWrite globalRead resetGlobalsnumGlobalInstrs getGlobals getGlobalwriteGlobalHeaderwriteOutGlobalswriteOutwriteExp ifAllowedArgs writeArgsshowExp lookupDefshowBool mkSignalPlain addInstrPlainrunOrc GetContext SetContextFifthFifthAugmentedEleventhFifthMajorNinethFifthMinorNinethFifthMajorSeventhFifthAugmentedFifthFifthDiminishedFifthFifthAugmentedThirdFourthFourthThirteenthFourthEleventhFourthMajorNineth FourthNinethFourthMajorSeventh FourthSeventhFourthSixthNineth FourthSixth FourthSecond FourthNoneThirdThirdDiminishedAugmentedThirdSustained4ThirdSustained2ThirdDiminishedThirdMinorDiminishedFifthThirdMinorAugmentedFifth ThirdMinorThirdDiminishedFifthThirdAugmentedFifth ThirdMajor thirdToStepsabsPrelP fourthToSteps updateNodeincPitch fifthToStepsintervalToArray thirdsArray fourthsArray fifthsArray readPmany parseIntervalparseIntervalAlternativesthirdsfourthsfifthsbassnote parsePitch readSPitch continueReadS velocity_vibrato_tremolo_random-1.0.0.2 System.RandomrandomRreadSigread filterCommentread1 hasChord1barUnit hasChordBarbarGCD NotePerfToBEPerf getInstrumentfromRhythmicPerformanceBase fromRhythmicPerformanceMixedBasefromRhythmicMusicBasedivision trackFromPfBEsetTempo getChanProgupdateChannelMap progChangesrateaddEventTMelody filterMusicfmremLenmusicDurjazzFillendFillbassFromMelody bassChoosebassNoteevFromCC chartBass splitToDur quarterBass eighthBass bossaBass bossaBassCjazzDrum takeFiveBass RichEvent RichTrackChannelProgramMap readFullTrack prepareTrackformatmakeCPMgetPCtDivmoveTempoToHead getHeadTempo extractTempo segmentBefore isSetTemposegmentBeforeSetTempo readTrack fromTickstrackTimeToStdlookupChannelProg progChange isProgChangeapplyProgChanges richNoteToBE isRichNote richTrackToBE mergeNotes searchNoteOff addIntervalSound.MIDI.File.SavetoCompressedByteString toByteString toByteListtoFiletoSeekableFileSound.MIDI.File.LoadshowFilemaybeFromByteStringmaybeFromByteList fromByteListfromFileSound.MIDI.FileprogChangeBeforeSetTempo sortEvents getTracks resampleTime showEventshowTime showLinesimplicitNoteOffexplicitNoteOffMixedTypeTicksSMPTEDivisionTrackSound.MIDI.File.Event.Meta fromTempotoTempofromElapsedTime toElapsedTime ElapsedTime