论文部分内容阅读
随着多媒体技术的发展和音频数据的膨胀,音乐分析在音乐数据库检索技术、乐器调音技术和自动记谱技术中有很重要的应用价值。根据MIDI文件描述音乐旋律的方法,由音符的音高(音调)和时值(时长)就可确定歌曲旋律。目前有很多类似Cakewalk的音乐创作软件都集成了音乐分析功能,通过检测音符的音高和长短,把音乐信号转变为MIDI格式符号记录下来。但这些软件都需要以PC机为载体,给广大音乐爱好者和创作者带来了极大的不方便。因此本文在音符音高识别和时长检测技术的基础上,设计了一款基于DSP的具有自动记谱功能和乐器调音功能的音乐分析系统。首先本文对音乐识别方法进行了研究。先是对传统的时域和变换域的各种音高识别方法(包括并行处理法、谐波峰值法和小波分析法等)进行了研究,分析了其优点和不足,在此基础上提出了一种基于自相关处理和快速傅立叶变换(FFT)的音高识别方法,然后根据语音短时分析技术设计了音符时值算法,并进行了仿真实验,仿真结果表明该方法可行、快速可靠。其次综合考虑体积、功耗和实时性等因素设计了硬件系统。系统中以DSP芯片TMS320VC5502为核心运算处理器、ARM芯片S3C44B0X为主控制器、24位低功耗专用语音模数转换芯片CS53L21为音频采集器,详细设计了各模块间的硬件接口以及总线连接。然后对识别算法在硬件系统上的实现进行了研究。整体程序设计采用以C代码为主,对耗时严重的FFT算法采用汇编代码内嵌于C代码中的方法,大大提高了实时性。接收采样数据部分采用队列数据结构,也很好地节省了存储空间。文章最后对本文做出了总结。提出了一些在今后工作中需要改进的问题,并对近几年来的一些新的研究趋势做了简单的介绍和展望。