├── 字母歌.txt ├── 字母歌KS.txt ├── AlphaChord示范曲.txt ├── SMSP入门手册-未完成.docx ├── helloworld.txt ├── beats.txt ├── chords.txt ├── README.md ├── 幻化成风.txt └── SMSP编译器测试.nb /字母歌.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yxlllc/SMSP-Compiler-For-Mathematica/HEAD/字母歌.txt -------------------------------------------------------------------------------- /字母歌KS.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yxlllc/SMSP-Compiler-For-Mathematica/HEAD/字母歌KS.txt -------------------------------------------------------------------------------- /AlphaChord示范曲.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yxlllc/SMSP-Compiler-For-Mathematica/HEAD/AlphaChord示范曲.txt -------------------------------------------------------------------------------- /SMSP入门手册-未完成.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yxlllc/SMSP-Compiler-For-Mathematica/HEAD/SMSP入门手册-未完成.docx -------------------------------------------------------------------------------- /helloworld.txt: -------------------------------------------------------------------------------- 1 | 1 1 5 5|6 6 5-|4 4 3 3|2 2 1-| 2 | 5 5 4 4|3 3 2-|5 5 4 4|3 3 2-| 3 | 1 1 5 5|6 6 5-|4 4 3 3|2 2 1- -------------------------------------------------------------------------------- /beats.txt: -------------------------------------------------------------------------------- 1 | % 底鼓 2 | M{BassDrum2} 3 | % 军鼓 4 | S{Snare} 5 | 6 | % 闭镲 7 | T{HiHatClosed} 8 | % 开镲 9 | To{HiHatOpen} 10 | % 吊镲 11 | Tc{CrashCymbal} 12 | 13 | % 嗵嗵鼓 14 | lT{LowTom} 15 | mT{MidTom} 16 | nT{MidTom2} 17 | hT{HighTom} 18 | -------------------------------------------------------------------------------- /chords.txt: -------------------------------------------------------------------------------- 1 | 2 | % 以下定义和弦的音符组合,0 为 do,12 为升 do,x代表空 3 | 4 | % 单音 Monotone 5 | C1<0> 6 | % 五度 Fifth 7 | C5<0,x,7> 8 | 9 | % 大三和弦 C Major 10 | C<0,4,7> 11 | % 小三和弦 C minor 12 | Cm<0,3,7> 13 | % 减三和弦 Diminished 14 | Cd<0,3,6> 15 | % 增三和弦 Augmented 16 | Ca<0,4,8> 17 | % 挂四和弦 sus4 18 | Cs4<0,5,7> 19 | % 挂二和弦 sus2 20 | Cs2<0,2,7> 21 | 22 | % 大七和弦 CMaj7 23 | CM<0,4,7,11> 24 | % 小七和弦 25 | Cm7<0,3,7,10> 26 | % 属七和弦(大小七和弦) Dominant Seventh 27 | C7<0,4,7,10> 28 | % 小大七和弦 29 | CmM7<0,3,7,11> 30 | % 半减七和弦 31 | Cm7b5<0,3,6,10> 32 | % 减七和弦 33 | Cd7<0,3,6,9> 34 | % 增七和弦 35 | Ca7<0,4,8,11> 36 | % 挂四七和弦 37 | C7s4<0,5,7,10> 38 | % 挂二七和弦 39 | C7s2<0,2,7,10> 40 | % 挂四大七和弦 41 | CMs4<0,5,7,11> 42 | % 挂二大七和弦 43 | CMs2<0,2,7,11> 44 | 45 | % 六和弦 46 | C6<0,4,7,9> 47 | % 六挂四 48 | C6s4<0,5,7,9> 49 | % 小六和弦 50 | Cm6<0,3,7,9> 51 | % 六挂二 52 | C6s2<0,2,7,9> 53 | 54 | % 大九和弦 55 | CM9<0,4,7,11,14> 56 | % 大加九和弦 57 | Ca9<0,4,7,x,14> 58 | % 小九和弦 59 | Cm9<0,3,7,10,14> 60 | % 小加九和弦 61 | Cma9<0,3,7,x,14> 62 | % 属九和弦 63 | C9<0,4,7,10,14> 64 | % 属九挂四 65 | C9s4<0,5,7,10,14> 66 | % 大六九和弦 67 | C69<0,4,7,9,14> 68 | % 小六九和弦 69 | Cm69<0,3,7,9,14> 70 | 71 | 72 | 73 | % 以下定义和弦表现形式,数字表示和弦数组中第几个音 74 | % 分解和弦 75 | a<1> 76 | b<2> 77 | c<3> 78 | d<4> 79 | e<5> 80 | % 柱式和弦 81 | s<1,2,3,4,5> 82 | % 转位和弦 83 | u<^1,2,3,4,5> 84 | v<^1,^2,3,4,5> 85 | w<^1,^2,^3,4,5> 86 | % 自定义和弦形式 87 | sp<1,^2,3,4,5> 88 | up<^1,2,^3,4,5> 89 | vp<^1,^2,3,^4,5> 90 | sq<1,2,^3,4,5> 91 | 92 | ab<1,2> 93 | r<1,2,3> 94 | sa 95 | sb 96 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SMSP-Compiler-For-Mathematica 2 | 3 | SMSP(Standard Musical String Protocol) is a set of rules on how to interpret text into music. [SMSP编译器测试.nb](https://github.com/yxlllc/SMSP-Compiler-For-Mathematica/raw/master/SMSP编译器测试.nb) is a Mathematica version realization (compiler) about this idea. This compiler is capable of converting the TXT inputs into music files (format MID or WAV). 4 | 5 | [SMSP入门手册-未完成.docx](https://github.com/yxlllc/SMSP-Compiler-For-Mathematica/raw/master//SMSP入门手册-未完成.docx) describes the grammar of SMSP and how to use this compiler to create music. 6 | 7 | ## Demo projects 8 | 9 | File [例子.nb](https://github.com/yxlllc/SMSP-Compiler-For-Mathematica/raw/master/例子.nb) shows how to use this compiler to create real music works, demo songs are: 10 | 11 | - [helloworld.txt](https://github.com/yxlllc/SMSP-Compiler-For-Mathematica/raw/master/helloworld.txt) 12 | - [字母歌.txt](https://github.com/yxlllc/SMSP-Compiler-For-Mathematica/raw/master/字母歌.txt) 13 | - [字母歌KS.txt](https://github.com/yxlllc/SMSP-Compiler-For-Mathematica/raw/master/字母歌KS.txt) 14 | - [幻化成风.txt](https://github.com/yxlllc/SMSP-Compiler-For-Mathematica/raw/master/幻化成风.txt) 15 | - [AlphaChord示范曲.txt](https://github.com/yxlllc/SMSP-Compiler-For-Mathematica/raw/master/AlphaChord示范曲.txt). 16 | 17 | The last one was created by [@LePtC](https://github.com/LePtC), for more detail please check his [AlphaChord](https://github.com/LePtC/AlphaChord/) project. 18 | 19 | ## Include files 20 | 21 | [beats.txt](https://github.com/yxlllc/SMSP-Compiler-For-Mathematica/raw/master/chords.txt) and [chords.txt](https://github.com/yxlllc/SMSP-Compiler-For-Mathematica/raw/master/chords.txt) are necessary include files for the demo projects. These include files were also created by [@LePtC](https://github.com/LePtC). The author deeply appreciate his great contribution to SMSP. 22 | 23 | ## Recommended configuration environment 24 | 25 | At least 10.2 version of Mathematica can successfully compile all project files except [字母歌KS.txt],which needs at least 11.0 version of Mathematica. 26 | It is unclear whether it will work properly under the Linux or Mac Os operating system. 27 | So the recommended configuration environment now is: 11.0(+) Mathematica + Windows 10 28 | -------------------------------------------------------------------------------- /幻化成风.txt: -------------------------------------------------------------------------------- 1 | % 导入和弦定义库 2 | < s s_ s s_ s_ s_ 26 | 27 | % 主歌1 28 | % s表示柱式和弦(见和弦库中定义) 29 | [P] (4) 0. !5_ !5_ !6_ 1_ 2_|3 6_ 5 3_ 2_ 2_)_ 1 1_ 2_ 1_ !7_ 1_ |4 !6_ 1 3 3 30 | [G] (4) s s_ s s_ s_ s_ |s s_ s s_ s_ s_|!A5> s s_ s s_ s_ s_|F5> s s_ s s_ s_ s_ 31 | 32 | [P] (8) 0_ 2 2_ 3_ 2_ #1_ 2_|5 !7_ 2 3_ 2_ 2_ )_ 1 1_ 2_ 1_ !7_ 1_ |4 !6_ 1 !6 !6 33 | [G] (8) G5> s s_ s s_ s_ s_ |E5> s s_ s s_ s_ s_|!A5> s s_ s s_ s_ s_|F5> s s_ s s_ s_ s_ 34 | 35 | [P] (12) 0_ !5 !5_ !5_ !6_ 1_ 2_|3 6_ 5 3_ 2_ 2_ )_ 1 1_ 2_ 1_ !7_ 1_ |#3 !6_ 1 3 3 36 | [G] (12) G5> s s_ s s_ s_ s_ |C5> s s_ s s_ s_ s_|!A5> s s_ s s_ s_ s_|F5> s s_ s s_ s_ s_ 37 | 38 | [P] (16) 0_ 2 2_ 3_ 2_ #1_ 2_|5 !7_ 2 3_ 2_ 2_ )_ 1 1_ 2_ 1_ !7_ 1_ |4 !6_ 1 2 2 39 | [G] (16) G5> s s_ s s_ s_ s_ |E5> s s_ s s_ s_ s_|!A5> s s_ s s_ s_ s_|F5> s s_ s_ G5> s s_ s_ 40 | 41 | [P] (20) 0_ 1 3_ 4_ 3_ 2_ 3_|4 3_ 2 3 4_ ). 4_ 5_ 4_ 5_ 4_|3 2_ 1 2 3- 42 | [G] (20) C5> s s_ s s_ s_ s_|4_ 1_ 4_ ^1.-|4_ 1_ 4_ ^1.- |1_ 3_ 5_ ^1.- 43 | 44 | [P] (24) 0. 3_ 3_ 2_ #1_ 3_|3 2_ 2 2_ #1_ 2_). 2_ 2_ 3_ 4_ 2_|6 5_ 5 #4 5- 45 | [G] (24) !6_ #1_ 3_ 6.- |2_ #4_ 6_ ^2.- |2_ #4_ 6_ ^1.- |5_ 2_ ^1_ 7.- 46 | [G] (24) | | |0_ 5_ 5_ 5.- 47 | 48 | % 副歌1 49 | [P] (28) 0. 3_ 4_ 3_ 4_ 5_). 3_ 4_ 3_ 4_ 5_ ). 5_ 6_ 5_ 6_ 7_ |^1 3_ 3 6 6_ 50 | [G] (28) 5_ 2_ ^1_ 7.- |1_ 2_ 3_ 5 2_ 3_ 5|5_ 2_ 3_ 5 2_ 3_ 5|!6_ 1_ 2_ 5 2_ 3_ 5_ 51 | [G] (28) 0_ 5_ 5_ 5.- |0.- 5_ 5_ 5_ |5.- 5_ 5_ 5_ |3.- 2 3_ 52 | 53 | [P] (32) 5.- 1_ 2_ 1_ |4 3_ 2 1. |3_ 3 2 1 1_ |2 !6_ 1 3 5- 54 | [G] (32) 3_ 2_ 3_ 5 2_ 3_ 5|4_ 3_ 4_ 5 3_ 4_ 5_|3_ 2_ 3_ 5 3_ 4_ 5_|2_ 1_ 2_ #4 1_ 2_ #4_ 55 | [G] (32) 3.- 2 3_ |4.- 1 3_ |3.- 3 3_ |2.- 1 2_ 56 | 57 | [P] (36) 0. 3_ 4_ 3_ 4_ 5_ ). 3_ 4_ 3_ 4_ 5_ ). 5_ 6_ 5_ 6_ 7_ |^1 3_ 3 6 6_ 58 | [G] (36) 5_ 2_ 3_ 5 2_ 3_ 5|1_ 2_ 3_ 5 2_ 3_ 5_|5_ 2_ 3_ 5 2_ 3_ 5_|!6_ 1_ 2_ 5 2_ 3_ 5_ 59 | [G] (36) 5.- 5_ 5_ 5_ |5.- 5_ 5_ 5_ |5.- 5_ 5_ 5_ |3.- 2 3_ 60 | 61 | [P] (40) 5.- 1_ 2_ 1_ |4 3_ 2 1. |3_ 3 2 1 1_ |2 !6_ 1 2 2_ 62 | [G] (40) 3_ 2_ 3_ 5 2_ 3_ 5|4_ 3_ 4_ 5 3_ 4_ 5_|3_ 2_ 3_ 5 2_ 3_ 5_|2_ 1_ 2_ #4_ 5_ 2_ 3_ 5_ 63 | [G] (40) 3.- 2 3_ |4.- 1 3_ |3.- 3 3_ |2.- 1 2_ 64 | 65 | [P] (44) 1--- 66 | [G] (44) 1_ 2_ 3_ 5 2_ 3_ 5_|1_ 2_ 3_ 5 67 | [G] (44) 1.- 68 | [G] (44) 1 1_ 1 1_ 1_ 1_ 69 | 70 | % 主歌2 71 | [P] (45) 0. !5_ !5_ !6_ 1_ 2_|3 6_ 5 3_ 2_ 2_)_ 1 1_ 2_ 1_ !7_ 1_ |4 !6_ 1 3 3 72 | [G] (45) 1 1_ 1 1_ 1_ 1_ |1 1_ 1 1_ 1_ 1_|!6 !6_ !6 !6_ !6_ !6_|4 4_ 4 4_ 4_ 4_ 73 | [X] (45) 0. M_ M_ M_ S |M S_ M M_ S |M S_ M M_ S_ S_ |M S_ M M_ S 74 | 75 | [P] (49) 0_ 2 2_ 3_ 2_ #1_ 2_|5 !7_ 2 3_ 2_ 2_)_ 1 1_ 2_ 1_ !7_ 1_ |4 !6_ 1 !6 !6 76 | [G] (49) 5 5_ 5 5_ 5_ 5_ |3 3_ 3 3_ 3_ 3_ |!6 !6_ !6 !6_ !6_ !6_|4 4_ 4 4_ 4_ 4_ 77 | [X] (49) M S_ M M_ S_ S_ |M S_ S S_ S_ M_ |M S_ M M_ S |M M_ S S M_ 78 | 79 | [P] (53) 0_ !5 !5_ !5_ !6_ 1_ 2_|3 6_ 5 3_ 2_ 2_)_ 1 1_ 2_ 1_ !7_ 1_ |#3 !6_ 1 3 3 80 | [G] (53) 5 5_ 5 5_ 5_ 5_ |1 1_ 1 1_ 1_ 1_|!6 !6_ !6 !6_ !6_ !6_|4 4_ 4 4_ 4_ 4_ 81 | [X] (53) M S_ M M_ S_ S_ |M S_ M M_ S |M S_ M M_ S_ S_ |M S_ M M_ S 82 | 83 | [P] (57) 0_ 2 2_ 3_ 2_ #1_ 2_|5 !7_ 2 3_ 2_ 2_)_ 1 1_ 2_ 1_ !7_ 1_ |4 !6_ 1 2 2 84 | [G] (57) 5 5_ 5 5_ 5_ 5_ |3 3_ 3 3_ 3_ 3_ |!6 !6_ !6 !6_ !6_ !6_|4 4_ 4_ 5 5_ 5_ 85 | [X] (57) M S_ M M_ S_ S_ |M S_ S S_ S_ M_ |M S_ M M_ S |M M_ S S M_ 86 | 87 | [P] (61) 0_ 1 3_ 4_ 3_ 2_ 3_|4 3_ 2 3 4_ ). 4_ 5_ 4_ 5_ 4_|3 2_ 1 2 3- 88 | [G] (61) 1 1_ 1 1_ 1_ 1_ |4_ 1_ 4_ ^1.-|4_ 1_ 4_ ^1.- |1_ 3_ 5_ ^1.- 89 | [X] (61) M S_ M M_ S_ S_ |M S M_ S M_ |M S M_ S_ M |S M M_ S S_ 90 | 91 | [P] (65) 0. 3_ 3_ 2_ #1_ 3_|3 2_ 2 2_ #1_ 2_). 2_ 2_ 3_ 4_ 2_|6 5_ 5 #4 5- 92 | [G] (65) !6_ #1_ 3_ 6.- |2_ #4_ 6_ ^2.- |2_ #4_ 6_ ^1.- |5_ 2_ ^1_ 7.- 93 | [X] (65) M S M_ M_ S |M S M_ M_ S |M S M_ S_ M |S M S_ S_ M 94 | 95 | % 副歌2 96 | [P] (69) 0. 3_ 4_ 3_ 4_ 5_). 3_ 4_ 3_ 4_ 5_ ). 5_ 6_ 5_ 6_ 7_ |^1 3_ 3 6 6_ 97 | [G] (69) 5_ 2_ ^1_ 7.- |1_ 2_ 3_ 5 2_ 3_ 5|5_ 2_ 3_ 5 2_ 3_ 5|!6_ 1_ 2_ 5 2_ 3_ 5_ 98 | [X] (69) S M S_ S_ S |M S_ M M_ S |M S_ M M_ S |M S_ M M_ S 99 | [V] (69) |1--- |5--- |3. 3 4. 100 | 101 | [P] (73) 5.- 1_ 2_ 1_ |4 3_ 2 1. |3_ 3 2 1 1_ |2 !6_ 1 3 5- 102 | [G] (73) 3_ 2_ 3_ 5 2_ 3_ 5|4_ 3_ 4_ 5 3_ 4_ 5_|3_ 2_ 3_ 5 3_ 4_ 5_|2_ 1_ 2_ #4 1_ 2_ #4_ 103 | [X] (73) M S_ M M_ S |M S_ M M_ S |M S_ M M_ S |M S_ M M_ S 104 | [V] (73) 3--- |4--- |3--- |2. 1 2. 105 | 106 | [P] (77) 0. 3_ 4_ 3_ 4_ 5_ ). 3_ 4_ 3_ 4_ 5_ ). 5_ 6_ 5_ 6_ 7_ |^1 3_ 3 6 6_ 107 | [G] (77) 5_ 2_ 3_ 5 2_ 3_ 5|1_ 2_ 3_ 5 2_ 3_ 5_|5_ 2_ 3_ 5 2_ 3_ 5_|!6_ 1_ 2_ 5 2_ 3_ 5_ 108 | [X] (77) M S_ M M_ S |M S_ M M_ S |M S_ M M_ S |M S_ M M_ S 109 | [V] (77) 5--- |1--- |5--- |3. 3 4. 110 | 111 | [P] (81) 5.- 1_ 2_ 1_ |4 3_ 2 1. |3_ 3 2 1 1_ |2 !6_ 1 2 2_ 112 | [G] (81) 3_ 2_ 3_ 5 2_ 3_ 5|4_ 3_ 4_ 5 3_ 4_ 5_|3_ 2_ 3_ 5 2_ 3_ 5_|2_ 1_ 2_ #4_ 5_ 2_ 3_ 5_ 113 | [X] (81) M S_ M M_ S |M S_ M M_ S |M S_ M M_ S |M S_ M M_ S 114 | [V] (81) 3--- |4--- |3--- |2. 1 2. 115 | 116 | % 间奏 117 | [P] (85) 1--- 118 | [G] (85) 1_ 2_ 3_ 5 2_ 3_ 5_|1_ 2_ 3_ 5 119 | [X] (85) M S_ M M_ S |M S_ M M_ S|M S_ M M_ S|M S_ M M_ S 120 | [V] (85) 1--- 121 | [C] (85) 0.- 1_ 5_ ^1_ |7 6 5 4 |5-- 6 |1- 2 3 122 | 123 | [X] (89) M S_ M M_ S |M S_ M M_ S|M S_ M M_ S|M S_ M M_ S 124 | [V] (89) 0.- ^1_ 7_ ^1_|7 6 5 4 |6 5-- )--- 125 | [C] (89) 4--- )- ^1 7 ^2 |5--- )-- 6- 126 | 127 | [X] (93) M S_ M M_ S |M S_ M M_ S|M S_ M M_ S_ S_ 128 | [C] (93) 1--- )-- 4- |!7- 1- 129 | 130 | % 副歌3 131 | [P] (96) 0. 3_ 4_ 3_ 4_ 5_). 3_ 4_ 3_ 4_ 5_). 5_ 6_ 5_ 6_ 7_|^1 3_ 3 6 6_ 132 | [G] (96) |C5> s--- |G5> s--- |!A5> s--- 133 | [X] (96) M M M_ M_ S 134 | [C] (96) 2- 135 | 136 | [P] (100) 5.- 1_ 2_ 1_|4 3_ 2 1. |3_ 3 2 1 1_ |2 !6_ 1 3 5- 137 | [G] (100) E5> s--- |4_ 5_ ^1_ ^5 ^1_ ^5_ ^1_|3_ 5_ ^1_ ^5 ^1_ ^5_ ^1_|2_ #4_ 6_ ^2 6_ ^2_ 6_ 138 | 139 | [P] (104) 0. 3_ 4_ 3_ 4_ 5_ ). 3_ 4_ 3_ 4_ 5_ ). 5_ 6_ 5_ 6_ 7_ |^1 3_ 3 6 6_ 140 | [G] (104) ^5_ ^2_ ^1_ ^5 ^5_ ^5_ ^5_|1_ 2_ 3_ 5 2_ 3_ 5_|5_ 2_ 3_ 5 2_ 3_ 5_|!6_ 1_ 2_ 5 2_ 3_ 5_ 141 | [X] (104) M S_ S_ S_ S_ M_ M_ |M S_ M M_ S |M S_ M M_ S |M S_ M M_ S 142 | [V] (104) |1--- |5--- |3. 3 4. 143 | 144 | [P] (108) 5.- 1_ 2_ 1_ |4 3_ 2 1. |3_ 3 2 1 1_ |2 !6_ 1 2 2_ 145 | [G] (108) 3_ 2_ 3_ 5 2_ 3_ 5|4_ 3_ 4_ 5 3_ 4_ 5_|3_ 2_ 3_ 5 2_ 3_ 5_|2_ 1_ 2_ #4_ 5_ 2_ 3_ 5_ 146 | [X] (108) M S_ M M_ S |M S_ M M_ S |M S_ M M_ S |M S_ M M_ S 147 | [V] (108) 3--- |4--- |3--- |2. 1 2. 148 | 149 | [P] (112) 1.- 1_ 2_ 1_ |4_ 3 2 1_ 1_ 1_|3_ 3 2 1 1_|2 !6_ 1 2 2_ 150 | [G] (112) 1_ 2_ 3_ 5 3_ 4_ 5_|4--- |3--- |2- 5- 151 | [G] (112) |^1--- |^1--- |^1- ^2- 152 | [V] (112) 1--- 153 | 154 | [P] (116) 1--- 155 | [G] (116) 4_ 5_ ^1_ ^5 ^1_ ^5_ ^1_|4_ 5_ ^1_ ^5 ^1_ ^5_ ^1_ 156 | [G] (116) ^1--- 157 | [X] (116) |M_ S M_ M_ S_ S_ S_ 158 | 159 | % 结尾 160 | [G] (118) ^1_ 5_ 6_ ^1 161 | [X] (118) M S_ M M_ S |M S_ M M_ S |M S_ M M_ S|M S_ M M_ S 162 | [V] (118) |0- 4_ 3_ 4_ 5_)---- ).- ^1_ 6_ 5----- 163 | [C] (118) ^0.- 5_ ^1_ ^5_|^4 ^3 ^2 ^1 |^2-- ^3 |5--- 164 | 165 | [G] (122) ^1_ 5_ 6_ ^1 166 | [X] (122) M S_ M M_ S |M S_ M M_ S |M S_ M M_ S|M S_ M M_ S 167 | [V] (122) |0. 3_ 4_ 3_ 4_ 5_)---- )---- 168 | [C] (122) 0.- ^5_ ^^1_ ^^5_|^^4 ^^3 ^^2 ^^1 |^^2-- ^^3 |^5- ^6 ^7 169 | 170 | [G] (126) | | |^4_ ^5_ ^4_ ^3.----- 171 | [X] (126) M S_ M M_ S |M S_ M M_ S |M S_ M M_ S|S_ S_ S_ S.- 172 | [V] (126) ^1 ^1_ ^1 #5 ^1_ ).- #5_ 5_ 4_|5 5_ 5 3 5_)---- 173 | [C] (126) ^^1--- )---- )---- |^4_ ^5_ ^4_ ^3.- 174 | -------------------------------------------------------------------------------- /SMSP编译器测试.nb: -------------------------------------------------------------------------------- 1 | (* Content-type: application/vnd.wolfram.mathematica *) 2 | 3 | (*** Wolfram Notebook File ***) 4 | (* http://www.wolfram.com/nb *) 5 | 6 | (* CreatedBy='Mathematica 11.2' *) 7 | 8 | (*CacheID: 234*) 9 | (* Internal cache information: 10 | NotebookFileLineBreakTest 11 | NotebookFileLineBreakTest 12 | NotebookDataPosition[ 158, 7] 13 | NotebookDataLength[ 104748, 2000] 14 | NotebookOptionsPosition[ 104401, 1985] 15 | NotebookOutlinePosition[ 104789, 2002] 16 | CellTagsIndexPosition[ 104746, 1999] 17 | WindowFrame->Normal*) 18 | 19 | (* Beginning of Notebook Content *) 20 | Notebook[{ 21 | Cell[BoxData[{ 22 | RowBox[{ 23 | RowBox[{"datasave", "=", 24 | RowBox[{"<|", "|>"}]}], ";"}], "\[IndentingNewLine]", 25 | RowBox[{ 26 | RowBox[{"SetSharedVariable", "[", "datasave", "]"}], 27 | ";"}], "\[IndentingNewLine]", 28 | RowBox[{ 29 | RowBox[{"CMajor", "=", 30 | RowBox[{"{", 31 | RowBox[{ 32 | RowBox[{"\"\\"", "\[Rule]", "0"}], ",", 33 | RowBox[{"\"\\"", "\[Rule]", "2"}], ",", 34 | RowBox[{"\"\\"", "\[Rule]", "4"}], ",", 35 | RowBox[{"\"\\"", "\[Rule]", "5"}], ",", 36 | RowBox[{"\"\\"", "\[Rule]", "7"}], ",", 37 | RowBox[{"\"\\"", "\[Rule]", "9"}], ",", 38 | RowBox[{"\"\\"", "\[Rule]", "11"}]}], "}"}]}], 39 | ";"}], "\[IndentingNewLine]", 40 | RowBox[{ 41 | RowBox[{"NameToNumber", "[", "namestring_", "]"}], ":=", 42 | "\[IndentingNewLine]", 43 | RowBox[{"If", "[", 44 | RowBox[{ 45 | RowBox[{ 46 | RowBox[{"StringLength", "[", "namestring", "]"}], ">", "3"}], ",", 47 | "namestring", ",", 48 | RowBox[{ 49 | RowBox[{ 50 | RowBox[{ 51 | RowBox[{"(", 52 | RowBox[{"#1", "/.", "CMajor"}], ")"}], "+", 53 | RowBox[{"Boole", "[", 54 | RowBox[{"#2", "==", "\"\<#\>\""}], "]"}], "+", 55 | RowBox[{"12", "*", 56 | RowBox[{"(", 57 | RowBox[{ 58 | RowBox[{"ToExpression", "[", "#3", "]"}], "-", "4"}], ")"}]}]}], 59 | "&"}], "@@", 60 | RowBox[{"StringPart", "[", 61 | RowBox[{"namestring", ",", 62 | RowBox[{"{", 63 | RowBox[{"1", ",", "2", ",", 64 | RowBox[{"-", "1"}]}], "}"}]}], "]"}]}]}], 65 | "]"}]}], "\[IndentingNewLine]", 66 | RowBox[{ 67 | RowBox[{"MusicElementMidi", "[", "address_", "]"}], ":=", 68 | RowBox[{ 69 | RowBox[{ 70 | RowBox[{"{", 71 | RowBox[{ 72 | RowBox[{"{", 73 | RowBox[{"#", "[", 74 | RowBox[{"[", 75 | RowBox[{"2", ",", "1"}], "]"}], "]"}], "}"}], ",", 76 | RowBox[{"{", 77 | RowBox[{"NameToNumber", "@", 78 | RowBox[{"#", "[", 79 | RowBox[{"[", "1", "]"}], "]"}]}], "}"}], ",", 80 | RowBox[{ 81 | RowBox[{"#", "[", 82 | RowBox[{"[", 83 | RowBox[{"2", ",", "2"}], "]"}], "]"}], "-", 84 | RowBox[{"#", "[", 85 | RowBox[{"[", 86 | RowBox[{"2", ",", "1"}], "]"}], "]"}]}], ",", 87 | SuperscriptBox[ 88 | RowBox[{"(", 89 | RowBox[{"SoundVolume", "/.", 90 | RowBox[{"#", "[", 91 | RowBox[{"[", 92 | RowBox[{"-", "1"}], "]"}], "]"}]}], ")"}], "2"], ",", 93 | RowBox[{"If", "[", 94 | RowBox[{ 95 | RowBox[{ 96 | RowBox[{"Length", "[", "#", "]"}], "\[Equal]", "4"}], ",", 97 | RowBox[{"ToString", "@", 98 | RowBox[{"Midi", "[", 99 | RowBox[{"#", "[", 100 | RowBox[{"[", "3", "]"}], "]"}], "]"}]}], ",", "\"\\""}], 101 | "]"}], ",", "1"}], "}"}], "&"}], "/@", 102 | RowBox[{ 103 | RowBox[{"Import", "[", "address", "]"}], "[", 104 | RowBox[{"[", "1", "]"}], "]"}]}]}], "\[IndentingNewLine]", 105 | RowBox[{ 106 | RowBox[{ 107 | RowBox[{"Midi", "[", 108 | RowBox[{ 109 | RowBox[{"instrument_:", "\"\\""}], ",", 110 | RowBox[{"list_:", "0"}]}], "]"}], "[", 111 | RowBox[{"notelist_", ",", "time_", ",", "force_"}], "]"}], ":=", 112 | RowBox[{"SoundNote", "[", 113 | RowBox[{ 114 | RowBox[{"Flatten", "@", 115 | RowBox[{"Outer", "[", 116 | RowBox[{"Plus", ",", "notelist", ",", 117 | RowBox[{"Flatten", "[", 118 | RowBox[{"{", "list", "}"}], "]"}]}], "]"}]}], ",", "time", ",", 119 | RowBox[{"If", "[", 120 | RowBox[{ 121 | RowBox[{ 122 | RowBox[{"Head", "[", "instrument", "]"}], "===", "Symbol"}], ",", 123 | RowBox[{"ToString", "[", "instrument", "]"}], ",", "instrument"}], 124 | "]"}], ",", 125 | RowBox[{"SoundVolume", "\[Rule]", 126 | SqrtBox["force"]}]}], "]"}]}], "\[IndentingNewLine]", 127 | RowBox[{ 128 | RowBox[{ 129 | RowBox[{ 130 | RowBox[{"KS", "[", 131 | RowBox[{ 132 | RowBox[{"base_:", "0"}], ",", 133 | RowBox[{"\[Alpha]_:", "0.875"}], ",", 134 | RowBox[{"start_:", "0.015"}], ",", 135 | RowBox[{"cut_:", "100"}], ",", 136 | RowBox[{"damp_:", "0.2"}], ",", 137 | RowBox[{"mix_:", "0.5"}]}], "]"}], "[", 138 | RowBox[{"notelist_", ",", "time_", ",", "force_"}], "]"}], ":=", 139 | RowBox[{"SampledSoundList", "[", 140 | RowBox[{ 141 | RowBox[{"AudioData", "[", " ", 142 | RowBox[{"force", " ", 143 | RowBox[{"AudioNormalize", " ", "@", 144 | RowBox[{"Total", "[", " ", 145 | RowBox[{ 146 | RowBox[{ 147 | RowBox[{"HighpassFilter", "[", 148 | RowBox[{ 149 | RowBox[{"AudioDelay", "[", 150 | RowBox[{ 151 | RowBox[{"HighpassFilter", "[", 152 | RowBox[{ 153 | RowBox[{"AudioGenerator", "[", 154 | RowBox[{ 155 | RowBox[{"{", 156 | RowBox[{"\"\\"", ",", 157 | StyleBox["\[Alpha]", "TR"]}], "}"}], ",", "start"}], 158 | "]"}], ",", 159 | TemplateBox[{"cut","\"Hz\"","hertz","\"Hertz\""}, 160 | "Quantity"]}], "]"}], ",", 161 | RowBox[{"1", "/", "#"}], ",", 162 | SuperscriptBox["damp", 163 | FractionBox["1", "#"]], ",", "mix", ",", 164 | RowBox[{"PaddingSize", "\[Rule]", "4"}]}], "]"}], ",", 165 | TemplateBox[{"cut","\"Hz\"","hertz","\"Hertz\""}, 166 | "Quantity"]}], "]"}], "&"}], "/@", 167 | RowBox[{"(", 168 | RowBox[{"440", "*", 169 | SuperscriptBox["2", 170 | FractionBox[ 171 | RowBox[{"notelist", "-", "9", "+", "base"}], "12"]]}], ")"}]}], 172 | "]"}]}]}], "]"}], ",", 173 | RowBox[{"{", 174 | RowBox[{"44100", ",", "16"}], "}"}]}], "]"}]}], 175 | ";"}], "\[IndentingNewLine]", 176 | RowBox[{ 177 | RowBox[{ 178 | RowBox[{"Options", "[", "MusicCreate", "]"}], "=", 179 | RowBox[{"{", 180 | RowBox[{"\"\\"", "\[Rule]", "True"}], "}"}]}], 181 | ";"}], "\[IndentingNewLine]", 182 | RowBox[{ 183 | RowBox[{ 184 | RowBox[{"MusicCreate", "[", 185 | RowBox[{"elementmatrix_", ",", 186 | RowBox[{"scant_:", 187 | RowBox[{"{", 188 | RowBox[{"0", ",", "\[Infinity]"}], "}"}]}], ",", 189 | RowBox[{"OptionsPattern", "[", "]"}]}], "]"}], ":=", 190 | "\[IndentingNewLine]", 191 | RowBox[{"Module", "[", 192 | RowBox[{ 193 | RowBox[{"{", 194 | RowBox[{"eventsave", ",", "soundvolume"}], "}"}], ",", 195 | "\[IndentingNewLine]", 196 | RowBox[{"Sound", "@", 197 | RowBox[{"Flatten", "@", 198 | RowBox[{"Map", "[", 199 | RowBox[{ 200 | RowBox[{ 201 | RowBox[{"(", "\[IndentingNewLine]", 202 | RowBox[{ 203 | RowBox[{"If", "[", 204 | RowBox[{ 205 | RowBox[{ 206 | RowBox[{"OptionValue", "[", "\"\\"", "]"}], "&&", 207 | RowBox[{"KeyExistsQ", "[", 208 | RowBox[{"datasave", ",", 209 | RowBox[{"#", "[", 210 | RowBox[{"[", 211 | RowBox[{"2", ";;", "5"}], "]"}], "]"}]}], "]"}]}], ",", 212 | "\[IndentingNewLine]", 213 | RowBox[{"eventsave", "=", 214 | RowBox[{"datasave", "[", 215 | RowBox[{"#", "[", 216 | RowBox[{"[", 217 | RowBox[{"2", ";;", "5"}], "]"}], "]"}], "]"}]}], ",", 218 | "\[IndentingNewLine]", 219 | RowBox[{ 220 | RowBox[{"eventsave", "=", 221 | RowBox[{ 222 | RowBox[{"ToExpression", "[", 223 | RowBox[{"#", "[", 224 | RowBox[{"[", "5", "]"}], "]"}], "]"}], "[", 225 | RowBox[{ 226 | RowBox[{"#", "[", 227 | RowBox[{"[", "2", "]"}], "]"}], ",", 228 | RowBox[{"#", "[", 229 | RowBox[{"[", "3", "]"}], "]"}], ",", 230 | RowBox[{"#", "[", 231 | RowBox[{"[", "4", "]"}], "]"}]}], "]"}]}], ";", 232 | "\[IndentingNewLine]", 233 | RowBox[{"If", "[", 234 | RowBox[{ 235 | RowBox[{ 236 | RowBox[{"Head", "[", "eventsave", "]"}], "=!=", 237 | "SoundNote"}], ",", 238 | RowBox[{"AssociateTo", "[", 239 | RowBox[{"datasave", ",", " ", 240 | RowBox[{ 241 | RowBox[{"#", "[", 242 | RowBox[{"[", 243 | RowBox[{"2", ";;", "5"}], "]"}], "]"}], "\[Rule]", 244 | "eventsave"}]}], "]"}]}], "]"}], ";"}]}], 245 | "\[IndentingNewLine]", "]"}], ";", "\[IndentingNewLine]", 246 | RowBox[{"soundvolume", "=", 247 | RowBox[{"If", "[", 248 | RowBox[{ 249 | RowBox[{ 250 | RowBox[{"Head", "[", "eventsave", "]"}], "===", "SoundNote"}], 251 | ",", 252 | SqrtBox[ 253 | RowBox[{"#", "[", 254 | RowBox[{"[", "6", "]"}], "]"}]], ",", 255 | RowBox[{"#", "[", 256 | RowBox[{"[", "6", "]"}], "]"}]}], "]"}]}], ";", 257 | "\[IndentingNewLine]", 258 | RowBox[{"Table", "[", 259 | RowBox[{ 260 | RowBox[{"Sound", "[", 261 | RowBox[{"eventsave", ",", 262 | RowBox[{"{", 263 | RowBox[{"t", "-", 264 | RowBox[{"scant", "[", 265 | RowBox[{"[", "1", "]"}], "]"}]}], "}"}], ",", 266 | RowBox[{"SoundVolume", "\[Rule]", "soundvolume"}]}], "]"}], 267 | ",", 268 | RowBox[{"{", 269 | RowBox[{"t", ",", 270 | RowBox[{"Cases", "[", 271 | RowBox[{ 272 | RowBox[{"#", "[", 273 | RowBox[{"[", "1", "]"}], "]"}], ",", 274 | RowBox[{"t_", "/;", 275 | RowBox[{ 276 | RowBox[{"scant", "[", 277 | RowBox[{"[", "1", "]"}], "]"}], "<=", "t", "<=", 278 | RowBox[{"scant", "[", 279 | RowBox[{"[", "2", "]"}], "]"}]}]}]}], "]"}]}], "}"}]}], 280 | "]"}]}], ")"}], "&"}], ",", "elementmatrix"}], "]"}]}]}]}], 281 | "]"}]}], "\[IndentingNewLine]", "\[IndentingNewLine]", 282 | RowBox[{"(*", "\:7f16\:8bd1\:5f00\:5173", "*)"}]}], "\[IndentingNewLine]", 283 | RowBox[{ 284 | RowBox[{ 285 | RowBox[{ 286 | RowBox[{"Options", "[", "SMSPCompile", "]"}], "=", "\[IndentingNewLine]", 287 | RowBox[{"{", "\[IndentingNewLine]", 288 | RowBox[{"(*", 289 | RowBox[{ 290 | "\:662f\:5426\:6269\:5c55C\:548c\:5f26\:5b9a\:4e49\:81f3\:5168\:97f3\ 291 | \:9636", "\:ff0c", "\:9ed8\:8ba4\:662f"}], "*)"}], "\[IndentingNewLine]", 292 | RowBox[{ 293 | RowBox[{"\"\\"", "\[Rule]", "True"}], ",", 294 | "\[IndentingNewLine]", 295 | RowBox[{"(*", 296 | RowBox[{ 297 | "\:5b9a\:4e49\:548c\:5f26\:6620\:5c04\:65f6\:662f\:5426\:91c7\:7528\ 298 | \:97f3\:7a0b\:5355\:4f4d", "\:ff0c", "\:9ed8\:8ba4\:5426"}], "*)"}], 299 | "\[IndentingNewLine]", 300 | RowBox[{"\"\\"", "\[Rule]", "False"}], ",", 301 | "\[IndentingNewLine]", 302 | RowBox[{"(*", 303 | RowBox[{ 304 | "\:7f16\:8bd1\:76ee\:5f55", "\:ff0c", 305 | "\:9ed8\:8ba4\:5f53\:524d\:5de5\:4f5c\:76ee\:5f55"}], "*)"}], 306 | "\[IndentingNewLine]", 307 | RowBox[{"\"\\"", "->", 308 | RowBox[{"NotebookDirectory", "[", "]"}]}]}], "\[IndentingNewLine]", 309 | "}"}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", 310 | RowBox[{"(*", "\:7f16\:8bd1\:5668", "*)"}]}], "\[IndentingNewLine]", 311 | RowBox[{ 312 | RowBox[{"SMSPCompile", "[", 313 | RowBox[{"test_", ",", 314 | RowBox[{"OptionsPattern", "[", "]"}]}], "]"}], ":=", 315 | "\[IndentingNewLine]", 316 | RowBox[{"With", "[", 317 | RowBox[{ 318 | RowBox[{"{", "\[IndentingNewLine]", 319 | RowBox[{"(*", "\:5168\:5c40\:4e0d\:53d8\:91cf", "*)"}], 320 | "\[IndentingNewLine]", "\t", 321 | RowBox[{"(*", "\:97f3\:9636", "*)"}], "\[IndentingNewLine]", "\t", 322 | RowBox[{ 323 | RowBox[{"scale", "=", 324 | RowBox[{"{", 325 | RowBox[{ 326 | RowBox[{"\"\<1\>\"", "\[Rule]", "0"}], ",", 327 | RowBox[{"\"\<2\>\"", "\[Rule]", "2"}], ",", 328 | RowBox[{"\"\<3\>\"", "\[Rule]", "4"}], ",", 329 | RowBox[{"\"\<4\>\"", "\[Rule]", "5"}], ",", 330 | RowBox[{"\"\<5\>\"", "\[Rule]", "7"}], ",", 331 | RowBox[{"\"\<6\>\"", "\[Rule]", "9"}], ",", 332 | RowBox[{"\"\<7\>\"", "\[Rule]", "11"}]}], "}"}]}], ",", 333 | "\[IndentingNewLine]", "\[IndentingNewLine]", "\t", 334 | RowBox[{"(*", "\:53d8\:8c03", "*)"}], "\[IndentingNewLine]", "\t", 335 | RowBox[{"pitchlist", "=", 336 | RowBox[{"{", 337 | RowBox[{ 338 | RowBox[{"\"\<@\>\"", "\[Rule]", 339 | RowBox[{"-", "1"}]}], ",", 340 | RowBox[{"\"\<#\>\"", "\[Rule]", "1"}], ",", 341 | RowBox[{"\"\\"", "\[Rule]", 342 | RowBox[{"-", "12"}]}], ",", 343 | RowBox[{"\"\<^\>\"", "\[Rule]", "12"}]}], "}"}]}], ",", 344 | "\[IndentingNewLine]", "\[IndentingNewLine]", "\t", 345 | RowBox[{"(*", "\:8282\:62cd", "*)"}], "\[IndentingNewLine]", "\t", 346 | RowBox[{"beatlist", "=", 347 | RowBox[{"{", 348 | RowBox[{ 349 | RowBox[{"\"\<$\>\"", "\[Rule]", 350 | RowBox[{"1", "/", "8"}]}], ",", 351 | RowBox[{"\"\<=\>\"", "\[Rule]", 352 | RowBox[{"1", "/", "4"}]}], ",", 353 | RowBox[{"\"\<;\>\"", "\[Rule]", 354 | RowBox[{"1", "/", "3"}]}], ",", 355 | RowBox[{"\"\<_\>\"", "\[Rule]", 356 | RowBox[{"1", "/", "2"}]}], ",", 357 | RowBox[{"\"\<:\>\"", "\[Rule]", 358 | RowBox[{"2", "/", "3"}]}], ",", 359 | RowBox[{"\"\<.\>\"", "\[Rule]", 360 | RowBox[{"3", "/", "2"}]}], ",", 361 | RowBox[{"\"\<-\>\"", "\[Rule]", "2"}]}], "}"}]}], ",", 362 | "\[IndentingNewLine]", "\[IndentingNewLine]", "\t", 363 | RowBox[{"(*", "\:589e\:76ca", "*)"}], "\[IndentingNewLine]", "\t", 364 | RowBox[{"forcelist", "=", 365 | RowBox[{"{", 366 | RowBox[{ 367 | RowBox[{"\"\<\\\"\>\"", "\[Rule]", "0.25"}], ",", 368 | RowBox[{"\"\<'\>\"", "\[Rule]", "0.5"}], ",", 369 | RowBox[{"\"\<+\>\"", "\[Rule]", "2"}], ",", 370 | RowBox[{"\"\<*\>\"", "\[Rule]", "4"}]}], "}"}]}], ",", 371 | "\[IndentingNewLine]", "\[IndentingNewLine]", "\t", 372 | RowBox[{"(*", "\:5b9a\:957f\:5ef6\:97f3", "*)"}], "\[IndentingNewLine]", 373 | "\t", 374 | RowBox[{"fixedholdlist", "=", 375 | RowBox[{"{", 376 | RowBox[{"\"\<~\>\"", "\[Rule]", "2"}], "}"}]}], ",", 377 | "\[IndentingNewLine]", "\[IndentingNewLine]", "\t", 378 | RowBox[{"(*", "\:975e\:5b9a\:957f\:5ef6\:97f3\:89c4\:5219", "*)"}], 379 | "\[IndentingNewLine]", "\t", 380 | RowBox[{"freeholdrule", "=", 381 | RowBox[{"{", 382 | RowBox[{ 383 | RowBox[{"\"\\"", "\[Rule]", "\"\\""}], ",", 384 | RowBox[{"\"\\"", "\[Rule]", "\"\\""}], ",", 385 | RowBox[{"\"\\"", "\[Rule]", "\"\\""}]}], "}"}]}], ",", 386 | "\[IndentingNewLine]", "\[IndentingNewLine]", 387 | RowBox[{"(*", "\:63a7\:5236\:7b26\:53f7", "*)"}], "\[IndentingNewLine]", 388 | "\t", 389 | RowBox[{"(*", "\:4f11\:6b62\:7b26", "*)"}], 390 | RowBox[{"rest", "=", "\"\<0\>\""}], ",", "\[IndentingNewLine]", "\t", 391 | RowBox[{"(*", "\:4e3b\:5c0f\:8282\:7b26", "*)"}], 392 | RowBox[{"mainbar", "=", "\"\<|\>\""}], ",", "\[IndentingNewLine]", "\t", 393 | RowBox[{"(*", "\:65b9\:6cd5\:7b26", "*)"}], 394 | RowBox[{"mtdset", "=", "\"\\""}], ",", "\t", "\[IndentingNewLine]", 395 | "\t", 396 | RowBox[{"(*", "\:97f3\:91cf\:7b26", "*)"}], 397 | RowBox[{"volset", "=", "\"\\""}], ",", "\[IndentingNewLine]", "\t", 398 | RowBox[{"(*", "\:97f3\:8272\:7b26", "*)"}], 399 | RowBox[{"insset", "=", "\"\\""}], ",", "\[IndentingNewLine]", "\t", 400 | RowBox[{"(*", "\:5ef6\:97f3\:542f\:52a8\:7b26", "*)"}], 401 | RowBox[{"holdstart", "=", "\"\<`\>\""}], ",", "\[IndentingNewLine]", 402 | "\t", 403 | RowBox[{"(*", "\:5ef6\:97f3\:7ed3\:675f\:7b26", "*)"}], 404 | RowBox[{"holdend", "=", "\"\<&\>\""}], ",", "\[IndentingNewLine]", "\t", 405 | RowBox[{"(*", "\:5de6\:51fd\:6570\:7b26", "*)"}], 406 | RowBox[{"leftfun", "=", "\"\<[\>\""}], ",", "\[IndentingNewLine]", "\t", 407 | RowBox[{"(*", "\:53f3\:51fd\:6570\:7b26", "*)"}], 408 | RowBox[{"rightfun", "=", "\"\<]\>\""}], ",", "\[IndentingNewLine]", 409 | "\t", 410 | RowBox[{"(*", "\:5de6\:5b9a\:4e49\:7b26", "*)"}], 411 | RowBox[{"leftdef", "=", "\"\<{\>\""}], ",", "\[IndentingNewLine]", "\t", 412 | RowBox[{"(*", "\:53f3\:5b9a\:4e49\:7b26", "*)"}], 413 | RowBox[{"rightdef", "=", "\"\<}\>\""}], ",", "\[IndentingNewLine]", 414 | "\t", 415 | RowBox[{"(*", "\:5de6\:5c0f\:8282\:7b26", "*)"}], 416 | RowBox[{"leftbar", "=", "\"\<(\>\""}], ",", "\[IndentingNewLine]", "\t", 417 | RowBox[{"(*", "\:53f3\:5c0f\:8282\:7b26", "*)"}], 418 | RowBox[{"rightbar", "=", "\"\<)\>\""}], ",", "\[IndentingNewLine]", 419 | "\t", 420 | RowBox[{"(*", "\:5de6\:548c\:5f26\:7b26", "*)"}], 421 | RowBox[{"leftchord", "=", "\"\<<\>\""}], ",", "\[IndentingNewLine]", 422 | "\t", 423 | RowBox[{"(*", "\:53f3\:548c\:5f26\:7b26", "*)"}], 424 | RowBox[{"rightchord", "=", "\"\<>\>\""}], ",", "\[IndentingNewLine]", 425 | "\t", 426 | RowBox[{"(*", "\:5bfc\:5165\:7b26", "*)"}], 427 | RowBox[{"include", "=", "\"\<<<\>\""}], ",", "\[IndentingNewLine]", 428 | "\t", 429 | RowBox[{"(*", "\:6ce8\:91ca\:7b26", "*)"}], 430 | RowBox[{"comment", "=", "\"\<%\>\""}], ",", "\[IndentingNewLine]", "\t", 431 | RowBox[{"(*", "\:5206\:9694\:7b26", "*)"}], 432 | RowBox[{"split", "=", "\"\<,\>\""}], ",", "\[IndentingNewLine]", 433 | "\[IndentingNewLine]", 434 | RowBox[{"(*", "\:97f3\:8f68\:5bf9\:8c61", "*)"}], "\[IndentingNewLine]", 435 | RowBox[{"deftrack", "=", 436 | RowBox[{"<|", "\[IndentingNewLine]", 437 | RowBox[{"(*", "\:4e50\:5668", "*)"}], 438 | RowBox[{ 439 | RowBox[{"\"\\"", "\[Rule]", "\"\\""}], ",", 440 | "\[IndentingNewLine]", 441 | RowBox[{"(*", "\:97f3\:91cf", "*)"}], 442 | RowBox[{"\"\\"", "\[Rule]", "1"}], ",", 443 | "\[IndentingNewLine]", 444 | RowBox[{"(*", "\:548c\:5f26", "*)"}], 445 | RowBox[{"\"\\"", "\[Rule]", 446 | RowBox[{"{", 447 | RowBox[{"0", ",", "4", ",", "7"}], "}"}]}], ",", 448 | "\[IndentingNewLine]", 449 | RowBox[{"(*", "\:5ef6\:97f3\:8ba1\:6570", "*)"}], 450 | RowBox[{"\"\\"", "\[Rule]", "0"}], ",", 451 | "\[IndentingNewLine]", 452 | RowBox[{"(*", "\:5ef6\:97f3\:6a21\:5f0f", "*)"}], 453 | RowBox[{"\"\\"", "\[Rule]", "\"\\""}], ",", 454 | "\[IndentingNewLine]", 455 | RowBox[{"(*", "\:6307\:9488\:65f6\:95f4", "*)"}], 456 | RowBox[{"\"\\"", "\[Rule]", 457 | RowBox[{"{", "0", "}"}]}], ",", "\[IndentingNewLine]", 458 | RowBox[{"(*", "\:542f\:52a8\:65f6\:95f4", "*)"}], 459 | RowBox[{"\"\\"", "\[Rule]", 460 | RowBox[{"{", "0", "}"}]}]}], "|>"}]}]}], "\[IndentingNewLine]", 461 | "}"}], ",", 462 | RowBox[{"Module", "[", 463 | RowBox[{ 464 | RowBox[{"{", "\[IndentingNewLine]", 465 | RowBox[{"(*", "\:5168\:5c40\:53d8\:91cf", "*)"}], 466 | "\[IndentingNewLine]", "\t", 467 | RowBox[{"(*", "\:62cd\:6027", "*)"}], 468 | RowBox[{ 469 | RowBox[{"barbeat", "=", "4"}], ",", "\[IndentingNewLine]", "\t", 470 | RowBox[{"(*", "\:901f\:5ea6", "*)"}], 471 | RowBox[{"bpm", "=", "120"}], ",", "\[IndentingNewLine]", "\t", 472 | RowBox[{"(*", "\:57fa\:51c6\:97f3", "*)"}], 473 | RowBox[{"base", "=", "0"}], ",", "\[IndentingNewLine]", "\t", 474 | RowBox[{"(*", "\:53ef\:7528\:548c\:5f26", "*)"}], 475 | RowBox[{"chordlist", "=", 476 | RowBox[{"<|", "|>"}]}], ",", "\[IndentingNewLine]", "\t", 477 | RowBox[{"(*", "\:548c\:5f26\:6620\:5c04", "*)"}], 478 | RowBox[{"chordmap", "=", 479 | RowBox[{"<|", "|>"}]}], ",", "\[IndentingNewLine]", "\t", 480 | RowBox[{"(*", "\:975e\:5b9a\:957f\:5ef6\:97f3\:6807\:8bb0", "*)"}], 481 | RowBox[{"freeholdlist", "=", 482 | RowBox[{"<|", "|>"}]}], ",", "\[IndentingNewLine]", "\t", 483 | RowBox[{"(*", "\:97f3\:8f68\:540d\:79f0", "*)"}], 484 | RowBox[{"trackname", "=", "\"\<\>\""}], ",", "\[IndentingNewLine]", 485 | "\[IndentingNewLine]", "trclist", ",", "NowTrack", ",", "TrackSet", 486 | ",", "TrackAddTo", ",", "\[IndentingNewLine]", "\[IndentingNewLine]", 487 | "DeleteComment", ",", "Directory", ",", "Include", ",", 488 | "\[IndentingNewLine]", "InputQ", ",", "parlist", ",", "pattern", ",", 489 | RowBox[{"flist", "=", 490 | RowBox[{"<|", "|>"}]}], ",", 491 | RowBox[{"dlist", "=", 492 | RowBox[{"<|", "|>"}]}], ",", "FReplace", ",", "\[IndentingNewLine]", 493 | "\[IndentingNewLine]", 494 | RowBox[{"forcepat", "=", 495 | RowBox[{"forcelist", "[", 496 | RowBox[{"[", 497 | RowBox[{";;", ",", "1"}], "]"}], "]"}]}], ",", 498 | "\[IndentingNewLine]", 499 | RowBox[{"pitchpat", "=", 500 | RowBox[{"pitchlist", "[", 501 | RowBox[{"[", 502 | RowBox[{";;", ",", "1"}], "]"}], "]"}]}], ",", 503 | "\[IndentingNewLine]", 504 | RowBox[{"beatpat", "=", 505 | RowBox[{ 506 | RowBox[{"beatlist", "[", 507 | RowBox[{"[", 508 | RowBox[{";;", ",", "1"}], "]"}], "]"}], "|", "rightbar"}]}], ",", 509 | "\[IndentingNewLine]", 510 | RowBox[{"holdpat", "=", 511 | RowBox[{ 512 | RowBox[{"fixedholdlist", "[", 513 | RowBox[{"[", 514 | RowBox[{";;", ",", "1"}], "]"}], "]"}], "|", "holdstart"}]}], ",", 515 | "\[IndentingNewLine]", "NotePitch", ",", "NoteBeat", ",", 516 | "NoteForce", ",", "NoteHold", ",", "NoteSpan", ",", "Note", ",", 517 | "\[IndentingNewLine]", "BarMain", ",", "Bar", ",", "Track", ",", 518 | "Method", ",", "Volume", ",", "Instrument", ",", "FreeHold", ",", 519 | "FreeHoldMain", ",", "CMajor", ",", "Interval", ",", "ChordDef", ",", 520 | "ChordMap", ",", "ChordMain"}], "}"}], ",", "\[IndentingNewLine]", 521 | RowBox[{ 522 | "(*", "\:9ed8\:8ba4\:97f3\:8f68\:5bf9\:8c61\:96c6\:5408", "*)"}], 523 | "\[IndentingNewLine]", 524 | RowBox[{ 525 | RowBox[{"trclist", "=", 526 | RowBox[{"<|", 527 | RowBox[{"trackname", "\[Rule]", "deftrack"}], "|>"}]}], ";", 528 | RowBox[{"(*", "\:521d\:59cb\:5316\:5168\:5c40\:53d8\:91cf", "*)"}], 529 | "\[IndentingNewLine]", "\[IndentingNewLine]", 530 | RowBox[{"(*", 531 | RowBox[{ 532 | "\:5f53\:524d\:97f3\:8f68", ",", 533 | "\:4e0d\:53ef\:7528\:4e8e\:8d4b\:503c"}], "*)"}], 534 | "\[IndentingNewLine]", 535 | RowBox[{ 536 | RowBox[{"NowTrack", "[", "]"}], ":=", 537 | RowBox[{"trclist", "[", "trackname", "]"}]}], ";", 538 | "\[IndentingNewLine]", "\[IndentingNewLine]", 539 | RowBox[{ 540 | "(*", "\:8bbe\:7f6e\:97f3\:8f68\:5bf9\:8c61\:5185\:53c2\:6570\:7684\ 541 | \:503c", "*)"}], "\[IndentingNewLine]", 542 | RowBox[{ 543 | RowBox[{"TrackSet", "[", 544 | RowBox[{"name_", ",", "value_"}], "]"}], ":=", 545 | RowBox[{"(", 546 | RowBox[{ 547 | RowBox[{ 548 | RowBox[{"trclist", "[", "trackname", "]"}], "[", "name", "]"}], 549 | "=", "value"}], ")"}]}], ";", "\[IndentingNewLine]", 550 | "\[IndentingNewLine]", 551 | RowBox[{ 552 | "(*", "\:52a0\:7b49\:4e8e\:97f3\:8f68\:5bf9\:8c61\:5185\:53c2\:6570\ 553 | \:7684\:503c", "*)"}], "\[IndentingNewLine]", 554 | RowBox[{ 555 | RowBox[{"TrackAddTo", "[", 556 | RowBox[{"name_", ",", "value_"}], "]"}], ":=", 557 | RowBox[{"(", 558 | RowBox[{ 559 | RowBox[{ 560 | RowBox[{"trclist", "[", "trackname", "]"}], "[", "name", "]"}], "+=", 561 | "value"}], ")"}]}], ";", "\[IndentingNewLine]", 562 | "\[IndentingNewLine]", 563 | RowBox[{"(*", "\:5220\:9664\:6ce8\:91ca", "*)"}], 564 | "\[IndentingNewLine]", 565 | RowBox[{ 566 | RowBox[{"DeleteComment", "[", "input_", "]"}], ":=", 567 | RowBox[{"StringDelete", "[", 568 | RowBox[{"input", ",", 569 | RowBox[{"comment", "~~", 570 | RowBox[{ 571 | RowBox[{ 572 | RowBox[{"Except", "[", "\"\<\\n\>\"", "]"}], ".."}], "|", 573 | "\"\<\>\""}]}]}], "]"}]}], ";", "\[IndentingNewLine]", 574 | RowBox[{"(*", "\:7f16\:8bd1\:76ee\:5f55", "*)"}], 575 | "\[IndentingNewLine]", 576 | RowBox[{"Directory", "=", 577 | RowBox[{"If", "[", 578 | RowBox[{ 579 | RowBox[{"MemberQ", "[", 580 | RowBox[{ 581 | RowBox[{"{", 582 | RowBox[{"\"\\"", ",", "\"\<\\\\\>\""}], "}"}], ",", 583 | RowBox[{"StringPart", "[", 584 | RowBox[{ 585 | RowBox[{"OptionValue", "[", "\"\\"", "]"}], ",", 586 | RowBox[{"-", "1"}]}], "]"}]}], "]"}], ",", 587 | RowBox[{"StringDrop", "[", 588 | RowBox[{ 589 | RowBox[{"OptionValue", "[", "\"\\"", "]"}], ",", 590 | RowBox[{"-", "1"}]}], "]"}], ",", 591 | RowBox[{"OptionValue", "[", "\"\\"", "]"}]}], "]"}]}], 592 | ";", "\[IndentingNewLine]", "\[IndentingNewLine]", 593 | RowBox[{"(*", "\:5bfc\:5165\:6587\:4ef6", "*)"}], 594 | "\[IndentingNewLine]", 595 | RowBox[{ 596 | RowBox[{"Include", "[", "input_", "]"}], ":=", 597 | RowBox[{"StringReplace", "[", 598 | RowBox[{ 599 | RowBox[{"DeleteComment", "[", "input", "]"}], ",", 600 | RowBox[{ 601 | RowBox[{"include", "~~", 602 | RowBox[{"address", ":", 603 | RowBox[{ 604 | RowBox[{"Except", "[", "WhitespaceCharacter", "]"}], ".."}]}]}], 605 | "\[RuleDelayed]", "\[IndentingNewLine]", 606 | RowBox[{"Include", "@", 607 | RowBox[{"Import", "@", 608 | RowBox[{"If", "[", 609 | RowBox[{ 610 | RowBox[{"StringContainsQ", "[", 611 | RowBox[{"address", ",", "\"\<:\>\""}], "]"}], ",", 612 | "\[IndentingNewLine]", "address", ",", "\[IndentingNewLine]", 613 | RowBox[{"Directory", "<>", "\"\\"", "<>", 614 | RowBox[{"If", "[", 615 | RowBox[{ 616 | RowBox[{ 617 | RowBox[{"StringPart", "[", 618 | RowBox[{"address", ",", "1"}], "]"}], "===", 619 | "\"\\""}], ",", 620 | RowBox[{"StringDrop", "[", 621 | RowBox[{"address", ",", "1"}], "]"}], ",", "address"}], 622 | "]"}]}]}], "]"}]}]}]}]}], "]"}]}], ";", 623 | "\[IndentingNewLine]", "\[IndentingNewLine]", 624 | RowBox[{ 625 | RowBox[{"InputQ", "[", "input_", "]"}], ":=", 626 | RowBox[{"Module", "[", 627 | RowBox[{ 628 | RowBox[{"{", 629 | RowBox[{"count", "=", "0"}], "}"}], ",", "\[IndentingNewLine]", 630 | RowBox[{"Catch", "[", "\[IndentingNewLine]", 631 | RowBox[{ 632 | RowBox[{"StringCases", "[", 633 | RowBox[{"input", ",", 634 | RowBox[{"{", 635 | RowBox[{ 636 | RowBox[{"leftfun", ":>", 637 | RowBox[{"(", 638 | RowBox[{"count", "+=", "1"}], ")"}]}], ",", 639 | RowBox[{"rightfun", "\[RuleDelayed]", 640 | RowBox[{"If", "[", 641 | RowBox[{ 642 | RowBox[{ 643 | RowBox[{"(", 644 | RowBox[{"count", "-=", "1"}], ")"}], "<", "0"}], ",", 645 | RowBox[{"Throw", "[", "False", "]"}]}], "]"}]}]}], "}"}]}], 646 | "]"}], ";", "\[IndentingNewLine]", 647 | RowBox[{"count", "\[Equal]", "0"}]}], "\[IndentingNewLine]", 648 | "]"}]}], "\[IndentingNewLine]", "]"}]}], ";", 649 | "\[IndentingNewLine]", 650 | RowBox[{ 651 | RowBox[{"FReplace", "[", "string_", "]"}], ":=", 652 | "\[IndentingNewLine]", 653 | RowBox[{"StringReplace", "[", 654 | RowBox[{"string", ",", "\[IndentingNewLine]", 655 | RowBox[{"{", 656 | RowBox[{"(*", "\:51fd\:6570\:5b9a\:4e49", "*)"}], 657 | "\[IndentingNewLine]", 658 | RowBox[{ 659 | RowBox[{ 660 | RowBox[{"Shortest", "[", 661 | RowBox[{ 662 | RowBox[{"name", ":", 663 | RowBox[{"WordCharacter", ".."}]}], "~~", "leftfun", "~~", 664 | RowBox[{"input", ":", 665 | RowBox[{ 666 | RowBox[{"(", 667 | RowBox[{"WordCharacter", "|", "\"\<,\>\""}], ")"}], 668 | "..."}]}], "~~", "rightfun", "~~", "leftdef", "~~", 669 | "output___", "~~", "rightdef"}], "]"}], ":>", 670 | "\[IndentingNewLine]", 671 | RowBox[{"(", 672 | RowBox[{ 673 | RowBox[{"parlist", "=", 674 | RowBox[{"StringCases", "[", 675 | RowBox[{"input", ",", 676 | RowBox[{ 677 | RowBox[{"par", ":", 678 | RowBox[{"WordCharacter", ".."}]}], ":>", 679 | RowBox[{"{", 680 | RowBox[{"par", ",", 681 | RowBox[{"ToExpression", "[", "par", "]"}]}], "}"}]}]}], 682 | "]"}]}], ";", "\[IndentingNewLine]", 683 | RowBox[{"pattern", "=", 684 | RowBox[{ 685 | RowBox[{"Riffle", "[", 686 | RowBox[{ 687 | RowBox[{ 688 | RowBox[{ 689 | RowBox[{ 690 | RowBox[{"Pattern", "[", 691 | RowBox[{"#", ",", "__"}], "]"}], "/;", 692 | RowBox[{"InputQ", "[", "#", "]"}]}], "&"}], "/@", 693 | RowBox[{"parlist", "[", 694 | RowBox[{"[", 695 | RowBox[{";;", ",", "2"}], "]"}], "]"}]}], ",", 696 | "\"\<,\>\""}], "]"}], "/.", 697 | RowBox[{"List", "\[Rule]", "StringExpression"}]}]}], ";", 698 | "\[IndentingNewLine]", 699 | RowBox[{ 700 | RowBox[{ 701 | RowBox[{"AssociateTo", "[", 702 | RowBox[{"flist", ",", 703 | RowBox[{"name", "->", 704 | RowBox[{"pattern", "\[RuleDelayed]", "#"}]}]}], "]"}], 705 | "&"}], "@", 706 | RowBox[{"StringReplace", "[", 707 | RowBox[{ 708 | RowBox[{"FReplace", "[", "output", "]"}], ",", 709 | RowBox[{ 710 | RowBox[{ 711 | RowBox[{"#1", "\[Rule]", "#2"}], "&"}], "@@@", 712 | "parlist"}]}], "]"}]}], ";", "\[IndentingNewLine]", 713 | "\"\<\>\""}], ")"}]}], ",", "\[IndentingNewLine]", 714 | "\[IndentingNewLine]", 715 | RowBox[{"(*", "\:76f4\:63a5\:5b9a\:4e49", "*)"}], 716 | "\[IndentingNewLine]", 717 | RowBox[{ 718 | RowBox[{"Shortest", "[", 719 | RowBox[{ 720 | RowBox[{"name", ":", 721 | RowBox[{"WordCharacter", ".."}]}], "~~", "leftdef", "~~", 722 | "output___", "~~", "rightdef"}], "]"}], "\[RuleDelayed]", 723 | "\[IndentingNewLine]", 724 | RowBox[{"(", "\[IndentingNewLine]", 725 | RowBox[{ 726 | RowBox[{"AssociateTo", "[", 727 | RowBox[{"dlist", ",", 728 | RowBox[{"name", "\[Rule]", 729 | RowBox[{"FReplace", "[", "output", "]"}]}]}], "]"}], ";", 730 | "\[IndentingNewLine]", "\"\<\>\""}], ")"}]}], 731 | "\[IndentingNewLine]", ",", "\[IndentingNewLine]", 732 | "\[IndentingNewLine]", 733 | RowBox[{"(*", "\:51fd\:6570\:66ff\:6362", "*)"}], 734 | "\[IndentingNewLine]", 735 | RowBox[{ 736 | RowBox[{ 737 | RowBox[{"name", ":", 738 | RowBox[{"WordCharacter", ".."}]}], "~~", "leftfun", "~~", 739 | RowBox[{"input", ":", 740 | RowBox[{ 741 | RowBox[{"Except", "[", "WhitespaceCharacter", "]"}], 742 | "..."}]}], "~~", "rightfun"}], "\[RuleDelayed]", 743 | RowBox[{"If", "[", 744 | RowBox[{ 745 | RowBox[{"KeyExistsQ", "[", 746 | RowBox[{"flist", ",", "name"}], "]"}], ",", 747 | RowBox[{"FReplace", "@", 748 | RowBox[{"StringReplace", "[", 749 | RowBox[{"input", ",", 750 | RowBox[{"flist", "[", "name", "]"}]}], "]"}]}], ",", 751 | RowBox[{ 752 | "name", "~~", "leftfun", "~~", "input", "~~", "rightfun"}]}], 753 | "]"}]}], ",", "\[IndentingNewLine]", "\[IndentingNewLine]", 754 | RowBox[{"(*", "\:76f4\:63a5\:66ff\:6362", "*)"}], 755 | "\[IndentingNewLine]", 756 | RowBox[{ 757 | RowBox[{"name", ":", 758 | RowBox[{"WordCharacter", ".."}]}], "\[RuleDelayed]", 759 | RowBox[{"(", 760 | RowBox[{"name", "/.", "dlist"}], ")"}]}]}], "}"}]}], "]"}]}], 761 | ";", "\[IndentingNewLine]", "\[IndentingNewLine]", 762 | "\[IndentingNewLine]", 763 | RowBox[{"(*", "\:83b7\:53d6\:97f3\:7b26\:7684\:97f3\:9ad8", "*)"}], 764 | "\[IndentingNewLine]", 765 | RowBox[{ 766 | RowBox[{"NotePitch", "[", 767 | RowBox[{"pitch_", ",", "element_"}], "]"}], ":=", 768 | "\[IndentingNewLine]", 769 | RowBox[{ 770 | RowBox[{ 771 | RowBox[{"Total", "@", 772 | RowBox[{"StringCases", "[", 773 | RowBox[{"pitch", ",", "pitchlist"}], "]"}]}], "+", 774 | RowBox[{"Flatten", "@", 775 | RowBox[{"{", 776 | RowBox[{"If", "[", 777 | RowBox[{ 778 | RowBox[{"KeyExistsQ", "[", 779 | RowBox[{"chordmap", ",", "element"}], "]"}], ",", 780 | RowBox[{"Cases", "[", 781 | RowBox[{ 782 | RowBox[{ 783 | RowBox[{"chordmap", "[", "element", "]"}], "[", 784 | RowBox[{ 785 | RowBox[{"NowTrack", "[", "]"}], "[", "\"\\"", "]"}], 786 | "]"}], ",", "_Integer"}], "]"}], ",", 787 | RowBox[{"element", "/.", "scale"}]}], "]"}], "}"}]}], "+", 788 | "base"}], "/.", 789 | RowBox[{ 790 | RowBox[{"Plus", "[", 791 | RowBox[{"n_", ",", "s_String"}], "]"}], "\[RuleDelayed]", 792 | "s"}]}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", 793 | RowBox[{"(*", "\:83b7\:53d6\:97f3\:7b26\:7684\:8282\:62cd", "*)"}], 794 | "\[IndentingNewLine]", 795 | RowBox[{ 796 | RowBox[{"NoteBeat", "[", "beat_", "]"}], ":=", 797 | RowBox[{ 798 | RowBox[{ 799 | RowBox[{"If", "[", 800 | RowBox[{ 801 | RowBox[{"#", "===", 802 | RowBox[{"{", "}"}]}], ",", "1", ",", 803 | RowBox[{ 804 | RowBox[{"Total", "[", 805 | RowBox[{"#", "-", 806 | RowBox[{"UnitStep", "[", 807 | RowBox[{"#", "-", "2"}], "]"}]}], "]"}], "+", 808 | RowBox[{"UnitStep", "[", 809 | RowBox[{ 810 | RowBox[{"#", "[", 811 | RowBox[{"[", "1", "]"}], "]"}], "-", "2"}], "]"}]}]}], "]"}], 812 | "&"}], "@", 813 | RowBox[{"StringCases", "[", 814 | RowBox[{"beat", ",", "beatlist"}], "]"}]}]}], ";", 815 | "\[IndentingNewLine]", "\[IndentingNewLine]", 816 | RowBox[{"(*", "\:83b7\:53d6\:97f3\:7b26\:7684\:529b\:5ea6", "*)"}], 817 | "\[IndentingNewLine]", 818 | RowBox[{ 819 | RowBox[{"NoteForce", "[", "force_", "]"}], ":=", 820 | RowBox[{ 821 | RowBox[{ 822 | RowBox[{"If", "[", 823 | RowBox[{ 824 | RowBox[{"#", "===", 825 | RowBox[{"{", "}"}]}], ",", "1", ",", 826 | RowBox[{"Times", "@@", "#"}]}], "]"}], "&"}], "@", 827 | RowBox[{"StringCases", "[", 828 | RowBox[{"force", ",", "forcelist"}], "]"}]}]}], ";", 829 | "\[IndentingNewLine]", "\[IndentingNewLine]", 830 | RowBox[{ 831 | "(*", "\:83b7\:53d6\:97f3\:7b26\:7684\:5ef6\:7eed\:65f6\:95f4", "*)"}], 832 | "\[IndentingNewLine]", 833 | RowBox[{ 834 | RowBox[{"NoteHold", "[", 835 | RowBox[{"hold_", ",", "beatvalue_", ",", "starttime_"}], "]"}], ":=", 836 | "\[IndentingNewLine]", 837 | RowBox[{"If", "[", 838 | RowBox[{ 839 | RowBox[{ 840 | RowBox[{ 841 | RowBox[{ 842 | RowBox[{"NowTrack", "[", "]"}], "[", "\"\\"", "]"}], 843 | "\[Equal]", "\"\\""}], "||", 844 | RowBox[{"StringContainsQ", "[", 845 | RowBox[{"hold", ",", "holdstart"}], "]"}]}], ",", 846 | "\[IndentingNewLine]", 847 | RowBox[{"(*", "\:975e\:5b9a\:957f\:5ef6\:97f3", "*)"}], 848 | "\[IndentingNewLine]", 849 | RowBox[{ 850 | RowBox[{"trackname", "<>", "\"\< \>\"", "<>", 851 | RowBox[{"ToString", "[", 852 | RowBox[{ 853 | RowBox[{ 854 | RowBox[{"NowTrack", "[", "]"}], "[", "\"\\"", 855 | "]"}], "+", "1"}], "]"}]}], "-", 856 | RowBox[{"First", "[", "starttime", "]"}]}], ",", 857 | "\[IndentingNewLine]", 858 | RowBox[{"(*", "\:5b9a\:957f\:5ef6\:97f3", "*)"}], 859 | "\[IndentingNewLine]", 860 | RowBox[{ 861 | FractionBox["1", "bpm"], "60", 862 | RowBox[{"Max", "[", 863 | RowBox[{ 864 | RowBox[{"Total", "@", 865 | RowBox[{"StringCases", "[", 866 | RowBox[{"hold", ",", "fixedholdlist"}], "]"}]}], ",", 867 | "beatvalue"}], "]"}]}]}], "]"}]}], ";", "\[IndentingNewLine]", 868 | "\[IndentingNewLine]", 869 | RowBox[{ 870 | "(*", "\:68c0\:6d4b\:97f3\:7b26\:7684\:8de8\:5c0f\:8282\:60c5\:51b5", 871 | "*)"}], "\[IndentingNewLine]", 872 | RowBox[{ 873 | RowBox[{"NoteSpan", "[", "beat_", "]"}], ":=", "\[IndentingNewLine]", 874 | RowBox[{"TrackAddTo", "[", 875 | RowBox[{"\"\\"", ",", 876 | RowBox[{ 877 | FractionBox[ 878 | RowBox[{"60", "barbeat"}], "bpm"], 879 | RowBox[{"StringCount", "[", 880 | RowBox[{"beat", ",", "rightbar"}], "]"}]}]}], "]"}]}], ";", 881 | "\[IndentingNewLine]", 882 | RowBox[{"(*", "\:7ffb\:8bd1\:97f3\:7b26\:6210\:4e8b\:4ef6", "*)"}], 883 | "\[IndentingNewLine]", 884 | RowBox[{ 885 | RowBox[{"Note", "[", 886 | RowBox[{ 887 | "force_", ",", "pitch_", ",", "element_", ",", "beat_", ",", 888 | "hold_"}], "]"}], ":=", "\[IndentingNewLine]", 889 | RowBox[{"Module", "[", 890 | RowBox[{ 891 | RowBox[{"{", 892 | RowBox[{"starttime", ",", "beatvalue"}], "}"}], ",", 893 | "\[IndentingNewLine]", 894 | RowBox[{ 895 | RowBox[{"NoteSpan", "[", "beat", "]"}], ";", "\[IndentingNewLine]", 896 | RowBox[{"If", "[", 897 | RowBox[{ 898 | RowBox[{"element", "\[Equal]", "rest"}], ",", 899 | "\[IndentingNewLine]", 900 | RowBox[{ 901 | RowBox[{"TrackAddTo", "[", 902 | RowBox[{"\"\\"", ",", 903 | FractionBox[ 904 | RowBox[{"60", " ", 905 | RowBox[{"NoteBeat", "[", "beat", "]"}]}], "bpm"]}], "]"}], 906 | ";", "\[IndentingNewLine]", "\[IndentingNewLine]", "Nothing"}], 907 | ",", "\[IndentingNewLine]", 908 | RowBox[{ 909 | RowBox[{"beatvalue", "=", 910 | RowBox[{"NoteBeat", "[", "beat", "]"}]}], ";", 911 | "\[IndentingNewLine]", 912 | RowBox[{"starttime", "=", 913 | RowBox[{ 914 | RowBox[{"NowTrack", "[", "]"}], "[", "\"\\"", 915 | "]"}]}], ";", "\[IndentingNewLine]", 916 | RowBox[{"TrackAddTo", "[", 917 | RowBox[{"\"\\"", ",", 918 | FractionBox[ 919 | RowBox[{"60", " ", "beatvalue"}], "bpm"]}], "]"}], ";", 920 | "\[IndentingNewLine]", 921 | RowBox[{"{", 922 | RowBox[{"starttime", ",", 923 | RowBox[{"NotePitch", "[", 924 | RowBox[{"pitch", ",", "element"}], "]"}], ",", " ", 925 | RowBox[{"NoteHold", "[", 926 | RowBox[{"hold", ",", "beatvalue", ",", "starttime"}], "]"}], 927 | ",", 928 | RowBox[{"NoteForce", "[", "force", "]"}], ",", 929 | RowBox[{ 930 | RowBox[{"NowTrack", "[", "]"}], "[", "\"\\"", 931 | "]"}], ",", 932 | RowBox[{ 933 | RowBox[{"NowTrack", "[", "]"}], "[", "\"\\"", 934 | "]"}]}], "}"}]}]}], "\[IndentingNewLine]", "]"}]}]}], 935 | "]"}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", 936 | RowBox[{"(*", "\:7ffb\:8bd1\:4e3b\:5c0f\:8282\:7b26", "*)"}], 937 | "\[IndentingNewLine]", 938 | RowBox[{ 939 | RowBox[{"BarMain", "[", "]"}], ":=", "\[IndentingNewLine]", 940 | RowBox[{"(", 941 | RowBox[{ 942 | RowBox[{"If", "[", 943 | RowBox[{ 944 | RowBox[{"MemberQ", "[", 945 | RowBox[{ 946 | RowBox[{"{", 947 | RowBox[{"\"\\"", ",", "\"\\""}], "}"}], ",", 948 | RowBox[{ 949 | RowBox[{"NowTrack", "[", "]"}], "[", "\"\\"", 950 | "]"}]}], "]"}], ",", 951 | RowBox[{"FreeHoldMain", "[", "]"}]}], "]"}], ";", 952 | "\[IndentingNewLine]", 953 | RowBox[{"TrackSet", "[", 954 | RowBox[{"\"\\"", ",", 955 | RowBox[{"TrackAddTo", "[", 956 | RowBox[{"\"\\"", ",", 957 | FractionBox[ 958 | RowBox[{"60", "barbeat"}], "bpm"]}], "]"}]}], "]"}], ";", 959 | "\[IndentingNewLine]", "Nothing"}], ")"}]}], ";", 960 | "\[IndentingNewLine]", "\[IndentingNewLine]", 961 | RowBox[{"(*", "\:7ffb\:8bd1\:5c0f\:8282\:7b26", "*)"}], 962 | "\[IndentingNewLine]", 963 | RowBox[{ 964 | RowBox[{"Bar", "[", "input_", "]"}], ":=", 965 | RowBox[{"(", 966 | RowBox[{ 967 | RowBox[{"TrackSet", "[", 968 | RowBox[{"\"\\"", ",", 969 | RowBox[{"TrackSet", "[", 970 | RowBox[{"\"\\"", ",", 971 | RowBox[{ 972 | FractionBox[ 973 | RowBox[{"60", "barbeat"}], "bpm"], 974 | RowBox[{"ToExpression", "[", 975 | RowBox[{"\"\<{\>\"", "<>", "input", "<>", "\"\<}\>\""}], 976 | "]"}]}]}], "]"}]}], "]"}], ";", "\[IndentingNewLine]", 977 | "Nothing"}], ")"}]}], ";", "\[IndentingNewLine]", 978 | "\[IndentingNewLine]", 979 | RowBox[{"(*", "\:7ffb\:8bd1\:97f3\:8f68\:7b26", "*)"}], 980 | "\[IndentingNewLine]", 981 | RowBox[{ 982 | RowBox[{"Track", "[", "input_", "]"}], ":=", "\[IndentingNewLine]", 983 | RowBox[{"(", 984 | RowBox[{ 985 | RowBox[{"If", "[", 986 | RowBox[{ 987 | RowBox[{"!", 988 | RowBox[{"KeyExistsQ", "[", 989 | RowBox[{"trclist", ",", "input"}], "]"}]}], ",", 990 | RowBox[{"AssociateTo", "[", 991 | RowBox[{"trclist", ",", 992 | RowBox[{"input", "\[Rule]", "deftrack"}]}], "]"}]}], "]"}], ";", 993 | "\[IndentingNewLine]", 994 | RowBox[{"trackname", "=", "input"}], ";", "\[IndentingNewLine]", 995 | "Nothing"}], ")"}]}], ";", "\[IndentingNewLine]", 996 | "\[IndentingNewLine]", 997 | RowBox[{"(*", "\:7ffb\:8bd1\:65b9\:6cd5\:7b26", "*)"}], 998 | "\[IndentingNewLine]", 999 | RowBox[{ 1000 | RowBox[{"Method", "[", "input_", "]"}], ":=", "\[IndentingNewLine]", 1001 | RowBox[{"(", 1002 | RowBox[{ 1003 | RowBox[{ 1004 | RowBox[{"{", 1005 | RowBox[{"barbeat", ",", "bpm", ",", "base"}], "}"}], "=", 1006 | RowBox[{"ToExpression", "[", 1007 | RowBox[{"\"\<{\>\"", "<>", "input", "<>", "\"\<}\>\""}], "]"}]}], 1008 | ";", "Nothing"}], ")"}]}], ";", "\[IndentingNewLine]", 1009 | "\[IndentingNewLine]", 1010 | RowBox[{"(*", "\:7ffb\:8bd1\:97f3\:91cf\:7b26", "*)"}], 1011 | "\[IndentingNewLine]", 1012 | RowBox[{ 1013 | RowBox[{"Volume", "[", "input_", "]"}], ":=", 1014 | RowBox[{"(", 1015 | RowBox[{ 1016 | RowBox[{"TrackSet", "[", 1017 | RowBox[{"\"\\"", ",", 1018 | RowBox[{"ToExpression", "[", "input", "]"}]}], "]"}], ";", 1019 | "Nothing"}], ")"}]}], ";", "\[IndentingNewLine]", 1020 | "\[IndentingNewLine]", 1021 | RowBox[{"(*", "\:7ffb\:8bd1\:97f3\:8272\:7b26", "*)"}], 1022 | "\[IndentingNewLine]", 1023 | RowBox[{ 1024 | RowBox[{"Instrument", "[", "input_", "]"}], ":=", 1025 | RowBox[{"(", 1026 | RowBox[{ 1027 | RowBox[{"TrackSet", "[", 1028 | RowBox[{"\"\\"", ",", "input"}], "]"}], ";", 1029 | "Nothing"}], ")"}]}], ";", "\[IndentingNewLine]", 1030 | "\[IndentingNewLine]", 1031 | RowBox[{"(*", "\:7ffb\:8bd1\:5ef6\:97f3\:7b26", "*)"}], 1032 | "\[IndentingNewLine]", 1033 | RowBox[{ 1034 | RowBox[{"FreeHold", "[", "input_", "]"}], ":=", "\[IndentingNewLine]", 1035 | RowBox[{"(", 1036 | RowBox[{ 1037 | RowBox[{"If", "[", 1038 | RowBox[{ 1039 | RowBox[{"MemberQ", "[", 1040 | RowBox[{ 1041 | RowBox[{"{", 1042 | RowBox[{ 1043 | "\"\\"", ",", "\"\\"", ",", 1044 | "\"\\""}], "}"}], ",", 1045 | RowBox[{"input", "/.", "freeholdrule"}]}], "]"}], ",", 1046 | "\[IndentingNewLine]", 1047 | RowBox[{ 1048 | "(*", "\:975e\:5b9a\:957f\:5ef6\:97f3\:6a21\:5f0f\:53d8\:66f4", 1049 | "*)"}], "\[IndentingNewLine]", 1050 | RowBox[{"TrackSet", "[", 1051 | RowBox[{"\"\\"", ",", 1052 | RowBox[{"input", "/.", "freeholdrule"}]}], "]"}], ",", 1053 | "\[IndentingNewLine]", "\[IndentingNewLine]", 1054 | RowBox[{ 1055 | "(*", "\:975e\:5b9a\:957f\:5ef6\:97f3\:7ed3\:675f\:7b26", "*)"}], 1056 | "\[IndentingNewLine]", 1057 | RowBox[{ 1058 | RowBox[{"TrackAddTo", "[", 1059 | RowBox[{"\"\\"", ",", "1"}], "]"}], ";", 1060 | "\[IndentingNewLine]", 1061 | RowBox[{"AssociateTo", "[", 1062 | RowBox[{"freeholdlist", ",", 1063 | RowBox[{ 1064 | RowBox[{"trackname", "<>", "\"\< \>\"", "<>", 1065 | RowBox[{"ToString", "[", 1066 | RowBox[{ 1067 | RowBox[{"NowTrack", "[", "]"}], "[", "\"\\"", 1068 | "]"}], "]"}]}], "\[Rule]", "\[IndentingNewLine]", 1069 | FractionBox[ 1070 | RowBox[{"60", "barbeat", " ", 1071 | RowBox[{"ToExpression", "[", "input", "]"}]}], "bpm"]}]}], 1072 | "]"}]}]}], "]"}], ";", "\[IndentingNewLine]", "Nothing"}], 1073 | ")"}]}], ";", "\[IndentingNewLine]", 1074 | RowBox[{"(*", "\:7ffb\:8bd1\:4e3b\:5ef6\:97f3\:7b26", "*)"}], 1075 | "\[IndentingNewLine]", 1076 | RowBox[{ 1077 | RowBox[{"FreeHoldMain", "[", "]"}], ":=", "\[IndentingNewLine]", 1078 | RowBox[{"(", 1079 | RowBox[{ 1080 | RowBox[{"TrackAddTo", "[", 1081 | RowBox[{"\"\\"", ",", "1"}], "]"}], ";", 1082 | "\[IndentingNewLine]", 1083 | RowBox[{"AssociateTo", "[", 1084 | RowBox[{"freeholdlist", ",", "\[IndentingNewLine]", 1085 | RowBox[{ 1086 | RowBox[{"trackname", "<>", "\"\< \>\"", "<>", 1087 | RowBox[{"ToString", "[", 1088 | RowBox[{ 1089 | RowBox[{"NowTrack", "[", "]"}], "[", "\"\\"", 1090 | "]"}], "]"}]}], "->", 1091 | RowBox[{"First", "[", 1092 | RowBox[{ 1093 | RowBox[{"NowTrack", "[", "]"}], "[", "\"\\"", 1094 | "]"}], "]"}]}]}], "]"}], ";", "\[IndentingNewLine]", 1095 | "Nothing"}], ")"}]}], ";", "\[IndentingNewLine]", 1096 | "\[IndentingNewLine]", 1097 | RowBox[{"CMajor", "=", 1098 | RowBox[{"{", 1099 | RowBox[{ 1100 | RowBox[{"\"\\"", "\[Rule]", "0"}], ",", 1101 | RowBox[{"\"\\"", "\[Rule]", "2"}], ",", 1102 | RowBox[{"\"\\"", "\[Rule]", "4"}], ",", 1103 | RowBox[{"\"\\"", "\[Rule]", "5"}], ",", 1104 | RowBox[{"\"\\"", "\[Rule]", "7"}], ",", 1105 | RowBox[{"\"\\"", "\[Rule]", "9"}], ",", 1106 | RowBox[{"\"\\"", "\[Rule]", "11"}]}], "}"}]}], ";", 1107 | "\[IndentingNewLine]", "\[IndentingNewLine]", 1108 | RowBox[{"Interval", "=", 1109 | RowBox[{"{", 1110 | RowBox[{ 1111 | "1", ",", "2", ",", "2", ",", "2", ",", "3", ",", "4", ",", "4", ",", 1112 | "1", ",", "5", ",", "2", ",", "6", ",", "3", ",", "7", ",", "4"}], 1113 | "}"}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", 1114 | RowBox[{"(*", "\:7ffb\:8bd1\:548c\:5f26\:5b9a\:4e49\:7b26", "*)"}], 1115 | "\[IndentingNewLine]", 1116 | RowBox[{ 1117 | RowBox[{"ChordDef", "[", 1118 | RowBox[{"name_", ",", "input_"}], "]"}], ":=", "\[IndentingNewLine]", 1119 | RowBox[{"(", 1120 | RowBox[{ 1121 | RowBox[{"AssociateTo", "[", 1122 | RowBox[{"chordlist", ",", "\[IndentingNewLine]", 1123 | RowBox[{"If", "[", 1124 | RowBox[{ 1125 | RowBox[{ 1126 | RowBox[{"name", "\[NotEqual]", "\"\<\>\""}], "&&", 1127 | RowBox[{"OptionValue", "[", "\"\\"", "]"}], "&&", 1128 | RowBox[{ 1129 | RowBox[{"StringPart", "[", 1130 | RowBox[{"name", ",", "1"}], "]"}], "\[Equal]", 1131 | "\"\\""}]}], ",", 1132 | RowBox[{ 1133 | RowBox[{ 1134 | RowBox[{ 1135 | RowBox[{ 1136 | RowBox[{"StringReplacePart", "[", 1137 | RowBox[{"name", ",", "#", ",", 1138 | RowBox[{"{", 1139 | RowBox[{"1", ",", "1"}], "}"}]}], "]"}], "\[Rule]", 1140 | RowBox[{ 1141 | RowBox[{"ToExpression", "[", 1142 | RowBox[{"\"\<{\>\"", "<>", "input", "<>", "\"\<}\>\""}], 1143 | "]"}], "+", 1144 | RowBox[{"(", 1145 | RowBox[{"#", "/.", "CMajor"}], ")"}]}]}], "&"}], "/@", 1146 | RowBox[{"CMajor", "[", 1147 | RowBox[{"[", 1148 | RowBox[{";;", ",", "1"}], "]"}], "]"}]}], "/.", 1149 | RowBox[{ 1150 | RowBox[{"Plus", "[", 1151 | RowBox[{"_", ",", "x_"}], "]"}], ":>", "x"}]}], ",", 1152 | "\[IndentingNewLine]", 1153 | RowBox[{"name", "->", 1154 | RowBox[{"ToExpression", "[", 1155 | RowBox[{"\"\<{\>\"", "<>", "input", "<>", "\"\<}\>\""}], 1156 | "]"}]}]}], "\[IndentingNewLine]", "]"}]}], "]"}], ";", 1157 | "\[IndentingNewLine]", 1158 | RowBox[{"TrackSet", "[", 1159 | RowBox[{"\"\\"", ",", 1160 | RowBox[{"chordlist", "[", "name", "]"}]}], "]"}], ";", 1161 | "\[IndentingNewLine]", "Nothing"}], ")"}]}], ";", 1162 | "\[IndentingNewLine]", "\[IndentingNewLine]", 1163 | RowBox[{"(*", "\:7ffb\:8bd1\:548c\:5f26\:6620\:5c04\:7b26", "*)"}], 1164 | "\[IndentingNewLine]", 1165 | RowBox[{ 1166 | RowBox[{"ChordMap", "[", 1167 | RowBox[{"name_", ",", "input_"}], "]"}], ":=", 1168 | RowBox[{"With", "[", 1169 | RowBox[{ 1170 | RowBox[{"{", 1171 | RowBox[{"method", "=", 1172 | RowBox[{ 1173 | RowBox[{ 1174 | RowBox[{"{", 1175 | RowBox[{ 1176 | RowBox[{"Total", "[", 1177 | RowBox[{"StringCases", "[", 1178 | RowBox[{"#", ",", "pitchlist"}], "]"}], "]"}], ",", 1179 | RowBox[{"If", "[", 1180 | RowBox[{ 1181 | RowBox[{"OptionValue", "[", "\"\\"", "]"}], 1182 | ",", 1183 | RowBox[{"Interval", "[", 1184 | RowBox[{"[", 1185 | RowBox[{"ToExpression", "@", 1186 | RowBox[{"StringCases", "[", 1187 | RowBox[{"#", ",", "DigitCharacter", ",", "1"}], "]"}]}], 1188 | "]"}], "]"}], ",", "\[IndentingNewLine]", 1189 | RowBox[{"ToExpression", "@", 1190 | RowBox[{"First", "@", 1191 | RowBox[{"StringCases", "[", 1192 | RowBox[{"#", ",", "DigitCharacter", ",", "1"}], 1193 | "]"}]}]}]}], "\[IndentingNewLine]", "]"}]}], "}"}], "&"}], 1194 | "/@", 1195 | RowBox[{"StringSplit", "[", 1196 | RowBox[{"input", ",", "\"\<,\>\""}], "]"}]}]}], "}"}], ",", 1197 | "\[IndentingNewLine]", 1198 | RowBox[{ 1199 | RowBox[{"AssociateTo", "[", 1200 | RowBox[{"chordmap", ",", "\[IndentingNewLine]", 1201 | RowBox[{"name", "->", 1202 | RowBox[{"Function", "[", 1203 | RowBox[{"chord", ",", 1204 | RowBox[{ 1205 | RowBox[{ 1206 | RowBox[{"#1", "+", 1207 | RowBox[{"chord", "[", 1208 | RowBox[{"[", "#2", "]"}], "]"}]}], "&"}], "@@@", 1209 | RowBox[{"Cases", "[", 1210 | RowBox[{"method", ",", 1211 | RowBox[{"element_", "/;", 1212 | RowBox[{ 1213 | RowBox[{"element", "[", 1214 | RowBox[{"[", "2", "]"}], "]"}], "\[LessEqual]", 1215 | RowBox[{"Length", "[", "chord", "]"}]}]}]}], "]"}]}]}], 1216 | "]"}]}]}], "]"}], ";", "\[IndentingNewLine]", "Nothing"}]}], 1217 | "]"}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", 1218 | "\[IndentingNewLine]", 1219 | RowBox[{"(*", "\:7ffb\:8bd1\:4e3b\:548c\:5f26\:7b26", "*)"}], 1220 | "\[IndentingNewLine]", 1221 | RowBox[{ 1222 | RowBox[{"ChordMain", "[", 1223 | RowBox[{"pitch_", ",", "name_"}], "]"}], ":=", "\[IndentingNewLine]", 1224 | RowBox[{"(", 1225 | RowBox[{ 1226 | RowBox[{"TrackSet", "[", 1227 | RowBox[{"\"\\"", ",", 1228 | RowBox[{ 1229 | RowBox[{ 1230 | RowBox[{"Total", "@", 1231 | RowBox[{"StringCases", "[", 1232 | RowBox[{"pitch", ",", "pitchlist"}], "]"}]}], "+", "name"}], "/.", 1233 | "chordlist"}]}], "]"}], ";", "\[IndentingNewLine]", "Nothing"}], 1234 | ")"}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", 1235 | RowBox[{ 1236 | RowBox[{"StringCases", "[", "\[IndentingNewLine]", 1237 | RowBox[{ 1238 | RowBox[{"FReplace", "@", 1239 | RowBox[{"Fold", "[", 1240 | RowBox[{ 1241 | RowBox[{ 1242 | RowBox[{"StringReplace", "[", 1243 | RowBox[{"#1", ",", "#2"}], "]"}], "&"}], ",", 1244 | RowBox[{"Include", "[", "test", "]"}], ",", 1245 | RowBox[{"{", 1246 | RowBox[{ 1247 | RowBox[{ 1248 | RowBox[{ 1249 | RowBox[{"s", ":", 1250 | RowBox[{"Except", "[", 1251 | RowBox[{ 1252 | "WordCharacter", "|", "WhitespaceCharacter", "|", 1253 | "holdend"}], "]"}]}], "~~", "Whitespace"}], 1254 | "\[RuleDelayed]", "s"}], ",", 1255 | RowBox[{ 1256 | RowBox[{"Whitespace", "~~", 1257 | RowBox[{"s", ":", 1258 | RowBox[{"Except", "[", 1259 | RowBox[{ 1260 | "WordCharacter", "|", "WhitespaceCharacter", "|", 1261 | "leftfun"}], "]"}]}]}], "\[RuleDelayed]", "s"}], ",", 1262 | "\[IndentingNewLine]", 1263 | RowBox[{"{", 1264 | RowBox[{ 1265 | RowBox[{ 1266 | RowBox[{"rightfun", "~~", 1267 | RowBox[{"c", ":", 1268 | RowBox[{"Except", "[", 1269 | RowBox[{"rightfun", "|", "split", "|", "leftdef"}], 1270 | "]"}]}]}], "\[RuleDelayed]", 1271 | RowBox[{"rightfun", "~~", "\"\< \>\"", "~~", "c"}]}], ",", 1272 | RowBox[{"split", "\[Rule]", "\"\<,\>\""}]}], "}"}]}], 1273 | "}"}]}], "]"}]}], ",", "\[IndentingNewLine]", 1274 | RowBox[{"{", "\[IndentingNewLine]", 1275 | RowBox[{ 1276 | RowBox[{ 1277 | RowBox[{ 1278 | RowBox[{"name", ":", 1279 | RowBox[{"WordCharacter", "..."}]}], "~~", "leftfun", "~~", 1280 | RowBox[{"input", ":", 1281 | RowBox[{ 1282 | RowBox[{"Except", "[", "WhitespaceCharacter", "]"}], 1283 | "..."}]}], "~~", "rightfun"}], "\[RuleDelayed]", 1284 | "\[IndentingNewLine]", 1285 | RowBox[{"Switch", "[", 1286 | RowBox[{"name", ",", "\[IndentingNewLine]", 1287 | RowBox[{"(*", "\:97f3\:8f68\:7b26", "*)"}], 1288 | "\[IndentingNewLine]", "\"\<\>\"", ",", 1289 | RowBox[{"Track", "[", "input", "]"}], ",", 1290 | "\[IndentingNewLine]", "\[IndentingNewLine]", 1291 | RowBox[{"(*", "\:65b9\:6cd5\:7b26", "*)"}], 1292 | "\[IndentingNewLine]", "mtdset", ",", 1293 | RowBox[{"Method", "[", "input", "]"}], ",", 1294 | "\[IndentingNewLine]", 1295 | RowBox[{"(*", "\:97f3\:91cf\:7b26", "*)"}], 1296 | "\[IndentingNewLine]", "volset", ",", 1297 | RowBox[{"Volume", "[", "input", "]"}], ",", 1298 | "\[IndentingNewLine]", 1299 | RowBox[{"(*", "\:97f3\:8272\:7b26", "*)"}], 1300 | "\[IndentingNewLine]", "insset", ",", 1301 | RowBox[{"Instrument", "[", "input", "]"}]}], 1302 | "\[IndentingNewLine]", "]"}]}], ",", "\[IndentingNewLine]", 1303 | "\[IndentingNewLine]", 1304 | RowBox[{"(*", "\:4e3b\:5c0f\:8282\:7b26", "*)"}], 1305 | "\[IndentingNewLine]", 1306 | RowBox[{"mainbar", "\[RuleDelayed]", 1307 | RowBox[{"BarMain", "[", "]"}]}], ",", "\[IndentingNewLine]", 1308 | "\[IndentingNewLine]", 1309 | RowBox[{"(*", "\:5c0f\:8282\:7b26", "*)"}], "\[IndentingNewLine]", 1310 | RowBox[{ 1311 | RowBox[{"Shortest", "[", 1312 | RowBox[{"leftbar", "~~", "input___", "~~", "rightbar"}], "]"}], 1313 | "\[RuleDelayed]", 1314 | RowBox[{"Bar", "[", "input", "]"}]}], ",", "\[IndentingNewLine]", 1315 | "\[IndentingNewLine]", 1316 | RowBox[{"(*", "\:5ef6\:97f3\:7b26", "*)"}], "\[IndentingNewLine]", 1317 | RowBox[{ 1318 | RowBox[{"Shortest", "[", 1319 | RowBox[{ 1320 | "holdend", "~~", "leftfun", "~~", "input___", "~~", 1321 | "rightfun"}], "]"}], "\[RuleDelayed]", 1322 | RowBox[{"FreeHold", "[", "input", "]"}]}], ",", 1323 | "\[IndentingNewLine]", "\[IndentingNewLine]", 1324 | RowBox[{"(*", "\:4e3b\:5ef6\:97f3\:7b26", "*)"}], 1325 | "\[IndentingNewLine]", 1326 | RowBox[{"holdend", "\[RuleDelayed]", 1327 | RowBox[{"FreeHoldMain", "[", "]"}]}], ",", "\[IndentingNewLine]", 1328 | "\[IndentingNewLine]", 1329 | RowBox[{"(*", "\:548c\:5f26\:7b26", "*)"}], "\[IndentingNewLine]", 1330 | RowBox[{ 1331 | RowBox[{"Shortest", "[", 1332 | RowBox[{ 1333 | RowBox[{"name", ":", 1334 | RowBox[{"WordCharacter", "..."}]}], "~~", "leftchord", "~~", 1335 | "input___", "~~", "rightchord"}], "]"}], "\[RuleDelayed]", 1336 | RowBox[{"If", "[", 1337 | RowBox[{ 1338 | RowBox[{ 1339 | RowBox[{"name", "\[Equal]", "\"\<\>\""}], "||", 1340 | RowBox[{"UpperCaseQ", "@", 1341 | RowBox[{"StringPart", "[", 1342 | RowBox[{"name", ",", "1"}], "]"}]}]}], ",", 1343 | "\[IndentingNewLine]", 1344 | RowBox[{ 1345 | "(*", "\:7ffb\:8bd1\:548c\:5f26\:5b9a\:4e49\:7b26", "*)"}], 1346 | "\[IndentingNewLine]", 1347 | RowBox[{"ChordDef", "[", 1348 | RowBox[{"name", ",", "input"}], "]"}], ",", 1349 | "\[IndentingNewLine]", "\[IndentingNewLine]", 1350 | RowBox[{ 1351 | "(*", "\:7ffb\:8bd1\:548c\:5f26\:6620\:5c04\:7b26", "*)"}], 1352 | "\[IndentingNewLine]", 1353 | RowBox[{"ChordMap", "[", 1354 | RowBox[{"name", ",", "input"}], "]"}]}], "]"}]}], ",", 1355 | "\[IndentingNewLine]", "\[IndentingNewLine]", 1356 | RowBox[{"(*", "\:4e3b\:548c\:5f26\:7b26", "*)"}], 1357 | "\[IndentingNewLine]", 1358 | RowBox[{ 1359 | RowBox[{"Shortest", "[", 1360 | RowBox[{ 1361 | RowBox[{"pitch", ":", 1362 | RowBox[{"pitchpat", "..."}]}], "~~", 1363 | RowBox[{"name", ":", 1364 | RowBox[{"WordCharacter", "..."}]}], "~~", "rightchord"}], 1365 | "]"}], "\[RuleDelayed]", 1366 | RowBox[{"ChordMain", "[", 1367 | RowBox[{"pitch", ",", "name"}], "]"}]}], ",", 1368 | "\[IndentingNewLine]", "\[IndentingNewLine]", 1369 | RowBox[{"(*", "\:97f3\:7b26", "*)"}], "\[IndentingNewLine]", 1370 | RowBox[{ 1371 | RowBox[{ 1372 | RowBox[{"force", ":", 1373 | RowBox[{"forcepat", "..."}]}], "~~", 1374 | RowBox[{"pitch", ":", 1375 | RowBox[{"pitchpat", "..."}]}], "~~", 1376 | RowBox[{"element", ":", 1377 | RowBox[{"WordCharacter", ".."}]}], "~~", 1378 | RowBox[{"beat", ":", 1379 | RowBox[{"beatpat", "..."}]}], "~~", 1380 | RowBox[{"hold", ":", 1381 | RowBox[{"holdpat", "..."}]}]}], "\[RuleDelayed]", 1382 | RowBox[{"Note", "[", 1383 | RowBox[{ 1384 | "force", ",", "pitch", ",", "element", ",", "beat", ",", 1385 | "hold"}], "]"}]}]}], "\[IndentingNewLine]", "}"}]}], 1386 | "\[IndentingNewLine]", "]"}], "/.", "freeholdlist"}]}]}], 1387 | "\[IndentingNewLine]", "]"}]}], "]"}]}]}], "Input", 1388 | CellChangeTimes->{{3.7228475389369807`*^9, 3.7228476279514275`*^9}, { 1389 | 3.722847658535852*^9, 3.722847699783402*^9}, {3.7228477904389462`*^9, 1390 | 3.722847848110464*^9}, {3.7228479040938554`*^9, 3.722847969885796*^9}, { 1391 | 3.7228480037774315`*^9, 3.7228480048301325`*^9}, {3.722848292045956*^9, 1392 | 3.722848310995614*^9}, {3.7228483440837126`*^9, 3.7228483517148085`*^9}, { 1393 | 3.7228483829066396`*^9, 3.7228483842185154`*^9}, {3.722848536219033*^9, 1394 | 3.722848568515603*^9}, {3.7228486366991425`*^9, 3.722848636938303*^9}, { 1395 | 3.7228487011932163`*^9, 3.722848701800621*^9}, {3.722848750753315*^9, 1396 | 3.722848760946122*^9}, {3.722848806233369*^9, 3.72284884380046*^9}, { 1397 | 3.722849016007473*^9, 3.722849076895138*^9}, {3.7228491163674994`*^9, 1398 | 3.722849167298514*^9}, {3.7228493168884215`*^9, 3.7228493767253866`*^9}, { 1399 | 3.7228496089573016`*^9, 3.722849622186138*^9}, {3.7228496637639046`*^9, 1400 | 3.7228497198523664`*^9}, {3.7228497764751825`*^9, 3.722849811722723*^9}, { 1401 | 3.722850137001622*^9, 3.7228503208794303`*^9}, {3.7228504237824945`*^9, 1402 | 3.722850433220301*^9}, {3.722851410376251*^9, 3.72285141200334*^9}, { 1403 | 3.7228515276414003`*^9, 3.722851537102218*^9}, {3.7228515975752993`*^9, 1404 | 3.7228516120059443`*^9}, 3.7228517945320454`*^9, 3.722851830401009*^9, { 1405 | 3.7228519138133187`*^9, 3.722851915063155*^9}, {3.722851983709365*^9, 1406 | 3.722852038773006*^9}, {3.7228522500323467`*^9, 3.7228522876134405`*^9}, { 1407 | 3.722852542555599*^9, 3.722852605266424*^9}, {3.7228526601930995`*^9, 1408 | 3.7228526622704906`*^9}, {3.722852746225565*^9, 3.722852776592109*^9}, { 1409 | 3.7228532695639954`*^9, 3.7228532846943073`*^9}, {3.722853563866253*^9, 1410 | 3.722853569989338*^9}, {3.7228537794720497`*^9, 3.7228538222504735`*^9}, { 1411 | 3.722854174376528*^9, 3.722854185878213*^9}, {3.7228547516269054`*^9, 1412 | 3.722854759588223*^9}, 3.7228548896117287`*^9, {3.7228549699897666`*^9, 1413 | 3.722855051188552*^9}, {3.722855123835373*^9, 3.7228551274727955`*^9}, { 1414 | 3.722855176892763*^9, 3.722855208156643*^9}, {3.7228552691393604`*^9, 1415 | 3.7228552848158307`*^9}, {3.7228559055370855`*^9, 1416 | 3.7228559127907505`*^9}, {3.722856187458712*^9, 3.7228562201460943`*^9}, { 1417 | 3.722856263874615*^9, 3.722856334010357*^9}, {3.722856934303088*^9, 1418 | 3.7228569391903524`*^9}, {3.7228598766564093`*^9, 3.722859902061371*^9}, { 1419 | 3.72286034141101*^9, 3.7228603419883957`*^9}, {3.72286080201346*^9, 1420 | 3.722860803245291*^9}, {3.722860890365876*^9, 3.722860905461948*^9}, { 1421 | 3.7228609687302046`*^9, 3.722861049323038*^9}, {3.7228612344716825`*^9, 1422 | 3.722861246678465*^9}, {3.7228614485833015`*^9, 3.7228615067249403`*^9}, { 1423 | 3.7228615522587476`*^9, 3.7228615543981667`*^9}, {3.722861592834553*^9, 1424 | 3.722861800002554*^9}, {3.7228618374307976`*^9, 3.7228618384174595`*^9}, { 1425 | 3.7228626804453278`*^9, 3.722862682200506*^9}, {3.7228632211483765`*^9, 1426 | 3.7228632539177036`*^9}, {3.72286331466562*^9, 3.722863490137441*^9}, { 1427 | 3.722863605775445*^9, 3.7228636128621807`*^9}, {3.7228636502921786`*^9, 1428 | 3.7228636880384073`*^9}, {3.7228639141228514`*^9, 1429 | 3.7228639254837475`*^9}, {3.722863997597931*^9, 3.7228640486053905`*^9}, 1430 | 3.722864325783455*^9, {3.7228643750345716`*^9, 3.722864376007228*^9}, { 1431 | 3.722864418659706*^9, 3.722864419733432*^9}, {3.722864499762498*^9, 1432 | 3.722864566673275*^9}, 3.7228646996816297`*^9, {3.7229061102858753`*^9, 1433 | 3.722906178101817*^9}, {3.7229062205102477`*^9, 3.7229063786119933`*^9}, { 1434 | 3.7229066810491943`*^9, 3.722906726973409*^9}, {3.7229068490264673`*^9, 1435 | 3.7229068643084974`*^9}, {3.722907054852764*^9, 3.72290718295354*^9}, 1436 | 3.722920429287495*^9, {3.722938080455499*^9, 3.7229381771891336`*^9}, { 1437 | 3.722938210874756*^9, 3.7229382129539595`*^9}, {3.722947663456393*^9, 1438 | 3.7229476952817044`*^9}, {3.72299581249502*^9, 3.7229958153881006`*^9}, { 1439 | 3.7229986823688593`*^9, 3.7229986965679054`*^9}, {3.722998745961832*^9, 1440 | 3.722998750386135*^9}, {3.7229997906748877`*^9, 3.7229997913982067`*^9}, { 1441 | 3.7229998313543644`*^9, 3.7229998953104286`*^9}, {3.7230003539910393`*^9, 1442 | 3.723000358682948*^9}, 3.723001692114868*^9, {3.72300229943754*^9, 1443 | 3.723002299643011*^9}, {3.7230041585177803`*^9, 3.7230041620052643`*^9}, { 1444 | 3.7230042273495827`*^9, 3.7230044138353167`*^9}, 3.72300447556691*^9, { 1445 | 3.7230045403702154`*^9, 3.7230046016631527`*^9}, {3.72300463556279*^9, 1446 | 3.7230047741440763`*^9}, {3.723004838015164*^9, 3.72300485213062*^9}, { 1447 | 3.723004935218506*^9, 3.7230049692385907`*^9}, {3.7230055355144234`*^9, 1448 | 3.723005585297174*^9}, {3.723005741176836*^9, 3.723005753062501*^9}, { 1449 | 3.7230057881279907`*^9, 3.7230060097109423`*^9}, 3.7230080807079215`*^9, { 1450 | 3.7230156101006975`*^9, 3.7230156125556*^9}, {3.723037956051524*^9, 1451 | 3.7230379747340884`*^9}, {3.7230380175559254`*^9, 1452 | 3.7230380204909115`*^9}, {3.7230383031256046`*^9, 1453 | 3.7230383830009494`*^9}, {3.723068809087866*^9, 3.7230688459893217`*^9}, { 1454 | 3.723070373695227*^9, 3.723070427703368*^9}, {3.7230705539697504`*^9, 1455 | 3.7230705572557216`*^9}, {3.723070655278411*^9, 3.723070676416883*^9}, { 1456 | 3.7230708805192947`*^9, 3.7230709056782913`*^9}, {3.723070937774078*^9, 1457 | 3.723070958702939*^9}, {3.7230727493037834`*^9, 3.723072752148815*^9}, { 1458 | 3.723072806993028*^9, 3.7230728552586*^9}, {3.723072904984481*^9, 1459 | 3.723072953873744*^9}, {3.7230733484159966`*^9, 3.72307336408333*^9}, { 1460 | 3.723075355829506*^9, 3.7230754153137226`*^9}, {3.7230754503850946`*^9, 1461 | 3.723075472877434*^9}, {3.7230755415111375`*^9, 3.723075710119632*^9}, { 1462 | 3.7230757708022246`*^9, 3.723075808883374*^9}, {3.7230758440997458`*^9, 1463 | 3.7230759528921614`*^9}, {3.7230761825067263`*^9, 1464 | 3.7230762040169907`*^9}, {3.723076256030702*^9, 3.723076350317383*^9}, { 1465 | 3.723076403262022*^9, 3.7230764092839813`*^9}, {3.723076441729049*^9, 1466 | 3.7230766131487303`*^9}, {3.723076645767626*^9, 3.7230767057187157`*^9}, { 1467 | 3.7230767537233934`*^9, 3.723076791646428*^9}, {3.7230768515036306`*^9, 1468 | 3.723076854634243*^9}, {3.723076934081044*^9, 3.723077095585528*^9}, { 1469 | 3.7230771350917997`*^9, 3.723077217277088*^9}, {3.723077304353567*^9, 1470 | 3.723077393896082*^9}, {3.723077455958615*^9, 3.7230775031052165`*^9}, { 1471 | 3.723077866553338*^9, 3.7230778728443575`*^9}, {3.723078734700143*^9, 1472 | 3.7230787460601482`*^9}, {3.7230788199933605`*^9, 1473 | 3.7230788468176174`*^9}, {3.7230791416189785`*^9, 3.723079147532426*^9}, 1474 | 3.723079485116168*^9, {3.723079533782177*^9, 3.7230795377510996`*^9}, 1475 | 3.723079593343773*^9, {3.723081141911889*^9, 3.7230813405728245`*^9}, { 1476 | 3.7230818440767174`*^9, 3.723081844999137*^9}, {3.7230819034534783`*^9, 1477 | 3.723081911869595*^9}, {3.7230819547118225`*^9, 3.723082009152087*^9}, { 1478 | 3.7230820913859396`*^9, 3.7230821047130795`*^9}, {3.723082153260125*^9, 1479 | 3.723082165309828*^9}, 3.7230822246455946`*^9, {3.7230822575847187`*^9, 1480 | 3.7230822590530677`*^9}, {3.723082294828133*^9, 3.723082334177703*^9}, { 1481 | 3.7230824240761943`*^9, 3.723082474960005*^9}, {3.7230825400713654`*^9, 1482 | 3.7230825875607605`*^9}, {3.7230836148180943`*^9, 3.723083637046379*^9}, { 1483 | 3.723083745525405*^9, 3.7230837671016636`*^9}, {3.723083808278948*^9, 1484 | 3.7230838450245132`*^9}, {3.723083907917195*^9, 3.723083911883011*^9}, { 1485 | 3.7230839478408546`*^9, 3.7230840219329348`*^9}, {3.7230840773057947`*^9, 1486 | 3.7230840792206273`*^9}, {3.7230841219356203`*^9, 1487 | 3.7230842450828433`*^9}, {3.7230842959621735`*^9, 3.723084418713131*^9}, { 1488 | 3.7230844880188036`*^9, 3.723084500240739*^9}, {3.72308453141805*^9, 1489 | 3.7230846484338317`*^9}, {3.723084696845997*^9, 3.723084707677165*^9}, { 1490 | 3.723085211178876*^9, 3.723085256481224*^9}, 3.723085972153845*^9, { 1491 | 3.723086949944762*^9, 3.723086977679815*^9}, {3.7230888119577203`*^9, 1492 | 3.723088848741432*^9}, {3.723088900249301*^9, 3.7230889181151342`*^9}, { 1493 | 3.723095618660881*^9, 3.7230956528403234`*^9}, {3.723095735731962*^9, 1494 | 3.7230957410287447`*^9}, {3.7231009417161016`*^9, 3.723100945881716*^9}, { 1495 | 3.723101213868292*^9, 3.7231012179354677`*^9}, {3.7231066109584403`*^9, 1496 | 3.7231066292365236`*^9}, {3.723106659442809*^9, 3.7231067434190817`*^9}, { 1497 | 3.723106953527422*^9, 3.7231070374383554`*^9}, {3.7231072175413656`*^9, 1498 | 3.7231072184598007`*^9}, {3.723107465435873*^9, 3.7231074777423706`*^9}, { 1499 | 3.723107552502021*^9, 3.723107553828411*^9}, {3.7231076218357086`*^9, 1500 | 3.7231076229477186`*^9}, {3.723108185023659*^9, 3.72310819019176*^9}, { 1501 | 3.7231096412351418`*^9, 3.7231096568065977`*^9}, {3.723109700601179*^9, 1502 | 3.7231098070921597`*^9}, {3.723109947136522*^9, 3.723109972989932*^9}, { 1503 | 3.723110907899135*^9, 3.7231109177930164`*^9}, {3.7231110898566236`*^9, 1504 | 3.7231111191213684`*^9}, {3.7231111625453663`*^9, 3.7231111708622293`*^9}, 1505 | 3.7231114719121103`*^9, {3.7231115655785556`*^9, 3.7231115746971765`*^9}, { 1506 | 3.7231117103883944`*^9, 3.723111727685994*^9}, {3.7231173946194987`*^9, 1507 | 3.7231174125470915`*^9}, {3.7231174495911384`*^9, 1508 | 3.7231174756093917`*^9}, {3.723117582645954*^9, 3.7231175929423275`*^9}, 1509 | 3.7231176623893366`*^9, {3.723117784702382*^9, 3.7231178670779924`*^9}, { 1510 | 3.723117904372094*^9, 3.72311797117805*^9}, {3.7231181454195757`*^9, 1511 | 3.7231182953881435`*^9}, {3.7231183289975495`*^9, 1512 | 3.7231183619282885`*^9}, {3.7231184065069838`*^9, 3.7231184097274675`*^9}, 1513 | 3.723118701301812*^9, {3.723120456209153*^9, 3.7231204761899295`*^9}, { 1514 | 3.7231205120517282`*^9, 3.723120561857935*^9}, {3.7231206556309166`*^9, 1515 | 3.723120655782019*^9}, {3.7231207516764727`*^9, 3.723120805737217*^9}, { 1516 | 3.7231208409800215`*^9, 3.723120847987869*^9}, {3.7231208833451185`*^9, 1517 | 3.723120900897786*^9}, {3.723120940355229*^9, 3.7231209496003933`*^9}, { 1518 | 3.7231209972992306`*^9, 3.7231210032502003`*^9}, {3.72312103587704*^9, 1519 | 3.7231210508570366`*^9}, {3.723121280177998*^9, 3.7231213210067883`*^9}, { 1520 | 3.723121353902413*^9, 3.7231214154942226`*^9}, {3.7231214877770786`*^9, 1521 | 3.723121498646026*^9}, {3.7231216111744785`*^9, 3.7231216252012486`*^9}, { 1522 | 3.7231216637289495`*^9, 3.723121674652458*^9}, {3.7231217237176*^9, 1523 | 3.723121772460431*^9}, {3.7231218607254496`*^9, 3.7231218732192783`*^9}, { 1524 | 3.723121924309888*^9, 3.7231219493306246`*^9}, {3.7231219854184337`*^9, 1525 | 3.7231219934194503`*^9}, {3.7231222339949303`*^9, 1526 | 3.7231222696140165`*^9}, {3.7231223574506855`*^9, 3.7231224070680833`*^9}, 1527 | 3.723122491062644*^9, {3.723122549197076*^9, 3.7231225871635494`*^9}, { 1528 | 3.723122635988077*^9, 3.723122651900063*^9}, {3.7231227177357035`*^9, 1529 | 3.7231227881793385`*^9}, {3.7231231615226555`*^9, 1530 | 3.7231231884165735`*^9}, {3.723123443218363*^9, 3.723123528528595*^9}, { 1531 | 3.723162136226699*^9, 3.723162138543953*^9}, {3.7231830747670126`*^9, 1532 | 3.723183094178363*^9}, {3.7231832121119003`*^9, 3.7231832480299125`*^9}, { 1533 | 3.723183287901558*^9, 3.723183346125519*^9}, {3.723183393594632*^9, 1534 | 3.723183488995343*^9}, {3.7231835999185886`*^9, 3.723183603193761*^9}, 1535 | 3.723183647335129*^9, {3.7231837894974737`*^9, 3.7231837911684837`*^9}, { 1536 | 3.7231838921236744`*^9, 3.7231839170505133`*^9}, {3.7231841089877267`*^9, 1537 | 3.7231841526970873`*^9}, 3.7231843578461747`*^9, 3.7231843937536554`*^9, { 1538 | 3.723184438057389*^9, 3.7231844557672696`*^9}, {3.7231846860721216`*^9, 1539 | 3.723184732270178*^9}, {3.7231847766498117`*^9, 3.7231847831006317`*^9}, { 1540 | 3.7231861421285496`*^9, 3.723186147756172*^9}, {3.723194222842325*^9, 1541 | 3.723194239782261*^9}, {3.7231952022703843`*^9, 3.723195241814394*^9}, { 1542 | 3.7231952742959194`*^9, 3.7231953193618517`*^9}, {3.7231953549981575`*^9, 1543 | 3.723195357583583*^9}, {3.7231954057901487`*^9, 3.723195408327737*^9}, { 1544 | 3.7231972124235125`*^9, 3.72319721525478*^9}, {3.7231993468243246`*^9, 1545 | 3.7231993511373124`*^9}, {3.7231994417185707`*^9, 3.723199442282692*^9}, { 1546 | 3.723199510178748*^9, 3.723199513425598*^9}, {3.723204881365114*^9, 1547 | 3.7232048888860893`*^9}, {3.723208013898299*^9, 3.7232080471646137`*^9}, { 1548 | 3.7232082177192144`*^9, 3.723208282932822*^9}, {3.72320854334453*^9, 1549 | 3.7232085476282806`*^9}, {3.7232883733917418`*^9, 3.7232884179309697`*^9}, 1550 | 3.7232968345701036`*^9, {3.7236432654406753`*^9, 3.723643291309925*^9}, { 1551 | 3.7236441718727765`*^9, 3.7236441987630444`*^9}, {3.7236442311250544`*^9, 1552 | 3.723644297874755*^9}, {3.7236445238353167`*^9, 3.7236445396441813`*^9}, { 1553 | 3.7236450054150047`*^9, 3.7236450191422167`*^9}, {3.723679247898012*^9, 1554 | 3.7236792950194473`*^9}, {3.723679356967654*^9, 3.723679382577935*^9}, { 1555 | 3.723679419791394*^9, 3.7236794655398703`*^9}, {3.7236823057280035`*^9, 1556 | 3.723682309381567*^9}, {3.72370550072698*^9, 3.7237055309700155`*^9}, { 1557 | 3.7237055711665144`*^9, 3.7237056141166925`*^9}, {3.7237056680613236`*^9, 1558 | 3.7237056763510637`*^9}, {3.723705710582991*^9, 3.7237057238767014`*^9}, { 1559 | 3.72371437192216*^9, 3.723714428611885*^9}, {3.7237144668595552`*^9, 1560 | 3.72371449521168*^9}, {3.7237149363677654`*^9, 3.723714941569612*^9}, { 1561 | 3.7237229850457764`*^9, 3.723723014944693*^9}, {3.7237304499478426`*^9, 1562 | 3.7237304658322306`*^9}, {3.7237305048638196`*^9, 3.7237305584502296`*^9}, 1563 | 3.723731048231846*^9, {3.723732002111477*^9, 3.7237320123639736`*^9}, { 1564 | 3.7237320458065*^9, 3.723732060758709*^9}, {3.723732097621933*^9, 1565 | 3.7237321546592546`*^9}, {3.7237322007963552`*^9, 3.723732248593809*^9}, { 1566 | 3.7237998428158884`*^9, 3.7237998973315763`*^9}, {3.7237999311755857`*^9, 1567 | 3.7237999591077876`*^9}, {3.72380088096955*^9, 3.72380088885668*^9}, { 1568 | 3.7238009205724506`*^9, 3.723800929154618*^9}, {3.723800962848623*^9, 1569 | 3.723800971389198*^9}, {3.7238010236110888`*^9, 3.7238010438898144`*^9}, { 1570 | 3.723801455768111*^9, 3.7238014810026727`*^9}, {3.723801625625972*^9, 1571 | 3.723801652497365*^9}, {3.7238016930931883`*^9, 3.723801738117773*^9}, { 1572 | 3.7238018163024235`*^9, 3.723801856322454*^9}, {3.7238024097309647`*^9, 1573 | 3.723802410119157*^9}, {3.723803073588278*^9, 3.7238030746840825`*^9}, { 1574 | 3.7238041396188087`*^9, 3.7238041578207283`*^9}, {3.7238132000118246`*^9, 1575 | 3.723813227182681*^9}, {3.7238132665203485`*^9, 3.723813287312936*^9}, { 1576 | 3.7238133224494543`*^9, 3.7238133579904947`*^9}, {3.7238135390539827`*^9, 1577 | 3.7238135971455355`*^9}, {3.723813750187311*^9, 3.723813802218181*^9}, { 1578 | 3.7238146923422575`*^9, 3.7238147022358236`*^9}, {3.723816680261692*^9, 1579 | 3.723816740061468*^9}, {3.7239035432081866`*^9, 3.723903544751831*^9}, { 1580 | 3.7239355747365265`*^9, 3.7239356097246265`*^9}, {3.724330602746825*^9, 1581 | 3.724330638758573*^9}, {3.724386959094385*^9, 3.7243869601938095`*^9}, { 1582 | 3.724386998489947*^9, 3.7243869993898687`*^9}, {3.7243871350663004`*^9, 1583 | 3.724387147480239*^9}, {3.7243873135184097`*^9, 3.7243873273652754`*^9}, { 1584 | 3.7243902051073728`*^9, 3.7243902066049223`*^9}, {3.724392965887139*^9, 1585 | 3.7243929679751077`*^9}, {3.7243930643190107`*^9, 3.72439308446679*^9}, { 1586 | 3.72439314278543*^9, 3.724393150684553*^9}, {3.724393291308772*^9, 1587 | 3.724393294854499*^9}, {3.7243935499055324`*^9, 3.7243936180053797`*^9}, { 1588 | 3.7243936515982733`*^9, 3.7243936664700766`*^9}, {3.7243937575534363`*^9, 1589 | 3.7243938353078313`*^9}, {3.7243939114082384`*^9, 1590 | 3.7243939252009516`*^9}, {3.7243939947970147`*^9, 1591 | 3.7243940078413997`*^9}, {3.724394051924571*^9, 3.72439405597305*^9}, { 1592 | 3.724395323751258*^9, 3.724395333503746*^9}, {3.7243953848623605`*^9, 1593 | 3.724395395332939*^9}, {3.724395593746132*^9, 3.724395595366642*^9}, { 1594 | 3.724396013238901*^9, 3.724396040913535*^9}, {3.7243961423873696`*^9, 1595 | 3.724396161504382*^9}, {3.724396434901596*^9, 3.724396435823114*^9}, { 1596 | 3.724398228084388*^9, 3.7243982775008783`*^9}, {3.724400277377882*^9, 1597 | 3.7244003047194138`*^9}, {3.7244004809274945`*^9, 3.7244004811641874`*^9}, 1598 | 3.724407348238538*^9, {3.724407812781271*^9, 3.724407813700884*^9}, { 1599 | 3.724408551421663*^9, 3.724408576221241*^9}, {3.7244086189357643`*^9, 1600 | 3.7244086592928104`*^9}, {3.724408727947848*^9, 3.7244087848261547`*^9}, { 1601 | 3.724410170102894*^9, 3.7244104796307683`*^9}, {3.7244105970347157`*^9, 1602 | 3.7244106183919754`*^9}, {3.724410869033306*^9, 3.7244109357948875`*^9}, { 1603 | 3.724411116918874*^9, 3.7244111747571354`*^9}, {3.724411286506131*^9, 1604 | 3.7244113862588453`*^9}, {3.7244115267159557`*^9, 3.724411617815117*^9}, { 1605 | 3.7244116531803713`*^9, 3.724411655260167*^9}, {3.7244121410421686`*^9, 1606 | 3.724412174033143*^9}, {3.7244122191317053`*^9, 3.7244123584353266`*^9}, { 1607 | 3.724412545905746*^9, 3.724412547239679*^9}, {3.724412597579815*^9, 1608 | 3.724412632682308*^9}, {3.724412732519772*^9, 3.7244127379095273`*^9}, { 1609 | 3.724412880636106*^9, 3.724413081358029*^9}, {3.7244134944204845`*^9, 1610 | 3.724413521187558*^9}, {3.7244136631188383`*^9, 3.724413695295909*^9}, 1611 | 3.7244142139359255`*^9, {3.724414268024184*^9, 3.724414339488695*^9}, { 1612 | 3.724414384905893*^9, 3.724414494592363*^9}, {3.724414555467348*^9, 1613 | 3.7244145592832117`*^9}, {3.7244146061760626`*^9, 3.7244146614366875`*^9}, 1614 | 3.7244148835872903`*^9, {3.7244149589177847`*^9, 3.724415015730114*^9}, { 1615 | 3.724415071525466*^9, 3.7244150824759917`*^9}, {3.7244151666625*^9, 1616 | 3.724415218594133*^9}, {3.72441531632751*^9, 3.724415388143346*^9}, { 1617 | 3.724415570640226*^9, 3.724415592793295*^9}, {3.724415672572035*^9, 1618 | 3.7244156924314327`*^9}, {3.7244157411988153`*^9, 3.724415744837434*^9}, 1619 | 3.724415909130686*^9, 3.724415942314985*^9, {3.724416021309173*^9, 1620 | 3.724416021764862*^9}, {3.72441630308945*^9, 3.7244163533374734`*^9}, { 1621 | 3.72441650905692*^9, 3.724416513165162*^9}, {3.724416659043543*^9, 1622 | 3.7244167120892496`*^9}, {3.7244167588968067`*^9, 3.724416810194721*^9}, { 1623 | 3.7244169564408693`*^9, 3.7244169611346145`*^9}, {3.7244170669846683`*^9, 1624 | 3.7244170818819714`*^9}, {3.7244171842381654`*^9, 3.724417186697131*^9}, { 1625 | 3.724417295762163*^9, 3.7244173119830427`*^9}, {3.7244179716596613`*^9, 1626 | 3.724418036177935*^9}, {3.7244180671007967`*^9, 3.724418099563588*^9}, { 1627 | 3.7244181302877307`*^9, 3.7244181517320027`*^9}, {3.7244182387757025`*^9, 1628 | 3.7244183012991886`*^9}, {3.7244189329655333`*^9, 3.724418962073263*^9}, { 1629 | 3.7244190375491343`*^9, 3.7244191219739428`*^9}, {3.7244197427113676`*^9, 1630 | 3.724419780889514*^9}, {3.72442002845135*^9, 3.724420039886322*^9}, { 1631 | 3.7244200829860764`*^9, 3.7244201520556993`*^9}, {3.7244203354689417`*^9, 1632 | 3.7244203865708838`*^9}, {3.7244204218991833`*^9, 1633 | 3.7244204306988416`*^9}, {3.724424832383808*^9, 3.7244248341082516`*^9}, 1634 | 3.7244249594135075`*^9, {3.7244251772090197`*^9, 3.7244252124172983`*^9}, { 1635 | 3.724425414702413*^9, 3.7244254760782337`*^9}, {3.724425667859823*^9, 1636 | 3.7244256797379723`*^9}, {3.724425717252635*^9, 3.7244257305751677`*^9}, { 1637 | 3.724426011212761*^9, 3.724426056680634*^9}, {3.724426087223137*^9, 1638 | 3.724426122994522*^9}, {3.7244262920292554`*^9, 3.724426370447934*^9}, { 1639 | 3.724426401005233*^9, 3.7244264282455378`*^9}, 3.7244267197795734`*^9, { 1640 | 3.724426767605933*^9, 3.7244268103964815`*^9}, {3.7248148172757497`*^9, 1641 | 3.724814857175555*^9}, {3.7248152284834623`*^9, 3.7248152939908514`*^9}, { 1642 | 3.724815682689062*^9, 3.7248156938626328`*^9}, {3.724815782156148*^9, 1643 | 3.7248158006699147`*^9}, {3.72481586101863*^9, 3.724815884915789*^9}, 1644 | 3.7248162795781345`*^9, {3.724817508272931*^9, 3.7248175274185047`*^9}, { 1645 | 3.7248178893128424`*^9, 3.724817933119059*^9}, {3.724818548348549*^9, 1646 | 3.7248185517738013`*^9}, {3.724822157099414*^9, 3.724822168475897*^9}, { 1647 | 3.724822469309017*^9, 3.724822554773221*^9}, {3.7248227090756025`*^9, 1648 | 3.7248227147485094`*^9}, {3.724822771810259*^9, 3.7248227761279535`*^9}, { 1649 | 3.7248229454066353`*^9, 3.724822952705495*^9}, {3.7248230596687403`*^9, 1650 | 3.7248231483874846`*^9}, {3.724823252737632*^9, 3.7248232754458003`*^9}, { 1651 | 3.7248233153012514`*^9, 3.724823371408986*^9}, {3.724823472501607*^9, 1652 | 3.724823487040146*^9}, 3.724823517240064*^9, {3.7248235590267754`*^9, 1653 | 3.724823567680589*^9}, {3.7248236075392327`*^9, 3.724823641356738*^9}, { 1654 | 3.724826232595197*^9, 3.7248262868565645`*^9}, {3.7248263500879436`*^9, 1655 | 3.7248264333363066`*^9}, 3.7248264716124706`*^9, {3.724826511096657*^9, 1656 | 3.7248265298773136`*^9}, {3.72482656767367*^9, 3.724826625360574*^9}, { 1657 | 3.724826658985073*^9, 3.724826778973009*^9}, {3.724826838148221*^9, 1658 | 3.7248268409813523`*^9}, {3.724826882522078*^9, 3.7248268976761885`*^9}, { 1659 | 3.724826935631112*^9, 3.724826944063883*^9}, {3.724827021227976*^9, 1660 | 3.7248270520922413`*^9}, {3.724827160421923*^9, 3.724827271631653*^9}, { 1661 | 3.7248273870215187`*^9, 3.7248275385254536`*^9}, {3.7248276614409933`*^9, 1662 | 3.724827683973641*^9}, {3.724827721526676*^9, 3.724827853444981*^9}, { 1663 | 3.72482806428981*^9, 3.724828066584439*^9}, {3.7248282346520357`*^9, 1664 | 3.7248282802329535`*^9}, {3.724828311963687*^9, 3.724828334590521*^9}, { 1665 | 3.724828379344966*^9, 3.724828399193578*^9}, {3.724828510267771*^9, 1666 | 3.724828517675744*^9}, {3.724828583555169*^9, 3.72482859263197*^9}, { 1667 | 3.72482876546837*^9, 3.724828791413601*^9}, {3.724829040611724*^9, 1668 | 3.724829067370969*^9}, {3.724829123460127*^9, 3.724829161410615*^9}, { 1669 | 3.7248292977235117`*^9, 3.7248293798854246`*^9}, {3.724829706528232*^9, 1670 | 3.724829709108847*^9}, {3.7248307012861276`*^9, 3.724830719068097*^9}, 1671 | 3.7248307742065578`*^9, {3.724830950623912*^9, 3.7248309510452747`*^9}, { 1672 | 3.7248309912201347`*^9, 3.724830993534108*^9}, {3.7248310436640596`*^9, 1673 | 3.724831044498907*^9}, {3.7248312814189205`*^9, 3.724831296034009*^9}, { 1674 | 3.7248313468487625`*^9, 3.7248313474415245`*^9}, {3.7248316257576694`*^9, 1675 | 3.724831720792322*^9}, {3.7248317932967725`*^9, 3.7248317934566584`*^9}, { 1676 | 3.7248319396430087`*^9, 3.7248319775498533`*^9}, {3.7248320233564568`*^9, 1677 | 3.724832033609818*^9}, {3.724833035992535*^9, 3.72483303668711*^9}, 1678 | 3.724833104744795*^9, 3.7248341926284943`*^9, {3.724834257468781*^9, 1679 | 3.7248342849112654`*^9}, {3.7248343393240223`*^9, 3.724834350410187*^9}, { 1680 | 3.724834380730034*^9, 3.7248343829107046`*^9}, {3.724834417732128*^9, 1681 | 3.7248344518257165`*^9}, {3.7248345574244547`*^9, 1682 | 3.7248345842065964`*^9}, {3.724834657748046*^9, 3.724834682908986*^9}, { 1683 | 3.7248349153430867`*^9, 3.724834933506419*^9}, {3.724835043281867*^9, 1684 | 3.724835059324215*^9}, 3.724836240488076*^9, {3.724836505867355*^9, 1685 | 3.724836507633393*^9}, {3.7248365601338015`*^9, 3.724836615060935*^9}, { 1686 | 3.7248366619803677`*^9, 3.724836668452629*^9}, {3.724837179181432*^9, 1687 | 3.7248371817504277`*^9}, {3.724837242616577*^9, 3.7248373158917975`*^9}, { 1688 | 3.7248373931384697`*^9, 3.7248374822053175`*^9}, {3.724837523368786*^9, 1689 | 3.724837612767683*^9}, {3.72483768649825*^9, 3.72483774988369*^9}, { 1690 | 3.7248378032727313`*^9, 3.7248378495668793`*^9}, {3.7248378856239557`*^9, 1691 | 3.724837907271408*^9}, 3.724837948069591*^9, {3.7248381178845124`*^9, 1692 | 3.724838156584103*^9}, {3.724838216461811*^9, 3.724838230421441*^9}, { 1693 | 3.7248382698916235`*^9, 3.7248382783438025`*^9}, {3.7248383827853904`*^9, 1694 | 3.724838501797123*^9}, {3.7248385453899007`*^9, 3.724838546159912*^9}, { 1695 | 3.724838787750039*^9, 3.7248388150123563`*^9}, {3.724839150901891*^9, 1696 | 3.724839152881134*^9}, {3.724839207001092*^9, 3.7248392116810484`*^9}, { 1697 | 3.72483936078498*^9, 3.7248393624656177`*^9}, {3.7248396192525434`*^9, 1698 | 3.724839656592377*^9}, {3.7248396886057405`*^9, 3.72483976227737*^9}, { 1699 | 3.724839814349491*^9, 3.724839857015436*^9}, 3.724840008624976*^9, { 1700 | 3.7248410295083036`*^9, 3.724841035075306*^9}, {3.724841172634652*^9, 1701 | 3.7248411731999454`*^9}, {3.724841460981145*^9, 3.7248416455803475`*^9}, { 1702 | 3.7248417198818035`*^9, 3.7248417225864305`*^9}, {3.724841863200629*^9, 1703 | 3.72484195416714*^9}, {3.724842318324855*^9, 3.7248425007866907`*^9}, { 1704 | 3.7248425745969477`*^9, 3.7248425835116816`*^9}, {3.7248428465288305`*^9, 1705 | 3.724842855331036*^9}, {3.724842966057665*^9, 3.724842996198985*^9}, { 1706 | 3.7248430787458363`*^9, 3.7248432179724483`*^9}, {3.7248432836341543`*^9, 1707 | 3.7248432845568933`*^9}, {3.724843341796566*^9, 3.7248433514989758`*^9}, { 1708 | 3.724843391655588*^9, 3.7248433923340883`*^9}, {3.724843442760439*^9, 1709 | 3.724843449255664*^9}, {3.724843619828473*^9, 3.724843646328806*^9}, { 1710 | 3.724843716570259*^9, 3.724843757963381*^9}, {3.7248438174013863`*^9, 1711 | 3.7248438423449125`*^9}, {3.7248440995837584`*^9, 1712 | 3.7248442222239666`*^9}, {3.724844257864797*^9, 3.7248442661417603`*^9}, 1713 | 3.724844299743878*^9, {3.7248443770222645`*^9, 3.7248443861445246`*^9}, 1714 | 3.724844430232128*^9, {3.7248445945141487`*^9, 3.724844598975066*^9}, { 1715 | 3.724844647967098*^9, 3.7248446512716255`*^9}, {3.724844931126217*^9, 1716 | 3.7248449321704254`*^9}, {3.724845099762792*^9, 3.7248451024254217`*^9}, { 1717 | 3.7248452165832205`*^9, 3.7248452217996693`*^9}, {3.7248452773512955`*^9, 1718 | 3.724845281266898*^9}, {3.7248453178399763`*^9, 3.7248453229742303`*^9}, { 1719 | 3.7248453837324586`*^9, 3.7248453877663393`*^9}, {3.7248454240857587`*^9, 1720 | 3.724845428447809*^9}, 3.724845554821679*^9, {3.7248460253669186`*^9, 1721 | 3.724846027801169*^9}, {3.724846365442704*^9, 3.7248463785712996`*^9}, { 1722 | 3.7248498006393223`*^9, 3.724849812521365*^9}, {3.72484985160106*^9, 1723 | 3.724849919324971*^9}, {3.7248499962706337`*^9, 3.7248499982096825`*^9}, { 1724 | 3.7248502254420776`*^9, 3.7248502822645226`*^9}, {3.7248503575413575`*^9, 1725 | 3.724850368258681*^9}, {3.724850485260907*^9, 3.7248505719061794`*^9}, { 1726 | 3.724851936279566*^9, 3.724851938807847*^9}, {3.724852125480582*^9, 1727 | 3.724852164255435*^9}, {3.724852205439163*^9, 3.7248522371664534`*^9}, { 1728 | 3.7248522711863174`*^9, 3.724852285336297*^9}, {3.7248523738217993`*^9, 1729 | 3.724852428169168*^9}, {3.7248525073671055`*^9, 3.7248525220716906`*^9}, { 1730 | 3.7248527193652916`*^9, 3.724852721298518*^9}, {3.7248529657705474`*^9, 1731 | 3.724852985603197*^9}, {3.7248530475510225`*^9, 3.7248530831717305`*^9}, 1732 | 3.7248532735588093`*^9, {3.7248533446544123`*^9, 3.724853347645681*^9}, { 1733 | 3.7248534501063986`*^9, 3.7248534648415737`*^9}, {3.7249818281254063`*^9, 1734 | 3.724981839344726*^9}, {3.7249996191355963`*^9, 3.724999619944503*^9}, { 1735 | 3.724999941202754*^9, 3.7249999517866926`*^9}, {3.725000103834857*^9, 1736 | 3.725000110156853*^9}, {3.725000443846222*^9, 3.7250004490881257`*^9}, { 1737 | 3.725008743245292*^9, 3.7250087911196785`*^9}, {3.725008842825775*^9, 1738 | 3.7250088949902964`*^9}, {3.7250090427397003`*^9, 3.725009043819229*^9}, { 1739 | 3.7250091541096306`*^9, 3.725009154704059*^9}, {3.725009275899242*^9, 1740 | 3.7250092900690775`*^9}, {3.7250093643588247`*^9, 3.725009364958291*^9}, 1741 | 3.7250094769232264`*^9, {3.7250095153101254`*^9, 3.7250095159208326`*^9}, { 1742 | 3.725009619001914*^9, 3.725009657806987*^9}, {3.7250098136712933`*^9, 1743 | 3.725009817333999*^9}, {3.725009892599168*^9, 3.7250098989828587`*^9}, { 1744 | 3.725009937505026*^9, 3.725009985266059*^9}, {3.7250100719142065`*^9, 1745 | 3.725010079246436*^9}, {3.725010905092472*^9, 3.725011002904298*^9}, { 1746 | 3.725011850022481*^9, 3.7250118616406183`*^9}, {3.7250120401188307`*^9, 1747 | 3.7250120926846514`*^9}, {3.72501236749874*^9, 3.7250124203753386`*^9}, { 1748 | 3.725012521015338*^9, 3.7250125283740864`*^9}, {3.7250126154214773`*^9, 1749 | 3.725012623708826*^9}, {3.7250126798676095`*^9, 3.7250126878396287`*^9}, { 1750 | 3.725012735002123*^9, 3.725012773428398*^9}, {3.7250130811619205`*^9, 1751 | 3.725013093886592*^9}, {3.725013155742753*^9, 3.7250131558102865`*^9}, 1752 | 3.725013231183728*^9, {3.7250133138160124`*^9, 3.7250133327660446`*^9}, 1753 | 3.725013367838341*^9, {3.72501355322398*^9, 3.725013553281459*^9}, 1754 | 3.7250142391755214`*^9, 3.725014882336966*^9, {3.7250154543910947`*^9, 1755 | 3.7250155430571294`*^9}, {3.7250155922710953`*^9, 1756 | 3.7250157020281863`*^9}, {3.7250158687822733`*^9, 1757 | 3.7250158977303476`*^9}, {3.7250159619210777`*^9, 1758 | 3.7250159692324424`*^9}, {3.7250160209069347`*^9, 3.725016021937301*^9}, { 1759 | 3.7250162568263645`*^9, 3.7250162575085993`*^9}, {3.7250166968513975`*^9, 1760 | 3.7250167065759687`*^9}, {3.725016800518524*^9, 3.725016802821666*^9}, { 1761 | 3.725016910495217*^9, 3.7250169184579973`*^9}, {3.7250183819185996`*^9, 1762 | 3.7250184458227654`*^9}, {3.7250189622528877`*^9, 1763 | 3.7250189808707876`*^9}, {3.7250190137489915`*^9, 3.725019141141353*^9}, { 1764 | 3.725019180475399*^9, 3.725019184465481*^9}, {3.725019428880678*^9, 1765 | 3.725019477650469*^9}, {3.7250196202775507`*^9, 3.7250196352828693`*^9}, { 1766 | 3.7250208914107523`*^9, 3.725020903943005*^9}, {3.7250209762481484`*^9, 1767 | 3.7250209796558714`*^9}, {3.7250210380896487`*^9, 1768 | 3.7250210386248283`*^9}, {3.725021087497916*^9, 3.7250210957354956`*^9}, { 1769 | 3.7250211763302937`*^9, 3.72502118067747*^9}, {3.7250212256385746`*^9, 1770 | 3.7250212365382404`*^9}, {3.7250212935442047`*^9, 1771 | 3.7250212936108823`*^9}, {3.7250213239472833`*^9, 1772 | 3.7250213253855343`*^9}, {3.7250213718772235`*^9, 1773 | 3.7250213720747747`*^9}, {3.725021469912547*^9, 3.725021470044106*^9}, { 1774 | 3.7250215592838335`*^9, 3.725021559353583*^9}, {3.725021660861559*^9, 1775 | 3.7250216611746626`*^9}, {3.725021734404185*^9, 3.7250217538288493`*^9}, { 1776 | 3.725021808370265*^9, 3.725021884812266*^9}, {3.725021990791054*^9, 1777 | 3.725021993294751*^9}, {3.7250221225750303`*^9, 3.725022124108918*^9}, 1778 | 3.725022609594945*^9, {3.7250233001176558`*^9, 3.7250233520684977`*^9}, { 1779 | 3.7250233877173414`*^9, 3.7250234758728976`*^9}, 3.725023507839692*^9, { 1780 | 3.725023821898291*^9, 3.725023975257104*^9}, {3.7250241104703655`*^9, 1781 | 3.7250242149671235`*^9}, {3.725024284464205*^9, 3.725024301945693*^9}, { 1782 | 3.7250243537840595`*^9, 3.725024356384626*^9}, {3.7250244069730587`*^9, 1783 | 3.7250244393364887`*^9}, {3.725024501028652*^9, 3.7250245069981976`*^9}, 1784 | 3.7250245836936016`*^9, {3.725024643649151*^9, 3.725024644219898*^9}, 1785 | 3.725024708794695*^9, 3.72502474586757*^9, {3.725024814804257*^9, 1786 | 3.72502485152422*^9}, {3.7250250234548597`*^9, 3.7250250237340155`*^9}, { 1787 | 3.7250252406640453`*^9, 3.7250252564190984`*^9}, {3.7250252911845627`*^9, 1788 | 3.725025300306407*^9}, 3.725147755774074*^9, {3.7251479146703186`*^9, 1789 | 3.7251479156234913`*^9}, {3.7251482261911955`*^9, 1790 | 3.7251482596082516`*^9}, {3.7251483006139*^9, 3.725148333292244*^9}, { 1791 | 3.7251484062508173`*^9, 3.725148543414199*^9}, 3.725148575978883*^9, { 1792 | 3.725148615751258*^9, 3.7251486323102455`*^9}, {3.725148664309704*^9, 1793 | 3.725148718768754*^9}, {3.725148851378176*^9, 3.7251489231538553`*^9}, { 1794 | 3.7251491281392965`*^9, 3.7251492345417385`*^9}, {3.7251492832786636`*^9, 1795 | 3.7251493087162933`*^9}, {3.725149345190257*^9, 3.7251494401099324`*^9}, { 1796 | 3.725149471283369*^9, 3.7251495512888007`*^9}, {3.7251496539907084`*^9, 1797 | 3.7251496766805243`*^9}, {3.725149779493591*^9, 3.7251497986805334`*^9}, { 1798 | 3.7251498647249146`*^9, 3.725149985124792*^9}, {3.725150102939435*^9, 1799 | 3.7251501597467966`*^9}, {3.7251501956726155`*^9, 1800 | 3.7251502575875573`*^9}, {3.725150298736391*^9, 3.7251503189653573`*^9}, { 1801 | 3.7251503586902018`*^9, 3.7251504479024467`*^9}, {3.7251504943140116`*^9, 1802 | 3.7251505802280235`*^9}, {3.725150693249081*^9, 3.7251506961987906`*^9}, { 1803 | 3.7251507746442432`*^9, 3.725150864495121*^9}, {3.7251510036731415`*^9, 1804 | 3.725151031665696*^9}, {3.725151066245394*^9, 3.725151082663009*^9}, { 1805 | 3.7251511191728888`*^9, 3.725151119281201*^9}, {3.7251512065856857`*^9, 1806 | 3.725151216953677*^9}, {3.7251513111054506`*^9, 3.7251513554463816`*^9}, { 1807 | 3.7251514380761633`*^9, 3.725151457848567*^9}, {3.7251515447608385`*^9, 1808 | 3.725151568964795*^9}, {3.7251516856416473`*^9, 3.7251517732162046`*^9}, 1809 | 3.725151897814537*^9, {3.725151945618103*^9, 3.7251519665659323`*^9}, { 1810 | 3.7251520048671203`*^9, 3.7251521076932993`*^9}, {3.7251521419887257`*^9, 1811 | 3.7251521724967804`*^9}, {3.7251522881279383`*^9, 3.725152296962356*^9}, 1812 | 3.7251524091868415`*^9, {3.7251525323258924`*^9, 3.725152568864908*^9}, { 1813 | 3.725152711808449*^9, 3.7251527148559856`*^9}, {3.7251528577553053`*^9, 1814 | 3.725152890200799*^9}, {3.725152974966297*^9, 3.7251529785295243`*^9}, { 1815 | 3.725153371894493*^9, 3.725153396307948*^9}, {3.7251534282839403`*^9, 1816 | 3.7251534342984123`*^9}, {3.7251534991973543`*^9, 1817 | 3.7251535424997473`*^9}, {3.7251536344602933`*^9, 3.725153646998999*^9}, { 1818 | 3.72515368660299*^9, 3.725153703340726*^9}, {3.7251537586622906`*^9, 1819 | 3.725153770425338*^9}, {3.7251540257917767`*^9, 3.725154028342719*^9}, { 1820 | 3.7251540660501175`*^9, 3.7251541651782713`*^9}, {3.7251542086787558`*^9, 1821 | 3.725154217015215*^9}, {3.725154565802804*^9, 3.7251545669925585`*^9}, { 1822 | 3.7251548402505255`*^9, 3.7251549240596657`*^9}, {3.7251549655256743`*^9, 1823 | 3.7251550023741446`*^9}, 3.7251551005884657`*^9, {3.725155275217416*^9, 1824 | 3.725155299041504*^9}, {3.7251596130905495`*^9, 3.7251596176284375`*^9}, { 1825 | 3.7251604277660284`*^9, 3.7251604491684647`*^9}, {3.7251605439907837`*^9, 1826 | 3.7251605460479856`*^9}, {3.7251605892063103`*^9, 1827 | 3.7251606072801414`*^9}, {3.725160914357851*^9, 3.7251609148366847`*^9}, { 1828 | 3.725160955907344*^9, 3.7251609579618545`*^9}, {3.725161014620646*^9, 1829 | 3.725161048948085*^9}, {3.7251610950474977`*^9, 3.7251611098336277`*^9}, { 1830 | 3.725166899106023*^9, 3.7251668997460537`*^9}, {3.7251680751185064`*^9, 1831 | 3.72516808752264*^9}, {3.725168149481316*^9, 3.7251681588007283`*^9}, 1832 | 3.725168792064418*^9, {3.7251688719865756`*^9, 3.72516887444318*^9}, { 1833 | 3.7251690065369034`*^9, 3.7251690071156178`*^9}, 3.725169442295436*^9, { 1834 | 3.725170178879247*^9, 3.7251702527714944`*^9}, {3.7251703465377493`*^9, 1835 | 3.725170366738842*^9}, {3.725170421586293*^9, 3.7251704236151495`*^9}, { 1836 | 3.725170560687643*^9, 3.7251705608629637`*^9}, {3.7251709285878115`*^9, 1837 | 3.725170991089941*^9}, {3.725171282173652*^9, 3.7251713004359884`*^9}, { 1838 | 3.7251731481096525`*^9, 3.725173149626129*^9}, {3.7251738033089275`*^9, 1839 | 3.7251738380070744`*^9}, {3.7251740127928643`*^9, 1840 | 3.7251741781061096`*^9}, {3.725175036907137*^9, 3.7251750410964603`*^9}, { 1841 | 3.7251750801911182`*^9, 3.72517511702162*^9}, {3.725175148336244*^9, 1842 | 3.725175153292512*^9}, 3.7251752570390797`*^9, {3.725175734766385*^9, 1843 | 3.725175736803954*^9}, {3.72517716015242*^9, 3.7251771895236855`*^9}, { 1844 | 3.7251773880221434`*^9, 3.7251774983633356`*^9}, {3.7251778088112016`*^9, 1845 | 3.7251778556096516`*^9}, {3.7252367058807116`*^9, 3.72523673362187*^9}, { 1846 | 3.725236767405432*^9, 3.7252367722287045`*^9}, {3.7252368532216306`*^9, 1847 | 3.725236941843663*^9}, {3.725237325608533*^9, 3.725237329041729*^9}, { 1848 | 3.725237428422779*^9, 3.7252374289280653`*^9}, {3.7252375987660103`*^9, 1849 | 3.7252376052437124`*^9}, {3.725237667019808*^9, 3.725237702871729*^9}, { 1850 | 3.7252378408799233`*^9, 3.72523784505449*^9}, {3.7252383520312743`*^9, 1851 | 3.725238405499899*^9}, {3.7252384779429555`*^9, 3.7252384934385247`*^9}, { 1852 | 3.725238547632989*^9, 3.7252385569791565`*^9}, {3.725238680581646*^9, 1853 | 3.7252386936477666`*^9}, {3.725238872196279*^9, 3.725238875399684*^9}, { 1854 | 3.7252390958684626`*^9, 3.7252391104591675`*^9}, {3.725239168259812*^9, 1855 | 3.7252392601391125`*^9}, {3.7252534116479673`*^9, 3.72525343613322*^9}, { 1856 | 3.72525357034935*^9, 3.725253582560219*^9}, {3.725253656676841*^9, 1857 | 3.725253733017318*^9}, {3.725253767127962*^9, 3.7252538110199966`*^9}, { 1858 | 3.7252541212227783`*^9, 3.7252541515953054`*^9}, {3.7252541898791337`*^9, 1859 | 3.725254238248459*^9}, {3.7252542723706384`*^9, 3.725254300064046*^9}, { 1860 | 3.725254402827224*^9, 3.7252544175571947`*^9}, 3.7252553864104433`*^9, { 1861 | 3.725255637289238*^9, 3.7252556448948336`*^9}, {3.7252556821664033`*^9, 1862 | 3.725255711934903*^9}, {3.7252557886396084`*^9, 3.7252557929749203`*^9}, { 1863 | 3.725256147475327*^9, 3.7252562286217003`*^9}, {3.725256295879319*^9, 1864 | 3.7252563060480723`*^9}, 3.725256728652268*^9, {3.725256820024933*^9, 1865 | 3.725256888849939*^9}, 3.7252569361706867`*^9, {3.7252578973447*^9, 1866 | 3.7252579218925047`*^9}, {3.725259545291109*^9, 3.725259579165249*^9}, { 1867 | 3.7252596221336627`*^9, 3.725259635303995*^9}, 3.725259848666414*^9, { 1868 | 3.7252601570168242`*^9, 3.7252601879307795`*^9}, {3.7252602373584857`*^9, 1869 | 3.7252603217870855`*^9}, {3.7252611430746465`*^9, 1870 | 3.7252611570090675`*^9}, {3.7252611886814804`*^9, 3.7252612055476484`*^9}, 1871 | 3.725261246783185*^9, {3.7252614982366333`*^9, 3.72526150247178*^9}, { 1872 | 3.725261542391138*^9, 3.725261550355365*^9}, {3.7252615811289616`*^9, 1873 | 3.7252615826805186`*^9}, {3.725262546225504*^9, 3.7252625465857086`*^9}, { 1874 | 3.7252626778372097`*^9, 3.725262720724312*^9}, {3.725262929633523*^9, 1875 | 3.725262972807617*^9}, {3.725263320087596*^9, 3.725263335896288*^9}, { 1876 | 3.7252637440854816`*^9, 3.7252637586363373`*^9}, {3.725264304863402*^9, 1877 | 3.725264331439905*^9}, {3.725264409286693*^9, 3.725264441242769*^9}, { 1878 | 3.7252646075731263`*^9, 3.7252646393648996`*^9}, {3.7252647007233667`*^9, 1879 | 3.725264704576729*^9}, {3.725264825289286*^9, 3.725264877299301*^9}, { 1880 | 3.7252649215249996`*^9, 3.725265060579892*^9}, {3.725265103766657*^9, 1881 | 3.7252651448554373`*^9}, {3.7252651895163245`*^9, 1882 | 3.7252653398896894`*^9}, {3.725265371087248*^9, 3.7252653714724135`*^9}, { 1883 | 3.725265758081453*^9, 3.725265798785551*^9}, {3.725265842317177*^9, 1884 | 3.7252659097153597`*^9}, {3.725266182151623*^9, 3.7252662351258535`*^9}, { 1885 | 3.7252662896493673`*^9, 3.72526629250785*^9}, {3.7252663684235096`*^9, 1886 | 3.725266480013759*^9}, 3.725266564402517*^9, {3.7252666406685247`*^9, 1887 | 3.7252666462261057`*^9}, {3.725266764026653*^9, 3.725266774543404*^9}, { 1888 | 3.7252668442309523`*^9, 3.725266903666108*^9}, {3.7252670103213263`*^9, 1889 | 3.725267092727088*^9}, {3.7252671400708227`*^9, 3.725267142144597*^9}, { 1890 | 3.7252672219477825`*^9, 3.725267236729838*^9}, {3.725267416964106*^9, 1891 | 3.725267423142557*^9}, 3.725267462444028*^9, {3.7252675584022927`*^9, 1892 | 3.7252675637632637`*^9}, {3.7252676686016126`*^9, 3.725267713979103*^9}, { 1893 | 3.7252677940463324`*^9, 3.7252677971448793`*^9}, {3.7252678460945826`*^9, 1894 | 3.725267906870812*^9}, {3.7252679628647723`*^9, 3.725267986817156*^9}, { 1895 | 3.72526820742839*^9, 3.725268208509143*^9}, {3.7252696151968575`*^9, 1896 | 3.7252697190408306`*^9}, {3.725269773856137*^9, 3.725269908476064*^9}, { 1897 | 3.7252699511850204`*^9, 3.725270011460035*^9}, {3.7252700888143206`*^9, 1898 | 3.725270110643068*^9}, {3.7252701472699056`*^9, 3.7252702512480288`*^9}, { 1899 | 3.725270311198742*^9, 3.725270384158969*^9}, {3.7252704777610235`*^9, 1900 | 3.725270513016413*^9}, {3.725270568119953*^9, 3.7252705930857573`*^9}, { 1901 | 3.725270701599357*^9, 3.7252707250602093`*^9}, 3.7252707603914495`*^9, { 1902 | 3.725270847295734*^9, 3.7252708821957474`*^9}, {3.725270920581234*^9, 1903 | 3.725270940944172*^9}, {3.725270976865394*^9, 3.7252709773365383`*^9}, { 1904 | 3.725274650584587*^9, 3.725274653123229*^9}, {3.725274718874948*^9, 1905 | 3.7252747633530836`*^9}, {3.72527493313847*^9, 3.7252749885713577`*^9}, { 1906 | 3.7252750521436143`*^9, 3.725275110767992*^9}, 3.7252759121563587`*^9, 1907 | 3.725286659556796*^9, 3.7252867036980066`*^9, {3.725286745660779*^9, 1908 | 3.7252867462793245`*^9}, {3.72528690034921*^9, 3.7252869027787247`*^9}, { 1909 | 3.725287116788766*^9, 3.725287120892107*^9}, 3.725287334531008*^9, { 1910 | 3.7252873996848755`*^9, 3.725287427007402*^9}, {3.725287473001399*^9, 1911 | 3.7252874731173253`*^9}, {3.725287516786173*^9, 3.7252875306829023`*^9}, 1912 | 3.7252878383202715`*^9, {3.725288056484423*^9, 3.725288056676903*^9}, { 1913 | 3.7252880958160944`*^9, 3.72528815597259*^9}, {3.725288218510396*^9, 1914 | 3.725288238279691*^9}, {3.725288288807421*^9, 3.725288361875865*^9}, { 1915 | 3.72528843052005*^9, 3.7252884683104477`*^9}, {3.7252885220003023`*^9, 1916 | 3.7252885241315603`*^9}, {3.72528860576449*^9, 3.72528862223448*^9}, 1917 | 3.7252887333301573`*^9, {3.7253296417030067`*^9, 3.7253296689498167`*^9}, { 1918 | 3.725329990665311*^9, 3.7253301291962166`*^9}, {3.7253308195671425`*^9, 1919 | 3.7253308559963217`*^9}, 3.7253310640003843`*^9, 3.7253344920856304`*^9, { 1920 | 3.725336385898401*^9, 3.7253364273130827`*^9}, {3.725336643235326*^9, 1921 | 3.7253367159765463`*^9}, {3.725336746803056*^9, 3.7253367714081373`*^9}, { 1922 | 3.7253368118374777`*^9, 3.725336909095003*^9}, {3.7253393779539156`*^9, 1923 | 3.7253393977000184`*^9}, {3.7253394531395392`*^9, 3.725339541563594*^9}, { 1924 | 3.72533958134284*^9, 3.7253396022713547`*^9}, {3.725339706699222*^9, 1925 | 3.725339714618642*^9}, {3.7253397683491287`*^9, 3.7253397756503134`*^9}, { 1926 | 3.725339820255539*^9, 3.7253398382458773`*^9}, 3.725340025858969*^9, { 1927 | 3.725340337216237*^9, 3.725340338117058*^9}, {3.7253403930712433`*^9, 1928 | 3.7253404087259064`*^9}, {3.7253404484489884`*^9, 1929 | 3.7253405352831345`*^9}, {3.7253406194627643`*^9, 1930 | 3.7253406275682898`*^9}, {3.725340720934165*^9, 3.7253407403797197`*^9}, { 1931 | 3.7253407925878315`*^9, 3.725340834648485*^9}, {3.7253412960383234`*^9, 1932 | 3.7253413005706525`*^9}, {3.725341590472787*^9, 3.725341601247475*^9}, 1933 | 3.725342606010562*^9, 3.725342984425684*^9, {3.725343062429984*^9, 1934 | 3.725343067865202*^9}, {3.725343191301464*^9, 3.725343250555779*^9}, 1935 | 3.725343285229333*^9, {3.7253434319016223`*^9, 3.725343462860496*^9}, { 1936 | 3.7253439490196857`*^9, 3.725344018908497*^9}, {3.7253440809565306`*^9, 1937 | 3.72534413827794*^9}, {3.725344172153865*^9, 3.7253441978227153`*^9}, { 1938 | 3.7253447588680873`*^9, 3.7253447598176355`*^9}, {3.7253454885928316`*^9, 1939 | 3.7253455134542103`*^9}, {3.725345709692523*^9, 3.725345721599663*^9}, { 1940 | 3.725346010309453*^9, 3.7253460228771477`*^9}, {3.725346729589776*^9, 1941 | 3.7253467298116193`*^9}, {3.7253474704708223`*^9, 3.725347522045682*^9}, { 1942 | 3.725347555311741*^9, 3.7253476486573377`*^9}, 3.725347700392234*^9, { 1943 | 3.7253479420402517`*^9, 3.7253479525224156`*^9}, 3.7253479862744303`*^9, { 1944 | 3.7253482419672704`*^9, 3.7253482425437193`*^9}, 3.7253634188072977`*^9, { 1945 | 3.725410531774678*^9, 3.725410553426241*^9}, {3.7254107288346767`*^9, 1946 | 3.725410735855211*^9}, {3.7254108390939846`*^9, 3.7254108421958866`*^9}, { 1947 | 3.7254109060460105`*^9, 3.7254109176966257`*^9}, {3.725411504312631*^9, 1948 | 3.725411521977686*^9}, {3.7254120607868958`*^9, 3.725412061070363*^9}, { 1949 | 3.725412119025874*^9, 3.72541211956538*^9}, {3.725412163763485*^9, 1950 | 3.725412228746304*^9}, {3.725412612981844*^9, 3.7254126228285513`*^9}, { 1951 | 3.725413194144413*^9, 3.725413229770873*^9}, {3.7254133067245407`*^9, 1952 | 3.7254133396844225`*^9}, {3.725413738786255*^9, 3.725413749531967*^9}, { 1953 | 3.725413785633565*^9, 3.7254138591823645`*^9}, {3.725413970367638*^9, 1954 | 3.7254141830466585`*^9}, {3.7254147049297247`*^9, 3.725414726885255*^9}, { 1955 | 3.7254152869328995`*^9, 3.7254153065679684`*^9}, {3.7254161769257193`*^9, 1956 | 3.725416185290682*^9}, {3.725416674162551*^9, 3.7254166771211653`*^9}, 1957 | 3.725416897719488*^9, {3.725416954865768*^9, 3.7254169569871607`*^9}, { 1958 | 3.72541702882104*^9, 3.7254170296657066`*^9}, {3.725417072921731*^9, 1959 | 3.7254170739294004`*^9}, {3.7254187711929336`*^9, 1960 | 3.7254187853104687`*^9}, {3.7254189322932615`*^9, 3.725419105623114*^9}, { 1961 | 3.725419323463978*^9, 3.725419475244306*^9}, {3.7254195934750957`*^9, 1962 | 3.725419603042159*^9}, {3.7254197007126436`*^9, 3.7254197173287516`*^9}, { 1963 | 3.7254197511435347`*^9, 3.7254197671918516`*^9}, {3.7254198495269413`*^9, 1964 | 3.725419964879092*^9}, {3.7254199998150034`*^9, 3.725420055550379*^9}, { 1965 | 3.7254201290811405`*^9, 3.725420208021241*^9}, {3.725420339686398*^9, 1966 | 3.7254203436102123`*^9}, {3.7254204875533953`*^9, 3.725420487974818*^9}, { 1967 | 3.7254205648618526`*^9, 3.7254205703258*^9}, {3.725421006619548*^9, 1968 | 3.7254210153915653`*^9}, {3.7254210562196655`*^9, 3.725421187830346*^9}, { 1969 | 3.725422835413501*^9, 3.7254228436660957`*^9}, {3.7254460476362467`*^9, 1970 | 3.7254460636055193`*^9}, {3.725449486523676*^9, 3.725449488741279*^9}, { 1971 | 3.7255274297447653`*^9, 3.725527444039175*^9}, {3.7255275929831133`*^9, 1972 | 3.7255276021493483`*^9}, {3.7255288141930823`*^9, 3.725528879332101*^9}, { 1973 | 3.725529170605544*^9, 3.725529279018622*^9}, 3.7255293325234766`*^9, { 1974 | 3.725529396343651*^9, 3.7255294235504293`*^9}, {3.7255304823458366`*^9, 1975 | 3.725530484649265*^9}, {3.7255317348639984`*^9, 3.7255317674324007`*^9}, { 1976 | 3.725532425036745*^9, 3.7255324277330437`*^9}, {3.725532504038946*^9, 1977 | 3.725532511411229*^9}, {3.725532542189499*^9, 3.7255325886354504`*^9}, { 1978 | 3.7255326612767363`*^9, 3.7255326657248297`*^9}, {3.7255327688220105`*^9, 1979 | 3.7255328035880575`*^9}, {3.7255328925741515`*^9, 3.725532933514207*^9}, { 1980 | 3.72553303891005*^9, 3.7255330686635833`*^9}, {3.7256220472667046`*^9, 1981 | 3.7256220539743605`*^9}, {3.7256220914637256`*^9, 3.725622095051964*^9}, { 1982 | 3.725692040014474*^9, 1983 | 3.7256921697683496`*^9}},ExpressionUUID->"4aade288-884f-4294-93be-\ 1984 | a6a42e267383"] 1985 | }, 1986 | WindowSize->{1280, 637}, 1987 | WindowMargins->{{-8, Automatic}, {Automatic, -8}}, 1988 | Magnification:>1.55 Inherited, 1989 | FrontEndVersion->"11.2 for Microsoft Windows (64-bit) (2017\:5e7410\:67082\ 1990 | \:65e5)", 1991 | StyleDefinitions->"Default.nb" 1992 | ] 1993 | (* End of Notebook Content *) 1994 | 1995 | (* Internal cache information *) 1996 | (*CellTagsOutline 1997 | CellTagsIndex->{} 1998 | *) 1999 | (*CellTagsIndex 2000 | CellTagsIndex->{} 2001 | *) 2002 | (*NotebookFileOutline 2003 | Notebook[{ 2004 | Cell[558, 20, 103839, 1963, 13824, "Input",ExpressionUUID->"4aade288-884f-4294-93be-a6a42e267383"] 2005 | } 2006 | ] 2007 | *) 2008 | 2009 | --------------------------------------------------------------------------------