package jmsltestsuite; import java.util.Vector; import com.softsynth.jmsl.JMSL; import com.softsynth.jmsl.MusicShape; import com.softsynth.jmsl.score.Score; import com.softsynth.jmsl.score.ScoreFrame; import com.softsynth.jmsl.score.transcribe.*; import com.softsynth.jmsl.util.TimeSignature; /** * * JMSL's com.softsynth.jmsl.score.transcribe package enables the transcription of arbitrary * MusicShape data into common music notation. This example uses a melody generated by Larry * Polansky, used with permission * * @author Nick Didkovsky, (c) 2002 Nick Didkovsky, All Rights reserved. * */ public class TranscribeScoreLP2 { public static void main(String args[]) { JMSL.clock.setAdvance(0.1); boolean JUSTUSEBINARIES = true; if (!JUSTUSEBINARIES) { BeatDivisionSchemeList.defaultSetup(); // 16th 15-tuplet // I need these because after inspecting Larry's melody I saw a bunch of durations of // about // 0.067 which is just short of a 15 tuplet BeatDivisionScheme b = new BeatDivisionScheme(); b.setTimeSpan(1); b.setMinTimeSpan(b.getTimeSpan()); b.setMinRequired(4); b.setNumberOfDivisions(15); BeatDivisionSchemeList.addBeatDivisionScheme(b); } else { // set up allowed subdivisions BeatDivisionSchemeList.removeAllBeatDivisionSchemes(); // 64th BeatDivisionScheme b = new BeatDivisionScheme(); b.setTimeSpan(1.0); b.setMinTimeSpan(0.125/2); b.setMinRequired(0); b.setNumberOfDivisions(16); b.setMinTimeSpan(0.125/2); b.setConformToBeat(true); BeatDivisionSchemeList.addBeatDivisionScheme(b); } MusicShape musicShape = new MusicShape(6); musicShape.setDimensionName(0, "dim_0"); musicShape.setLimits(0, Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY); musicShape.setDefault(0, 0.0); musicShape.setDimensionName(1, "dim_1"); musicShape.setLimits(1, Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY); musicShape.setDefault(1, 0.0); musicShape.setDimensionName(2, "dim_2"); musicShape.setLimits(2, Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY); musicShape.setDefault(2, 0.0); musicShape.setDimensionName(3, "dim_3"); musicShape.setLimits(3, Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY); musicShape.setDefault(3, 0.0); musicShape.setDimensionName(4, "dim_4"); musicShape.setLimits(4, Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY); musicShape.setDefault(4, 0.0); musicShape.setDimensionName(5, "dim_5"); musicShape.setLimits(5, Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY); musicShape.setDefault(5, 0.0); musicShape.add(477.1764705882353, 0.0, 0.0, 0.0, 0.0, 0.0); musicShape.add(0.06729412869577478, 92.0, 0.8, 0.27075654469842236, 0.0, 1.0); musicShape.add(0.06729476327064393, 98.0, 0.8000025916175486, 0.2606017586269315, 0.0, 0.0); musicShape.add(0.067296316127354, 94.0, 0.8000103664336164, 0.2563592660263118, 1.0, 0.0); musicShape.add(0.06729858746683574, 93.0, 0.8000233244040063, 0.2762189531371538, 0.0, 0.0); musicShape.add(0.0673030147516417, 91.0, 0.8000414654371368, 0.16812839634405455, 0.0, 0.0); musicShape.add(0.06730896669310484, 95.0, 0.8000647899474459, 0.25390850809832594, 0.0, 0.0); musicShape.add(0.06731423426282854, 99.0, 0.8000932984526928, 0.16108024274090707, 1.0, 0.0); musicShape.add(0.06732288935896547, 100.0, 0.8001269904802114, 0.21347622761608556, 0.0, 0.0); musicShape.add(0.06732964662076156, 92.0, 0.8001658675853276, 0.20479340005001392, 0.0, 1.0); musicShape.add(0.06733981865328192, 102.0, 0.8002099284341347, 0.2843055115615729, 0.0, 0.0); musicShape.add(0.06735219765139862, 92.0, 0.8002591749282648, 0.2800358566427998, 0.0, 1.0); musicShape.add(0.06736722325798289, 94.0, 0.8003136087266822, 0.258239266420925, 0.0, 0.0); musicShape.add(0.06736774311869255, 97.0, 0.8003732323018149, 0.1460442231756254, 0.0, 0.0); musicShape.add(0.06739933278304616, 95.0, 0.8004380315105646, 0.1438070888845203, 0.0, 0.0); musicShape.add(0.06739805136268702, 93.0, 0.800508036569721, 0.25329392178992255, 0.0, 0.0); musicShape.add(0.06740807757951518, 96.0, 0.8005832131893729, 0.148752319544018, 1.0, 0.0); musicShape.add(0.06743411114119145, 91.0, 0.8006635710792825, 0.2223061434847334, 0.0, 0.0); musicShape.add(0.06744486795912245, 99.0, 0.800749129289157, 0.23273591634336988, 1.0, 0.0); musicShape.add(0.06749163145453696, 102.0, 0.8008398682132899, 0.18591866247459016, 0.0, 0.0); musicShape.add(0.06749457722297102, 94.0, 0.8009358381759955, 0.23202767127964471, 0.0, 0.0); musicShape.add(0.06753457391701799, 95.0, 0.8010369775780384, 0.270418848154475, 0.0, 0.0); musicShape.add(0.06755888442897069, 103.0, 0.8011433415907783, 0.2717801627075859, 0.0, 0.0); musicShape.add(0.06759614945063483, 92.0, 0.8012549073323757, 0.2189520722844133, 0.0, 1.0); musicShape.add(0.06758524812010347, 102.0, 0.8013716974230857, 0.17430109778478126, 0.0, 0.0); musicShape.add(0.0676235028804341, 101.0, 0.8014936255583258, 0.16214921311595484, 0.0, 0.0); musicShape.add(0.06765169572879845, 94.0, 0.8016207771684212, 0.15937610092924018, 0.0, 0.0); musicShape.add(0.06770295208507253, 93.0, 0.8017531342739671, 0.24268196315900833, 0.0, 0.0); musicShape.add(0.06770707242603177, 95.0, 0.8018907441347489, 0.2514980785950693, 0.0, 0.0); musicShape.add(0.06772656706738271, 91.0, 0.8020335100482134, 0.2364552240391297, 0.0, 0.0); musicShape.add(0.0677820290072611, 98.0, 0.8021814596309276, 0.2617590367059868, 0.0, 0.0); musicShape.add(0.0678480938271672, 102.0, 0.8023346722155482, 0.18286146259601657, 0.0, 0.0); musicShape.add(0.0678295840635095, 99.0, 0.8024931775339033, 0.20074303368737784, 0.0, 0.0); musicShape.add(0.0678357082446526, 97.0, 0.8026567750678492, 0.1495486195762955, 0.0, 0.0); musicShape.add(0.0679662208980357, 98.0, 0.8028255142078734, 0.26228522541628874, 0.0, 0.0); musicShape.add(0.06794921055056537, 99.0, 0.8029997109476756, 0.14484153504772349, 0.0, 0.0); musicShape.add(0.06793562500198869, 95.0, 0.8031789908479656, 0.2266006216842704, 0.0, 0.0); musicShape.add(0.06808278594666445, 102.0, 0.8033633500109766, 0.16944054526015245, 1.0, 0.0); musicShape.add(0.06812931978345739, 99.0, 0.8035532299778986, 0.16673093219978255, 0.0, 0.0); musicShape.add(0.06811806003513367, 96.0, 0.8037483618930941, 0.27149624437678666, 0.0, 0.0); musicShape.add(0.06819337842694459, 92.0, 0.8039485738446, 0.2826775832274311, 0.0, 1.0); musicShape.add(0.06834317771886357, 101.0, 0.8041541168606089, 0.16752687136886793, 0.0, 0.0); musicShape.add(0.06824212310061324, 102.0, 0.8043652297798718, 0.1625726498556664, 0.0, 0.0); musicShape.add(0.06832595745990638, 100.0, 0.8045811319392282, 0.16264165537603953, 0.0, 0.0); musicShape.add(0.06841574549845303, 95.0, 0.804802394813186, 0.21192807016365647, 1.0, 0.0); musicShape.add(0.06851114258566295, 97.0, 0.8050290452696041, 0.1956536413679591, 0.0, 0.0); musicShape.add(0.06853134733152376, 93.0, 0.8052611104297029, 0.18511847722340247, 0.0, 0.0); musicShape.add(0.06859086313461378, 92.0, 0.8054983360378757, 0.1779954667904281, 1.0, 1.0); musicShape.add(0.06862631363546638, 94.0, 0.8057408542885517, 0.18412443822867072, 0.0, 0.0); musicShape.add(0.06875169407930753, 93.0, 0.8059885775926517, 0.19747307511113119, 0.0, 0.0); musicShape.add(0.06872537138432597, 94.0, 0.8062418350474189, 0.20428104370676664, 1.0, 0.0); musicShape.add(0.06893009752605055, 100.0, 0.8065000651313209, 0.28021311031267576, 0.0, 0.0); musicShape.add(0.0688920069683037, 92.0, 0.8067641417119635, 0.2616359660620951, 0.0, 1.0); musicShape.add(0.06879277450875186, 99.0, 0.8070331386237036, 0.15147116943064148, 0.0, 0.0); musicShape.add(0.06911075879497466, 95.0, 0.8073067874148393, 0.22775501917297983, 1.0, 0.0); musicShape.add(0.06896781584877339, 102.0, 0.8075867568317435, 0.17294466993364824, 0.0, 0.0); musicShape.add(0.06903909608043785, 98.0, 0.8078711836312475, 0.24990025332776605, 0.0, 0.0); musicShape.add(0.0691575551865195, 99.0, 0.8081609279058756, 0.22143983034013676, 0.0, 0.0); musicShape.add(0.06931293083165999, 102.0, 0.8084561925295319, 0.15084771781221995, 0.0, 0.0); musicShape.add(0.06939271363307566, 95.0, 0.8087571487597512, 0.18530541898234337, 0.0, 0.0); musicShape.add(0.06962624240732293, 91.0, 0.8090634774093325, 0.28600732580055044, 0.0, 0.0); musicShape.add(0.06929479060864022, 102.0, 0.8093758742797934, 0.16535677707841598, 0.0, 0.0); musicShape.add(0.06926391995422362, 93.0, 0.8096917766541197, 0.20100379318945316, 0.0, 0.0); musicShape.add(0.06935942926458608, 99.0, 0.8100124983312808, 0.23983063149487077, 0.0, 0.0); musicShape.add(0.06986302694871017, 92.0, 0.8103386137922195, 0.24467316917601592, 0.0, 1.0); musicShape.add(0.06954530502177271, 103.0, 0.8106720879304747, 0.2207871891967583, 0.0, 0.0); musicShape.add(0.06929962534193952, 94.0, 0.811009001858115, 0.20206914126990913, 0.0, 0.0); musicShape.add(0.07003891090076224, 99.0, 0.8113496259151948, 0.15271156486203108, 1.0, 0.0); musicShape.add(0.06950979753563097, 95.0, 0.8116988348352168, 0.18763978187937935, 0.0, 0.0); musicShape.add(0.06988405244267325, 97.0, 0.8120503074736134, 0.21967820914807473, 0.0, 0.0); musicShape.add(0.07027238543039095, 102.0, 0.8124085755960131, 0.16286128754965265, 1.0, 0.0); musicShape.add(0.07015011670660197, 100.0, 0.8127737716550362, 0.21430488152636828, 0.0, 0.0); musicShape.add(0.07012488325080016, 98.0, 0.8131432496335151, 0.21930517711479036, 0.0, 0.0); musicShape.add(0.0708517587643338, 94.0, 0.813517484300434, 0.178895663708949, 1.0, 0.0); musicShape.add(0.07065706086639433, 99.0, 0.8139005415917798, 0.2729442445514757, 0.0, 0.0); musicShape.add(0.07029068687230848, 95.0, 0.8142874729737763, 0.16374471632026716, 0.0, 0.0); musicShape.add(0.07048037383931807, 96.0, 0.8146772578408841, 0.17583487995282462, 1.0, 0.0); musicShape.add(0.07083415031753819, 98.0, 0.815072939218371, 0.29805471548846785, 0.0, 0.0); musicShape.add(0.07051141313315727, 91.0, 0.8154754717837795, 0.16493337277263287, 0.0, 0.0); musicShape.add(0.0701497158349532, 93.0, 0.8158809913903514, 0.22156417816327872, 0.0, 0.0); musicShape.add(0.07114380315151099, 92.0, 0.8162891810569946, 0.23421040770127471, 0.0, 1.0); musicShape.add(0.07088186542285883, 96.0, 0.8167079707190199, 0.22058081547849412, 0.0, 0.0); musicShape.add(0.07131788581477706, 100.0, 0.8171300171880835, 0.26312059598592236, 1.0, 0.0); musicShape.add(0.07118445887946806, 94.0, 0.8175594693908964, 0.20303418272943494, 0.0, 0.0); musicShape.add(0.0708301960956023, 93.0, 0.8179929040650723, 0.15339188659571856, 0.0, 0.0); musicShape.add(0.07120457080002587, 103.0, 0.8184289025532657, 0.2270430687268449, 0.0, 0.0); musicShape.add(0.07145495041913734, 97.0, 0.8188719267076097, 0.2689181316663098, 1.0, 0.0); musicShape.add(0.07098837177679311, 92.0, 0.8193212414823497, 0.24864886062217156, 0.0, 1.0); musicShape.add(0.07199520170300912, 102.0, 0.819772291223519, 0.19209866256706543, 0.0, 0.0); musicShape.add(0.07235736588330575, 94.0, 0.8202344644879604, 0.18416123260488784, 1.0, 0.0); musicShape.add(0.07230571766737051, 98.0, 0.8207037306474687, 0.23080973965147708, 0.0, 0.0); musicShape.add(0.07203462506885334, 100.0, 0.8211774086376596, 0.25088408186765, 1.0, 0.0); musicShape.add(0.07175531546579024, 102.0, 0.8216540009738409, 0.1800207298280487, 0.0, 0.0); musicShape.add(0.07249498855400273, 93.0, 0.8221333714979041, 0.2950764284594104, 0.0, 0.0); musicShape.add(0.0722457634438887, 96.0, 0.8226223434725188, 0.22667348048793226, 0.0, 0.0); musicShape.add(0.072528548406385, 101.0, 0.8231142650569437, 0.27720345684409337, 0.0, 0.0); musicShape.add(0.07278017968789931, 99.0, 0.8236127323048371, 0.304050844630941, 0.0, 0.0); musicShape.add(0.0733056023153183, 95.0, 0.8241175520983189, 0.19674790333331807, 0.0, 0.0); musicShape.add(0.07338839568188694, 102.0, 0.8246306667996682, 0.23249536360974465, 0.0, 0.0); musicShape.add(0.07345655848979432, 95.0, 0.8251490045702464, 0.2905729432332156, 0.0, 0.0); musicShape.add(0.07283515328300572, 101.0, 0.8256724444140247, 0.15996329962616548, 0.0, 0.0); musicShape.add(0.0732789421791623, 95.0, 0.8261959886981769, 0.17127146925486067, 0.0, 0.0); musicShape.add(0.07360940578784728, 98.0, 0.8267272452878455, 0.249034195782603, 0.0, 0.0); musicShape.add(0.07350769805323641, 92.0, 0.8272654315957906, 0.28306228972175607, 0.0, 1.0); musicShape.add(0.07322730713076762, 93.0, 0.8278073757517397, 0.16419619653747092, 0.0, 0.0); musicShape.add(0.07377518169321202, 92.0, 0.8283516920488433, 0.2407034066194238, 0.0, 1.0); musicShape.add(0.07424923257546594, 99.0, 0.8289045276430346, 0.16994966278932605, 1.0, 0.0); musicShape.add(0.07430746595231584, 91.0, 0.8294653872818398, 0.2976204723606027, 0.0, 0.0); musicShape.add(0.07393944760775245, 95.0, 0.8300311427702678, 0.30683203802660375, 0.0, 0.0); musicShape.add(0.07431901702426519, 98.0, 0.8305984855066868, 0.30462138750960377, 1.0, 0.0); musicShape.add(0.0750592480870353, 94.0, 0.8311731169198826, 0.23810990547583902, 0.0, 0.0); musicShape.add(0.07516054582821843, 100.0, 0.8317578880187069, 0.24979045903883804, 1.0, 0.0); musicShape.add(0.07567672611288076, 95.0, 0.8323478577526969, 0.30527633461497405, 1.0, 0.0); musicShape.add(0.07501768647267237, 102.0, 0.8329462985891092, 0.30124833446733074, 0.0, 0.0); musicShape.add(0.07442388299263902, 96.0, 0.8335438660471598, 0.25874935932929133, 0.0, 0.0); musicShape.add(0.07596638586922991, 92.0, 0.8341409335000636, 0.2556904796964306, 0.0, 1.0); musicShape.add(0.07574464165128979, 97.0, 0.8347546814385509, 0.2114260046031414, 0.0, 0.0); musicShape.add(0.07560117710823391, 93.0, 0.8353709286621489, 0.2052133712529331, 0.0, 0.0); musicShape.add(0.07514529914980371, 94.0, 0.8359902406787364, 0.2481097152728273, 1.0, 0.0); musicShape.add(0.0764413071672057, 92.0, 0.8366099679494836, 0.3133550050625149, 0.0, 1.0); musicShape.add(0.07671703862940725, 98.0, 0.8372445868744496, 0.30491572484837814, 0.0, 0.0); musicShape.add(0.07609006564564474, 93.0, 0.8378857147581542, 0.19421421506384975, 0.0, 0.0); musicShape.add(0.07717699808021113, 99.0, 0.8385257362454205, 0.2530060627505511, 0.0, 0.0); musicShape.add(0.07591432062274552, 102.0, 0.8391790615768542, 0.29582502725888526, 0.0, 0.0); musicShape.add(0.0775640064686115, 93.0, 0.8398257434524052, 0.2456986012019102, 0.0, 0.0); musicShape.add(0.07704273847848553, 95.0, 0.8404905775109186, 0.1670582839606745, 0.0, 0.0); musicShape.add(0.07635800235335215, 99.0, 0.8411550002586596, 0.18657164296098036, 0.0, 0.0); musicShape.add(0.076837342095382, 97.0, 0.8418174625614494, 0.2910406612808999, 0.0, 0.0); musicShape.add(0.07798792767997174, 94.0, 0.842488002861341, 0.22311944959788912, 0.0, 0.0); musicShape.add(0.07771190258393251, 101.0, 0.8431725579466918, 0.22203997867993625, 0.0, 0.0); musicShape.add(0.0773736516295535, 93.0, 0.8438586252661687, 0.1926960888520984, 0.0, 0.0); musicShape.add(0.07832498633855023, 100.0, 0.8445455618054347, 0.25123549676023604, 1.0, 0.0); musicShape.add(0.07839867575194884, 99.0, 0.8452448144956368, 0.3097386798838339, 0.0, 0.0); musicShape.add(0.07994477632723694, 97.0, 0.8459485752488826, 0.17548699369930623, 0.0, 0.0); musicShape.add(0.07857721119343387, 94.0, 0.8466701302685535, 0.2765218281490092, 0.0, 0.0); musicShape.add(0.07738648549124637, 103.0, 0.8473831440463232, 0.3287520452748475, 0.0, 0.0); musicShape.add(0.07707505170387272, 99.0, 0.8480889877380671, 0.2786280583763544, 0.0, 0.0); musicShape.add(0.07937756626939825, 94.0, 0.8487955276936511, 0.20157579039854898, 1.0, 0.0); musicShape.add(0.07742895767681506, 95.0, 0.8495268132758997, 0.3124401577608342, 0.0, 0.0); musicShape.add(0.07769323725807979, 92.0, 0.8502436543011787, 0.24531945524456172, 0.0, 1.0); musicShape.add(0.07845045932794605, 96.0, 0.8509663737801232, 0.29909671552670825, 0.0, 0.0); musicShape.add(0.07929645912639495, 94.0, 0.851699574337752, 0.20053675949624788, 0.0, 0.0); musicShape.add(0.08040702256806542, 99.0, 0.8524441391017803, 0.2473156086241341, 1.0, 0.0); musicShape.add(0.07882576480926533, 91.0, 0.8532026262418662, 0.24356891902062175, 0.0, 0.0); musicShape.add(0.08096067553728156, 97.0, 0.8539495591218205, 0.22536598507194794, 0.0, 0.0); musicShape.add(0.08051479274262308, 99.0, 0.8547201306595386, 0.2784610176081319, 0.0, 0.0); musicShape.add(0.07967861104753714, 92.0, 0.8554898274738232, 0.18599401301325832, 0.0, 1.0); musicShape.add(0.08051165468463864, 91.0, 0.8562547821746211, 0.28026191025831054, 0.0, 0.0); musicShape.add(0.08035794353243096, 93.0, 0.8570309631164258, 0.2852533186525327, 0.0, 0.0); musicShape.add(0.08161404063093626, 96.0, 0.8578088411068351, 0.23703171449340885, 1.0, 0.0); musicShape.add(0.08194936268449939, 102.0, 0.8586020698608544, 0.3306914564182792, 0.0, 0.0); musicShape.add(0.08043974726487732, 98.0, 0.8594017332179823, 0.1747529452031999, 1.0, 0.0); musicShape.add(0.0818680289094663, 93.0, 0.8601897010332672, 0.2692392390182963, 1.0, 0.0); musicShape.add(0.08364836539560103, 100.0, 0.8609946869511907, 0.26966150729016225, 1.0, 0.0); musicShape.add(0.08033962492453106, 94.0, 0.8618202685319576, 0.1956021196060953, 0.0, 0.0); musicShape.add(0.08277086115094863, 95.0, 0.8626160734255472, 0.32383202707299963, 0.0, 0.0); musicShape.add(0.08550352631128155, 99.0, 0.863438848748019, 0.3385405571057372, 0.0, 0.0); musicShape.add(0.08261044380988414, 100.0, 0.8642917975951073, 0.2524187346528446, 0.0, 0.0); musicShape.add(0.08296355075758298, 101.0, 0.8651187250432125, 0.24428949572257377, 0.0, 0.0); musicShape.add(0.08174390438840684, 97.0, 0.8659519291118725, 0.2742566865404376, 0.0, 0.0); musicShape.add(0.08335583419431843, 102.0, 0.8667755080446284, 0.316923019127072, 1.0, 0.0); musicShape.add(0.08246357918512016, 103.0, 0.8676179436370935, 0.3046667239602783, 0.0, 0.0); musicShape.add(0.08380816980341033, 94.0, 0.8684538959554068, 0.2521136287874101, 1.0, 0.0); musicShape.add(0.08504050938788808, 96.0, 0.8693059940781744, 0.35598450842589946, 0.0, 0.0); musicShape.add(0.08379576534278642, 99.0, 0.8701731436304855, 0.31115088313277783, 0.0, 0.0); musicShape.add(0.08726218909627247, 94.0, 0.871030015960338, 0.23709261673595797, 1.0, 0.0); musicShape.add(0.08519141339196758, 97.0, 0.8719248087301458, 0.23217620712116344, 0.0, 0.0); musicShape.add(0.08535457818149655, 102.0, 0.8728007287245135, 0.3625134070681142, 0.0, 0.0); musicShape.add(0.08685650914366988, 93.0, 0.8736805921994276, 0.26018534880265237, 1.0, 0.0); musicShape.add(0.08493775098140585, 98.0, 0.8745781906052423, 0.21067215252059593, 0.0, 0.0); musicShape.add(0.08838958297511233, 92.0, 0.8754580835117964, 0.24101843579285664, 1.0, 1.0); musicShape.add(0.08503197879155228, 94.0, 0.8763758855746453, 0.3432217682153494, 0.0, 0.0); musicShape.add(0.08441237770409417, 103.0, 0.8772608182846019, 0.3045724003109632, 0.0, 0.0); musicShape.add(0.08534679519542951, 96.0, 0.8781411642771175, 0.31989062603940605, 0.0, 0.0); musicShape.add(0.08547051752710523, 101.0, 0.8790330675801646, 0.35680625198565996, 0.0, 0.0); musicShape.add(0.08797942247181616, 93.0, 0.8799280156445084, 0.21625947761275954, 1.0, 0.0); musicShape.add(0.09001621730500396, 95.0, 0.8808509861993249, 0.341265419845223, 0.0, 0.0); musicShape.add(0.09103913908075498, 102.0, 0.881797079483055, 0.32458913447515136, 0.0, 0.0); musicShape.add(0.08757986771004081, 94.0, 0.882755640696023, 0.20907244531074082, 1.0, 0.0); musicShape.add(0.089792203146902, 98.0, 0.8836793237552248, 0.2871326833036558, 1.0, 0.0); musicShape.add(0.0886048598516999, 94.0, 0.8846278266252448, 0.20521595207958265, 1.0, 0.0); musicShape.add(0.09160964365416788, 93.0, 0.8855651781775208, 0.34429135336963596, 0.0, 0.0); musicShape.add(0.08992606930031256, 96.0, 0.8865356801821065, 0.3452449388832158, 0.0, 0.0); musicShape.add(0.08943949226507658, 101.0, 0.8874896050528029, 0.3664527170647741, 0.0, 0.0); musicShape.add(0.09337469903590762, 100.0, 0.8884395170933824, 0.25544130270066895, 1.0, 0.0); musicShape.add(0.09067057944435442, 99.0, 0.8894323518657841, 0.2207048164007009, 0.0, 0.0); musicShape.add(0.08939668212094684, 95.0, 0.8903974443997967, 0.2490981405774701, 0.0, 0.0); musicShape.add(0.08827520755601442, 97.0, 0.891349862681806, 0.31156894527260554, 0.0, 0.0); musicShape.add(0.09279886487613252, 94.0, 0.8922911097247547, 0.256020458423152, 0.0, 0.0); musicShape.add(0.08785630093833383, 100.0, 0.8932813306852176, 0.21803641231672152, 0.0, 0.0); musicShape.add(0.08924579933141966, 102.0, 0.8942194233155575, 0.2245435191823304, 0.0, 0.0); musicShape.add(0.0916724260579733, 93.0, 0.8951728748528395, 0.23137719717787725, 0.0, 0.0); musicShape.add(0.09462807254628093, 99.0, 0.8961527084421772, 0.260318346308295, 0.0, 0.0); musicShape.add(0.09228331405079046, 91.0, 0.897164520320181, 0.28339881029845465, 1.0, 0.0); musicShape.add(0.09212201379347203, 97.0, 0.8981515415613448, 0.2391760445208944, 0.0, 0.0); musicShape.add(0.09068664252918157, 100.0, 0.8991370173682349, 0.2395102365949197, 0.0, 0.0); musicShape.add(0.0937896547018344, 95.0, 0.9001072206439558, 0.3384313379276121, 0.0, 0.0); musicShape.add(0.09244360196654422, 93.0, 0.9011106095171686, 0.36080630925773577, 0.0, 0.0); musicShape.add(0.0943615659721694, 99.0, 0.9020994889780933, 0.2950589741648572, 0.0, 0.0); musicShape.add(0.09411647343126944, 102.0, 0.9031086726294122, 0.3621292733291982, 0.0, 0.0); musicShape.add(0.09401345588737864, 0.0, 0.9041149195543773, 0.23587445448944253, 0.0, 0.0); musicShape.add(0.0986667363979829, 103.0, 0.9051196485950579, 0.30440975086318445, 0.0, 0.0); musicShape.add(0.0943396401621463, 94.0, 0.9061735487902473, 0.24657326005430633, 0.0, 0.0); musicShape.add(0.09732162479801532, 91.0, 0.9071805877842123, 0.23277311255877234, 1.0, 0.0); musicShape.add(0.09786300585146171, 95.0, 0.9082186906620848, 0.3460978377315947, 0.0, 0.0); musicShape.add(0.09544434929167883, 91.0, 0.9092616696678143, 0.3346628908976757, 1.0, 0.0); musicShape.add(0.09757759971501587, 102.0, 0.9102778947306652, 0.21649936879518442, 0.0, 0.0); musicShape.add(0.10120576115983132, 101.0, 0.9113157245087312, 0.3595571866205726, 1.0, 0.0); musicShape.add(0.0990379918923527, 99.0, 0.9123908389119606, 0.2779476171653741, 0.0, 0.0); musicShape.add(0.09737022580041875, 98.0, 0.9134415195599381, 0.21531625596109064, 0.0, 0.0); musicShape.add(0.09854189224641943, 93.0, 0.9144730366264188, 0.3582441579536383, 0.0, 0.0); musicShape.add(0.10194380956128321, 95.0, 0.9155153665634819, 0.25649517325247695, 0.0, 0.0); musicShape.add(0.09832291893130608, 0.0, 0.9165918642194034, 0.3284171303058639, 1.0, 0.0); musicShape.add(0.10369647490097475, 93.0, 0.9176282580295343, 0.3267734057719121, 1.0, 0.0); musicShape.add(0.10007126211469429, 96.0, 0.9187191773022673, 0.27153487828874084, 0.0, 0.0); musicShape.add(0.0980981281175232, 91.0, 0.9197697752192769, 0.3431982531228272, 1.0, 0.0); musicShape.add(0.09768859363007869, 93.0, 0.9207974595144368, 0.2261912561474131, 0.0, 0.0); musicShape.add(0.10343460766574124, 92.0, 0.9218185772308474, 0.2387880942191173, 0.0, 1.0); musicShape.add(0.10855035168004, 0.0, 0.9228971568283055, 0.23973282061719223, 0.0, 0.0); musicShape.add(0.10128712800887726, 91.0, 0.9240260639532963, 0.278358003551191, 1.0, 0.0); musicShape.add(0.10168350846992381, 101.0, 0.9250765153559131, 0.3880432734679463, 0.0, 0.0); musicShape.add(0.10324114560129755, 102.0, 0.9261281156049535, 0.26553726305687736, 1.0, 0.0); musicShape.add(0.10360114975539039, 98.0, 0.927192660615759, 0.3401015290825745, 0.0, 0.0); musicShape.add(0.10464412095648956, 93.0, 0.928257582768224, 0.3578204291019222, 0.0, 0.0); musicShape.add(0.1045224310444739, 100.0, 0.9293297012118087, 0.4136673054159564, 0.0, 0.0); musicShape.add(0.10746017396071234, 93.0, 0.9303969033097806, 0.3343549296182148, 0.0, 0.0); musicShape.add(0.10981861255618433, 100.0, 0.9314901365537174, 0.3711520475212899, 0.0, 0.0); musicShape.add(0.10602104971408968, 92.0, 0.9326030618730323, 0.2992608168317526, 0.0, 1.0); musicShape.add(0.10136109033204974, 98.0, 0.933673233874289, 0.3685918114357639, 0.0, 0.0); musicShape.add(0.1064605650955118, 99.0, 0.9346923195187253, 0.3862415975286977, 0.0, 0.0); musicShape.add(0.11377136829485325, 101.0, 0.9357582805326716, 0.29566454988550045, 0.0, 0.0); musicShape.add(0.10457749836677697, 98.0, 0.9368923116900654, 0.31893615754805527, 0.0, 0.0); musicShape.add(0.1108718080132452, 102.0, 0.9379298846999635, 0.23894235655442392, 0.0, 0.0); musicShape.add(0.10973228303130293, 96.0, 0.9390247191561948, 0.2446167102677065, 1.0, 0.0); musicShape.add(0.10732187027391339, 99.0, 0.9401028952621836, 0.39664987291399956, 0.0, 0.0); musicShape.add(0.11163496802011633, 93.0, 0.941152042667996, 0.27615839893959454, 0.0, 0.0); musicShape.add(0.11249814869182834, 97.0, 0.9422375951347037, 0.40474275671918175, 0.0, 0.0); musicShape.add(0.11443180533356384, 98.0, 0.9433254460149033, 0.44956468346219913, 1.0, 0.0); musicShape.add(0.10872093465730305, 99.0, 0.9444255556757684, 0.3895668288134918, 0.0, 0.0); musicShape.add(0.10981715004966397, 103.0, 0.9454645971975801, 0.4666089416935643, 1.0, 0.0); musicShape.add(0.1137909999792367, 0.0, 0.9465078704213116, 0.46422256117742466, 0.0, 0.0); musicShape.add(0.1116898942416385, 95.0, 0.9475821214797923, 0.4072562813565, 0.0, 0.0); musicShape.add(0.11290880109415927, 97.0, 0.9486296801343808, 0.4464405915089151, 0.0, 0.0); musicShape.add(0.11596087767781146, 99.0, 0.9496816130940106, 0.4129257220684306, 0.0, 0.0); musicShape.add(0.10740968494103653, 95.0, 0.9507544339251269, 0.2547876271456413, 1.0, 0.0); musicShape.add(0.11734487071029412, 102.0, 0.9517411775797021, 0.3764795204431781, 1.0, 0.0); musicShape.add(0.11267396361482794, 97.0, 0.9528113790364245, 0.3135642255361314, 1.0, 0.0); musicShape.add(0.11736437521167191, 93.0, 0.9538311502846748, 0.29357390430945723, 0.0, 0.0); musicShape.add(0.11720995182459126, 92.0, 0.9548850532574535, 0.4867749276618443, 0.0, 1.0); musicShape.add(0.11731461453114747, 99.0, 0.9559289336355935, 0.3340068049237688, 1.0, 0.0); musicShape.add(0.11276131705482069, 96.0, 0.9569649398744395, 0.3186482357501212, 0.0, 0.0); musicShape.add(0.11700584740898985, 94.0, 0.957952280197536, 0.4321562483468526, 0.0, 0.0); musicShape.add(0.12164013495545349, 100.0, 0.9589678676304161, 0.3504831095670727, 1.0, 0.0); musicShape.add(0.12107330444092484, 103.0, 0.9600138813079266, 0.4027314036548694, 0.0, 0.0); musicShape.add(0.12403379499953736, 94.0, 0.9610449282665819, 0.38697229625325824, 0.0, 0.0); musicShape.add(0.12715951815410337, 92.0, 0.9620905641706019, 0.49800910776582485, 0.0, 1.0); musicShape.add(0.12231637195296541, 101.0, 0.9631511991418362, 0.38801540278180296, 0.0, 0.0); musicShape.add(0.12459784144417624, 94.0, 0.9641604116131173, 0.4754603703677912, 0.0, 0.0); musicShape.add(0.11587968648506412, 102.0, 0.9651771507279107, 0.37468320801214194, 0.0, 0.0); musicShape.add(0.12656701078798427, 95.0, 0.966112357843162, 0.32980791346438343, 0.0, 0.0); musicShape.add(0.1203365394346496, 101.0, 0.967122202009676, 0.45694801434152693, 0.0, 0.0); musicShape.add(0.12209822484776979, 94.0, 0.968070924632133, 0.4904837308857601, 0.0, 0.0); musicShape.add(0.12571913421467074, 100.0, 0.9690220041474081, 0.41059063347544245, 0.0, 0.0); musicShape.add(0.13027924539722532, 99.0, 0.9699889804848894, 0.5183040981013971, 0.0, 0.0); musicShape.add(0.12455683779750923, 92.0, 0.9709776705977856, 0.5055904609195333, 0.0, 1.0); musicShape.add(0.1219146362909411, 96.0, 0.971910042694044, 0.5074401882859995, 0.0, 0.0); musicShape.add(0.12223807388121931, 93.0, 0.9728102718203739, 0.4704231160556502, 0.0, 0.0); musicShape.add(0.1281469057171811, 103.0, 0.9737004533270642, 0.2764507080650012, 0.0, 0.0); musicShape.add(0.1282044352476257, 92.0, 0.9746201293143527, 0.48612600833697156, 0.0, 1.0); musicShape.add(0.1309306681100476, 100.0, 0.9755261833484773, 0.37839404607205435, 0.0, 0.0); musicShape.add(0.12527420996438893, 98.0, 0.9764368383236939, 0.5033436076574962, 1.0, 0.0); musicShape.add(0.13313692487305143, 95.0, 0.9772941137507832, 0.32242473786089687, 0.0, 0.0); musicShape.add(0.12874139569916698, 97.0, 0.9781899733864551, 0.4326421334422592, 0.0, 0.0); musicShape.add(0.13696190075483075, 96.0, 0.9790411717999176, 0.49585313632384836, 0.0, 0.0); musicShape.add(0.1342433018037526, 0.0, 0.9799302567294805, 0.4487549293342283, 0.0, 0.0); musicShape.add(0.13252729828651694, 102.0, 0.9807850413782119, 0.5575859183881949, 0.0, 0.0); musicShape.add(0.14579144250161086, 97.0, 0.9816125552114481, 0.5338655559398368, 1.0, 0.0); musicShape.add(0.14166960454221422, 98.0, 0.982503933930292, 0.5566832272203391, 0.0, 0.0); musicShape.add(0.1355879191698814, 95.0, 0.9833508851192138, 0.5488281328634765, 0.0, 0.0); musicShape.add(0.13282322406783062, 96.0, 0.9841435485651826, 0.4291278892212237, 0.0, 0.0); musicShape.add(0.13589752120848514, 0.0, 0.9849028828822659, 0.5433746863504272, 0.0, 0.0); musicShape.add(0.14111914249501212, 101.0, 0.9856620475946888, 0.5714871999876494, 0.0, 0.0); musicShape.add(0.13206952605452635, 97.0, 0.9864312155128877, 0.33196307951689547, 0.0, 0.0); musicShape.add(0.14765443784350335, 92.0, 0.9871332157394132, 0.6260950555351268, 1.0, 1.0); musicShape.add(0.13386585420715313, 98.0, 0.9878974539106228, 0.5628053071594479, 0.0, 0.0); musicShape.add(0.13740267704360346, 92.0, 0.9885713725679828, 0.35995922491843274, 0.0, 1.0); musicShape.add(0.13438007863734985, 99.0, 0.9892442024375514, 0.5579868971514635, 1.0, 0.0); musicShape.add(0.1493263021252349, 95.0, 0.9898835793893226, 0.5995427333527307, 0.0, 0.0); musicShape.add(0.13970618761243367, 94.0, 0.9905722724879719, 0.352000767218038, 0.0, 0.0); musicShape.add(0.15192165798332957, 102.0, 0.9911956710579457, 0.4648120969159073, 0.0, 0.0); musicShape.add(0.14837475714590045, 91.0, 0.9918504507321418, 0.32010258852756934, 0.0, 0.0); musicShape.add(0.15016933595733534, 100.0, 0.9924665238644306, 0.618022112941418, 0.0, 0.0); musicShape.add(0.1408643180592335, 103.0, 0.9930663239605667, 0.5762605546856581, 0.0, 0.0); musicShape.add(0.1411630548219953, 95.0, 0.9936071265320905, 0.41576554044517333, 0.0, 0.0); musicShape.add(0.1508628982856086, 92.0, 0.9941277488391487, 0.45310520277312877, 1.0, 1.0); musicShape.add(0.14890152149582048, 0.0, 0.9946604102893309, 0.35492482570536205, 0.0, 0.0); musicShape.add(0.1578160745334423, 99.0, 0.9951619671305675, 0.626674794486134, 0.0, 0.0); musicShape.add(0.14305765882808455, 0.0, 0.9956671878561106, 0.3589838937454088, 0.0, 0.0); musicShape.add(0.15498782391190866, 97.0, 0.9961016008571185, 0.47600738293248235, 0.0, 0.0); musicShape.add(0.14360424460078244, 98.0, 0.9965468331873375, 0.5122924096043157, 1.0, 0.0); musicShape.add(0.15069133169383392, 95.0, 0.9969356750819461, 0.6206443442009013, 0.0, 0.0); musicShape.add(0.1380877216923304, 99.0, 0.9973191036387258, 0.3473542740795314, 1.0, 0.0); musicShape.add(0.15106080070984404, 96.0, 0.9976482561524014, 0.5321873092360105, 0.0, 0.0); musicShape.add(0.15674543498090296, 100.0, 0.9979839205949403, 0.36382276287162835, 0.0, 0.0); musicShape.add(0.15551770556752414, 94.0, 0.9983051611875411, 0.4314541948377034, 1.0, 0.0); musicShape.add(0.16750531986568454, 99.0, 0.9985965655587605, 0.3573718178193651, 0.0, 0.0); musicShape.add(0.1465627714076365, 100.0, 0.9988798994216321, 0.5755542463973131, 0.0, 0.0); musicShape.add(0.1532279163569653, 98.0, 0.9991017647208873, 0.3570692561657343, 0.0, 0.0); musicShape.add(0.1659272685460301, 0.0, 0.9993076664879975, 0.4910436054988281, 0.0, 0.0); musicShape.add(0.15561666136484625, 100.0, 0.9995005354383173, 0.49636113478435273, 0.0, 0.0); musicShape.add(0.1510793152503518, 97.0, 0.9996529282624202, 0.34112346267087973, 0.0, 0.0); musicShape.add(0.15680967304659013, 96.0, 0.9997744532874935, 0.5585267875708984, 0.0, 0.0); musicShape.add(0.17084148211095804, 98.0, 0.9998730199658016, 0.6793725843976786, 1.0, 0.0); musicShape.add(0.16737189204718497, 103.0, 0.9999484124784115, 0.6345598973115074, 0.0, 0.0); musicShape.add(0.17161979232257685, 98.0, 0.9999898955558197, 0.5829140905664411, 0.0, 0.0); musicShape.add(0.16547129446065145, 0.0, 0.9999998033798486, 0.3745689280530529, 1.0, 0.0); musicShape.add(0.1686480942088375, 102.0, 0.9999945371606912, 0.5961706656238718, 0.0, 0.0); musicShape.add(0.16764515366298233, 101.0, 0.9999817889507513, 0.4320547595186228, 0.0, 0.0); musicShape.add(0.16583007920694454, 97.0, 0.9999617327593462, 0.3532223576814989, 1.0, 0.0); musicShape.add(0.16702764940877002, 96.0, 0.9999346525150078, 0.6205274949974193, 0.0, 0.0); musicShape.add(0.17766268406479474, 101.0, 0.9999000987027243, 0.7328128250358087, 0.0, 0.0); musicShape.add(0.17285963935055476, 98.0, 0.9998553309979934, 0.5129099944085646, 0.0, 0.0); musicShape.add(0.17749506216694294, 91.0, 0.9998038479812328, 0.40410588918854196, 1.0, 0.0); musicShape.add(0.15869185493263713, 96.0, 0.9997428544281883, 0.49222539582930214, 0.0, 0.0); musicShape.add(0.1675158831256318, 92.0, 0.999681351615544, 0.4007555376799928, 0.0, 1.0); musicShape.add(0.18059576387818596, 99.0, 0.9996092937132157, 0.45826354202813013, 0.0, 0.0); musicShape.add(0.17396764488046165, 100.0, 0.9995234065423194, 0.6847756161775245, 1.0, 0.0); musicShape.add(0.17730223002367454, 98.0, 0.9994326299688343, 0.4459853411433826, 0.0, 0.0); musicShape.add(0.18308788976011017, 0.0, 0.999332001355411, 0.7351958943334401, 1.0, 0.0); musicShape.add(0.1831193745963539, 96.0, 0.9992195035648388, 0.6675680005259651, 0.0, 0.0); musicShape.add(0.1910805345551339, 93.0, 0.9990982706302378, 0.6667580401316882, 1.0, 0.0); musicShape.add(0.1850228381222922, 92.0, 0.9989624853756547, 0.45405495484849656, 1.0, 1.0); musicShape.add(0.1778394856799832, 98.0, 0.9988219837516255, 0.4362940340853969, 0.0, 0.0); musicShape.add(0.18817852420320963, 99.0, 0.9986785832445391, 0.5278314858442087, 0.0, 0.0); musicShape.add(0.18304300942082988, 94.0, 0.9985179429699195, 0.773060026819673, 0.0, 0.0); musicShape.add(0.18200491023108806, 97.0, 0.9983529175317947, 0.7183772909438478, 1.0, 0.0); musicShape.add(0.19159459876658474, 103.0, 0.9981802680722198, 0.4446678774463067, 1.0, 0.0); musicShape.add(0.1899588585096464, 94.0, 0.9979893163252608, 0.6526379249752177, 0.0, 0.0); musicShape.add(0.19342691272846074, 99.0, 0.9977906913644093, 0.6927575759357, 0.0, 0.0); musicShape.add(0.19160237213374406, 96.0, 0.9975789407918227, 0.41766691714234333, 0.0, 0.0); musicShape.add(0.2027013211628349, 92.0, 0.9973597578048143, 0.4844053863666069, 0.0, 1.0); musicShape.add(0.2127720243206104, 96.0, 0.9971176853479027, 0.6625498312402601, 0.0, 0.0); musicShape.add(0.1997481338040985, 103.0, 0.9968523404535108, 0.7567191021366719, 0.0, 0.0); musicShape.add(0.18462705817803265, 102.0, 0.9965927827806486, 0.6451551622341419, 0.0, 0.0); musicShape.add(0.19760940069006733, 99.0, 0.9963438938572308, 0.8077577489202247, 0.0, 0.0); musicShape.add(0.19498870174047472, 101.0, 0.9960679718792333, 0.818371026592294, 0.0, 0.0); musicShape.add(0.2075221775563786, 100.0, 0.995786075545288, 0.6951685002402487, 0.0, 0.0); musicShape.add(0.2106149725834503, 97.0, 0.9954755794031279, 0.8716485879731015, 0.0, 0.0); musicShape.add(0.21377484682869655, 98.0, 0.9951494419002073, 0.6410166943989092, 0.0, 0.0); musicShape.add(0.2032704757329501, 96.0, 0.9948071037911072, 0.6502051378783111, 1.0, 0.0); musicShape.add(0.20854440855922196, 103.0, 0.9944710586908445, 0.7149028560711147, 0.0, 0.0); musicShape.add(0.2010516473207858, 94.0, 0.9941156672003872, 0.6065356627165612, 0.0, 0.0); musicShape.add(0.2161703867044603, 95.0, 0.993762891542269, 0.8079840712965303, 1.0, 0.0); musicShape.add(0.20291927377802077, 102.0, 0.9933725113031805, 0.7181153515578702, 0.0, 0.0); musicShape.add(0.24064303505975074, 98.0, 0.9929956587041094, 0.8642339566099354, 0.0, 0.0); musicShape.add(0.20406402406763904, 94.0, 0.9925357477006509, 0.7784222351189167, 0.0, 0.0); musicShape.add(0.21149349744487012, 96.0, 0.9921347426668597, 0.6242460381344879, 0.0, 0.0); musicShape.add(0.22607926412971505, 97.0, 0.9917085314141233, 0.6316194657345898, 0.0, 0.0); musicShape.add(0.2196285810567087, 100.0, 0.9912410433969479, 0.8651909465784648, 0.0, 0.0); musicShape.add(0.2265103821795507, 101.0, 0.9907751938078296, 0.5093614891501911, 1.0, 0.0); musicShape.add(0.22179039024140543, 92.0, 0.9902827316697701, 0.9299592446630032, 0.0, 1.0); musicShape.add(0.23353953592686078, 96.0, 0.9897887721056675, 0.7755302554150196, 1.0, 0.0); musicShape.add(0.22749933632019192, 97.0, 0.9892561396327365, 0.6774640966821133, 0.0, 0.0); musicShape.add(0.22978742511773623, 95.0, 0.9887250192030977, 0.7048197012509068, 0.0, 0.0); musicShape.add(0.2207546557141908, 101.0, 0.9881763446450803, 0.6723680501526231, 1.0, 0.0); musicShape.add(0.24384008672980376, 0.0, 0.9876377491166016, 0.9164736877906304, 1.0, 0.0); musicShape.add(0.2218301742897567, 0.0, 0.9870298275294916, 0.8860052560048007, 1.0, 0.0); musicShape.add(0.2550688467282875, 102.0, 0.9864650002580156, 0.7778323235525774, 1.0, 0.0); musicShape.add(0.2371335315672989, 93.0, 0.9858017672145053, 0.9782377823105685, 0.0, 0.0); musicShape.add(0.22915177307740583, 98.0, 0.9851720490371939, 0.7509138495306577, 1.0, 0.0); musicShape.add(0.22858404092953874, 94.0, 0.9845516045879246, 0.5271805769850162, 0.0, 0.0); musicShape.add(0.2781459861351127, 0.0, 0.9839211086745198, 1.0447090409261657, 0.0, 0.0); musicShape.add(0.23898289567447484, 91.0, 0.9831384220482886, 0.9745533482866394, 1.0, 0.0); musicShape.add(0.24064883254038202, 101.0, 0.9824524730626532, 0.8909333054171135, 0.0, 0.0); musicShape.add(0.24815266135575278, 102.0, 0.9817492761805431, 0.5618512154317828, 1.0, 0.0); musicShape.add(0.24963359309903155, 98.0, 0.9810111644460662, 0.7560123808338972, 0.0, 0.0); musicShape.add(0.2545335664529251, 93.0, 0.9802554613040926, 0.5616242013558134, 0.0, 0.0); musicShape.add(0.2535989271390345, 100.0, 0.9794714346797362, 0.7967522536956086, 0.0, 0.0); musicShape.add(0.26794364637685997, 93.0, 0.9786768721001881, 0.6359567995250247, 0.0, 0.0); musicShape.add(0.27939289189940847, 100.0, 0.9778229660762108, 0.9751061750645454, 1.0, 0.0); musicShape.add(0.2601798877104099, 92.0, 0.9769169859083394, 0.6751497573295568, 0.0, 1.0); musicShape.add(0.23667534824089287, 98.0, 0.9760591587883769, 0.5583887457045849, 0.0, 0.0); musicShape.add(0.26161654028188325, 99.0, 0.9752671073586784, 0.9932030478649206, 0.0, 0.0); musicShape.add(0.2974831503619248, 101.0, 0.9743787403048371, 1.203341494669274, 1.0, 0.0); musicShape.add(0.2517184233102422, 98.0, 0.9733523856447506, 0.8768629289919229, 0.0, 0.0); musicShape.add(0.28243221489658044, 102.0, 0.9724706322021844, 0.748360686354864, 0.0, 0.0); musicShape.add(0.2764859802231647, 96.0, 0.971466976065697, 1.0993915330747557, 1.0, 0.0); musicShape.add(0.2642797268874298, 99.0, 0.9704699823725577, 1.0912083953311351, 1.0, 0.0); musicShape.add(0.2851031043793732, 0.0, 0.9695038086577721, 1.038826273962395, 0.0, 0.0); musicShape.add(0.28899202672273305, 97.0, 0.9684472521521444, 1.0733584819425526, 0.0, 0.0); musicShape.add(0.2981146832907728, 98.0, 0.967361409390836, 0.8981486102397092, 1.0, 0.0); musicShape.add(0.269851496091431, 99.0, 0.966225848451926, 1.0007802776111787, 0.0, 0.0); musicShape.add(0.274821460978738, 103.0, 0.9651846427864612, 0.6535821169724544, 1.0, 0.0); musicShape.add(0.29379819276853203, 0.0, 0.9641114807213242, 1.0753192727213825, 0.0, 0.0); musicShape.add(0.2832111037026226, 95.0, 0.9629501912526137, 1.0370198540364133, 0.0, 0.0); musicShape.add(0.28874183006227644, 97.0, 0.9618172709549314, 0.9476654370524628, 0.0, 0.0); musicShape.add(0.30314432679173337, 99.0, 0.9606488550192023, 1.1431728400297003, 1.0, 0.0); musicShape.add(0.26138922216997096, 95.0, 0.959407908303363, 0.8498071284324707, 1.0, 0.0); musicShape.add(0.30894173399916697, 102.0, 0.9583263952481051, 0.8758725141671978, 1.0, 0.0); musicShape.add(0.28603576863805275, 97.0, 0.9570346840282344, 1.1094011812667053, 1.0, 0.0); musicShape.add(0.3081828503077885, 0.0, 0.9558260227827392, 1.2134564534077388, 0.0, 0.0); musicShape.add(0.3070311301225011, 92.0, 0.9545103935589261, 1.1612648095561553, 0.0, 1.0); musicShape.add(0.30711255482697397, 99.0, 0.953186193121689, 0.6837531642636046, 1.0, 0.0); musicShape.add(0.2848918593814583, 96.0, 0.9518485011045466, 0.8001607105514004, 1.0, 0.0); musicShape.add(0.30471620936260185, 94.0, 0.950596134011494, 1.1499699652777973, 1.0, 0.0); musicShape.add(0.32635936495589046, 100.0, 0.949244719674125, 0.9234643894540644, 1.0, 0.0); musicShape.add(0.3232178285773309, 103.0, 0.9477840412023183, 1.3123344911625319, 0.0, 0.0); musicShape.add(0.33682292822619747, 94.0, 0.9463242802474137, 0.728941844684598, 0.0, 0.0); musicShape.add(0.35118526454656984, 92.0, 0.9447895897174046, 0.907157821086392, 0.0, 1.0); musicShape.add(0.32779356448767594, 101.0, 0.9431752901677722, 0.9016311212221572, 0.0, 0.0); musicShape.add(0.33808284870969774, 94.0, 0.9416559178537969, 0.8764477753299976, 0.0, 0.0); musicShape.add(0.29646155187186884, 102.0, 0.9400765740060796, 0.7243010428953299, 1.0, 0.0); musicShape.add(0.3462449842041682, 95.0, 0.9386817711635606, 0.8047154034760223, 1.0, 0.0); musicShape.add(0.31645583070953126, 101.0, 0.9370414925618953, 0.6911232421252558, 0.0, 0.0); musicShape.add(0.324175847277464, 94.0, 0.9355321465856339, 1.0487307048763992, 0.0, 0.0); musicShape.add(0.3405621871928645, 100.0, 0.9339763169634493, 0.8683982406890806, 1.0, 0.0); musicShape.add(0.36128340526500785, 99.0, 0.9323317760878523, 1.2146739104173618, 0.0, 0.0); musicShape.add(0.3340484315451462, 92.0, 0.9305764467330867, 0.8099142764016437, 0.0, 1.0); musicShape.add(0.3211777318885151, 96.0, 0.9289441244642301, 1.1021414360797663, 1.0, 0.0); musicShape.add(0.32208300582724797, 93.0, 0.9273667100418004, 1.3028079677313575, 0.0, 0.0); musicShape.add(0.3488126001046121, 103.0, 0.9257774228029754, 0.8174689885367161, 1.0, 0.0); musicShape.add(0.3484433175083201, 92.0, 0.9240483526553609, 1.105804827466504, 0.0, 1.0); musicShape.add(0.36034857461209463, 100.0, 0.9223134595270349, 1.1824837981032426, 0.0, 0.0); musicShape.add(0.33368737852888974, 0.0, 0.9205118316348814, 0.8826350918671342, 1.0, 0.0); musicShape.add(0.3690577750274885, 95.0, 0.9188372651829101, 1.0412081052879993, 0.0, 0.0); musicShape.add(0.3482486821990226, 0.0, 0.9169788175949035, 0.8840006593489754, 0.0, 0.0); musicShape.add(0.38503179831473383, 96.0, 0.9152195902333682, 1.3151681526332342, 0.0, 0.0); musicShape.add(0.371900406506031, 0.0, 0.9132689419989692, 1.1522948439589216, 0.0, 0.0); musicShape.add(0.363343531248742, 102.0, 0.9113799190274496, 0.9098647666392415, 0.0, 0.0); musicShape.add(0.42260618953365714, 0.0, 0.9095303723505513, 1.440155239542658, 1.0, 0.0); musicShape.add(0.40312641724313114, 98.0, 0.9073750551780971, 1.1575329169128667, 1.0, 0.0); musicShape.add(0.3748639000439618, 95.0, 0.9053158558255892, 0.8187563881270247, 1.0, 0.0); musicShape.add(0.36159484566879785, 96.0, 0.9033989743317525, 1.4038787738978624, 0.0, 0.0); musicShape.add(0.3745157052462745, 0.0, 0.901548751130411, 1.0586100492770356, 0.0, 0.0); musicShape.add(0.3969424637088593, 101.0, 0.8996318626236273, 1.3265063845307254, 1.0, 0.0); musicShape.add(0.3556964763540434, 97.0, 0.8976003499699194, 1.276197339107455, 0.0, 0.0); musicShape.add(0.42398787098694696, 92.0, 0.8957807470666443, 1.5275016061350015, 1.0, 1.0); musicShape.add(0.3619078550695461, 98.0, 0.8936136697557845, 0.948573708465116, 0.0, 0.0); musicShape.add(0.3765750072355478, 92.0, 0.8917662343638758, 1.0550166625078996, 0.0, 1.0); musicShape.add(0.36229242459872807, 99.0, 0.8898469358348615, 1.0964464905164661, 1.0, 0.0); musicShape.add(0.42682909677702574, 95.0, 0.8880039832725865, 1.3200083522341548, 0.0, 0.0); musicShape.add(0.3836302580388634, 94.0, 0.8858380786899528, 1.1599040597888213, 1.0, 0.0); musicShape.add(0.4357406360683355, 102.0, 0.8838971205848005, 1.7458606224249884, 1.0, 0.0); musicShape.add(0.4190928012787518, 0.0, 0.8817000845867633, 1.3087345535171861, 1.0, 0.0); musicShape.add(0.425616477673857, 100.0, 0.8795955627526945, 0.9304491142296505, 1.0, 0.0); musicShape.add(0.3842428716351904, 103.0, 0.8774678958334253, 1.0269494055477857, 0.0, 0.0); musicShape.add(0.38436083388181125, 95.0, 0.8755562129825873, 1.487107262195109, 0.0, 0.0); musicShape.add(0.42465422390178925, 92.0, 0.8736534023862295, 1.1810825196453054, 1.0, 1.0); musicShape.add(0.4149325601631423, 0.0, 0.8715630022270919, 1.3997840392358194, 0.0, 0.0); musicShape.add(0.45140392857403977, 0.0, 0.8695334272497973, 1.2925704495436643, 1.0, 0.0); musicShape.add(0.3874891930034642, 0.0, 0.8673410955308518, 1.5817836441114599, 1.0, 0.0); musicShape.add(0.4364160282874845, 97.0, 0.865473040398575, 1.5547154528238658, 1.0, 0.0); musicShape.add(0.3871609291000827, 98.0, 0.8633854116444962, 1.2781262711828885, 1.0, 0.0); musicShape.add(0.4154101064678941, 0.0, 0.8615486584377066, 1.369620165977026, 0.0, 0.0); musicShape.add(0.3615316711174476, 99.0, 0.859594698303491, 0.9474118770154896, 1.0, 0.0); musicShape.add(0.4139718055868451, 96.0, 0.857909001227124, 1.3694687106786134, 0.0, 0.0); musicShape.add(0.43585586600037757, 100.0, 0.8559965284100408, 1.4806577965257461, 0.0, 0.0); musicShape.add(0.42913420328296853, 94.0, 0.8540043214571467, 1.8048686173118123, 1.0, 0.0); musicShape.add(0.4763917452182748, 99.0, 0.8520651971980553, 1.0671846399921687, 0.0, 0.0); musicShape.add(0.3893162199679047, 100.0, 0.8499396569901034, 0.9796379678432804, 1.0, 0.0); musicShape.add(0.4147585945804923, 98.0, 0.84822466957834, 1.4496022044582817, 1.0, 0.0); musicShape.add(0.4641744778707996, 0.0, 0.8464202393533539, 1.9627778858284504, 0.0, 0.0); musicShape.add(0.42086480825186856, 100.0, 0.8444294939369611, 1.7268158025999343, 0.0, 0.0); musicShape.add(0.4010105630485216, 97.0, 0.8426515778221714, 0.8887631570689647, 1.0, 0.0); musicShape.add(0.42204092631564327, 96.0, 0.8409822809123195, 1.6714016237183253, 1.0, 0.0); musicShape.add(0.47551217514124544, 98.0, 0.8392523069952095, 1.205445058645589, 1.0, 0.0); musicShape.add(0.4596393426899396, 0.0, 0.8373371526787035, 1.621396262016069, 1.0, 0.0); musicShape.add(0.4740083919158862, 98.0, 0.8355211962606088, 1.8811882578428758, 0.0, 0.0); musicShape.add(0.4478306787434995, 0.0, 0.8336858591693506, 1.5962073996256754, 1.0, 0.0); musicShape.add(0.4578967382667465, 102.0, 0.8319877225410943, 1.408738501441636, 0.0, 0.0); musicShape.add(0.45175796777575516, 101.0, 0.830288370588923, 1.2370567442373563, 0.0, 0.0); musicShape.add(0.44256179496474013, 97.0, 0.8286493218212606, 1.5446376368905614, 1.0, 0.0); musicShape.add(0.4448531247773949, 96.0, 0.8270806236729386, 1.6614664497704161, 1.0, 0.0); musicShape.add(0.48257144415668485, 101.0, 0.8255415118976293, 1.9111978581374334, 0.0, 0.0); musicShape.add(0.4619345291525177, 98.0, 0.8239155768842853, 1.0930336542194075, 1.0, 0.0); musicShape.add(0.47662094773992036, 91.0, 0.8224026432998446, 1.6224028407927062, 1.0, 0.0); musicShape.add(0.4045266929761182, 96.0, 0.8208870863979986, 0.8822456135492966, 0.0, 0.0); musicShape.add(0.43480875969361776, 92.0, 0.8196376775884286, 1.6633296079049527, 0.0, 1.0); musicShape.add(0.48007717140860373, 99.0, 0.8183331720504007, 1.7154713761379625, 1.0, 0.0); musicShape.add(0.45321894774620225, 100.0, 0.8169398632958202, 1.184817343773893, 1.0, 0.0); musicShape.add(0.46255781075073943, 98.0, 0.8156705104716876, 1.6271617576963968, 1.0, 0.0); musicShape.add(0.48041896103486365, 0.0, 0.8144217981171818, 1.9055393353812453, 1.0, 0.0); musicShape.add(0.47750942719338263, 96.0, 0.8131756601321078, 1.8159790404947558, 1.0, 0.0); musicShape.add(0.5024609569140108, 93.0, 0.8119890895571563, 1.347369879389587, 1.0, 0.0); musicShape.add(0.47794985299503556, 0.0, 0.8107972946290967, 1.0834139569120578, 1.0, 0.0); musicShape.add(0.44994676302297265, 98.0, 0.8097183780779416, 1.8378381606026948, 1.0, 0.0); musicShape.add(0.48261566213651486, 99.0, 0.8087520372765803, 1.5226104016757067, 0.0, 0.0); musicShape.add(0.46182248159701056, 94.0, 0.8077693416461817, 1.6499569345642953, 0.0, 0.0); musicShape.add(0.4552336441972833, 97.0, 0.806881670209814, 1.8691011874011554, 1.0, 0.0); musicShape.add(0.4843717190745912, 103.0, 0.806057582049033, 1.1079127249113403, 1.0, 0.0); musicShape.add(0.47547187006833624, 94.0, 0.8052367605006219, 1.0744976114940945, 1.0, 0.0); musicShape.add(0.4835279848765564, 99.0, 0.8044876672483559, 1.7700867869826789, 0.0, 0.0); musicShape.add(0.47401203244183693, 96.0, 0.8037838978834675, 1.1820763661426106, 0.0, 0.0); musicShape.add(0.5065512977486375, 92.0, 0.803151179982705, 1.8176767360364194, 0.0, 1.0); musicShape.add(0.5349413365737032, 96.0, 0.8025380491179643, 1.2196441676713163, 0.0, 0.0); musicShape.add(0.48899292178174075, 103.0, 0.8019616880417234, 1.9437647715380513, 0.0, 0.0); musicShape.add(0.4374492922040284, 102.0, 0.8014991209781427, 1.8245640786540476, 1.0, 0.0); musicShape.add(0.4749081453860149, 99.0, 0.8011375938883705, 1.3808159403705353, 0.0, 0.0); musicShape.add(0.4630570691060431, 101.0, 0.8008012243457114, 1.2889576408315473, 1.0, 0.0); musicShape.add(0.49794936551157487, 100.0, 0.8005296836014677, 1.9674189442966064, 1.0, 0.0); musicShape.add(0.5031625496841468, 97.0, 0.8003000353445817, 1.8409366503106521, 0.0, 0.0); musicShape.add(0.5083388812056084, 98.0, 0.8001337663729359, 2.1330457467763946, 1.0, 0.0); musicShape.add(0.47254543702777124, 96.0, 0.8000330486665164, 1.828909868238601, 1.0, 0.0); musicShape.add(0.4841614469102969, 103.0, 0.8000001159710348, 1.7214785186399912, 1.0, 0.0); musicShape.add(0.46512462872543514, 94.0, 0.798945857476008, 1.1092992799433, 1.0, 0.0); musicShape.add(0.4951664116815342, 0.0, 0.7956990404785407, 1.7016188677371027, 1.0, 0.0); musicShape.add(0.46081583100750245, 102.0, 0.7898864389080458, 1.8644975496108172, 1.0, 0.0); musicShape.add(0.5401648386365506, 0.0, 0.7823775668549188, 1.7753707274636086, 1.0, 0.0); musicShape.add(0.4521531624250894, 94.0, 0.7711493183597823, 1.043821578956689, 1.0, 0.0); musicShape.add(0.46281723857570634, 96.0, 0.7598906681490494, 1.6278492571514889, 1.0, 0.0); musicShape.add(0.48864886237591126, 97.0, 0.7467840920979014, 1.1473091071119994, 1.0, 0.0); musicShape.add(0.46688297179599214, 100.0, 0.7314187569702144, 1.9486465343529926, 0.0, 0.0); musicShape.add(0.47443094690147647, 0.0, 0.7154981552950371, 1.800364130302903, 1.0, 0.0); musicShape.add(0.45574433514977913, 92.0, 0.6983260717039359, 1.6445262706472996, 0.0, 1.0); musicShape.add(0.47311642726295966, 96.0, 0.6811298169970581, 1.2273686255120648, 1.0, 0.0); musicShape.add(0.4506334519626158, 97.0, 0.6628158160554608, 1.5894668910529839, 0.0, 0.0); musicShape.add(0.4463930757832856, 95.0, 0.6451864122828406, 1.5579662236546588, 0.0, 0.0); musicShape.add(0.417194564030379, 101.0, 0.6277877469274, 1.4231203897993219, 1.0, 0.0); musicShape.add(0.457968476259266, 0.0, 0.6117949021963182, 1.263804422098074, 1.0, 0.0); musicShape.add(0.39980230717026743, 0.0, 0.5947672307876434, 1.3748633753151855, 1.0, 0.0); musicShape.add(0.46178478663794914, 102.0, 0.5805387243809673, 1.3032943028141277, 1.0, 0.0); musicShape.add(0.4118487434286179, 0.0, 0.5650547252085129, 1.300562162557073, 0.0, 0.0); musicShape.add(0.3843316509985658, 98.0, 0.5522788408139526, 1.335507184455063, 1.0, 0.0); musicShape.add(0.37312702252795177, 94.0, 0.541371704908007, 0.851403831670245, 0.0, 0.0); musicShape.add(0.468069106848179, 0.0, 0.5318268577027948, 1.7553993157231196, 0.0, 0.0); musicShape.add(0.37260283134800976, 0.0, 0.5214473526445582, 1.345916577345136, 1.0, 0.0); musicShape.add(0.36568907603725265, 101.0, 0.5145486367753228, 1.3812852185500053, 0.0, 0.0); musicShape.add(0.3709447032621884, 102.0, 0.5090227009736301, 1.190853851451696, 1.0, 0.0); musicShape.add(0.3632692133991296, 0.0, 0.5047291679560757, 0.8679810831544186, 1.0, 0.0); musicShape.add(0.3626992784598734, 93.0, 0.5018434897904569, 1.4305233996699054, 1.0, 0.0); musicShape.add(0.3499393407016408, 100.0, 0.5002906010762813, 1.1320319546971707, 1.0, 0.0); musicShape.add(0.36867640647033306, 0.0, 0.49998578234505675, 1.3032583831171554, 1.0, 0.0); musicShape.add(0.38062143915139784, 0.0, 0.49973637481806304, 1.4790817229779962, 1.0, 0.0); musicShape.add(0.32992575905745003, 92.0, 0.4991543755740525, 1.2717780675898593, 1.0, 1.0); musicShape.add(0.2723554738898776, 98.0, 0.49838606046137063, 1.1092134437157344, 1.0, 0.0); musicShape.add(0.3136558734125647, 99.0, 0.4975699913037393, 1.010761986722915, 1.0, 0.0); musicShape.add(0.374976679853945, 101.0, 0.49643027239813864, 1.234741430428563, 1.0, 0.0); musicShape.add(0.2725109010929455, 0.0, 0.49479388577527106, 0.9746445770454775, 0.0, 0.0); musicShape.add(0.3240450264004663, 102.0, 0.49342314816682453, 0.865609405458724, 1.0, 0.0); musicShape.add(0.3019240747880549, 96.0, 0.49160150510653694, 0.8366419493362081, 1.0, 0.0); musicShape.add(0.2684098420053141, 99.0, 0.48972410912950565, 0.689543413787963, 1.0, 0.0); musicShape.add(0.2997578514768916, 0.0, 0.48791569085936176, 1.161009370997524, 1.0, 0.0); musicShape.add(0.2973608746767566, 97.0, 0.4857485706609719, 0.6892322652374574, 1.0, 0.0); musicShape.add(0.3049235175723223, 0.0, 0.4834534993445315, 0.9787460526959011, 1.0, 0.0); musicShape.add(0.2414373456970874, 99.0, 0.4809595502554407, 1.015156524249712, 1.0, 0.0); musicShape.add(0.2427399953768512, 103.0, 0.4788908530972295, 0.9502134086450912, 1.0, 0.0); musicShape.add(0.2700672881405682, 0.0, 0.47673329280804766, 0.6969713859877231, 1.0, 0.0); musicShape.add(0.24148126801934502, 95.0, 0.4742483667881047, 0.9597402834364733, 1.0, 0.0); musicShape.add(0.24360898197994027, 97.0, 0.47195766034983117, 0.6629238601976972, 1.0, 0.0); musicShape.add(0.2618310191421939, 99.0, 0.46958740288675327, 0.8907042927147488, 1.0, 0.0); musicShape.add(0.17729097365396934, 95.0, 0.4669807051388035, 0.6310807009599776, 1.0, 0.0); musicShape.add(0.2570464598907309, 102.0, 0.46518489677278535, 0.747123640629362, 1.0, 0.0); musicShape.add(0.20747726747753284, 97.0, 0.4625431238539228, 0.7877086603517653, 1.0, 0.0); musicShape.add(0.2399326755618099, 0.0, 0.46038274909989524, 0.6160200786165217, 1.0, 0.0); musicShape.add(0.22995219322148847, 92.0, 0.45785919831882566, 0.8646711766288337, 1.0, 1.0); musicShape.add(0.2224757001282995, 0.0, 0.45542109736144515, 0.5849780866082556, 1.0, 0.0); musicShape.add(0.17635298079551195, 96.0, 0.4530497173610654, 0.5316412289038072, 1.0, 0.0); musicShape.add(0.2046880295733899, 94.0, 0.4511647880097661, 0.4452228561350182, 1.0, 0.0); musicShape.add(0.2351193000196347, 100.0, 0.44897510360115944, 0.5219126638808268, 1.0, 0.0); musicShape.add(0.22210197508265372, 103.0, 0.44646255802090096, 0.926649457441709, 1.0, 0.0); musicShape.add(0.2379418807760262, 94.0, 0.44409723298432136, 0.6818504775139403, 1.0, 0.0); musicShape.add(0.25448624458338875, 92.0, 0.4415781460571585, 0.895721800693429, 1.0, 1.0); musicShape.add(0.20733323151447242, 0.0, 0.43890822519314604, 0.5715358534096696, 1.0, 0.0); musicShape.add(0.2177228272917637, 0.0, 0.43675695375795986, 0.5923043605160572, 0.0, 0.0); musicShape.add(0.14220826438572673, 0.0, 0.4345260070210218, 0.6038179592548198, 1.0, 0.0); musicShape.add(0.21881095744813167, 95.0, 0.4330866661175262, 0.9140681174503977, 1.0, 0.0); musicShape.add(0.16354074217261624, 0.0, 0.4309030472406987, 0.5470948266634881, 1.0, 0.0); musicShape.add(0.1706252197237816, 94.0, 0.42929806722295644, 0.4250295676441509, 1.0, 0.0); musicShape.add(0.19137541912603845, 100.0, 0.4276506082414867, 0.4226639112278778, 1.0, 0.0); musicShape.add(0.21836827219159416, 99.0, 0.42583834150559857, 0.4925672965922689, 1.0, 0.0); musicShape.add(0.16871549508306521, 0.0, 0.42382011406337394, 0.4203982430668284, 1.0, 0.0); musicShape.add(0.14317831964571565, 96.0, 0.42229970033261255, 0.5701232838022839, 1.0, 0.0); musicShape.add(0.13989912308178917, 0.0, 0.42103765681451955, 0.41441534268476715, 1.0, 0.0); musicShape.add(0.17671962246977488, 103.0, 0.4198307633159316, 0.4891804139979546, 1.0, 0.0); musicShape.add(0.17076845137507754, 0.0, 0.41834499630822963, 0.5947956022842612, 1.0, 0.0); musicShape.add(0.18376546795187138, 100.0, 0.4169522363827613, 0.7299977782540021, 0.0, 0.0); musicShape.add(0.13788873037307836, 0.0, 0.4155028089366021, 0.36158576956721006, 1.0, 0.0); musicShape.add(0.1868357983616863, 95.0, 0.41445012986575636, 0.5156080466758214, 1.0, 0.0); musicShape.add(0.15031801616236987, 0.0, 0.41307331431033634, 0.5655799650514776, 1.0, 0.0); musicShape.add(0.20048889305563866, 96.0, 0.4120083368709314, 0.8065979351255688, 1.0, 0.0); musicShape.add(0.17558556633746822, 0.0, 0.4106492551061638, 0.7392529175539123, 1.0, 0.0); musicShape.add(0.15811490376889634, 0.0, 0.4095183811878934, 0.6414014693555761, 1.0, 0.0); musicShape.add(0.2399836935518301, 0.0, 0.4085488743399171, 0.8231143895029519, 1.0, 0.0); musicShape.add(0.2057653961940873, 98.0, 0.407168371494217, 0.8438120654807975, 1.0, 0.0); musicShape.add(0.15989986673354534, 0.0, 0.40607448968021886, 0.444316789533422, 1.0, 0.0); musicShape.add(0.13664566190771407, 96.0, 0.4052831171411981, 0.3609003213224907, 1.0, 0.0); musicShape.add(0.15115362045917852, 0.0, 0.4046482756428854, 0.4709755357483309, 0.0, 0.0); musicShape.add(0.17876327432426514, 101.0, 0.40399121254057885, 0.46095180638345457, 1.0, 0.0); musicShape.add(0.11655609491679905, 97.0, 0.4032762918322972, 0.2811098122255503, 1.0, 0.0); musicShape.add(0.2083493434911624, 0.0, 0.40284690458622535, 0.7348728619895711, 1.0, 0.0); musicShape.add(0.1177194826928129, 98.0, 0.4021525846306794, 0.4688362604371495, 1.0, 0.0); musicShape.add(0.13467221219477302, 0.0, 0.40180224225436545, 0.35157469848601264, 1.0, 0.0); musicShape.add(0.11172259268458448, 0.0, 0.4014389597721886, 0.3882011047924745, 1.0, 0.0); musicShape.add(0.19642923599141096, 0.0, 0.4011681717371838, 0.7384582026450632, 0.0, 0.0); musicShape.add(0.13389751544277037, 94.0, 0.4007598212561461, 0.4651044184231572, 1.0, 0.0); musicShape.add(0.20069942745265093, 0.0, 0.40053127666515514, 0.7290406089731499, 1.0, 0.0); musicShape.add(0.17446664929550648, 0.0, 0.400264800720512, 0.4560332488902994, 1.0, 0.0); musicShape.add(0.17958281540538595, 0.0, 0.400107651367691, 0.5457860067274019, 1.0, 0.0); musicShape.add(0.12147504272823281, 103.0, 0.40001850419288093, 0.463216973589825, 1.0, 0.0); musicShape.add(0.11889029910434805, 95.0, 0.40000003689154895, 0.41445975348322556, 1.0, 0.0); musicShape.add(0.1688752464790431, 0.0, 0.39998899735148963, 0.5711499289091913, 1.0, 0.0); musicShape.add(0.1532767112174041, 0.0, 0.3999316958927867, 0.5707830276490361, 1.0, 0.0); musicShape.add(0.19775037723726288, 0.0, 0.3998373184931633, 0.6936225890729818, 1.0, 0.0); musicShape.add(0.1128843852766813, 0.0, 0.3996560388747338, 0.3013278966327624, 1.0, 0.0); musicShape.add(0.17343054326062668, 0.0, 0.39952251852943776, 0.6049788125359824, 1.0, 0.0); musicShape.add(0.10863163089450076, 98.0, 0.3992749013239115, 0.25280068690885815, 1.0, 0.0); musicShape.add(0.14267840702989484, 0.0, 0.3990936198376748, 0.5305621944579321, 0.0, 0.0); musicShape.add(0.07314277731349757, 99.0, 0.39882493195672947, 0.16176544844624274, 1.0, 0.0); musicShape.add(0.13748450403256457, 96.0, 0.39867374261162203, 0.45339325943897946, 1.0, 0.0); musicShape.add(0.16338250147026714, 0.0, 0.3983649250956604, 0.3706988557509766, 1.0, 0.0); musicShape.add(0.15378478847597093, 94.0, 0.39795620436837, 0.6173986071540638, 1.0, 0.0); musicShape.add(0.21117243934109536, 99.0, 0.39753019177791943, 0.775738746572749, 1.0, 0.0); musicShape.add(0.10328510089503173, 0.0, 0.3968801617006137, 0.38287577765849407, 1.0, 0.0); musicShape.add(0.1337036147266328, 0.0, 0.3965349078921503, 0.4345821413159583, 1.0, 0.0); musicShape.add(0.1934953735171291, 0.0, 0.3960614076271072, 0.458678677786226, 1.0, 0.0); musicShape.add(0.14080722309410312, 100.0, 0.3953232656480362, 0.3902729498127497, 1.0, 0.0); musicShape.add(0.11666345895081125, 0.0, 0.3947469508160565, 0.4688293932033039, 1.0, 0.0); musicShape.add(0.14191321174972132, 96.0, 0.3942445671262333, 0.4795065659352395, 1.0, 0.0); musicShape.add(0.2064037848587201, 98.0, 0.393603167457377, 0.7568491781452319, 1.0, 0.0); musicShape.add(0.18843218011646173, 0.0, 0.3926112504593722, 0.40122488949984125, 1.0, 0.0); musicShape.add(0.20674236536292606, 98.0, 0.3916449676767757, 0.8407729749777227, 1.0, 0.0); musicShape.add(0.17729365240488287, 0.0, 0.39051858011746754, 0.6060200085386372, 1.0, 0.0); musicShape.add(0.1908235219308505, 102.0, 0.3894978632985191, 0.5134769772454898, 1.0, 0.0); musicShape.add(0.18562723920980728, 0.0, 0.3883431852110052, 0.5152220888101798, 1.0, 0.0); musicShape.add(0.17704937014705174, 97.0, 0.3871646219443702, 0.7465410450667894, 1.0, 0.0); musicShape.add(0.18211444716300548, 96.0, 0.38599010996318117, 0.46223531687819985, 1.0, 0.0); musicShape.add(0.2290237291337013, 101.0, 0.384731097797472, 0.7468183503196945, 1.0, 0.0); musicShape.add(0.20883498409978735, 98.0, 0.38307524707560914, 0.8658529275833461, 1.0, 0.0); musicShape.add(0.2298239363838891, 91.0, 0.3814956998436015, 0.7445242962322723, 1.0, 0.0); musicShape.add(0.15063610773424627, 96.0, 0.37968156806873676, 0.38638255873342486, 1.0, 0.0); musicShape.add(0.18888433930501794, 0.0, 0.3784499090920018, 0.6330529849642519, 1.0, 0.0); musicShape.add(0.24557484784871358, 99.0, 0.3768584152644373, 1.0026053316489463, 1.0, 0.0); musicShape.add(0.2205494370262281, 100.0, 0.3747119046002436, 0.5653602720846228, 1.0, 0.0); musicShape.add(0.23705072206050454, 98.0, 0.37271072248407205, 0.8844685592413681, 1.0, 0.0); musicShape.add(0.26417710763988, 0.0, 0.37048367148869105, 0.9493698526119313, 1.0, 0.0); musicShape.add(0.2685808689579861, 96.0, 0.36791054244714594, 0.8281291272090872, 1.0, 0.0); musicShape.add(0.3056007018385559, 93.0, 0.36519798319721375, 1.2673812889471119, 1.0, 0.0); musicShape.add(0.28749335520741554, 0.0, 0.3619959927164426, 0.7331714450456142, 1.0, 0.0); musicShape.add(0.2652735830950112, 98.0, 0.3588743838286059, 0.8023027207835806, 1.0, 0.0); musicShape.add(0.3122849218245522, 0.0, 0.35590261070187934, 0.6799687770770255, 1.0, 0.0); musicShape.add(0.3002145679143196, 94.0, 0.35229506454020904, 1.2327007550006839, 1.0, 0.0); musicShape.add(0.30443551705569954, 0.0, 0.3487192670941267, 0.7434865239166641, 1.0, 0.0); musicShape.add(0.3502186887270542, 0.0, 0.3449892249589881, 1.1687291580709356, 1.0, 0.0); musicShape.add(0.35485860216178466, 94.0, 0.34057385807160107, 1.0380951547233879, 1.0, 0.0); musicShape.add(0.3796823125769808, 99.0, 0.3359703453234222, 1.266831825237706, 1.0, 0.0); musicShape.add(0.3860498653099037, 96.0, 0.3309077751006686, 1.1999158016412825, 1.0, 0.0); musicShape.add(0.44153251440879804, 92.0, 0.325623492958332, 1.1066634581219799, 1.0, 1.0); musicShape.add(0.4956077166557507, 96.0, 0.31942217915980986, 1.570621811897525, 1.0, 0.0); musicShape.add(0.4676903446539312, 0.0, 0.31227757409318363, 1.5276589932248157, 0.0, 0.0); musicShape.add(0.43246220226891335, 0.0, 0.30537453523872093, 1.1484753187825876, 1.0, 0.0); musicShape.add(0.49839100815642184, 0.0, 0.2988677270720285, 1.6387667243766988, 1.0, 0.0); musicShape.add(0.5115255487965745, 101.0, 0.29124012370998953, 1.74254390842754, 1.0, 0.0); musicShape.add(0.5799042926989572, 0.0, 0.28328980810212695, 2.1627806054286096, 1.0, 0.0); musicShape.add(0.6183014925029365, 0.0, 0.2741574695007338, 2.4566884630232284, 1.0, 0.0); musicShape.add(0.6592759966944228, 0.0, 0.26431892174521987, 1.7103932192150055, 1.0, 0.0); musicShape.add(0.6552087424084336, 96.0, 0.2537604356040758, 1.6656154859198766, 1.0, 0.0); musicShape.add(0.7061988018789768, 103.0, 0.24324845317418198, 2.0947725946612192, 1.0, 0.0); musicShape.add(0.7159690542271286, 0.0, 0.23195703084141506, 2.939746365976872, 1.0, 0.0); musicShape.add(0.8033135947316783, 0.0, 0.22061478413864527, 3.408847253330614, 1.0, 0.0); musicShape.add(0.7981688831087392, 102.0, 0.20809716995844008, 1.7051153141222288, 1.0, 0.0); musicShape.add(0.9632712564811438, 0.0, 0.19596587661424808, 3.8511834265165055, 1.0, 0.0); musicShape.add(0.8859368769572902, 94.0, 0.18185749296401832, 2.440655654870548, 1.0, 0.0); musicShape.add(0.950070687954681, 96.0, 0.16951668692120392, 3.881152053788927, 1.0, 0.0); musicShape.add(1.037464504365412, 97.0, 0.1570881997517804, 2.2366370762371215, 1.0, 0.0); musicShape.add(1.055738361199795, 0.0, 0.14461616653918014, 4.225661819005367, 1.0, 0.0); musicShape.add(1.1135099703650617, 0.0, 0.13325672275583464, 2.5359766503801735, 1.0, 0.0); musicShape.add(1.1302575939262551, 0.0, 0.1228903526866954, 3.1083441983996214, 1.0, 0.0); musicShape.add(1.1935407255761088, 96.0, 0.11421135632582072, 3.6986813770693168, 1.0, 0.0); musicShape.add(1.1942310455789003, 0.0, 0.10720127095942192, 3.3604080090112745, 1.0, 0.0); musicShape.add(1.2130746664287855, 0.0, 0.10251434802435402, 4.169782202907494, 1.0, 0.0); musicShape.add(1.1884626965126897, 0.0, 0.10021520263962813, 4.1900377974068865, 1.0, 0.0); // HEY LOOK HERE!!!!!!!!!!!!!!!!!!!!!!!!!!! // GO FROM RELATIVE DURATIONS TO ABSOLUTE TIME!!!!!!!!!!!!!!!!!!!!!!!!! musicShape.integrate(0); // 1 staff, width, height Score score = new Score(1, 1024, 800); score.addMeasure(); Transcriber transcriber = new Transcriber(); transcriber.setScore(score); transcriber.setSourceMusicShape(musicShape); TimeSignature ts = new TimeSignature(4, 4); Vector tsVector = new Vector(); tsVector.addElement(ts); transcriber.setTimeSignatures(tsVector); score.setCurrentStaffNumber(0); double timebefore = JMSL.realTime(); try { transcriber.transcribe(); } catch (ElementMissedException e) { e.printStackTrace(); System.out.println("ERROR: " + e); System.exit(0); } catch (SearchPathListExpansionException e) { e.printStackTrace(); System.out.println("ERROR: " + e); System.exit(0); } double timeafter = JMSL.realTime(); double duration = timeafter - timebefore; System.out.println("That took " + duration + " sec to transcribe"); final ScoreFrame f = new ScoreFrame(); f.addScore(score); // f.loadPrefs(); f.addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosing(java.awt.event.WindowEvent e) { f.quit(); } }); f.setVisible(true); } } /** * 4/4 takes 0.312 sec on my machine */