⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 s1_10.m

📁 能够实现音乐不同乐器的转换,在MatLab上实现
💻 M
字号:
function hecheng()
clear all;
load('xishu.mat');

D1=220*2^(5/12);
F=220*2^(8/12);
G=220*2^(10/12);
C=440*2^(3/12);
D=440*2^(5/12);

k=[-5:5];

t2=[0:1/8000:1]';
t4=[0:1/8000:0.5]';
t8=[0:1/8000:0.25]';
%衰减包络
e2=2*exp(-t2*2.5).*(1-(10*t2+1).^-4);
e4=2*exp(-t4*5).*(1-(20*t4+1).^-4);
e8=2*exp(-t8*10).*(1-(40*t8+1).^-4);

%以对应的音符为基频,用得到的系数去生成各谐波 教材3.18式
so4=exp(j*kron(t4,C*k))*FF(:,5).*e4;
so8=exp(j*kron(t8,C*k))*FF(:,21).*e8;
la8=exp(j*kron(t8,D*k))*FF(:,15).*e8;
re2=exp(j*kron(t2,G*k))*FF(:,18).*e2;
do4=exp(j*kron(t4,F*k))*FF(:,23).*e4;
do8=exp(j*kron(t8,F*k))*FF(:,19).*e8;
la18=exp(j*kron(t8,D1*k))*FF(:,13).*e8;

M=10*abs([so4;so8;la8;re2;do4;2*do8;la18;0.5*re2]);
sound(M,8000);


writespeech('final.pcm',M);
return

function writespeech(filename,s)
    fid = fopen(filename,'w');
    fwrite(fid, s, 'int16');
    fclose(fid);
return

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -