网站大量收购独家精品文档,联系QQ:2885784924

基于自动识别乐谱音乐的研究.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
“标准美女”出售国内外标准、论文、大学课件、考研资料等 - - PAGE 1 - 基于自动识别乐谱音乐的研究 董向林 武汉理工大学 信息工程学院,武汉 (430070) Email: HYPERLINK mailto:dongxianglin@ dongxianglin@ 摘 要:本文描述了基于自动识别乐谱的方法,分析了音符与频率之间的对应关系,通过对 计算机发声频率的控制来发出不同的声音,完成对乐谱的识别,通过给定的乐谱来实现定制 的编码以及实现计算机自动演奏的功能。同时亦可以通过语音口读入音乐通过计算机来识别 乐谱。 关键词:自动识别;乐谱编码;语音处理;音符控制 1. 引言 现在各种乐谱编码与解码器层出不穷,各平台、甚至跨平台的音乐播放软件。生活少不 了音乐,音乐给世界带来了精彩。各种电子产品几乎都带有音乐播放器,那么在这些产品当 中,是如何实现对音乐的分析的呢?自此只想初略的介绍下个人对其中乐谱编码与乐谱识别 的体会与所得。 2. 概述 2. 1 技术背景 在对乐谱进行编码与解码,利用音符与频率的关系来让计算机识谱。同时可反过来,亦 将播放的乐谱来写出乐谱,进行计算机自动识谱。本文的关键是进行乐谱的识别,乐谱用扫 描仪输入,经过预处理,去除噪音,再进行识别,其间主要是通过频率与时间的对应来确定 音符,从而可编写出乐谱。 2.2 音符与频率关系 通过指定频率打开 pc 机的扬声器直到关闭扬声器,同时可以通过控制时钟来控制发声 时间,而且不受 pc 机主频高低的影响。下图为音符与频率的关系表。通过此表便可通过频 率来控制音符了。 表 1-1 音符与频率关系表 n f 低音 c d e f g a b 音符 1 2 3 4 5 6 7 频率 262 294 330 349 392 440 494 中音 c d e f g a b 音符 1 2 3 4 5 6 7 频率 523 578 659 698 784 880 988 高音 c d e f g a b 音符 1 2 3 4 5 6 7 频率 1047 1175 1318 1480 1568 1760 1976 3. 自动识谱 3.1. 自定义曲谱的编码 音乐的简谱是由各种音符构成的,将这些音符按不同的频率持续时间连续发出声音, 就形成了旋律。音乐演奏的关键是曲调的定义与识别及发音时间的控制。为了实现自动识谱, 可定义一套曲调的编码。现在我将 1 2 3 4 5 6 7 这种形式定为低音形式,中音可在低音上加 点“?”如“1 ”。减号“-”表示两拍。“ ? ”表示一拍半,如“1i ”。“ ”表示四分之一拍,如“ 2 ”, 下划线“_”表示二分之一拍。“ ? ”下点表示四分之三拍,如“ 6 ”。这样我们就可以用文本来编 辑这些曲谱,然后通过程序一一读取。可以通过人工设定乐谱文件的第一节的数字分别为: 节拍基数和速度,中间以“—”分开,乐谱文件的第二行起为歌曲的内容,每小节以“|”分开。 如下一首“世上只有妈妈好”的编制曲谱文件。 8-50 6 ?  5  3 5 | 1 6 5  6 - | 3 5 6  5 3 2  | 1 6 5 3  2 - | 2 ?  3 5 5 6 | 3 2 1 - | 5 ?  3 2 1 6 1 | 5 - - - | 如此便可设定时钟与频率,只需要读取文件便可获取曲谱。 3.2. 程序流程 开始 打开指定的.txt 文件 读取第一行 获取节拍数和演 奏速率 设定节拍时间 获取歌曲内容 是否为文件结束 N Y 通过所定制的编码进行发 音 Exit 图 1-2 程序流程图 获取第一行如果像 3.1 所示 8-50,那么所获取的每节拍演奏时间应乘以 2,因为是八节 拍,而我们所定制的是四节拍的,所以应该乘以 2。每个音符用 1 个字节,字节的高 4 位代 表音符的高低,低 4 位代表音符的节拍,如果 1 节拍是 0.4 秒,则 1/4 拍就是 0.1 秒。其他节 拍为 1/4 拍的整数倍。延时时间即应为 delay(2*rate*t) (t 为所定制节拍率)。如 3.1 所示的“-” 表示两拍,即 t 就为 2 了。依次类推,便可获取各个音符的节拍。获取频率可以通过 3.1 所 示的低、中、高音来设置频率。通过 sound(freq)方法来设置。由此便可完成发音功能,演奏 乐谱了。 4. 语音识谱的实现 同样的,反过来通过语音口,计算机获取到演奏的曲调来进行自动识谱,将所演奏的 曲调通过指定的编码方式进行写入到指定的文件中。那么首先针对主要的问题便是去除噪 音,滤波、经过预处理[5]。获取没有噪音混杂的声音文件,通过对比频率以及记录时间的长

文档评论(0)

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

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

1亿VIP精品文档

相关文档