原理可以看下边其他回答,我给你举个简单的例子你就能明白了:
MIDI文件其实就是个谱子,它不负责发声,只用来指挥电脑如何发出声音。
假如midi文件是谱子,电脑就是钢琴和弹钢琴的那个人。作为谱子,文件本身就不会大。
而你所困惑的是为啥小体积文件可以发出带有信息量的声音。
这么说,带有信息量的声音是每一台电脑的操作系统根据MIDI协议来编写的解释和播放软件,在你安装操作系统的时候装进去了,而这个用来解释MIDI文件本身的软件并不小。
而且,怎么解释MIDI文件,解释后怎么去播放,那完全根据个人电脑和使用软件的不同而不同。在音乐制作行业,我们管它叫做音源。当你使用不同的音源来解释播放特定的MIDI文件,获得的声音、音色甚至音高都是不同的。也就是说你用电脑播放是一段钢琴区,但是导入到DAW(数字音频工作站)并挂载了其他音源,完全可以出现小提琴、长笛、二胡、吉他、贝斯甚至架子鼓的声音:
具体想看MIDI协议和相关设备的出现和发展,看我这个回答:
最后下结论,你只是看到了谱子,谱子很小,但是没有看到已经存在的钢琴和演奏者,他们才是你认为信息量大的来源。