数字信号课程设计—钢琴琴键声音合成

合集下载

c语言电子钢琴课程设计

c语言电子钢琴课程设计

c语言电子钢琴课程设计一、课程目标知识目标:1. 学生能理解C语言在电子钢琴程序设计中的应用,掌握基础编程语法和结构。

2. 学生能运用C语言中的函数、循环和条件语句等编写简单的电子钢琴程序。

3. 学生了解声音产生原理,掌握利用C语言模拟生成不同音调的方法。

技能目标:1. 学生能够运用所学的C语言知识,独立设计并编写出具有基本功能的电子钢琴程序。

2. 学生通过实践操作,培养解决问题的能力和逻辑思维能力。

3. 学生能够进行程序调试,优化程序性能,提高代码质量。

情感态度价值观目标:1. 学生在学习过程中,培养对编程的兴趣和热情,树立编程改变生活的观念。

2. 学生通过团队合作,培养沟通协作能力和团队精神。

3. 学生在创作电子钢琴程序的过程中,体验创新乐趣,提高自信心和成就感。

课程性质:本课程为实践性较强的课程,结合C语言编程和电子钢琴知识,培养学生编程技能和实际应用能力。

学生特点:学生处于高中年级,具备一定的逻辑思维能力和编程基础,对新鲜事物充满好奇心,喜欢动手实践。

教学要求:教师应注重理论与实践相结合,引导学生主动参与,激发学生兴趣,提高学生的编程能力和创新能力。

在教学过程中,关注学生的个体差异,给予个性化指导。

通过课程目标的设定,使学生在学习过程中有明确的成果导向,便于教学设计和评估。

二、教学内容1. C语言基础语法复习:变量定义、数据类型、运算符、控制结构(循环、条件语句)。

相关教材章节:第一章至第三章。

2. 函数的定义与调用:理解函数的作用,掌握函数的定义、调用和参数传递。

相关教材章节:第四章。

3. 数组与指针:了解数组的使用,认识指针的概念,学会指针操作。

相关教材章节:第五章、第六章。

4. 声音产生原理:介绍声音的基本概念,理解音频信号的产生与处理。

相关教材章节:附录部分或拓展资料。

5. 电子钢琴程序设计:利用C语言编写电子钢琴程序,实现不同音调的模拟。

教学安排:5.1 设计电子琴界面,实现键盘与音调的对应关系。

二年级音乐教案:音乐制作与数字合成教学

二年级音乐教案:音乐制作与数字合成教学

本篇教案以音乐制作和数字合成为主要内容,为二年级学生在音乐教育中注入更为先进和多元的元素,提高学生的音乐素养,增强学生的音乐欣赏能力,同时也拓展了教育和教学的多元化。

下面分别从以下几个方面来介绍本篇教案的内容和实施步骤。

一、教案的目的1.了解音乐制作的基本知识和技术,掌握常用的数字合成工具和音乐软件。

2.引导学生通过创作和演奏体验音乐乐理知识、音乐情感,培养对音乐的认知和欣赏能力。

3.培养学生的合作精神,增强学生的自主学习和探索能力。

二、教学内容和实施步骤1.音乐制作基础知识的介绍(1)声音的基本构成和音色的概念(2)数字化音乐制作的基本流程和技巧(3)数字合成的基本原理和技术(4)音乐软件及其功能的介绍2.数字合成实践活动(1)介绍常用的数字合成器、音频接口等设备的概念和使用方法。

(2)通过对数字合成音乐进行分析和编排,培养学生的音乐感受力,提高学生对音乐的认知和理解。

(3)通过多次集体和个人练习,培养学生的合作精神,并提高学生对整体音乐效果的把握。

3.音乐创作实践活动(1)通过分析音乐作品的形式、节奏和曲式等,教授学生音乐创作的基本技巧。

(2)鼓励学生发挥自己的想象力和创造力,尝试制作自己的音乐作品,并进行演唱和表演。

4.教学评价和总结(1)对学生的合作、创新、表现等多个方面进行评价,并提出具体的建议。

(2)促进学生对所学知识的巩固和提高,让学生通过教学实践活动得到全面的音乐教育。

三、教学策略和建议1.注重实践,避免单纯的理论教学。

2.把教师作为指导者,鼓励学生进行多次实践和探索。

3.结合学生的实际情况,针对性地设计课程内容和教学方法。

4.借鉴和利用多种教学手段,如幻灯片展示、现场演示等,以便更好地诠释知识点和技能。

通过音乐制作和数字合成教学的实践,我们可以让学生拥有更为广泛的音乐视野和思路,培养学生的多元化才能和创新能力,同时也能更好地完成音乐教育的全面目标和任务。

微机课程设计报告计算机钢琴的程序编写

微机课程设计报告计算机钢琴的程序编写

微机课程设计报告计算机钢琴的程序编写微机课程设计题目计算机钢琴的程序编写学院物信学院专业电子信息工程班级电信班姓名学号指导教师一.实验目的1.掌握利用pc机扬声器发出不同频率声音的方法。

2.学习利用系统功能调用从键盘上读取字符的方法。

二.实验内容编写程序,程序运行时使pc机成为一架可弹奏的”钢琴”。

当按下数字1-8时,或者按下小键盘上的1-8时,依次发出1,2,3,4,5,6,7,i八个音调.按下ESC键则退出”钢琴”状态。

三.设计思想1. 分析这个设计课题,应使用到8253和8255芯片。

通过给8253定时器装入不同的计数值,可以使其输出不同频率的波形.当与门打开后,经过放大器的放大作用,便可驱动扬声器发出不同频率的音调.要使音调的声音持续一端时间,只要插入一端延时程序之后,再将扬声器切断(关闭与门).另外,要使计算机成为可弹奏的钢琴,需要使用系统调用的01H功能以接收键入字符,并且要建立一张表,使键入字符与频率构成一个对应关系.键入字符1 2 3 4 5 6 7 8 音符1 2 3 4 5 6 7 8(i) 频率值524 588 660 698 784 880 988 1048四.设计过程一.扬声器的驱动分析该程序主要是驱动电脑主板上的扬声器,根据音阶音调不同的频率值,来是扬声器发出不同的声音,从而产生想弹钢琴一样的感觉,当然音质是不能相提并论的。

在电路上如下图2-1所示:8255(PB1)图2-18253的电路连接图在PC/XT/AT家族中,计时器芯片的3个通道都用其专门的功能,通道2是用来控制计算机的扬声器的声音频率的。

通道2用于产生频率信号,故工作方式在方式3,计数值为6A4H=1190,方波输出频率为1.19MHz/1190=1KHz,此信号决定了扬声器的声调,而通道2的控制字则为0B6H,1.19M约等于十六进制*****CH。

由图1-1可知8253的通道2计数由8255A的PB0控制,当PB0输出为高电平的时候,是门GATE2为高电平。

声音合成的实验报告

声音合成的实验报告

声音合成的实验报告引言声音合成是一种通过模拟自然声音或生成人工声音的技术,通过使用声音合成器或数字信号处理器来生成声音信号。

声音合成在多个领域有着广泛的应用,包括音乐产业、语音合成、游戏设计等。

本实验旨在探究声音合成技术的原理和应用。

实验目的1. 了解声音合成的基本原理;2. 掌握声音合成的常用方法和技术;3. 熟悉声音合成器的使用;4. 分析声音合成的应用领域。

实验过程1. 声音合成的基本原理声音合成的基本原理是通过调节频率、振幅、持续时间和波形等参数来模拟声音信号。

常用的声音合成方法包括加法合成、减法合成和物理模拟等。

加法合成是通过将多个简单的波形叠加在一起来生成复杂的声音。

这些简单的波形包括正弦波、方波、锯齿波等。

通过调节每个波形的频率、振幅和相位,可以产生丰富多变的声音。

减法合成是通过从复杂波形中减去一些成分来生成声音。

这种方法常用于合成乐器音色、人声等。

物理模拟是通过模拟物体的振动和共鸣特性来产生声音。

这种方法常用于合成真实乐器的声音。

2. 声音合成器的使用在实验中,我们使用了一款声音合成器软件来生成声音信号。

该软件提供了丰富的合成方法和参数调节选项。

首先,我们选择了加法合成方法,并设置了频率、振幅和波形参数。

通过调节这些参数,我们可以听到不同的声音效果。

接下来,我们尝试了减法合成方法。

选择了复杂的波形作为基准波形,并减去一些成分来调整声音的特性。

通过逐步调整减去的成分,我们成功合成了近似真实的人声。

最后,我们尝试了物理模拟方法。

通过模拟琴弦振动的特性,我们成功合成了类似于钢琴音的声音。

3. 声音合成的应用领域声音合成在音乐产业、语音合成、游戏设计等领域有着广泛的应用。

在音乐产业中,声音合成被广泛用于合成器、音频插件和音乐软件中,用于创作和演奏各种音乐作品。

在语音合成中,声音合成技术能够将文字转化为语音,广泛应用于语音助手、自动应答系统和阅读辅助设备等。

在游戏设计中,声音合成技术可以为游戏角色和特效音效提供丰富多样的声音效果,增强游戏的沉浸感和真实感。

钢琴音色合成工作原理

钢琴音色合成工作原理

钢琴音色合成工作原理钢琴作为一种极富表现力和魅力的乐器,其音色合成是一个非常复杂而精密的过程。

本文将探讨钢琴音色合成的工作原理,揭示其背后的科学和技术。

一、音色的定义与描述音色是指不同乐器或声音之间的区别和特征,是人们区分声音来源的重要依据。

对于钢琴音色的描述,通常包括音色的明亮度、宽广度、富有度、纯净度和富饶度等方面。

钢琴音色的合成就是通过模拟特定的声波形状和频谱成分,以产生类似于真实钢琴的声音效果。

二、物理模型合成法物理模型合成法是钢琴音色合成的主要方法之一。

该方法通过数学模型和物理方程的运算,模拟钢琴弦的振动和共振特性,从而生成逼真的钢琴音色。

具体而言,物理模型合成法利用了振动力学理论和傅里叶分析等数学原理,以及大量钢琴的实际声学数据,通过计算机算法实现钢琴音色的合成。

三、采样合成法采样合成法是另一种常用的钢琴音色合成方法。

该方法基于采样技术,即将真实钢琴演奏的声音信号进行录制和采样,然后通过数学运算将采样的音频信息合成为钢琴音色。

采样合成法的关键在于采样的质量和数量,要求尽可能多的采集不同音符、不同力度和不同乐器动作的声音,以保证合成音色与原音的高度相似。

四、滤波合成法滤波合成法是一种基于滤波器的音色合成方法。

该方法将钢琴音色视为复杂的音频信号,然后通过滤波器对原始信号进行加工处理,消除不需要的频谱成分,突出钢琴音色的特征。

滤波合成法可以根据需要调整滤波器的参数和设置,从而实现对钢琴音色的定制和改造。

五、波表合成法波表合成法是一种基于波表技术的音色合成方法。

该方法通过事先准备好的波表数据,包含了钢琴不同音高和音色的信息,然后根据演奏的音符和乐器动作,从波表中提取对应的音色数据,进行合成。

波表合成法具有较快的实时处理速度和较小的存储空间需求,而且可以灵活地调整波表数据,以获得所需的音色效果。

总结起来,钢琴音色的合成是通过物理模型合成法、采样合成法、滤波合成法和波表合成法等不同的技术手段来实现的,每种方法都有其独特的优势和适用范围。

音乐合成实验报告

音乐合成实验报告

实验一音乐合成背景知识:乐音的基本特征可以用基波频率、谐波频率和包络波形三个方面来描述,我们用大写英文字母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,其他音之频率可依次写出。

基于8086钢琴的程序设计 自动化课程设计报告

基于8086钢琴的程序设计 自动化课程设计报告

Hefei University微机原理课程设计报告课题名称:基于8086钢琴的程序设计班级:09自动化(1)班报告人:指导教师:2011 年 12 月 30 日目录摘要: (3)关键字: (3)正文: (3)一、总体框图 (3)二、方案的论证 (3)三、电路设计 (4)3.1 扬声器接口电路 (4)3.2键盘模块 (4)3.3 总电路系统 (5)四、软件设计流程图 (6)4.1主流程图 (6)4.2键盘扫描子程序图 (7)五、c51单片机系统仿真实现 (9)六、总结与体会 (9)参考文献: (9)附件一、自动化专业微机原理课程设计任务书 (10)附件二:汇编程序清单 (11)附件三:C语言程序清单 (15)基于8086钢琴的程序设计摘要:本设计以8086为主体,结合使用8255,8253及相关电路设计利用键盘输入发出不同频率的的音调。

利用8255检测键盘,根据输入信号驱动数码管显示,控制8253,完成输入与检测;利用8253的分频输出不同的信号,经放大驱动扬声器发出声音。

关键字: 8086、8255、8253、键盘正文:一、总体框图本系统主要有两个功能模块组成:键盘扫描,蜂鸣器发声。

围绕这二个功能需要用到三个主要芯片:8086,8255,8253。

首先8086主芯片负责数据交换与处理,芯片初始化等。

系统开始时对键盘进行扫描,有输入信号时,8255采集信号并输入8086进行处理, 8086接到8255输入的信号时,调用与之相关的初始值n,输入到8253,对clock进行分频输出不同的频率信号,驱动扬声器发出不同的音调,同时8255对8253进行控制并对信号进行采集送到8086,决定发声时间的长短。

二、方案的论证扬声器接口由8255、8253、驱动器和低通滤波器等构成,8255做控制器,8253做音频信号源。

根据音阶频率表,利用8253可以产生相应频率的脉冲信号,不同频率的脉冲信号经驱动电路放大后,就会发生不同的音调。

数字信号的课程设计

数字信号的课程设计

数字信号的课程设计一、教学目标本节课的教学目标是使学生掌握数字信号的基本概念、特点和应用,能够理解并区分模拟信号和数字信号,掌握数字信号的采样、量化、编码和调制等基本过程,了解数字信号处理的基本方法,提高学生的科学素养和应用能力。

具体来说,知识目标包括:1.掌握数字信号的基本概念、特点和应用。

2.理解并区分模拟信号和数字信号。

3.掌握数字信号的采样、量化、编码和调制等基本过程。

4.了解数字信号处理的基本方法。

技能目标包括:1.能够运用数字信号的基本概念和原理分析实际问题。

2.能够进行数字信号的采样、量化、编码和调制等基本操作。

3.能够运用数字信号处理的方法解决实际问题。

情感态度价值观目标包括:1.培养学生对数字信号的兴趣和好奇心,激发学生的学习热情。

2.培养学生团队合作精神,提高学生的问题解决能力。

3.使学生认识到数字信号在现代科技中的重要地位和作用,培养学生的社会责任感和使命感。

二、教学内容本节课的教学内容主要包括数字信号的基本概念、特点和应用,模拟信号与数字信号的比较,数字信号的采样、量化、编码和调制等基本过程,以及数字信号处理的基本方法。

具体来说,教学内容的安排如下:1.引入数字信号的基本概念,介绍数字信号与模拟信号的区别,引出数字信号的特点和应用。

2.讲解数字信号的采样过程,包括采样定理和采样频率的选择,让学生理解采样的基本原理和方法。

3.讲解数字信号的量化过程,包括量化的基本概念、量化误差和量化等级,让学生掌握量化的基本方法和注意事项。

4.讲解数字信号的编码过程,包括编码的基本概念和常用的编码方法,让学生了解编码的目的和常用技术。

5.讲解数字信号的调制过程,包括调制的基本概念和常用的调制方法,让学生掌握调制的原理和应用。

6.介绍数字信号处理的基本方法,包括滤波、编码解码、信号合成等,让学生了解数字信号处理的方法和应用。

三、教学方法为了激发学生的学习兴趣和主动性,本节课将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。

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

洛阳理工学院课程设计报告课程名称数字信号处理设计题目钢琴琴键声音合成专业通信工程班级B100509学号B********姓名周东煜完成日期2013年5月28日课程设计任务书设计题目:钢琴琴键声音合成设计内容与要求:钢琴声音优美号称“乐器之王”,据研究发现钢琴的声音是若干基本频率的倍频合成的。

弹奏钢琴产生16个音符,分别是“Do/Re/Mi/Fa/So/La/Si/Do(高)/Do(高)/Si/La/So/Fa/Mi/Re/Do”,对此信号进行STFT对此信号进行STFT,时频谱如图所示根据上述论述题目的基本要求如下:(1)找到Do/Re/Mi/Fa/So/La/Si/Do(高)的基频;(2)找出基频与倍频之间能量比率的关系;(3)编写函数,用正弦波来合成钢琴的声音。

指导教师:王新新2013年5 月27 日课程设计评语成绩:指导教师:2013年月日摘要目前,随着科技的不断发展,音频信号处理技术也发展异常迅猛,并且数字信号处理已成为主流。

运用计算机来处理数字信号,这就使得数字信号的处理速度非常快,这也是数字信号处理技术发展迅猛的主要原因。

将各种各样的音频信号转换为数字信号之后我们就可以快速而轻松的对这些音频信号进行处理了。

在这方面,早已出现如语音识别软件的各种关于音频信号处理的软件,随着计算机技术的持续发展,计算机运算速度的大幅提高,音频处理软件的处理能力越来越强。

以语音识别软件为例,现在的语音识别软件的识别准确度越来越高,识别速度越来越快,而今,我们运用的软件是matlab软件,这都主要归功于数字信号处理技术的发展。

所以说,用数字信号处理音频信号的发展前景非常广阔。

那么,我们就有理由选用数字信号处理的方法处理类似于钢琴音的音频信号。

钢琴声音优美,号称“乐器之王”,据研究发现钢琴的声音是若干基本频率的倍频合成的。

弹奏钢琴产生16个音符,分别是“Do/Re/Mi/Fa/So/La/Si/Do(高)/ Do(高)/Si/La/So/Fa/Mi/Re/Do”关键词:Matlab、电子琴、数字信号abstractAt present, with the continuous development of science and technology, audio signal processing technology and development of abnormal rapidly, and digital signal processing has become the mainstream. Use computer to deal with digital signal, which makes very fast digital signal processing, digital signal processing technology which is developing rapidly. Convert all kinds of audio signal to digital signal after, we can quickly and easily for the audio signal processing. In this respect, have appeared such as voice recognition software on audio signal processing software, with the continued development of computer technology, the computer operation speed increase, audio processing software processing power is more and more strong. V oice recognition software, for example, is now the voice recognition software is more and more high recognition accuracy, and speed faster and faster, but now, we use the software matlab software, this is mainly due to the development of digital signal processing technology. So, with the development of digital signal processing audio signal prospects are very broad. So, we have reasons to use digital signal processing method of similar steel sound audio signal processing.A beautiful piano sound, so-called \"the king of instruments\", according to research finds the sound of the piano is a number of basic frequency times frequency synthesis. Respectively, playing the piano have 16 notes, is \"Do Re Mi/Fa/So/La/Si/Do (high)/Do (high)/Si/La/So/Fa/Mi/Re/Do\"Key word: Matlab, electric piano, digital signa目录第一章系统运行环境 (4)1.1、MATLAB开发环境简介 (4)1.2 硬件环境 (5)第二章系统内容设计 (6)2.1、钢琴琴键合成原理 (6)2.2、总体结构图 (7)2.3、钢琴信号的时频分析 (8)2.4对时频谱进行分析 (10)第三章实验结果及其分析 (11)3.1、钢琴信号的合成 (12)3.2实验结果 (13)实验总结 (14)第一章系统运行环境1.1、MATLAB开发环境简介分析以及合成声音所需软件环境------MATLABMATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。

它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。

开发环境:MATLAB开发环境是一套方便用户使用的MATLAB函数和文件工具集,其中许多工具是图形化用户接口。

它是一个集成的用户工作空间,允许用户输入输出数据,并提供了M文件的集成编译和调试环境,包括MATLAB桌面、命令窗口、M文件编辑调试器、MATLAB工作空间和在线帮助文档。

MATLAB特点:1)此开发环境可对代码、文件和数据进行管理;2)数学函数可用于线性代数、统计、傅立叶分析、筛选、优化及数值积分等;3)各种函数可将基于MATLAB的算法与外部应用程序和语言(如C、C++、Fortran、Java、COM 以及Microsoft Excel)集成。

4)交互式工具可以按迭代的方式探查、设计及求解问题;5)此高级语言可用于技术计算;6)二维和三维图形函数可用于可视化数据;7)各种工具可用于构建自定义的图形用户界面;1.2 硬件环境一般pc机一台:操作系统:Win 2000 /Win7等CPU:Pentium 166以上内存:32MB以上显卡:2MB VRAM,DirectX v6.1声卡:集成硬盘:300M空闲第二章系统内容设计2.1、钢琴琴键合成原理在该软件的设计过程中涉及到以下两个主要方面个方面:第一,钢琴音信号特征的分析;首先,找到Do/Re/Mi/Fa/So/La/Si/Do(高)的基频;然后,找出基频与倍频之间能量比率的关系;第二,如何用数字信号处理的办法处理钢琴音。

编写函数,用正弦波来合成钢琴的声音。

电子琴的每个音阶均对应一个特定频率的信号,通过调用程序产生一系列特定频率的声音,从而达到虚拟电子琴的功能。

通过加包络来消噪音,采用不同速度的衰减,根据乐音持续时间的长短来确定衰减的快慢,乐音持续时间越长,衰减的越慢,持续时间越短,衰减的越快。

当输入不同的频率时就会产生不同音色的声音,已知音乐的7个音阶的主要频率分别是254Hz、286 Hz、320 Hz、340 Hz、382 Hz、432 Hz和48 Hz。

2.2、设计流程图2.3、钢琴信号的时频分析利用时频分析方法对钢琴信号进行解码打开Matlab,新建M文件,在窗口中输入如下程序://////////////////////////ShowSound文件////////////////////////////////////function [Y,T,F] = ShowSound(s,fs,lamda)%用矩形窗的FFT将采样率为fs的一段声音s进行时频分析%Y为输出的时频图样,T是时间轴,F频率轴;%由于显示设备的限制,时间轴只能显示750个点,频率轴能显示500个点%lamda是矩形窗的交叠系数,即交叠的部分占总窗体的百分比%统一为行向量[r,c] = size(s);if(r > c)s = s';end;LS=length(s);SubLen = floor(LS / 750); %加750次窗,每次增加的点数s = s(1 : 750 * SubLen); %将序列化为750的整倍数LS = length(s);TrueSubLen = floor(SubLen./ (1 - lamda./ 2)); %油参数lamda计算出真实窗体的长度%将序列扩展以便于连续加窗offset = TrueSubLen - SubLen;s = [zeros(1,offset),s];%将加窗后的全部序列暂存于tmp,用for循环生成tmptmp = zeros(TrueSubLen,750);for i = 2 : 750index = floor((i - 1) * SubLen - (TrueSubLen * (lamda./ 2)))+offset;tmp(:,i) = (s(index : (index+TrueSubLen-1)))';end;%计算FFT并将颠倒的谱倒过来,只取频谱的正半边Y = fft(tmp , 1000);Y = Y(500:end , :);Y = (real(Y).^ 2 + imag(Y).^ 2).^0.5;%计算T和FT = 0 : 1 / fs : (length(s) - 1)./ fs;F = 0 : 499;//////////////////////////DTMF文件/////////////////////////////////////////////clearcloseclc[y,fs] = wavread('piano.wav');%持续时间T = length(y)/8000;%频谱宽度MF = 4000;[I t f] = ShowSound(y,8000,1.6);t = linspace(0,T,size(I,2));f = linspace(0,MF,size(I,1));II = zeros(size(I));II(end:-1:1,:) = I(:,:);mesh(t,f,II);axis tightview(0,90);%号码和频率的转换表% 0 1 2 3 4 5 6 7 8 9 % % tran = [941 697 697 697 770 770 770 852 852 852;% 1336 1209 1336 1477 1209 1336 1477 1209 1336 1477];运行结果:时频谱图2.4对时频谱进行分析由频谱图求出带宽,说明语音信号的采样频率不能低于多少。

相关文档
最新文档