Matlab模拟钢琴识别琴谱GUI

本文介绍了如何使用Matlab模拟钢琴音色,通过音符频率对应表,结合Matlab的sound函数,实现从基频到音乐声音的转换。通过编写程序,能够识别并播放输入的音符数字,例如'1234567789',转化为对应的音乐旋律。此外,还展示了带有GUI版本的程序,以提供更直观的交互体验。
摘要由CSDN通过智能技术生成

音符频率对应表

音符 频率/HZ 半周期/us 音符 频率/HZ 半周期/us
低1DO 262 1908 #4FA# 740 0676
#1DO# 277 1805 中5SO 784 0638
低2RE 294 1700 #5SO# 831 0602
#2RE# 311 1608 中6LA 880 0568
低3M 330 1516 #6LA# 932 0536
低4FA 349 1433 中7SI 988 0506
#4FA# 370 1350 高1DO 1046 0478
低5SO 392 1276 #DO# 1109 0451
#5SO# 415 1205 高2RE 1175 0426
低6LA 440 1136 #2RE# 1245 0402
#6LA# 466 1072 高3M 1318 0372
低7SI 494 1012 高4FA 1397 0358
中1DO 523 0956 #4FA# 1480 0338
#1DO# 554 0903 高5SO 1568 0319
中2RE 578 0842 #5S0# 1661 0292
#2RE# 622 0804 高6LA 1760 0284
中3M 659 0759 #6LA# 1865 0268
中4FA 698 0716 高7SI 1976

("#"表示半音,用于上升或下降半个音)

我们知道用Matlab的sound函数可以发声,但是那种声音是很难听的“电话铃声”,那该怎么模拟成钢琴音色呢?

每个音符有固定的基音频率,表格如上。

matlab实测

接下来,我们打开matlab

f=440;
fs=8000;
t=1/fs:1/fs:1;
x=sin(2*pi*f*t);
sound(x,fs);

这样点击运行的话,是一声电话音,但是知道频率的话,我们就可让它发出音乐的声音了

fs = 4000;t = (0:1500)*(1/fs);  
f=294;
y = cos(2*pi*f*t);                                     
sound(y,fs);

上面的程序是dao音

y=1;
fs = 4000;t = (0:1500)*(1/fs);  
f1=262;
y1 = cos(2*pi*f1*t);                                     
%sound(y1,fs);
f2=294;
y2 = cos(2*pi*f2*t);                                     
%sound(y2,fs);
f3=330;
y3 = cos(2*pi*f3*t);                                     
%sound(y3,fs);
f4=349;
y4 = cos(2*pi*f4*t);                                     
%sound(y4,fs);
f5=392;
y5 = cos(2*pi*f5*t);                                     
%sound(y5,fs);
f6=440;
y6 = cos(2*pi*f6*t);                                     
%sound(y6,fs);
f7=494;
y7 = cos(2*pi*f7*t);   
%%%%%%%%%y=[y1,y2,y3,y4,y5,y6,y7];
%%%%%%%%%sound(y,fs);
k=0;
A=input('请输入"[]",中间带空格');
for i=1:length(A) %MATLAB下标从1开始
    switch(A(i))
        case 1
            %y=[y1];
            sound(y1,fs);
            pause(0.5);
        
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值