matlab音乐处理合成实验报告

合集下载

matlab实验报告

matlab实验报告

Matlab实验报告一、实验名称:matlab实验报告二、实验目的:熟悉并学会掌握matlab的基本操作。

三、实验内容:准确编写第二,三,四章课后习题的matlab程序。

四、实验数据处理第二章MATLAB 基本操作第一题:利用基本矩阵产生3X3和15X8的单位阵、全1阵、全0阵,随机分布矩阵([-1,1]之间)、正态分布随机阵(均值为1,方差为4)。

程序:>> A=eye(3)A = 1 0 00 1 00 0 1>> A=ones(3)A =1 1 11 1 11 1 1>> A=zeros(3)A =0 0 00 0 00 0 0>> A=1-2*rand(3)A =-0.9003 0.0280 0.08710.5377 -0.7826 0.9630-0.2137 -0.5242 -0.6428>> A=2*randn(3)+1A =0.1349 1.5754 3.3783-2.3312 -1.2929 0.92471.2507 3.3818 1.6546>> B=eye(2,3)B =1 0 00 1 0>> B=ones(2,3)B = 1 1 11 1 1>> B=zeros(2,3)B =0 0 00 0 0>> B=1-2*rand(2,3)B = 0.1106 -0.5839 -0.4764-0.2309 -0.8436 0.6475>> B=2*randn(2,3)+1B =1.3493 2.4516 5.36640.6266 -0.1766 0.7272第五题:利用rand函数产生(0,1)间均匀分布的5X5随机矩阵A,然后统计A中大于等于0.6的元素个数。

程序:A=rand(5)A =0.4057 0.0579 0.2028 0.0153 0.41860.9355 0.3529 0.1987 0.7468 0.84620.9169 0.8132 0.6038 0.4451 0.52520.4103 0.0099 0.2722 0.9318 0.20260.8936 0.1389 0.1988 0.4660 0.6721>> n=sum(sum(A>=0.6))n =9第六题:利用rand函数产生均值为0,方差为1的4X4正态分布随机矩阵A,然后统计A 中大于-0.5且小于0.5的元素个数。

音乐合成实验实验报告

音乐合成实验实验报告

一、实验目的1. 了解音乐合成的基本原理和方法。

2. 掌握使用MATLAB进行音乐合成的技巧。

3. 通过实验,加深对音乐合成理论的理解。

二、实验原理音乐合成是指利用电子技术模拟或生成音乐的过程。

音乐合成的基本原理是将音乐的基本元素(如音高、音色、持续时间等)进行数字化处理,然后通过电子设备输出。

本实验采用MATLAB进行音乐合成,主要涉及以下原理:1. 傅里叶级数:将音乐信号分解为不同频率的正弦波和余弦波的叠加。

2. 快速傅里叶变换(FFT):对音乐信号进行快速傅里叶变换,以分析其频谱。

3. 音高合成:通过调整正弦波的频率来模拟不同音高的声音。

4. 音色合成:通过调整正弦波的幅度和相位来模拟不同的音色。

三、实验内容1. 合成《东方红》(1)读取《东方红》的音符序列。

(2)根据音符序列,生成对应的正弦波信号。

(3)将所有正弦波信号叠加,得到完整的音乐信号。

2. 除噪音、加包络(1)读取含有噪音的音乐信号。

(2)对音乐信号进行傅里叶变换,分析其频谱。

(3)将噪音频率的分量从频谱中去除。

(4)为音乐信号添加包络,以调整音量变化。

3. 改变程序,实现音乐升高和降低一个八度(1)修改程序,调整音符序列中每个音符的频率。

(2)重新生成音乐信号。

4. 在音乐中加入谐波(1)在原有音乐信号的基础上,添加谐波分量。

(2)调整谐波分量的频率和幅度。

5. 自选音乐合成(1)选择一首自己喜欢的音乐。

(2)按照实验原理,对音乐进行合成。

四、实验步骤1. 打开MATLAB软件,创建一个新的脚本文件。

2. 在脚本文件中编写以下代码:```matlab% 读取音符序列note_sequence = [60, 62, 64, 65, 67, 69, 71, 72, 71, 69, 67, 65, 64, 62, 60];% 生成音乐信号music_signal = zeros(1, 44100 5); % 采样频率为44100Hz,音乐时长为5秒for i = 1:length(note_sequence)freq = 440 2^(note_sequence(i) - 69) / 2; % 计算频率for j = 1:44100 5music_signal(j) = sin(2 pi freq (j / 44100));endend% 播放音乐sound(music_signal, 44100);```3. 运行脚本文件,观察音乐合成效果。

matlab实验报告总结

matlab实验报告总结

matlab实验报告总结
《利用Matlab进行实验的总结与分析》
在科学研究和工程领域中,Matlab是一个非常强大的工具,可以用于数据分析、图像处理、信号处理等多种应用。

本文将总结利用Matlab进行实验的经验,并分析实验结果。

首先,我们使用Matlab进行了数据分析实验。

通过Matlab的统计工具箱,我
们能够快速地对大量数据进行处理和分析,包括数据的描述统计、回归分析、
假设检验等。

通过实验,我们发现Matlab的数据分析功能非常强大,可以帮助我们更好地理解数据的特征和规律。

其次,我们进行了图像处理实验。

Matlab提供了丰富的图像处理函数和工具,
可以对图像进行滤波、边缘检测、分割等操作。

通过实验,我们发现Matlab能够快速地对图像进行处理,并且可以通过编写自定义的算法来实现更复杂的图
像处理任务。

此外,我们还进行了信号处理实验。

Matlab提供了丰富的信号处理函数和工具,可以对信号进行滤波、频谱分析、时频分析等操作。

通过实验,我们发现
Matlab在信号处理领域也有着非常强大的功能,可以帮助我们更好地理解和处
理各种类型的信号数据。

综上所述,利用Matlab进行实验可以帮助我们更好地理解和分析数据、图像和信号。

Matlab提供了丰富的工具和函数,可以帮助我们快速地完成各种实验任务,并且可以通过编写自定义的算法来实现更复杂的任务。

因此,Matlab是一
个非常强大的实验工具,可以在科学研究和工程领域中得到广泛的应用。

MATLAB音乐合成

MATLAB音乐合成
x=x+E*(sin(a(music(n)).*t)).*u{n}; end sound(x,32000);
包络波形:
1.5 1
0.5 0
-0.5
0
0.5
1
1.5
2
2.5
3
3.5
4
用指数衰减也不行。经过与同学对比,发现对音符间隔理解不用。如果向( 1) 中那样,第一个 5 演奏后,停顿一个音符,虽然更好听些,但是加包络以后,还 是会造成有高频分量。 所以改变方法,将 5 延长至下一个 5.
figure; subplot(3,1,1); plot(wave2proc); title( 'wave2proc' ); subplot(3,1,2); plot(sample2); title( 'sample2' ); subplot(3,1,3); plot(sample2-wave2proc'); title( 'sample2-wa ve2proc' );
K=2^(1/12); a0=220*pi/2; for n=1:20
a(n)=a0.*K^n; end b0=a0*2; for n=1:20
b(n)=b0.*K^n; end c0=a0*3; for n=1:20
c(n)=c0.*K^n; end
a(25)=0; b(25)=0; c(25)=0;
因为非线性谐波和噪声有一个共同点,就是随机产生,无周期性变化。 所以可以把波形进行若干次叠加,然后取平均值,可以想到,叠加次数越多,其 平均值就越接近于周期波形。 读出realwave波形,发现采样点为243,重复十次,可得周期为24.3,所以可 以将其延长至十倍,这样,周期就是整数。

Matlab音乐合成实验报告

Matlab音乐合成实验报告

课程设计《音乐合成》实验报告专业:测控技术与仪器班级:测控11-2 班*名:***学号: ***********指导教师:**广东石油化工学院计算机与电子信息学院信号与系统课程设计-------利用matlab合成音乐一、实验目的1. 熟悉MATLAB的软件和语言指令的使用;2. 学习利用MATLAB进行连续信号的时域、频域分析;3. 熟悉抽样信号与连续信号的区别。

二、实验内容1.请根据《画心》片断的简谱和“十二平均律”计算出该片断中各个乐音的频率,在MATLAB 中生成幅度为1抽样频率为8kHz 的正弦信号表示这些乐音。

请用sound 函数播放每个乐音,听一听音调是否正确。

最后用这一系列乐音信号拼出《画心》片断,注意控制每个乐音持续的时间要符合节拍,用sound 播放你合成的音乐,听起来感觉如何?并用图显示生成的音乐信号。

相关知识:①《画心》完整曲谱,实验时从中随机截取几节用于编程。

②利用十二平均律计算频率以及相关音乐知识。

如图1,其中错误!未找到引用源。

,错误!未找到引用源。

,错误!未找到引用源。

相当于错误!未找到引用源。

的二次谐波,二者是倍频的关系。

从A到A1共有12个键,7个白色键,5个黑色键。

中间这些频率值得计算规律为相邻音倍乘系数错误!未找到引用源。

即错误!未找到引用源。

,别的依次类推。

图1 钢琴键盘图1中各键对应的频率如下表:bG表示的F升高半音,在乐谱中用#表示。

或者G降低半音,用b表示。

乐谱这中的4/4表示每小节有四拍,一个1/4音符的持续时间为一拍,一拍大概0.5s左右。

eg:y=0*t; %初始化y(t<0.25)=sin(440*2*pi*t(t<0.25)); %第一个音 5,持续时间0.25sy(0.25<t&t<0.5)=sin(392*2*pi*t(0.25<t&t<0.5)); %第二个音3,持续时间0.25ssound(y,8000) %播放音乐三.实验步骤3.1音乐合成根据《画心》第一小节的简谱和十二平均律计算出该小节每个乐音的频率,在MATLAB中生成幅度为1,抽样频率为8kHz的正弦信号表示这些乐音,用sound播放合成的音乐。

matlab dsp实验报告

matlab dsp实验报告

MATLAB DSP实验报告介绍本实验报告将详细介绍在MATLAB环境下进行数字信号处理(DSP)的实验步骤和相关方法。

我们将通过逐步思考的方式,帮助读者理解和学习DSP的基本概念和技术。

实验环境和工具在进行DSP实验之前,我们需要准备以下环境和工具:1.MATLAB软件:确保已安装并配置好MATLAB软件,可以在MATLAB Command窗口中输入命令。

2.信号处理工具包:在MATLAB中,我们可以使用信号处理工具箱(Signal Processing Toolbox)来进行DSP实验和分析。

确保该工具箱已被安装并加载。

实验步骤下面是进行DSP实验的一般步骤:步骤一:加载信号首先,我们需要加载待处理的信号。

这可以通过在MATLAB中使用load命令加载一个音频文件或生成一个模拟信号实现。

例如,我们可以加载一个名为signal.wav的音频文件:load signal.wav步骤二:信号预处理在进行DSP之前,通常需要对信号进行预处理。

这可能包括去噪、滤波、均衡等操作。

例如,我们可以使用滤波器对信号进行降噪:filtered_signal = filter(filter_coefficients, signal);步骤三:信号分析一旦信号经过预处理,我们可以开始进行信号分析。

这可能涉及频域分析、时域分析、谱分析等。

例如,我们可以通过计算信号的快速傅里叶变换(FFT)获得其频谱:spectrum = fft(filtered_signal);步骤四:特征提取在信号分析之后,我们可以根据需要提取信号的特征。

这些特征可能包括幅度、频率、相位等。

例如,我们可以计算信号的能量:energy = sum(abs(filtered_signal).^2);步骤五:信号重构在完成信号分析和特征提取后,我们可以根据需要对信号进行重构。

这可能包括滤波、修复损坏的信号等。

例如,我们可以使用滤波器对信号进行重构:reconstructed_signal = filter(filter_coefficients, filtered_signal);步骤六:结果评估最后,我们需要评估重构后的信号和原始信号之间的差异。

音乐合成大作业实验报告

音乐合成大作业实验报告

音乐合成大作业实验报告无84 王梦娣2008011134实验报告部分一、简单的音乐合成1.请根据《东方红》片断的简谱和“十二平均律”计算出该片断中各个乐音的频率,在MATLAB 中生成幅度为1 、抽样频率为8kHz 的正弦信号表示这些乐音。

请用sound 函数播放每个乐音,听一听音调是否正确。

最后用这一系列乐音信号拼出《东方红》片断,注意控制每个乐音持续的时间要符合节拍,用sound 播放你合成的音乐,听起来感觉如何?问题解答:《东方红》片段:其中所用音符的唱名、音名及对应频率(由十二平均律和相应键数间隔即可导出)如下:(单位是Hz)用sound播放单音,音调正确。

以一拍0.5秒计,播出合成音乐。

发现音乐听起来,总体上音调、节拍正确,但乐音无声音强弱变化,两音之间有明显的“啪”的杂声。

2.你一定注意到(1) 的乐曲中相邻乐音之间有“啪”的杂声,这是由于相位不连续产生了高频分量。

这种噪声严重影响合成音乐的质量,丧失真实感。

为了消除它,我们可以用图1.5 所示包络修正每个乐音,以保证在乐音的邻接处信号幅度为零。

此外建议用指数衰减的包络来表示。

问题解答:这个问题,实际上我并没有完全理解题意,没有明白是需要乐音之间有重叠,还是没有重叠,所以,我把两种方法都做了一遍,结果发现,用耳朵完全听不出区别。

对于无重叠的包络:我对包络所做的处理是,对于上图折线部分用指数实现,因为题目中有说当主观感受为线性变化时声音的概率实际上呈指数变化。

做出的结果的图像如下:包络0.511.522.533.54加包络后的音乐有重叠的包络:(处理后的音)从图像上可明显看出有重叠包络和无重叠包络的区别,但是听起来,基本听不出区别。

3. 请用最简单的方法将(2) 中的音乐分别升高和降低一个八度。

(提示:音乐播放的时间可以变化)再难一些,请用resample 函数(也可以用interp 和decimate 函数)将上述音乐升高半个音阶。

(提示:视计算复杂度,不必特别精确)问题解答:0.050.10.150.20.25未处理的一个音符加包络处理过的音符x 104-1.5-1-0.50.511.5由于题目中已有提示“音乐播放的时间可以变化”,所以很容易就想到用Sample函数实现音调的改变,用Sample函数也确实是最简单的方法。

matlab音乐合成

matlab音乐合成

M A T L A B数学实验报告姓名:学号:指导老师:专业班级:音乐合成学号班级姓名指导教师实验题目音乐合成评分1.实验目的:1.熟悉MATLAB的软件和语言指令的使用;2. 学习利用MATLAB进行连续信号的时域、频域分析;3. 通过电子音乐合成方面的练习增进对傅里叶级数的理解2.实验内容:使用matlab演奏《当你孤单你会想起谁》3.详细设计:1.本次音乐合成所作曲目为《当你孤单你会想起谁》简谱首先介绍matlab函数的玩法:matlab播放音乐是由sound(Y,fs,bits)函数完成的,该函数的3个参数代表输入信号、采样率、比特率。

先说采样率fs的设置,人耳能够听到的声音范围是20~20000Hz。

根据采样定理fs只需要大于40000即可。

此处采样率的设置采用了MP3的标准,即fs=44.1k.再说输入信号Y,Y一般是一个正弦波,如A*sin(2*pi*w*t)。

其中A控制着声音的大小,w控制着声音的高低,t的范围控制着声音的长短,所以理论上利用这个公式可以发出任何声音,只是不能控制音色和音质(音色音质很难用参数量化,我问了一下学语音的同学,这个东西跟音频谱重心,音频扩展度和音频谱平坦度有关系,这里不作讨论)。

比特率采用默认值即可,该参数省略。

于是用下面的公式就可以播放出标准音la:fs=44100;t=0: 1/fs: 0.5;la = sin(2*pi*440*t);sound(la, fs)据所知,音高和频率是指数的关系,它们满足下面的公式,其中p是音高,f是频率标准音la,即钢琴的A4键,定义为p=69。

音高每上升一个半音,p加1。

设计代码:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% when you are lonely,who will you think about? //当你孤单你会想起谁 on Matlab fs = 44100; % sample ratedt = 1/fs;T16 = 0.125;t16 = [0:dt:T16];[temp k] = size(t16);t4 = linspace(0,4*T16,4*k);t8 = linspace(0,2*T16,2*k);[temp i] = size(t4);[temp j] = size(t8);% Modification functionsmod4=(t4.^4).*exp(-30*(t4.^0.5));mod4=mod4*(1/max(mod4));mod8=(t8.^4).*exp(-50*(t8.^0.5));mod8=mod8*(1/max(mod8));mod16=(t16.^4).*exp(-90*(t16.^0.5));mod16=mod16*(1/max(mod16));f0 = 2*146.8; % reference frequency ScaleTable = [2/3 3/4 5/6 15/16 ...1 9/8 5/4 4/3 3/2 5/3 9/5 15/8 ...2 9/4 5/2 8/3 3 10/3 15/4 4 ...1/2 9/16 5/8];% 1/4 notesdo0f = mod4.*cos(2*pi*ScaleTable(21)*f0*t4); re0f = mod4.*cos(2*pi*ScaleTable(22)*f0*t4); mi0f = mod4.*cos(2*pi*ScaleTable(23)*f0*t4); fa0f = mod4.*cos(2*pi*ScaleTable(1)*f0*t4); so0f = mod4.*cos(2*pi*ScaleTable(2)*f0*t4); la0f = mod4.*cos(2*pi*ScaleTable(3)*f0*t4); ti0f = mod4.*cos(2*pi*ScaleTable(4)*f0*t4); do1f = mod4.*cos(2*pi*ScaleTable(5)*f0*t4); re1f = mod4.*cos(2*pi*ScaleTable(6)*f0*t4); mi1f = mod4.*cos(2*pi*ScaleTable(7)*f0*t4); fa1f = mod4.*cos(2*pi*ScaleTable(8)*f0*t4); so1f = mod4.*cos(2*pi*ScaleTable(9)*f0*t4); la1f = mod4.*cos(2*pi*ScaleTable(10)*f0*t4); tb1f = mod4.*cos(2*pi*ScaleTable(11)*f0*t4); ti1f = mod4.*cos(2*pi*ScaleTable(12)*f0*t4); do2f = mod4.*cos(2*pi*ScaleTable(13)*f0*t4); re2f = mod4.*cos(2*pi*ScaleTable(14)*f0*t4); mi2f = mod4.*cos(2*pi*ScaleTable(15)*f0*t4); fa2f = mod4.*cos(2*pi*ScaleTable(16)*f0*t4); so2f = mod4.*cos(2*pi*ScaleTable(17)*f0*t4); la2f = mod4.*cos(2*pi*ScaleTable(18)*f0*t4); ti2f = mod4.*cos(2*pi*ScaleTable(19)*f0*t4); do3f = mod4.*cos(2*pi*ScaleTable(20)*f0*t4); blkf = zeros(1,i);% 1/8 notesdo0e = mod8.*cos(2*pi*ScaleTable(21)*f0*t8); re0e = mod8.*cos(2*pi*ScaleTable(22)*f0*t8); mi0e = mod8.*cos(2*pi*ScaleTable(23)*f0*t8); fa0e = mod8.*cos(2*pi*ScaleTable(1)*f0*t8); so0e = mod8.*cos(2*pi*ScaleTable(2)*f0*t8);la0e = mod8.*cos(2*pi*ScaleTable(3)*f0*t8);ti0e = mod8.*cos(2*pi*ScaleTable(4)*f0*t8);do1e = mod8.*cos(2*pi*ScaleTable(5)*f0*t8);re1e = mod8.*cos(2*pi*ScaleTable(6)*f0*t8);mi1e = mod8.*cos(2*pi*ScaleTable(7)*f0*t8);fa1e = mod8.*cos(2*pi*ScaleTable(8)*f0*t8);so1e = mod8.*cos(2*pi*ScaleTable(9)*f0*t8);la1e = mod8.*cos(2*pi*ScaleTable(10)*f0*t8);tb1e = mod8.*cos(2*pi*ScaleTable(11)*f0*t8);ti1e = mod8.*cos(2*pi*ScaleTable(12)*f0*t8); do2e = mod8.*cos(2*pi*ScaleTable(13)*f0*t8);re2e = mod8.*cos(2*pi*ScaleTable(14)*f0*t8); mi2e = mod8.*cos(2*pi*ScaleTable(15)*f0*t8);fa2e = mod8.*cos(2*pi*ScaleTable(16)*f0*t8); so2e = mod8.*cos(2*pi*ScaleTable(17)*f0*t8);la2e = mod8.*cos(2*pi*ScaleTable(18)*f0*t8);ti2e = mod8.*cos(2*pi*ScaleTable(19)*f0*t8); do3e = mod8.*cos(2*pi*ScaleTable(20)*f0*t8); blke = zeros(1,j);% 1/16 notesdo0s = mod16.*cos(2*pi*ScaleTable(21)*f0*t16); re0s = mod16.*cos(2*pi*ScaleTable(22)*f0*t16); mi0s = mod16.*cos(2*pi*ScaleTable(23)*f0*t16); fa0s = mod16.*cos(2*pi*ScaleTable(1)*f0*t16); so0s = mod16.*cos(2*pi*ScaleTable(2)*f0*t16); la0s = mod16.*cos(2*pi*ScaleTable(3)*f0*t16); ti0s = mod16.*cos(2*pi*ScaleTable(4)*f0*t16); do1s = mod16.*cos(2*pi*ScaleTable(5)*f0*t16); re1s = mod16.*cos(2*pi*ScaleTable(6)*f0*t16); mi1s = mod16.*cos(2*pi*ScaleTable(7)*f0*t16); fa1s = mod16.*cos(2*pi*ScaleTable(8)*f0*t16); so1s = mod16.*cos(2*pi*ScaleTable(9)*f0*t16); la1s = mod16.*cos(2*pi*ScaleTable(10)*f0*t16); tb1s = mod16.*cos(2*pi*ScaleTable(11)*f0*t16); ti1s = mod16.*cos(2*pi*ScaleTable(12)*f0*t16); do2s = mod16.*cos(2*pi*ScaleTable(13)*f0*t16); re2s = mod16.*cos(2*pi*ScaleTable(14)*f0*t16); mi2s = mod16.*cos(2*pi*ScaleTable(15)*f0*t16); fa2s = mod16.*cos(2*pi*ScaleTable(16)*f0*t16); so2s = mod16.*cos(2*pi*ScaleTable(17)*f0*t16); la2s = mod16.*cos(2*pi*ScaleTable(18)*f0*t16); ti2s = mod16.*cos(2*pi*ScaleTable(19)*f0*t16); do3s = mod16.*cos(2*pi*ScaleTable(20)*f0*t16); blks = zeros(1,k);% Melody by Schau_malpart1 = [mi1e fa1e so1e so1e so1e so1e so1f mi1e fa1e...so1e so1e so1e so1e so1f la1e ti1e...do2f mi1f mi1e re1e mi1e mi1e mi1e mi1e ...];part2=[ so1e so1e fa1e fa1e mi1e re1e do1e do1e mi1e...mi1e fa1e mi1e do1e do1f so1e so1e...so1e fa1e fa1e mi1e fa1e so1e so1e mi1e mi1e re1e re1e re1e ...];part3 = [mi1e fa1e so1e so1e so1e so1e so1f so1e so1e...so1e so1e so1e so1e so1f la1e ti1e...do2f mi1f mi1e re1e mi1e mi1e mi1e mi1e mi1e so1e...];part4 = [ so1e so1e fa1e fa1e mi1e re1e do1e do1e mi1e mi1e fa1e mi1e do1e so1e so1e...so1e fa1e fa1e mi1e fa1e so1e so1e la1e la1e so1e so1e la1f ti1f...do2e do2e re2e do2e do2f do2e do2e...ti1e do2e ti1e so1e so1e so1e so1e...la1f do1f do1f re1e mi1e mi1e so1e so1e mi1e re1f la1e ti1e...do2e do2e re2e do2e do2f do2e do2e...ti1e do2e ti1e so1e so1f so1e so1e...la1e do2e do2e do2e do2e do2e do2e...do2e re2s re2e do2e mi2e re2e re2f re2f re2f re2f re2f ...];part5 = [mi2f mi2e fa2e mi2e re2f do2e re2e so2e re2e re2f re2f...do2f do2e re2e do2f ti1e la1e...ti1f mi2e ti1e ti1e ...la1f re2e mi2e re2e do2e la1f ...so1f re2e mi2e re2e do2e la1f...];% Combination, v1 is complete version, v2 is simple version.v1 = [part1 part2 part3 part4 part5];s = v1;sound(s,fs);输入此代码后,即可使《当你孤单你会想起谁》以matlab的形式播放出来4:实验结果:经过matlab的处理后,《当你孤单你会想起谁》通过matlab播放了出来,并可以画出如下图片。

音乐合成实验报告

音乐合成实验报告

实验一音乐合成背景知识:乐音的基本特征可以用基波频率、谐波频率和包络波形三个方面来描述,我们用大写英文字母CDEFGAB表示每个音的“音名”(或称为“音调”),当指定某一音名时,它对应固定的基波信号频率。

图1表示钢琴的键盘结构,并注明了每个琴键对应的音名和基波频率值。

这些频率值是按“十二平均律”计算导出,下面解释计算规则:图1 钢琴键盘和相应频率从图1可以看到,靠下边的A键称为小字组A,它的频率值f A0 = 220Hz,而靠上面的另一个A键是小字一组A,它的频率值是f A1 = 440Hz。

两者为二倍频率关系,即f A1相当于f A0的二次谐波。

也称为8度音或倍频程Octave(即我们画频响特性图时所用的术语“倍频程”)。

从小字组A到小字一组A共有12个键,其中7个白色键,5个黑色键,其频率计算规律为相邻音倍乘系数K = 21/12 = 1.05946309,由此可求出图中各琴键对应之频率值。

从图1可以看出7个白建之间插入了5个黑键。

在EF之间和BC之间没有黑键,也即这两组相邻的白键之间的基波频率倍乘系数为21/12,也称为相隔半音,而在其他白键之间都有黑键相隔,因而他们的频率倍乘系数为22/12,也称为相隔全音(如CD、DE、FG……)。

若以白键英文字母为基准,则升高半音以“#”符号表示,降低半音则以“b”符号表示。

于是,可以依次写出12个音名从低到高的字母表示为:C,b D,D,b E,E,F,b G,G,b A,A,b B,B当然,若改用“#”号表示黑键,则b D改为#C,b E改为#D……下面给出“唱名”的概念。

所谓唱名是指平时读乐谱唱出的do,re,mi……每个唱名并未固定基波频率。

当指定乐曲的音调时才能知道此时唱名对应的音名,也即确定了对应的频率值。

下面给出一个乐曲的实例,练习写出每个唱名对应的基波频率值,如图2,这是《东方红》的开头两句曲谱,用简谱写出。

曲调定为F,于是可查出第一个音5对应C,频率值为523.25Hz,其他音之频率可依次写出。

matlab实验报告

matlab实验报告

matlab实验报告《matlab 实验报告》一、实验目的通过本次实验,熟悉 MATLAB 软件的基本操作和功能,掌握使用MATLAB 进行数学计算、数据处理、图形绘制等方面的方法和技巧,提高运用 MATLAB 解决实际问题的能力。

二、实验环境1、计算机:_____2、操作系统:_____3、 MATLAB 版本:_____三、实验内容及步骤(一)矩阵运算1、创建矩阵在 MATLAB 中,可以通过直接输入元素的方式创建矩阵,例如:`A = 1 2 3; 4 5 6; 7 8 9`,创建了一个 3 行 3 列的矩阵 A。

还可以使用函数来创建特定类型的矩阵,如全零矩阵`zeros(m,n)`、全 1 矩阵`ones(m,n)`、单位矩阵`eye(n)`等。

2、矩阵的基本运算加法和减法:两个矩阵相加或相减,要求它们的维度相同,对应元素进行运算。

乘法:矩阵乘法需要满足前一个矩阵的列数等于后一个矩阵的行数。

转置:使用`A'`来获取矩阵 A 的转置。

(二)函数的使用1、自定义函数可以在 MATLAB 中自定义函数,例如定义一个计算两个数之和的函数:```matlabfunction s = add_numbers(a,b)s = a + b;end```2、调用函数在命令窗口中输入`add_numbers(3,5)`即可得到结果 8。

(三)数据的读取和写入1、读取数据使用`load`函数可以读取数据文件,例如`load('datatxt')`。

2、写入数据使用`save`函数可以将数据保存到文件中,例如`save('resulttxt',A)`,将矩阵 A 保存到`resulttxt`文件中。

(四)图形绘制1、二维图形绘制折线图:使用`plot(x,y)`函数,其中 x 和 y 分别是横坐标和纵坐标的数据。

绘制柱状图:使用`bar(x,y)`函数。

2、三维图形绘制三维曲线:使用`plot3(x,y,z)`函数。

使用matlab进行简单音乐合成

使用matlab进行简单音乐合成

信号与系统-综合实验之音乐合成(1)请根据《东方红》片断的简谱和“十二平均律”计算出该片断中各个乐音的频率,在MATLAB 中生成幅度为1 、抽样频率为8kHz 的正弦信号表示这些乐音。

请用sound 函数播放每个乐音,听一听音调是否正确。

最后用这一系列乐音信号拼出《东方红》片断,注意控制每个乐音持续的时间要符合节拍,用sound 播放你合成的音乐,听起来感觉如何?代码如下:f =8000;t2=[0:1/f:1];t4=[0:1/f:0.5];t8=[0:1/f:0.25];omg5=523.35;omg6=587.33;omg2=392;omg1=349.23;omg6l=293.66;m1=sin(2*pi*omg5*t4);m2=sin(2*pi*omg5*t8);m3=sin(2*pi*omg6*t8);m4=sin(2*pi*omg2*t2);m6=sin(2*pi*omg1*t4);m7=sin(2*pi*omg1*t8);m8=sin(2*pi*omg6l*t8);m9=sin(2*pi*omg2*t2);m=[m1 m2 m3 m4 m6 m7 m8 m9];sound(m);听的时候发现在相邻乐音之间有杂音,这是由于相位不连续造成的。

(2)你一定注意到(1) 的乐曲中相邻乐音之间有“啪”的杂声,这是由于相位不连续产生了高频分量。

这种噪声严重影响合成音乐的质量,丧失真实感。

为了消除它,我们可以用图1.5 所示包络修正每个乐音,以保证在乐音的邻接处信号幅度为零。

此外建议用指数衰减的包络来表示。

我采用的是指数衰减的包络。

代码如下:f =8000;t2=[0:1/f:1];t4=[0:1/f:0.5];t8=[0:1/f:0.25];omg5=523.35;omg6=587.33;omg2=392;omg1=349.23;omg6l=293.66;m1=exp(-2*t4).*sin(2*pi*omg5*t4);m2=exp(-4*t8).*sin(2*pi*omg5*t8);m3=exp(-4*t8).*sin(2*pi*omg6*t8);m4=exp(-1*t2).*sin(2*pi*omg2*t2);m6=exp(-2*t4).*sin(2*pi*omg1*t4);m7=exp(-4*t8).*sin(2*pi*omg1*t8);m8=exp(-4*t8).*sin(2*pi*omg6l*t8);m9=exp(-1*t2).*sin(2*pi*omg2*t2);m=[m1 m2 m3 m4 m6 m7 m8 m9];sound(m);第一次我采用的指数衰减没有时间前面的系数,即每个都只乘exp(t),没有系数;后来根据不同节拍,更改了不同的衰减系数,这样声音听起来感觉更加圆润。

变调音频实验报告(3篇)

变调音频实验报告(3篇)

第1篇一、实验背景随着数字音频技术的不断发展,音频处理技术在多媒体、语音识别、音乐制作等领域得到了广泛应用。

变调音频技术作为音频处理的一个重要分支,旨在通过调整音频的音调,实现对特定音频内容的修改和创作。

本实验旨在通过MATLAB软件,对音频进行变调处理,分析变调音频的特性及其应用。

二、实验目的1. 理解变调音频的基本原理,掌握变调音频的处理方法。

2. 利用MATLAB软件实现音频的变调处理,分析变调效果。

3. 探讨变调音频在语音识别、音乐制作等领域的应用。

三、实验原理变调音频处理主要包括以下步骤:1. 音频信号采集:采集原始音频信号,将其转换为数字信号。

2. 频率调整:根据需要调整音频信号的频率,实现音调变化。

3. 时域处理:对调整后的音频信号进行时域处理,如降噪、均衡等。

4. 输出:将处理后的音频信号输出,得到变调音频。

四、实验内容1. 实验材料:MATLAB软件、音频信号采集设备、变调音频素材。

2. 实验步骤:(1)打开MATLAB软件,导入音频信号。

(2)设置变调参数,如频率调整比例、时间扩展等。

(3)对音频信号进行频率调整,实现音调变化。

(4)对调整后的音频信号进行时域处理,如降噪、均衡等。

(5)输出处理后的变调音频。

3. 实验结果:(1)通过调整频率参数,成功实现音频信号的变调。

(2)时域处理后的变调音频音质较好,无明显失真。

(3)变调音频在语音识别、音乐制作等领域具有较好的应用前景。

五、实验分析1. 变调效果:通过实验,我们成功实现了音频信号的变调处理,调整频率参数可以实现对音调的精确控制。

实验结果表明,变调音频在保持原有音频内容的基础上,实现了音调的变化,具有较好的听感。

2. 时域处理:在变调处理过程中,对音频信号进行时域处理可以有效提高音频质量。

实验中,我们采用了降噪、均衡等方法,对调整后的音频信号进行处理,使得变调音频的音质得到了明显提升。

3. 应用前景:变调音频技术在语音识别、音乐制作等领域具有广泛的应用前景。

使用Matlab进行音频信号合成与分析的方法与案例

使用Matlab进行音频信号合成与分析的方法与案例

使用Matlab进行音频信号合成与分析的方法与案例引言音频信号的合成与分析在音频处理、音乐创作等领域有广泛应用。

Matlab作为一种强大的数学软件,提供了丰富的工具和函数用于音频信号的处理。

本文将介绍使用Matlab进行音频信号合成与分析的方法和案例,并探讨其在实际应用中的意义。

一、音频信号的合成方法1.1 基础的波形合成在Matlab中,我们可以通过调用包括sin、cos等基础函数来合成各种波形。

例如,我们可以使用sin函数来合成纯音,使用cos函数来合成方波。

通过调整波形的频率、振幅和相位等参数,可以合成出不同音调和声音效果。

1.2 使用合成器Matlab提供了多种合成器工具箱,如音频合成器工具箱、FM合成器工具箱等,可以更加方便地进行音频信号的合成。

这些工具箱提供了丰富的合成算法和参数,用户可以根据自己的需求进行灵活的合成操作。

1.3 使用采样音频数据合成除了基础的波形合成和合成器工具箱,Matlab还提供了读取和处理采样音频数据的函数。

用户可以通过读取现有的音频数据进行合成,或者通过采集音频信号来实时合成。

这种方法可以更加真实地模拟不同乐器或声音的效果。

二、音频信号的分析方法2.1 时域分析时域分析是指对音频信号在时间上的变化进行分析。

通过Matlab提供的时域分析函数,如plot、spectrogram等,可以绘制出音频信号的波形图、频谱图等。

通过对波形的幅度、频率和相位等特征进行分析,可以了解音频信号的基本特性和演化规律。

2.2 频域分析频域分析是指对音频信号在频率上的变化进行分析。

Matlab提供了一系列的函数和工具箱,如傅里叶变换、功率谱密度估计等,可以对音频信号进行频谱分析。

通过分析音频信号的频谱特征,可以提取出音频信号的频率分布、谱线强度等信息,进一步了解信号的频率结构和谐波关系。

2.3 声音参数的提取除了基本的时域和频域分析外,Matlab还提供了一系列函数和算法用于音频信号的参数提取,如音高、音量、声音的清晰度等。

Matlab音乐合成实验报告

Matlab音乐合成实验报告

音乐合成实验目录音乐合成实验 (1)摘要: (1)第一部分简单的合成音乐 (2)1.1合成《东方红〉〉 (2)1.2 除噪音,加包络 (3)1.3改变程序,实现1.2中的音乐升高和降低一个八度 (8)1.4 在1.2的音乐中加入谐波 (8)1.5 自选音乐合成 -- 《两只老虎》 (9)第二部分用傅里叶变换分析音乐 (10)2.1 载入fmt.wav并播放 (10)2.2 载入文件Guitar.mat,处理原始数据realwave (11)2.3 分析wave2proc的基波和谐波 (14)2.4 自动分析fmt.wav的音调和节拍 (17)第三部分基丁傅里叶级数的音乐合成 (20)3.1用2.3分析出来的结果重新加谐波 (20)3.2 通过2.4提取的吉他音调信息弹奏《东方红》 (21)实验收获 (22)本文共有三大部分:第一部分,简单的音乐合成;第二部分,用傅里叶变换分析音乐;第三部分,基丁傅里叶级数的音乐合成。

由潜入深,一步一步分析了用MATLAffi行音乐合成的过程。

通过本实验达到了加深对傅里叶级数和傅里叶分析的理解,熟悉对MATLABS本使用的目标。

1.1 合成《东方红》根据《东方红》第一小节的简谱和十二平均律计算出该小节每个乐音的频率,在MATLAB生成幅度为1,抽样频率为8kHz的正弦信号表示这些乐音,用sound 播放合成的音乐5 | 2 — 1 ] 161 2 - |压曲(嘉床如:>第〒小市曲谓由图可知《东方红》的曲调定为F,即1=F,对应的频率为349.23Hz,据此可以计算出其他乐音的频率,例如5对应的频率为7/12f5 = 349.23 x 2 = 523.25 , 一次类推计算出第一小节各乐音对应的频率为:在确定了各乐首的频率之后需要确定每个乐首的持续时间。

每小节有两拍,一拍的时间是0.5s ,因此各乐音的持续时间为:而在MATLAB表示乐音所用的抽样频率为fs=8000Hz,也就是所1s钟内有8000个点,抽样点数的多少就可表示出每个乐音的持续时间的长短。

matlab实验一实验报告

matlab实验一实验报告

matlab实验一实验报告实验一:Matlab实验报告引言:Matlab是一种强大的数学软件工具,广泛应用于科学计算、数据分析和工程设计等领域。

本实验旨在通过使用Matlab解决实际问题,探索其功能和应用。

一、实验目的本次实验的主要目的是熟悉Matlab的基本操作和常用函数,了解其在科学计算中的应用。

二、实验内容1. 数值计算在Matlab中,我们可以进行各种数值计算,包括基本的加减乘除运算,以及更复杂的矩阵运算和方程求解。

通过编写相应的代码,我们可以实现这些功能。

例如,我们可以使用Matlab计算两个矩阵的乘积,并输出结果。

代码如下:```matlabA = [1 2; 3 4];B = [5 6; 7 8];C = A * B;disp(C);```2. 数据可视化Matlab还提供了强大的数据可视化功能,可以将数据以图表的形式展示出来,更直观地观察数据的规律和趋势。

例如,我们可以使用Matlab绘制一个简单的折线图,来展示某个物体在不同时间下的位置变化。

代码如下:```matlabt = 0:0.1:10;x = sin(t);plot(t, x);xlabel('Time');ylabel('Position');title('Position vs. Time');```3. 图像处理Matlab还可以进行图像处理,包括图像的读取、处理和保存等操作。

我们可以通过Matlab对图像进行增强、滤波、分割等处理,以及进行图像的压缩和重建。

例如,我们可以使用Matlab读取一张图片,并对其进行灰度化处理。

代码如下:```matlabimg = imread('image.jpg');gray_img = rgb2gray(img);imshow(gray_img);```三、实验结果与分析在本次实验中,我们成功完成了数值计算、数据可视化和图像处理等任务。

matlab音乐处理合成实验报告

matlab音乐处理合成实验报告

MATLAB高级编程与工程应用语音合成综合实验姓名:班级:学号:日期:1.2.1 简单的合成音乐(1) 请根据《东方红》片断的简谱和“十二平均律”计算出该片断中各个乐音的频率,在MATLAB 中生成幅度为1 、抽样频率为8kHz 的正弦信号表示这些乐音。

请用sound 函数播放每个乐音,听一听音调是否正确。

最后用这一系列乐音信号拼出《东方红》片断,注意控制每个乐音持续的时间要符合节拍,用sound 播放你合成的音乐,听起来感觉如何?由“十二平均律”计算得到各个乐音的频率:“5”——“C”:523.25Hz“6”——“D”:587.33Hz“1”——“F”:349.23Hz“2”——“G”:392Hz“6.”频率是“6”的一半:293.66Hz代码:(project1_1_1.m)f=8000;T=1/f;t8=0:T:1*0.25;t4=0:T:2*0.25;t2=0:T:4*0.25;t1=0:T:8*0.25;part1=sin(2*pi*523.25*t4);part2=sin(2*pi*523.25*t8);part3=sin(2*pi*587.33*t8);part4=sin(2*pi*392.00*t2);part5=sin(2*pi*349.23*t4);part6=sin(2*pi*349.23*t8);part7=sin(2*pi*293.66*t8);part8=sin(2*pi*392.00*t2);total=[part1,part2,part3,part4,part5,part6,part7,part8];sound(total);试听发现,合成后的音乐基本保持了《东方红》的音调,但声音比较沉闷,相邻乐音之间有比较明显的“啪”的杂音。

(2) 你一定注意到(1) 的乐曲中相邻乐音之间有“啪”的杂声,这是由于相位不连续产生了高频分量。

这种噪声严重影响合成音乐的质量,丧失真实感。

matlab实验报告

matlab实验报告

matlab实验报告引言:Matlab(矩阵实验室)是一款功能强大的数值计算和科学计算软件,广泛应用于工程、科学和经济等领域。

本实验报告将探讨我在使用Matlab进行实验过程中的心得体会和实验结果。

实验一:图像处理在这个实验中,我使用Matlab对一张图像进行了处理,并应用了各种图像处理算法。

这包括图像增强、边缘检测和图像分割等技术。

通过Matlab的图像处理工具箱,我能够轻松调用各种算法函数,并对图像进行快速处理。

实验结果表明,Matlab图像处理工具箱提供了丰富的函数和算法,极大地方便了我们的图像处理工作。

实验二:模拟信号处理模拟信号处理是Matlab中的一个重要应用领域。

在这个实验中,我模拟了一个带噪声的正弦信号,并使用Matlab进行了噪声滤波和频谱分析。

通过使用Matlab的滤波函数,我能够有效地去除信号中的噪声,并还原出原始信号。

同时,Matlab提供了功能强大的频谱分析工具,我可以轻松地对信号的频率特性进行分析和可视化。

实验三:数据分析与统计数据分析与统计是Matlab的另一个重要应用领域。

在这个实验中,我使用Matlab对一组实验数据进行了分析和统计。

通过使用Matlab的统计函数和工具,我能够计算出数据的均值、方差、标准差等统计指标,并绘制出数据的直方图和散点图。

这些统计分析结果对我的实验研究提供了有力的支持,并帮助我更好地理解实验数据。

实验四:数值计算与优化数值计算与优化是Matlab的核心功能之一。

在这个实验中,我使用Matlab进行了一组数值计算和优化实验。

通过使用Matlab的数值计算函数和优化工具箱,我能够快速计算出复杂的数学问题,并找到最优解。

同时,在进行优化实验时,我可以设置各种约束条件和目标函数,从而得到最优解的参数值。

这些数值计算和优化工具极大地提高了我的研究效率和准确度。

结论:通过这些实验,我深刻认识到Matlab的强大功能和广泛应用领域。

无论是图像处理、信号处理、数据分析还是数值计算与优化,Matlab都提供了丰富的函数和工具,让我们能够快速高效地完成实验和研究工作。

matlab音乐合成课程设计

matlab音乐合成课程设计

matlab音乐合成课程设计一、课程目标知识目标:1. 理解Matlab软件在音乐合成中的应用,掌握相关的基础理论知识。

2. 学习并掌握Matlab中音频处理函数,如生成音调、调整音量、合成音色等。

3. 了解音乐的基本元素,如音符、音长、音量、音色等,并能运用Matlab进行表达。

技能目标:1. 能够运用Matlab软件编写简单的音乐合成程序,实现对基本音符和旋律的合成。

2. 学会使用Matlab对音乐进行剪辑、拼接和混音等操作。

3. 培养学生的创新思维和动手能力,使其能够独立设计和制作具有个人特色的音乐作品。

情感态度价值观目标:1. 培养学生对音乐合成和计算机编程的兴趣,激发其主动探索的精神。

2. 增强学生的团队协作意识,培养在创作过程中与他人分享、交流、合作的能力。

3. 引导学生关注音乐与科技相结合的发展趋势,培养其跨学科的综合素养。

本课程旨在通过Matlab音乐合成的学习,使学生掌握音乐合成的基本知识和技能,培养其创新意识和团队协作能力。

针对高年级学生的认知水平和学习特点,课程注重理论与实践相结合,以实际操作为主,让学生在动手实践中掌握知识,提高技能。

同时,课程强调个性化创作,鼓励学生发挥想象,勇于尝试,培养其独立思考和解决问题的能力。

通过本课程的学习,期望学生能够独立完成音乐作品的创作,并在创作过程中提升自己的综合素养。

二、教学内容1. Matlab基础知识回顾:数据类型、数组操作、循环与判断等。

2. 音频信号处理基础:声音的产生、传播,声音信号的数字化表示。

3. 音调生成:使用Matlab生成不同频率的音调,了解频率与音高的关系。

4. 音色合成:学习并实践合成器原理,利用Matlab函数创建不同乐器的音色。

5. 节奏与旋律:结合音乐理论知识,使用Matlab进行节奏和旋律的编程。

6. 音乐结构:介绍音乐的基本结构,如乐句、乐段、曲式等,并运用Matlab 进行创作。

7. 音频编辑:学习音频剪辑、拼接、混音等操作,掌握Matlab中相关函数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MATLAB高级编程与工程应用语音合成综合实验姓名:班级:学号:日期:1.2.1 简单的合成音乐(1) 请根据《东方红》片断的简谱和“十二平均律”计算出该片断中各个乐音的频率,在MATLAB 中生成幅度为1 、抽样频率为8kHz 的正弦信号表示这些乐音。

请用sound 函数播放每个乐音,听一听音调是否正确。

最后用这一系列乐音信号拼出《东方红》片断,注意控制每个乐音持续的时间要符合节拍,用sound 播放你合成的音乐,听起来感觉如何由“十二平均律”计算得到各个乐音的频率:“5”——“C”:“6”——“D”:“1”——“F”:“2”——“G”:392Hz“6.”频率是“6”的一半:代码:()f=8000;T=1/f;t8=0:T:1*;t4=0:T:2*;t2=0:T:4*;t1=0:T:8*;part1=sin(2*pi**t4);part2=sin(2*pi**t8);part3=sin(2*pi**t8);part4=sin(2*pi**t2);part5=sin(2*pi**t4);part6=sin(2*pi**t8);part7=sin(2*pi**t8);part8=sin(2*pi**t2);total=[part1,part2,part3,part4,part5,part6,part7,part8];sound(total);试听发现,合成后的音乐基本保持了《东方红》的音调,但声音比较沉闷,相邻乐音之间有比较明显的“啪”的杂音。

(2) 你一定注意到(1) 的乐曲中相邻乐音之间有“啪”的杂声,这是由于相位不连续产生了高频分量。

这种噪声严重影响合成音乐的质量,丧失真实感。

为了消除它,我们可以用图所示包络修正每个乐音,以保证在乐音的邻接处信号幅度为零。

此外建议用指数衰减的包络来表示。

首先尝试用折线包络,编写函数生成所需折线:function envelope = envelope_line(t)envelope(1:floor(t/8)) = linspace(0,1,floor(t/8));envelope(floor(t/8)+1:floor(t/4)) = linspace(1,,floor(t/4)-floor(t/8)));envelope(floor(t/4)+1:floor(3*t/4)) = linspace,,floor(t*3/4)-floor(t/4));envelope(floor(3*t/4)+1:t) = linspace,0,floor(t)-floor(3*t/4));对中的部分代码进行修改,调用envelope_line实现折线包络:()part1=sin(2*pi**t4).*envelope_line(t4);part2=sin(2*pi**t8).*envelope_line(t8);part3=sin(2*pi**t8).*envelope_line(t8);part4=sin(2*pi**t2).*envelope_line(t2);part5=sin(2*pi**t4).*envelope_line(t4);part6=sin(2*pi**t8).*envelope_line(t8);part7=sin(2*pi**t8).*envelope_line(t8);part8=sin(2*pi**t2).*envelope_line(t2);试听结果杂音明显减少,但声音还比较生硬,尝试用指数衰减的包络来表示。

也是对中的部分代码进行修改()part1=sin(2*pi**t4).*exp(-2*t4);part2=sin(2*pi**t8).*exp(4*t8);part3=sin(2*pi**t8).*exp(4*t8);part4=sin(2*pi**t2).*exp(1*t2);part5=sin(2*pi**t4).*exp(2*t4);part6=sin(2*pi**t8).*exp(4*t8);part7=sin(2*pi**t8).*exp(4*t8);part8=sin(2*pi**t2).*exp(1*t2);试听结果比较好,声音很圆润,但仔细听的话也能发现杂音。

(3) 请用最简单的方法将(2) 中的音乐分别升高和降低一个八度。

(提示:音乐播放的时间可以变化)再难一些,请用resample 函数(也可以用interp 和decimate 函数)将上述音乐升高半个音阶。

(提示:视计算复杂度,不必特别精确)方法一:在正弦信号内添加系数改变其频率。

升高八度:part1=sin(4*pi**t4).*exp(-4*t4);part2=sin(4*pi**t8).*exp(8*t8);part3=sin(4*pi**t8).*exp(8*t8);part4=sin(4*pi**t2).*exp(2*t2);part5=sin(4*pi**t4).*exp(4*t4);part6=sin(4*pi**t8).*exp(8*t8);part7=sin(4*pi**t8).*exp(8*t8);part8=sin(4*pi**t2).*exp(2*t2);high8_total=[part1,part2,part3,part4,part5,part6,part7,part8];sound(high8_total);降低八度:part1=sin(1*pi**t4).*exp(-1*t4);part2=sin(1*pi**t8).*exp(2*t8);part3=sin(1*pi**t8).*exp(2*t8);part4=sin(1*pi**t2).*exp*t2);part5=sin(1*pi**t4).*exp(1*t4);part6=sin(1*pi**t8).*exp(2*t8);part7=sin(1*pi**t8).*exp(2*t8);part8=sin(1*pi**t2).*exp*t2);low8_total=[part1,part2,part3,part4,part5,part6,part7,part8];sound(low8_total);方法二:直接调用resample函数。

升高八度:high8_total=resample(total,1,2);降低八度:low8_total=resample(total,2,1);x 104x 104升高半个音阶:根据“十二平均律”中2^(1/12)=highhalf_total=resample(total,1,2);(4) 试着在(2) 的音乐中增加一些谐波分量,听一听音乐是否更有“厚度”了注意谐波分量的能量要小,否则掩盖住基音反而听不清音调了。

(如果选择基波幅度为1 ,二次谐波幅度0:2 ,三次谐波幅度0:3 ,听起来像不像象风琴)()part1=sin(2*pi**t4).*exp(-2*t4)+*sin(4*pi**t4).*exp(-2*t4)+*sin(6*pi**t4).*exp(-2*t 4);part2=sin(2*pi**t8).*exp(4*t8)+*sin(4*pi**t8).*exp(4*t8)+*sin(6*pi**t8).*exp(4*t8); part3=sin(2*pi**t8).*exp(4*t8)+*sin(4*pi**t8).*exp(4*t8)+*sin(6*pi**t8).*exp(4*t8); part4=sin(2*pi**t2).*exp(1*t2)+*sin(4*pi**t2).*exp(1*t2)+*sin(6*pi**t2).*exp(1*t2); part5=sin(2*pi**t4).*exp(2*t4)+*sin(4*pi**t4).*exp(2*t4)+*sin(6*pi**t4).*exp(2*t4); part6=sin(2*pi**t8).*exp(4*t8)+*sin(4*pi**t8).*exp(4*t8)+*sin(6*pi**t8).*exp(4*t8); part7=sin(2*pi**t8).*exp(4*t8)+*sin(4*pi**t8).*exp(4*t8)+*sin(6*pi**t8).*exp(4*t8); part8=sin(2*pi**t2).*exp(1*t2)+*sin(4*pi**t2).*exp(1*t2)+*sin(6*pi**t2).*exp(1*t2);试听结果确实变得醇厚了,有风琴的感觉。

(5) 自选其它音乐合成,例如贝多芬第五交响乐的开头两小节。

我选取了一首儿歌《粉刷匠》()f=8000;T=1/f;t8=0:T:1*;t4=0:T:2*;t2=0:T:4*;t1=0:T:8*;part1=sin(2*pi**t8).*exp(4*t8);part2=sin(2*pi**t8).*exp(4*t8);part3=sin(2*pi**t8).*exp(4*t8);part4=sin(2*pi**t8).*exp(4*t8);part5=sin(2*pi**t8).*exp(4*t8);part6=sin(2*pi**t8).*exp(4*t8);part7=sin(2*pi**t4).*exp(2*t4);part8=sin(2*pi**t8).*exp(4*t8);part9=sin(2*pi**t8).*exp(4*t8);part10=sin(2*pi**t8).*exp(4*t8);part11=sin(2*pi**t8).*exp(4*t8);part12=sin(2*pi**t2).*exp(1*t2);total=[part1,part2,part3,part4,part5,part6,part7,part8,part9,part10,part11,part12]; plot(total);sound(total);-1-2-3x 1041.2.2 用傅里叶级数分析音乐(6) 先用wavread 函数载入光盘中的文件,播放出来听听效果如何是否比刚才的合成音乐真实多了()x=wavread('');plot(x);sound(x);4x 10试听结果的确真实许多。

(7) 你知道待处理的wave2proc 是如何从真实值realwave 中得到的么这个预处理过程可以去除真实乐曲中的非线性谐波和噪声,对于正确分析音调是非常重要的。

提示:从时域做,可以继续使用resample 函数。

这题开始时没有理解题目要求,不知道如何入手,于是在CSDN上查找帮助。

要去除非线性杂波和噪声,首先要找出它们与真实乐曲的区别。

相关文档
最新文档