+      !"#$%&'()*+,-./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/y0z0{0|0}0~0000000000000000000000000000000111111111111222233333344444455555666666666666666666666777777777777888888899999999999999999999999:::::::::::: : : : : :;;;;;;;;;;;;;;;;;< <!<"<#<$<%<&<'<(=)=*=+=,=-=.=/=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@SATAUAVAWAXAYAZA[A\A]A^A_B`BaBbBcBdBeBfBgBhBiBjBkBlBmBnBoBpBqCrCsCtCuCvCwCxCyCzC{C|C}C~CCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGG G G G G GGGGGGGGGGGGHHHHHHH H!H"H#H$H%H&H'H(H)H*H+H,H-H.H/H0H1H2H3H4H5H6H7H8H9H:H;H<H=H>H?H@HAHBHCHDHEHFHGHHHIHJHKHLHMHNHOHPHQHRHSHTHUHVHWHXHYHZH[H\H]H^H_H`HaHbHcHdHeHfHgHhHiHjHkHlHmHnHoHpHqHrHsHtHuHvHwHxHyHzH{H|H}H~HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIII I I I I IIIIIIIIIIIIIIIIIII I!I"I#I$I%I&I'I(I)I*I+I,I-I.I/I0I1I2I3I4I5I6I7I8I9I:I;I<I=I>I?I@IAIBICIDIEIFIGIHIIIJIKILIMINIOIPIQIRISITIUIVIWIXIYIZI[I\I]I^I_I`IaIbIcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzI{I|I}I~IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIITJ Safe-Inferred    Safe-Inferred Safe-Inferred  Safe-Inferred Safe-Inferred Safe-Inferred!!!  Safe-Inferred Safe-Inferred  Safe-Inferred  Safe-Inferred             Safe-Inferred   !   ! !     !  Safe-Inferred"#$%&'()*+,-./01234"#$%&'()*+,-./01234#"$,+*)('&%43210/.-"#$%&'()*+,-./01234K Safe-InferredQ      !"#$%&'()*+,-./01234567L Safe-Inferred89:%89:89:M Safe-Inferred ;<=>?@ABCDE ;<=>?@ABC;<=>?BA@CDEN Safe-InferredFGHIJKLMNOPQRS FGHIJKLMNOPQ FGHKJILMNOPQRSO Safe-InferredTUVWXYZ[TUVWXYZTWVUXYZ[P Safe-Inferred\]^_`abcdefghijkl\]^_`abcdefghi\]^a`_bcdefghijklQ Safe-Inferred mnopqrstuvw mnopqrstumnopqsrtuvwR Safe-Inferredxyz{|}~ xyz{|}~ xyz~}|{S Safe-Inferred  Safe-Inferred-56789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a-56789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a-PRQONMLKSTUJIVHGFWEXYZ[\D]CB^A_@?>`5=<;:9876a#5=<;:9876>?@ABCDEFGHIJKLMNOPRQSTUVWXYZ[\]^_`a Safe-Inferredbcdefghijklmnopqrstuvwxyz{|}~    obcdefghijklmnopqrstuvwxyz{|}~o|}~ijklghefcdwzyx{tvumsrqponbbcdefghijklmsrqpontvuwzyx{| }~     Safe-Inferred%%%# Safe-Inferred Safe-Inferred             Safe-Inferred                     Safe-Inferred         Safe-Inferred+Medium type with a controller constructor.  controller parallel composition sequential composition primitive content  !"#$%&'       !"#$%&' !"#$%&' !"#$%&'       Safe-Inferred()*+,-./0123456789:()*+,-./0123456789:*-,+)(./0123456789:()*-,+./0123456789: Safe-Inferred;<=>  *+,-;<=>;*-,+<=>;<=>   Safe-InferredD 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. ?@ABCDEFGHIJKLMNOPQRS    ?@ABCDEFGHIJKLMNOPQRSHIJKCGFED?@ABLMNOPQRS?@ABCGFEDHIJKLMNOPQRS     Safe-Inferredt Converts 1%4 to "qn" and so on. "TUVWXYZ[\]^_`abcdefghijklmnopqrstu"TUVWXYZ[\]^_`abcdefghijklmnopqrstu"VUTWXYZ[\]^_`abihgfedcjonmlkprqstu"TUVWXYZ[\]^_`abcdefghijklmnopqrstu Safe-Inferredvwxyz{|}~  vwxyz{|}~v~}|{zyxwVv~}|{zyxw    Safe-Inferred Safe-Inferred                     Safe-Inferred( !"#$%&'()*+,-./0123456789:;<=( !"#$%&'()*+,-./0123456789:;<=( 43210/.-,+*)('&%$#"!56789:=<;% !"#$%&'()*+,-./0123456789:;<= Safe-Inferred>?@ABCDEFGHIJKLMNOPQRST>?@ABCDEFGHIJKLMNOPQRST>?FEDCBA@HONMLKJIGPQRST>?@ABCDEFGHIJKLMNOPQRST Safe-Inferred.UVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~.UVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~.]^_`abcdjihgfe\klrqponmVWXYZ[Ustuvwxyz{|}~)UVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe-Inferred5  ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N  & % $ # " ! ' 1 0 / . - , + * ) ( 2 < ; : 9 8 7 6 5 4 3 = > ? @ A B C D E F G H I J K L M N  Safe-Inferred O P Q R S T U  O P Q R S T U! Safe-Inferred  V W X Y Z !"#$%&'()*+,-./01234 !"#$%&'()*+,-./01234  V W X Y Z" Safe-Inferredignores the note attributes  [bcdefghijklmnopqrvwxyz{|}~bcdefghijklmnopqrv~}|{zyxw  [ Safe-InferredCin contrast to RhyMusic.fromStdMelody it has fixed instrument type  \,  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~bcdefghijklmnopqrvwxyz{|}~,  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~bcdefghijklmnopqrv~}|{zyxw \# Safe-Inferred <<$ Safe-Inferred% Safe-Inferred& Safe-Inferred ] wrapped in a State monad. ' Safe-Inferred    ( Safe-Inferred    ) Safe-Inferred* Safe-Inferred    + Safe-Inferred                    , Safe-Inferred  !"#$%  !"#$%  !"#$% !"#$%- Safe-Inferred+&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOP+&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOP+()*+'&,-./01;:98765432<=EDCBA@?>FONMLKJIHGP+&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOP. Safe-InferredQRSTUVWXYZ[\]^_`aQRSTUVWXYZ[\]^_`aTSRQUVWXY[Z\]^_`aQRSTUVWXYZ[\]^_`a/ Safe-Inferredbcdefghijklmnopqrstuvwxbcdefghijklmnopqrstuvwxghidfejkclnmobpqrstuvwxbcdfeghijklmnopqrstuvwx0 Safe-Inferred&yz{|}~ ^ _$yz{|}~$|}~{zyyz{|}~ ^ _1 Safe-Inferred  `    `2 Safe-Inferred3 Safe-Inferred  a b c a b c4 Safe-Inferred d e f g h i j k l  d e f g h i j k l5 Safe-Inferred m n m n6None7Noneshould 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    8 Safe-InferredCin contrast to RhyMusic.fromStdMelody it has fixed instrument type zbcdefghijklmnopqrvwxyz{|}~zbcdefghijklmnopqrv~}|{zyxw9 Safe-Inferred: Safe-Inferred                    ; Safe-Inferred< Safe-Inferred o p !"#$%&' !"#$%&' !"#$%&' o p !"#$%&'= Safe-Inferred ()*+,-./012 ()*+,-./012 ()*+,-./012 ()*+,-./012> Safe-Inferred" q r s t u34 v5 w x y z { | } ~  &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 345345 q s r t u34 v5 w x y z { | } ~  ? Safe-Inferred6789:;<=>?@ABCD6789:;<=>?@ABCD6789:;<=>?@ABCD6789:;<=>?@ABCD@ Safe-Inferred EFG HIJ KLMNOP QREFGHIJKLMNOPQREHFIGJKLMONPQR EFG HIJ KLMNOP QRA Safe-Inferred STUVWXYZ[\]^ STUVWXYZ[\]^ STUVWXYZ[\]^ STUVWXYZ[\]^T Safe-Inferred9 345EFGHIJKLMNOPQRB Safe-Inferred_`abcdefghijklmnop_`abcdefghijklmnop_`abcdefghmlkjinop_`abcdefghijklmnopC Safe-Inferredqrstuvwxyz{|}~qrstuvwxyz{|}~strquvwxyz~|{}qrstuvwxyz{|}~D Safe-Inferred0000E Safe-Inferred        F Safe-Inferred2222G Safe-Inferred#     #     #          H Safe-Inferred !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~GHIJFBCDEK=A@?>L<;MNOPQ:RSTUVWXYZ\]old~_pme[|ib^`acfghjknqrstuvxwy{z}9876543210/.-,+*)('&%$#"!  9876543210/.-,+*)('&%$#"! :;<=A@?>BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~I Safe-Inferred      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~'()*+&"#$%,! -./0123456789:;=>mjgOLE^}zpc@nkhPMF_~{xd<we`\JC?ABDGHIKNQRSTUVXWY[Z]abfilorutsqvy|           ! "#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ UVWUVXUVYUVZUV[UV\UV]UV^UV_UV`UVaUVbUVcUVdUVeUVfUVgUVhUViUVjUVkUVlUVmUVnUVoUVpUVqUVrUVsUVtUVuUVvUVwUVxUVyUVzUV{UV|UV}UV~UVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVU U     !"#$%&'()*+,-./0123456789:;<=>?@A:BCDEFGHIJKLMNOPQRSTUVWX:Y  A : 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 { | } ~                                 :                 :Y      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFG !HI:JKLMNO:PQLRS:8PQLRS?BCTUFGV:WXYZ[T\]^_`abcdefg:WT\hijkl8PQL:Ymnop qrRSst:uvwxyz{|}~:8L=A@A;! GF     A: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYYZ[\]^:_`abcdefghijkClmgfnopqrstuvw>xyz{|}~: : Y     !!:!!!!!!":"""2"""""""""""""":######:#####$$$$$$$Z$%%%%%%%%%%%%%%%%%%%%&&&&&&&&''''''''''(((((((((((Z()))))))**********+++++++++++++++++++++,:,Y,,,,,,,,,,---:-------------------------- - - - - ----------......... .!.".#.$.%.&.'./(/)/*/+/,/-/.///0/1/2/3/4/5/6/7/8/9/:/;/</=/>0?0@0A00B0C0D0E0F0G0H0I0J0J0K0L0M0N0O0P0P0Q0R0S0T0U0:0V0W0X0Y0Z0[0\0]0^1P1P1Q1T1U1:1_1`1a1b1c12d2e2f23:3Y3;353g3h4:4Y4i4g4j4k5:5Y5l5m5n6o6p6q6r6s6t6u6?6v6w6x66y66#66z66{6|6}77~77777777778:88888899999999999999999999999:::Y:::::::::::::::;;;;;:;;;;;;;;;;;;<:<<<<<<<<===D=E=F==Z===[=>>>??????????Z???[??@@@@@@@@@@@@@@AAAAAAAAAAAABBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCC C C C C CCCCDDDuDDDDDDDDDDDDD D!D"D#D$D%D&D'D(D)D*D+D,D-D.D/D0D1D2D3D4D5D6D7D8D9D:D;D<D=D>D?D@E:EAEBECEDEEEFEGFuFHFIFJFKFLFMFNFOFPFQFRFSFFTFUFVFWFXFYFZF[F\F]F^F_F`FaFbFFcFdFeFfFgFhFiFjFkFFlFmFnFoFpFqFFFFGrGsGtGuGvGwGxGyGzG{G|G}G~GvGGG:GGGGGGGGGGGGG GGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH H H H H HHHHHHHHHHHHHHHHHHH H!H"H#H$H%H&H'H(H)H*H+H,H-H.H/H0H1H2H3H4HH5HH6H7H8H9H:H;H<H=H>HuH?H@HAHBHCHDHEHFHGHHHIHJHKHLHMHNHOHPHQHRHSHTHUHHVHWHXHYHZH[H\H]H^H_H`HaIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIbIcIdIeIIIIIIIIIIIIIIIIIIIIIIIIIIIfIgIhIiIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII I I I I IIIIIIIIIIIIIIIIIII I!I"I#I$I%I&I'I(I)I*I+I,I-I.I/I0I1I2I3I4IIjI5II6I7I8I9I:I;I<I=I>IuI?I@IAIBICIDIEIFIGIHIIIJIKILIMINIOIPIQIRISITIUIIVIWIXIYIZI[I\I]I^I_I`IaJkJlJmJlJnJoJpJqJrJsJtJuv w Y x yKKzK{K|}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}}L:LLMMMMM:MMXMMMMNXNN:NNNNNNNNNNNO:OOXOOOOOPXPP:PPPPPPPPPPPPPPQQQQQQQQ:QQQRXRR:RRRRRRRRRRRSSSSSSSSSSSSSS|S{SSSSS     v !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_[\]^_[\]^_]_\]_`abcdefghijklmnopqrstuvwxyz{|}~Y     [  !!!!!"00133[344444444[455[<<>>>P>>>>>>>>>>>>>>>>>>>>>>>>>>>>@@@@@@@@@@@@@@UUUUUUUUUUUUUUUUUUUUUUUUUYU:UUPUQUUUUUUUUUUUEEEEEEEEEEEEEEEE E E E  haskore-0.2.0.5Haskore.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.Composition.TrillHaskore.Process.OptimizationHaskore.MelodyHaskore.Basic.TempoHaskore.Composition.ChordHaskore.Composition.ChordType'Haskore.Interface.AutoTrack.ChordSymbolHaskore.Melody.StandardHaskore.Music.RhythmicHaskore.Composition.DrumHaskore.Example.BesondrerTagHaskore.Example.ChildSong6Haskore.Example.DetailHaskore.Example.FlipHaskore.Example.HeilandHimmelHaskore.Example.SsfHaskore.Example.RaenzleinHaskore.Example.WhiteChristmasHaskore.Interface.CSound.NoteHaskore.Composition.RhythmHaskore.Example.FractalHaskore.Example.GuitarHaskore.PerformanceHaskore.Performance.BackEndHaskore.Interface.MML$Haskore.Interface.AutoTrack.ChartBar&Haskore.Interface.AutoTrack.ChordChart&Haskore.Interface.AutoTrack.EventChartHaskore.Process.FormatHaskore.Interface.MED.TextHaskore.Music.Standard$Haskore.Interface.MIDI.InstrumentMapHaskore.Interface.MIDI.NoteHaskore.Performance.PlayerHaskore.Performance.ContextHaskore.Performance.DefaultHaskore.Interface.MIDI.ReadHaskore.Performance.FancyHaskore.Interface.MIDI.WriteHaskore.Example.Kantate147Haskore.Interface.MIDI.RenderHaskore.Example.SelfSimHaskore.Example.Miscellaneous!Haskore.Interface.AutoTrack.StyleHaskore.Example.NewResolutionsHaskore.Interface.CSound.Score!Haskore.Interface.CSound.Tutorial'Haskore.Interface.CSound.TutorialCustomHaskore.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.MIDI midi-0.2.1.3Sound.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 bigAccenttrilltrill'trillNtrillN'rollrollNall isZeroRest compositionduration mergeControl'mergeControlCompact mergeControlcumulateControllersflattenControllers removeNeutralvolumesingletonMedium singletonNote 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 chordTypeNoteAttributesna velocity1vibratotremolofromMelodyNullAttrNoteBodyTonepitchvelocitybodymaybeInstrument noteFromAttrsnoteFromStdMelodyNotenoteFromMelodyNote fromStdMelody fromMelodyInstrElementRollnRollNRtoMusictoMusicDefaultAttr funkGroove lineToMusicelementToMusicnoAttrbar0bass0bar1bass1melodysongfdvelvlmapb1b2b3bassLinev1v1av1bv2v2av2bv2cv2dv2ev2f mainVoicelevels randomItem randomRStatemerge dyadicPattern simpleSongdyadicLevelPatternflipSeqflipSeq2 noteArraymakeSongcoresong1core1song2core2melody0melody1melody2bass2melody3bass3 shortLegatom1m2m3m4vlinemel0verserefrains1s2stringsm3am4am3bm4bs3s4as4bbassdrumsnarehihatrhythm parameters fromRhyNotevelocityFromStd pitchFromStd velocityToDb amplitudeToDbzeroKeyToMusicWithDrumToMusicWithMusicunit fromPositionstoMusicWithMusictoMusicWithDrumtoMusicWithDrumUnittoShuffledMusicWithDrumtoShuffledMusicWithDrumUnittickR downBeatR backBeatRclaveR claveRumbaR claveBossaRclave5clave7 jazzRideRjazzWaltzRideRjazzWaltzHiHatRcountInRtickPclaveP claveRumbaP claveBossaP jazzRidePjazzWaltzRidePjazzWaltzHiHatP downBeatP backBeatPclickclave claveRumba claveBossametro5metro7 basicBassDrum basicSnare basicHiHatridecountInIFSATMatrixVectorvaddvvmultmvmultcvmultw0w1w2init0wsresultmkNote sourceToMusic DelayedNote UpDownPattern DirectionDownUpmapChordToStringchoosePitchForString stringPitches delayTime dirDelaysudpudpInterudpLastchordschordToPattern guitarEvents delayNotesstringMelodies parallelSongparallelSongMIDIchordWithLegatoPattern legatoSonglegatoSongMIDI NotateFun PhraseFunNoteFun PlayerConsnameplayNoteinterpretPhrase notatePlayerMonadPaddedWithRests UpdateContextContext contextDur contextPlayercontextTransposecontextDynamics PlayerMapEventeventDur eventDynamicseventTranspose eventNotePadded updatePlayer updateDurupdateTransposeupdateDynamics fromMusicpaddedFromMusicsequenceReadercombinemonadFromMusicmapTime mapTimePaddedeventFromPerformanceEventfromPerformancefromPaddedPerformanceAccum barToMusic toMusicStatelengthreadChordSymbolbarsconcathasChordeventsfromChordChart fromChartBarprettyGrammarMediumprettyGrammarMelody prettyGrammarbind tagMediumlistlistFunc dummySrcLoc prettyMelody prettyExp primMelody controlGen durSyntaxshowDurenclosesieve sliceHoriz sliceVert splitBlocks cellToNote parseDigit parseNote parseCell columnToNotes linesToNotescolumnToSimpleSerialFromChannelProgramPitchFromChannelProgram FromChannelToChannelProgramPitchToChannelProgram ToChannelChannelProgramPitchTableChannelProgramTable ChannelTablerepairallValidassignChannelsfromInstruments partialMatch lookupINamereverseLookupMaybe reverseLookup defltTabledefltdefltGM defltCMap velocityOn velocityOffchannelprogramfromMIDIEvents toMIDIEvents fromGMNote toRhyNotetoGMNote velocityToStd pitchToStd EventModifierPhraseInterpreterMapchangeVelocity changeDur staccatoRel legatoRel slurredRel mapInitEvents mapEvents staccatoAbs legatoAbs slurredAbsgetDurModifiersetDur setTranspose setDynamics getPlayergetDur getTranspose getDynamicsplayermapcontextfromMusicModifyContextfloatFromMusicpaddedFromMusicModifyContext toRhyMusic toGMMusicretrieveTracksprocessPerformancefancyInterpretDynamicfancyInterpretTempofancyInterpretArticulationfancyInterpretOrnamentfancyInterpretPhrasedoublePaddedFromMusicfromRhythmicPerformancefromGMPerformancefromGMPerformanceAutofromRhythmicPerformanceMixedfromGMPerformanceMixedfromGMPerformanceMixedAutofromRhythmicMusicfromRhythmicMusicMixed fromGMMusicfromGMMusicMixedfromGMMusicAutofromGMMusicMixedAutovolumeHaskoreToMIDIvolumeMIDIToHaskore initOctavessongMML musicTracksgrammar markovChainmarkovChainMidicmtoMidimidimainfileFromRhythmicMusic generalMidigeneralMidiDeflt mixedMidimixedGeneralMidifileFromGeneralMIDIMusicfileNameplay playWin95 playWinNT playLinuxplayAlsa playTimidityplayTimidityJackplayTestgmUpmgmTestSNotePatClusterClsimaddmult simFringefringe simToHasksim1t6sim2t7sim12t8sim3t9sim4sim4sssdursst10pat1pat2pat3pat4'pat4 MidiArrange StdContextvibesflutet0cms'cms drumScalet1tempmu2t2t3repruncascadecascadest4't4run'cascade' cascades't5t10scs6ssf0drumst11t12t12at13notet13t13at13bt13ct13dt13et14t14bt14ct14dtabtadtcbtctcdtcdab playToStreamjazzbossatakeFiverock thomasCaribharmonicmarimbaxylovibglockcomp2arpeggio 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 fluteScorefluteOEfluteOrcvoice' voiceTunevoiceVibWaveTNvoiceVibWaveTable voiceWaveTNvoiceWaveTable voiceWave voiceVibWave voiceScorevoiceOEvoiceOrcvoiceOutFuncOutFunc4OutFunc2OutFunc0 instrToNumscoreFromPerformancematchInstrOutFuncscoreFromPerformanceSafe applyOutFuncCountVarExprAppendConstknot beginKnotendKnot exampleLet exampleEqus exampleResult Intervals$fCClasslowesthighestfindWithDefault lookupIndex findIndexcontainers-0.5.0.0 Data.Map.Basevalid updateWithKeyupdateMinWithKey updateMinupdateMaxWithKey updateMaxupdateLookupWithKeyupdateAtupdate unionsWithunions unionWithKey unionWithuniontoList toAscList splitLookupsplitsize showTreeWithshowTreepartitionWithKeynullmember mapWithKey mapKeysWithmapKeysMonotonicmapKeysmapAccumWithKeymapAccumkeysSetkeys isSubmapOfBy isSubmapOfisProperSubmapOfByisProperSubmapOfintersectionWithKeyintersectionWith intersection insertWithKey insertWithinsertLookupWithKeyinsertfromListWithKey fromListWithfromListfromDistinctAscListfromAscListWithKeyfromAscListWith fromAscListfindMinfindMax filterWithKeyemptyelemselemAtdifferenceWithKeydifferenceWith difference deleteMin deleteMax deleteFindMin deleteFindMaxdeleteAtdeleteassocs adjustWithKeyadjust\\!Data.Map foldWithKeyfoldCollShow collShowsPrecCollEq collEqualLoopBranchunwind$fShowT$fEqTFixRecurserecoursetoTaggedtoTaggedUnique toTaggedState fromTaggedexample0mapE $fFunctorTexample1exampleLeapFrogTree Reference $fShowTree$fEqTreeShareshareByteListsplitByfoldrfshuffleflattenTuples2flattenTuples3flattenTuples4headWithDefault 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 $fOutputQuad$fOutputStereo $fOutputMono$fTraversableSigTerm$fFoldableSigTerm$fTraversableDelayLineTerm$fFoldableDelayLineTerm$fTraversableBooleanTerm$fFoldableBooleanTerm $fFloatingT $fFractionalT$fNumT$fTreeTermSigTerm$fCollEqSigTerm$fCollShowSigTerm$fFunctorSigTerm$fFunctorDelayLineTerm$fFunctorBooleanTerm $fEqGlobalSig$fShowGlobalSig$fCT$fTraversableT $fFoldableT$fCT0 $fConstructT$fControlControl $fCPrimitiveFifthFifthAugmentedEleventhFifthMajorNinethFifthMinorNinethFifthMajorSeventhFifthAugmentedFifthFifthDiminishedFifthFifthAugmentedThirdFourthFourthThirteenthFourthEleventhFourthMajorNineth FourthNinethFourthMajorSeventh FourthSeventhFourthSixthNineth FourthSixth FourthSecond FourthNoneThirdThirdDiminishedAugmentedThirdSustained4ThirdSustained2ThirdDiminishedThirdMinorDiminishedFifthThirdMinorAugmentedFifth ThirdMinorThirdDiminishedFifthThirdAugmentedFifth ThirdMajor thirdToStepsabsPrelP fourthToSteps updateNodeincPitch fifthToStepsintervalToArray thirdsArray fourthsArray fifthsArray readPmany parseIntervalparseIntervalAlternativesthirdsfourthsfifthsbassnote parsePitch readSPitch continueReadS$fReadT velocity_vibrato_tremolo_$fShowNoteAttributes $fOrdNote random-1.1 System.RandomrandomR $fShowPlayer $fOrdEvent$fFunctorEventreadSigread filterCommentread1 hasChord1barUnit hasChordBarbarGCD GetContext SetContext RichEvent RichTrackChannelProgramMap readFullTrack prepareTrackformatmakeCPMgetPCmoveTempoToHead getHeadTempo extractTempo segmentBefore isSetTemposegmentBeforeSetTempo readTrack fromTicksquartertrackTimeToStdlookupChannelProg progChange isProgChangeapplyProgChanges richNoteToBE isRichNote richTrackToBE mergeNotes searchNoteOff addInterval NotePerfToBEPerf getInstrumentfromRhythmicPerformanceBase fromRhythmicPerformanceMixedBasefromRhythmicMusicBasedivision trackFromPfBEsetTempo getChanProgupdateChannelMap progChangesrateaddEventSound.MIDI.File.SavetoCompressedByteString toByteString toByteListtoFiletoSeekableFileSound.MIDI.File.LoadshowFilemaybeFromByteStringmaybeFromByteList fromByteListfromFileSound.MIDI.FileprogChangeBeforeSetTempo sortEvents resampleTime showEventshowTime showLinesticksPerQuarterNotesecondsFromTicks mergeTracks getTracksimplicitNoteOffexplicitNoteOffMixedTypeTicksSMPTEDivisionTrackSound.MIDI.File.Event.Meta fromTempotoTempofromElapsedTime toElapsedTime ElapsedTimeTMelody filterMusicfmremLenmusicDurjazzFillendFillbassFromMelody bassChoosebassNoteevFromCC chartBass splitToDur quarterBass eighthBass bossaBass bossaBassCjazzDrum takeFiveBass