MATLAB是科学计算软件,同时也提供了图形、声音等多媒体展示特性和人机交互特性。利用这些特性,很容易完成复杂的任务,例如写一个钢琴APP,将电脑的键盘当成钢琴的琴键,发出悦耳的声音。
实现以上功能的核心代码和语法知识包括:
脚本和函数的概念
全局变量
switch流程
sound函数
figure的属性和回调函数
这些都可以在MATLAB基本语法的帮助文档(中文)中找到详细说明:
将代码打包成App需要用到MATLABCompiler:
首先,要知道MATLAB中“发声”的方法,最简单的是sound函数。这里将声音的采样频率设为和一般mp3文件一样的44100Hz,将一个音符的时间设定为0.4s,以音阶do的频率261.63Hz为例,发出一段声音。声音的包络线,其目的在于模拟一个音符渐响和渐轻的过程。
Fs=44100;%mp3标准采样品频率
T=0:Fs^-1:4e-1;%假定每个声音持续0.4s
A=sin(2*pi/8e-1*T);%声音振幅包络
a=A.*sin(2*pi*261.63*T);%do的时域波形
sound(a,Fs)
也可以用plot(T,a)观察波形。
对于其他音阶,设定不同的频率,于是就可以获得一系列的音符,他