资源简介
根据音乐简谱和十二平均律计算出每个乐音的频率,在这之后需要确定每个乐音的持续时间。(每小节有两拍,一拍的时间是0.5s)
在MATLAB中表示乐音所用的抽样频率为fs=8000Hz,抽样点数的多少就可表示出每个乐音的持续时间的长短。
代码片段和文件信息
fs=8000; %抽样频率
a1=349; b2=392;c3=440;d4=494;e5=523;f6=587;g7=659;f6_2=294; %音乐频率?
f=[f6_2 c3 c3 c3 c3 d4 d4 f6 c3 b2 b2 b2 b2 a1 b2 b2 c3 f6_2]; %各个乐音对应的频率
time=fs*[1/41/81/81/41/41/41/81/81/21/41/81/81/41/41/41/81/81/2]; %各个乐音的抽样点数
N=length(time); %这段音乐的总抽样点数
haha=zeros(1N); %用haha向量来储存抽样点
n=1;
for num=1:N %利用循环产生抽样数据,num表示乐音编号
t=1/fs:1/fs:time(num)/fs; %产生第num个乐音的抽样点
haha(n:n+time(num)-1)=sin(2*pi*f(num)*t); %抽样点对应的幅值
n=n+time(num);
end
sound(haha8000); %播放音乐
plot(haha);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 0 2019-03-29 21:59 闊充箰鍚堟垚鍣?
文件 550 2017-12-12 15:12 闊充箰鍚堟垚鍣?Unti
文件 709 2017-10-09 22:28 闊充箰鍚堟垚鍣?twotigers.m
文件 560 2017-12-12 15:43 闊充箰鍚堟垚鍣?Unti
文件 560 2017-10-10 09:59 闊充箰鍚堟垚鍣?Unti
文件 799 2017-10-09 22:19 闊充箰鍚堟垚鍣?haha2_0.m
文件 1128 2017-10-09 22:19 闊充箰鍚堟垚鍣?haha3_0.m
文件 677 2017-10-09 22:19 闊充箰鍚堟垚鍣?haha1_0.m
- 上一篇:MATLAB神经网络超级学习手册源码
- 下一篇:f-ofdm.txt
评论
共有 条评论