
题主无任何音乐知识还是别做这音乐APP了,我怕做出来要毒害广大祖国的花朵,不如把源码给我我来做,估计还能顺便找出题主10处BUG。
正经回答明天上班有电脑了再写。
=======我是正经的分割线=======
关于车轱辘话的问题,已经有不少答主充分吐槽过,因为任何一个学科知识体系都必须用1+1=2的方式去逐步了解。很多乐理书都是从全音符讲起,所以第二步自然要说“四分音符”是全音符的四分之一。
但实际应用上,全音符也好,四分音符也好,只是个记谱法的历史问题,题主真正需要关心的是拍(beat)的概念。
绝大多数的曲子都是以四分音符为一拍,所以通常来说我们会把四分音符当作1,把8分音符当作1/2,把全音符当作4(简谱就是这样记谱的)。
以题主开发MIDI相关APP来说,你只需要关心以下几点:
速度(tempo),单位bpm,就是每分钟多少拍。
然后你就把四分音符当做1拍,至于一拍的名字为毛是四分音符这并不重要。
然后,需要设定四分音符也就是1拍的数值长度(TPQN,ticks per quarter-note),这个许多软件默认是120(也有软件默认是480的)。
好了,问题基本解决了,在一个普通的midi音乐中,设四分音符(一拍)的时值是120 ticks,那么:
八分音符的时值是60,十六分音符是30,三十二分音符是15。
二分音符是240,全音符是480。
八分音符三连音是40,十六音符六连音是20。
等题主把以四分音符为一拍的曲子搞定了再去搞3/8拍6/8拍吧。
