MATLAB 高级编程与工程应用 音乐合成 实验报告+源代码.Image.Marked.pdf

MATLAB 高级编程与工程应用 音乐合成 实验报告+源代码.Image.Marked.pdf

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLAB高级编程与工程应用音乐合成实验报告源代码.Image.Marked

MATLAB 高级编程与工程应用 实验一 音乐合成 第一部分 简单的合成音乐 (1) 请根据《东方红》片断的简谱和“十二平均律”计算出该片断中各个乐音的 频率,在MATLAB 中生成幅度为1 、抽样频率为8kHz 的正弦信号表示这些乐 音。请用sound 函数播放每个乐音,听一听音调是否正确。最后用这一系列乐 音信号拼出《东方红》片断,注意控制每个乐音持续的时间要符合节拍,用 sound 播放你合成的音乐,听起来感觉如何? 分析: 已知F 调唱名与音名之对应关系如下: 440 音1 对应的是F,频率是 = 349.23Hz 4 212 440 音2 对应的是G,频率是 = 392.00Hz 2 212 440 音5 对应的是C,频率是 = 523.25Hz 3 212 音6 下面加了点,对应的是D 还要降一阶,频率是440 = 293.67Hz 5 +1 212 对于 《东方红》的前四小节: 我们可以列表表示每个音的频率与持续时间如下: 乐音 5 5 6 2 1 1 6 2 频率/Hz 523.25 523.25 587.33 392.00 349.23 349.23 293.67 392.00 持续时间/s 0.5 0.25 0.25 1 0.5 0.25 0.25 1 运行文件sound_1_1.m 播放音乐,听起来效果不是很好,只是调子上符合了,在相邻的 乐音之间有断开的感觉。 代码如下: sound_1_1.m clear;clc;close all; Fs = 8000; %定义抽样频率 f = [523.25,523.25,587.33,392.00,349.23,349.23,293.67,392.00]; num = Fs*[0.5,0.25,0.25,1,0.5,0.25,0.25,1]; N = length(num); %总的乐音数目 song = zeros(1,Fs*4); %定义总的抽样记录 number = 1; %定义已经记录到的位置 for n = 1:N %循环确定各抽样记录 t = 1/Fs:1/Fs:num(n)/Fs; song(number:number + num(n) - 1) = sin(2*pi*f(n)*t); number = number + num(n); end sound(song,Fs); %播放总的乐音 (2) 你一定注意到(1) 的乐曲中相邻乐音之间有“啪”的杂声,这是由于相位不 连续产生了高频分量。这种噪声严重影响合成音乐的质量,丧失真实感。为了 消除它,我们可以用图1.5 所示包络修正每个乐音,以保证在乐音的邻接处信 号幅度为零。此外建议用指数衰减的包络来表示1 。 分析: 首先采用图1.5 所示的包络来进行修正:

文档评论(0)

bodkd + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档