!v      !"#$%&'()*+,-./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    !!!!                 !   !  !    ! "#$%&'()*+,-./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{|}~                     ( !"#$%&'()*+,-./0123456789:;<=( !"#$%&'()*+,-./0123456789:;<=(!"#$%&'()*+,-./01234 57689;<=:( !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRST>?@ABCDEFGHIJKLMNOPQRST>@ABCDEF?IJKLMNOHGQPRST>?@ABCDEFGHIJKLMNOPQRST.UVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~.UVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~.]^_a`cbefghijd\kmnopqrlVWXYZ[Ustuvwxyz{|}~.UVWXYZ[WXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~5                      !      !"#$%&'()*+,-./01234 !"#$%&'()*+,-./01234"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# << $%&  wrapped in a State monad. '    (    )*    +                    ,  !"#$%  !"#$%  !"#$%  !"#$%-+&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOP+&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOP+()*+'&,-./023456789:;1<>?@ABCDE=GHIJKLMNOFP+&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOP.QRSTUVWXYZ[\]^_`aQRSTUVWXYZ[\]^_`aTSRQUVWXZ[Y\]^_`aQRSTUVWXYZ[\]^_`a/bcdefghijklmnopqrstuvwxbcdefghijklmnopqrstuvwxghidfejkcmnlobpqrstuvwxbcdfeefghijklmnopqrstuvwx0$yz{|}~$yz{|}~$|}~{zy$yz{|}~}~1    23 4  ! " # $ % & '567 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    8Cin contrast to RhyMusic.fromStdMelody it has fixed instrument type zbcdefghijklmnopqrvwxyz{|}~zbcdefghijklmnopqrv~}|{zyxw9:                    ;< ( ) !"#$%&' !"#$%&' !"#$%&'  !"#$%&'= ()*+,-./012 ()*+,-./012 ()*+,-./012 ()*+,-./012>" * + , - .34 /5 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G&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 H345345345?6789:;<=>?@ABCD6789:;<=>?@ABCD6789:;<=>?@ABCD6789:;<=>?@ABCD@ I J KEFG LHIJ MKLMNOP N O P Q R S T U VQREFGHIJKLMNOPQREHFIGJKLMONPQREFGHIJKLMNOPQRA STUVWXYZ[\]^ STUVWXYZ[\]^ STUVWXYZ[\]^ STUVWXYZ[\]^T6 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 {345EFGHIJKLMNOPQRB_`abcdefghijklmnop_`abcdefghijklmnop_`abcdefgijklmhnop_`abcdefghijklmnopCqrstuvwxyz{|}~qrstuvwxyz{|}~strquvwxy|~z}{qrsttuvwxyz{|}~D0000E | } ~    F2222G#     #     #     #     H !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~GHIJFBCDEK=A@?>L<;MNOPQ:SRTUVWXYZ\dlo]~emp_bi|[^`acfghjknqrstuwxvz{y}9876543210/.-,+*)('&%$#"!  9876543210/.-,+*)('&%$#"!  !"#$%&'()*+,-./0123456789:;<=A@?>>?@ABCDECDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~I      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~'()*+&"#$%,! -./0124356789:;=ELOgjm>cpz}^FMPhkn@dx{~_CJ\`ew<?ABDGHIKNQRSTUWXVZ[Y]abfilosturqvy|                !  !"#$%#$%&'()*+,-./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 Y w xKKyKzK{|}~|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}L:LLMMMMM:MMXMMNXNN:NNNNNNNNNO:OOXOOOOPXPP:PPPPPPPPPPPQQQQQQQQ:QRXRR:RRRRRRRRRSSSSSSSSSSSSSS|S{SSSSS     v !"#$%&'()*+,-./0123456789:;<=>?]_@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]Y^_`abcdefghijklmn o p q r!!s!t!uvwx3y4z4{4|4}4~44<<>>>P>>>>>>>>>>>>>>>>>>>>>>>>>>>>@@@@@@@@@@@@@@UUUUUUUUUUUUUUUUUUUUUUYU:UUPUQUUUUUUUUUUUEEEEEEEEEEEEEEEEEEE haskore-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.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.1.5.2Sound.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 IntervalslowesthighestfindWithDefault lookupIndex findIndexcontainers-0.4.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 addInstrPlainrunOrcFifthFifthAugmentedEleventhFifthMajorNinethFifthMinorNinethFifthMajorSeventhFifthAugmentedFifthFifthDiminishedFifthFifthAugmentedThirdFourthFourthThirteenthFourthEleventhFourthMajorNineth 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.3 System.RandomrandomRreadSigread filterCommentread1 hasChord1barUnit hasChordBarbarGCD GetContext SetContext RichEvent RichTrackChannelProgramMap readFullTrack prepareTrackformatmakeCPMgetPCtDivmoveTempoToHead getHeadTempo extractTempo segmentBefore isSetTemposegmentBeforeSetTempo readTrack fromTickstrackTimeToStdlookupChannelProg 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 getTracks resampleTime showEventshowTime showLinesimplicitNoteOffexplicitNoteOffMixedTypeTicksSMPTEDivisionTrackSound.MIDI.File.Event.Meta fromTempotoTempofromElapsedTime toElapsedTime ElapsedTimeTMelody filterMusicfmremLenmusicDurjazzFillendFillbassFromMelody bassChoosebassNoteevFromCC chartBass splitToDur quarterBass eighthBass bossaBass bossaBassCjazzDrum takeFiveBass