-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathindex.html
187 lines (185 loc) · 6.69 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>傻瓜弹曲</title>
<link rel="stylesheet" href="index.css">
<base target="_blank" />
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
</head>
<body>
<h1>傻瓜弹曲</h1>
<p>
使用公元前 1980 年的人工智障技术制造的一个输入简谱并且能够带伴奏与歌词播放的APP。
</p>
<p>
<a href="edit.htm">傻瓜弹曲程序入口>>></a>
| <a href="pack/build.htm">真•离线版</a>
| <a href="faq.html">FAQ</a>
</p>
<p style="color:red">
警告:有大量浏览器不能正确保存文件。如果您用手机编辑乐谱,请先测试保存功能能否正常工作,以防数据丢失。
</p>
<details>
<summary>其实能否正常保存,试试便知:</summary>
<p><a class="nohack" href="FAIL.htm" onclick='util_saveAs("下载测试通过","text/plain","下载测试通过.txt"); return false;'>测试网页脚本生成文件下载</a></p>
<script>
function util_saveAs(content,mine,fileName){
var url;
var blob;
/* 不使用文件本身的 MIME 以防触发浏览器特殊机制(如Chrome 会把网页 “打包”为MHTML 并破坏追加的脚本区域) */
if(mine.indexOf('html') > -1){
mine = 'application/octet-stream';
}
try {
blob = new File([content],fileName,{type:mine});
}catch(e){
blob = new Blob([content],{type:mine});
blob = new Blob([content],{type:mine});
}
url = URL.createObjectURL(blob);
setTimeout(function(){
URL.revokeObjectURL(url)
},40*1000);
if(blob){
if ('msSaveOrOpenBlob' in navigator) {
window.navigator.msSaveOrOpenBlob(blob, fileName);
return;
}
}
var link = document.createElement('a');
link.href = url;
link.download = fileName;
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}
</script>
<p>点击上面链接后:</p>
<ol>
<li>应该提示下载文件而非打开新页面;</li>
<li>下载应马上开始而不会有超过 1s 的延迟;</li>
<li>您应该可以打开下载后的文件,它应该是个文档,内含“下载测试通过”字样;</li>
</ol>
</details>
<p>
<a href="edit.htm#music=xy">《心愿》</a> |
<a href="edit.htm#music=tl">《踏浪》</a> |
<a href="edit.htm#music=apchy">《爱拼才会赢》</a> |
<a href="edit.htm#music=ldzgr">《劳动最光荣》</a> |
<a href="edit.htm#music=tzdn">《同桌的你》</a>
</p>
<p>
<a href="http://users.smartgb.com/g/g.php?a=s&i=g18-84768-1a">留言本</a> | <a href="http://gitee.com/asdfqw/FoolPlay">本程序的源代码 (Gitee)</a> | <a href="http://github.com/14725/FoolPlay">本程序的源代码 (GitHub)</a>
</p>
<h2>功能</h2>
<p>
(如上所述)
</p>
<ul>
<li>键盘简谱输入;</li>
<li>
简易播放,包括人声合成以及伴奏,但没有暂停(<code>|X X X X|X X X X|...|</code>。人声方面,加载袅袅格式音源实现中文合成,加载meSpeak TTS 引擎实现英文合成。
);
</li>
<li>可以按照JSON格式保存到电脑上或者读取由本程序保存功能输出的文件。</li>
</ul>
<p>
至于菜单上所显示的剩下几乎所有功能都没有实现(不要奇怪为什么点击某选项没有反应)。编辑功能有些Bug,不要太介意……
</p>
<h2>浏览器</h2>
<ul>
<li>最新的桌面浏览器(对于Chr***系列,从55开始)应该都能工作;</li>
<li>介意ES6语法的浏览器不能工作。</li>
<li>有严重的性能问题,但暂时不会得到解决。</li>
</ul>
<h2>计划</h2>
<p>
本人很懒,无心更新,下面的计划压根不会执行。在放寒暑假的时候可能会动一动。
</p>
<ul>
<li>加入对<del>反复记号</del>(被恶心到了)以及弱起的支持;</li>
<li>简化以及去除各 JS 文件内的多余代码;</li>
<li>美化歌谱及编辑器</li>
<li>加快加载</li>
<li>简易调教</li>
<li>解决浏览器打印不分页问题</li>
<li>……</li>
</ul>
<h2>不多的帮助</h2>
<ul>
<li>
<code>数字</code>
->简谱音符表示
</li>
<li>
<code>+(或者!)</code>
->普通音高或低八度
</li>
<li>
<code>*</code>
->普通音高或高八度
</li>
<li>
<code>-</code>
->延长音符(加时线)
</li>
<li>
<code>_</code>
(<code>Shift + -</code>
) ->缩短音符(减时线)
</li>
<li>
<code>^</code>
->在光标前面的音符的前面画一条延音线/圆滑线(两个音的圆滑线?)
</li>
<li>
<code>` </code>
->延长前一个音符
</li>
<li>
<code>Ctrl + ↑|↓</code>
->切换编辑歌谱以及歌词。
<ul>
<li>用鼠标点击音符下方的空白区域也可以</li>
</ul>
</li>
<li>
<code>:</code>
->反复记号。
<ul>
<li>在 :|| 、 ||::|| 、 ||: 、 (无)之间切换。</li>
<li>禁止套娃否则后果自负。</li>
</ul>
</li>
<li>
<code>|-1</code>
->房子。
<ul>
<li>可以是 1、2、3、4、5、6、7、8、9。</li>
<li><code>(||:)A |-1 B :|| |-2 C (:||)</code>,你懂的。 => <code>A B A C </code>。前面的公共部分要不每一房子对一行歌词或只用一行歌词。</li>
<li>禁止套娃,不要乱搞,不要学网上的杂七杂八的胡乱反复。</li>
</ul>
</li>
<li>
<code>b,#</code>
->变音记号
<ul>
<li>没有和弦上的支持,所以播放时和弦会对不上旋律。</li>
</ul>
</li>
</ul>
<h2>鸣谢</h2>
<ul>
<li>Water.css (<a href="https://watercss.kognise.dev/">https://watercss.kognise.dev/</a>)</li>
<li>FPSoundbank (<a href="https://ft.nxeduyun.com/cms-ft/downloadRes?resId=6783b3a3c4264688b844127d2ddb2a52">https://ft.nxeduyun.com/<wbr>cms-ft/<wbr>downloadRes?<wbr>resId=<wbr>6783b3a3c4264688b844127d2ddb2a52/</a>)(注:临时链接)</li>
<li>meSpeak.js (<a href="https://www.masswerk.at/mespeak/">https://www.masswerk.at/<wbr>mespeak/</a>)</li>
<li>tiny-pinyin (<a href="https://github.com/creeperyang/pinyin/">https://github.com/<wbr>creeperyang/<wbr>pinyin/</a>)</li>
<li>yux-storage (<a href="https://github.com/yued-fe/yux-storage">https://github.com/<wbr>yued-fe/<wbr>yux-storage</a>)</li>
</ul>
<h2>协议</h2>
<p>由我写的代码受GNUv3保护,但别人的不是。
更多信息请看 <a href="LICENSE">LICENSE</a>。</p>
</body>
</html>