相信很多喜欢音乐的小伙伴都玩过一款软件,叫做键盘钢琴,这款软件的确做得很棒,这时,可能有一些会开发的小伙伴就要想这个键盘钢琴软件是如何开发的呢?可以这么说,想要开发这款软件需要对乐理有一定的了解,并且对MIDI要非常的熟悉,本篇文章,我们主要介绍一下这个键盘钢琴的发音原理,如果我们要让计算机发声,那么我们需要使用midi设备,所以,我们需要选择要打开的midi设备,然后向设备输出消息,就可以让计算机发出声音,我们主要介绍发音原理,其它的功能,同学们感兴趣可以去看MIDI消息格式。
MIDI发音主要使用了两条命令,一个打开音符,一个是关闭音符,它们的命令如下:
打开音符和关闭音符都是3个字节,但是我们的程序只使用了打开音符,关闭音符和打开音符用法一样,所以,我们就只演示了一种。
打开音符的命令格式:
1000 xxxx 0nnn nnnn 0ppp pppp
其中4位xxxx代表使用的通道号,除了10号通道,1-9,11-16,都可以使用,因为10号通道是打击类乐器的通道,通道的编号从0开始,比如通道1对应的索引就是0。
音符一共有128个,也是从0开始,所以它的值是0-127,因此第2个字节的最高位是0。
第3个字节代表按键力度,也是从0-127。
音符表如下:
C | C# | D | D# | E | F | F# | G | G# | A |