当前位置: 首页 > 专利查询>陈汉翔专利>正文

声控电子琴制造技术

技术编号:3041193 阅读:238 留言:0更新日期:2012-04-11 18:40
声控电子琴是一种通过语音来操作和演奏的电子乐器。其功能是利用频谱技术实时地通过采样和分析而获取人歌声中的音调信息,并实时地通过迷笛设备演奏出相应音调的乐器音色。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及一种综合频谱分析技术和电脑多媒体技术而制作的通过语音操作和演奏的电子乐器。其实对于大多数人来说,即使不会演奏乐器,也具有相当的音乐潜能。比如说人们对某首喜欢的乐曲仅凭听过几遍,就可以记住并哼唱出其乐曲的旋律,哪怕是没有看过乐谱或者根本不懂乐谱。其工作原理是这样的人在歌唱时产生的声波通过麦克风转变为电子模拟信号,模拟信号通过模/数转换变为数字信号,再通过频谱分析技术转变为频谱信号,经音符定位模块确定歌唱者所唱出的音调高低,由迷笛输出模块输出相应音符的乐器音色,最后通过功放输出模块演奏出音乐(见图2)。为了更加详细的描述声控电子琴的实现方法,下面我以一简单实例来具体说明。在本例中我使用WindowsAPI(窗口应用程序接口)调用来管理多媒体设备,关于API调用函数的知识,有关书籍中有详细的介绍,所以我在下面的描述中关于软件方面仅列举使用函数的清单,不作过多的解释。1.麦克风通过麦克风,歌声的声波被转换成模拟电信号2.模/数转换模块此模块通过声卡来完成,功能是将模拟信号转换成数字信号储存到内存当中。本系统以16000Hz的频率对声波进行采样,每个采样点用16位空间存储。其软件控制部分所使用的Windows API调用函数说明如下打开声波输入设备函数waveInOpen声波输入句柄准备函数waveInPrepareHeader声波输入重置函数waveInReset声波输入开始函数waveInStart 声波输入停止函数waveInStop声波输入句柄取消准备函数waveInUnprepareHeader关闭声波输入设备函数waveInClose声波输入设备查询函数waveInGetDevCaps声波输入错误检查函数waveInGetErrorText声波输入缓冲区增加函数waveInAddBuffer3.频谱分析/音符定位模块此模块是系统最关键的部分,完全通过软件实现。其功能是将一段时间间隔内声波振幅对应时间的时域波形通过离散傅立叶变换转换成强度对应和频率的频域波形,即频谱信息,然后对频谱信息进行分析并定位出相应的音符信息。离散傅立叶变换公式如下设f(n)为时域函数,则对应的频域函数为F(k)=Σn=0N-1f(n)·e-j2πnk/N=Σn=0N-1f(n)·(cos(2πnk/N)-jsin(2πnk/N))]]>具体到本系统的计算应用上,针对人发音的生理特点和音乐音符的设计规律,我们仅选择有限的频率抽样点。设频域抽样点数M=48f(0)=65.406m/12f(m)=f(0)·2m为0,1,2,..M-1f(m)代表了音乐音符所对应的频率,其中每12个半音组成一个音程,比如说f(12)为C,则f(13)为C#,f(14)为D。我们对时域声波波形的采样频率为16000Hz,于是时间间隔为T=1/16000=0.0000625我们每0.025秒种进行一次转化,于是时域采样点数N=16000·0.025=400通过对声波的采样,我们可以得到反映声波时域波形的s(n)n为采样点,其值为0,1,2,..N-1为了便于重复计算,我们首先生成以下二维数组u(m,n)=cos(2·πf(m)·n·T)v(m,n)=sin(2·πf(m)n·T)m为0,1,2,..,M-1n为0,1,2,..,N-1对x(n)进行傅立叶转换,在实轴上的分量为X(m)=Σn=0N-1s(n)·u(m,n)]]>在虚轴上的分量为Y(m)=Σn=0N-1s(n)·v(m,n)]]>于是,我们以P(m)表示其相对的振幅强度,公式为P(m)=X(m)X(m)+Y(m)·Y(m)m=0,1,2,...,M-1我们以m为横坐标,P为纵坐标,即可制成反映音符和强度对照关系的频谱图(见图4)。从频谱图可以看出,人的语音中除了主频之外还包含了相当分量的谐波,而且很多情况下谐波的强度甚至大于主频的强度。更让人困惑的是每个人的发音特点不同,他们的语音频谱分布也千变万化。但尽管各种波形存在着或多或少的差异,从中却可以发现共同的规律。举例来说,当人唱出C的音调时,主频为130.812Hz,声波中同时会包含261.624Hz的倍频和523.248Hz的四倍频,而且它们占据了较高的强度比例(如图4),即可以看到有3个较高强度的频率,它们的间距是12个半音。知道这一点后就可通过以下几步来推断出确定的音符。(1)对各音频按强度从大到小排序,挑出前十几位的音频(2)检查所挑出来的音频,找出符合同时存在倍频和四倍频条件的音频,作为候选音频(3)若第3步不成功则从中找出符合仅存在倍频或存在四倍频条件的音频,作候选音频(4)若第4步还不成功,则直接用派名十几位的音频作候选音频(5)对候选音频进一步筛选,若其中存在与上一次筛选结果相同的音频,则选择此音频;若没有则选择强度较高的音频。4.迷笛输出此模块由具有迷笛功能(MIDI)的声卡加相应的控制软件构成。对于各种乐器音色的模拟,当前的迷笛(MIDI)技术已经非常成熟,并且可在市场可找到相关的产品,比如说各种品牌的电子琴和声卡,其可以模拟的乐器音色大都在一百种以上,几乎包括了钢琴、小提琴、吉它、长笛等所有常用乐器,完全可以满足大多数人的对音色多样性的需求。下面我仅对控制程序中使用的Windows API调用函数列举一下迷笛输出设备属性函数midiOutGetDevCaps关闭迷笛输出设备函数midiOutClose迷笛输出运行信息函数midiOutShortMsg迷笛输出错误信息函数midiOutGetErrorText迷笛输出音量读取函数midiOutGetVolume迷笛输出音量控制函数midiOutSetVolume多媒体设备号读取函数mciGetDeviceID5.功放模块此模块由音频功率放大器和音箱组成,其功能是将音乐信号播放出来。6.流程控制/界面控制模块此模块通过软件实现。其功能是负责各模块之间的数据传递,协调各模块运行的时间,并提供用户各种运行选项包括选择乐器、调节音量、选择调式、禁止半音等等。下面就将其最关键部分的运行过程描述一下计时器触发操作每0.025秒循环一次,执行过程如下(1)重置声波输入设备,准备新的缓冲区,重新开始声波输入;(2)从旧的缓冲区读取已经录制的声波数据;(3)将数据送至频谱分析/音符定位模块,并启动其分析进程;(4)将定位下来的音符送至迷笛输出模块。以上即是对声控电子琴的具体实施方式的说明。经过对制作出来的实物进行测试,证明该专利技术可适应不同人的声音,并可演奏多种乐器音色,完全符合设计要求。本文档来自技高网...

【技术保护点】
声控电子琴是一种通过语音来操作和演奏的电子乐器。其特征是:实时地通过采样和分析而获取人歌声中的音调信息,并实时地通过迷笛设备演奏出相应音调的乐器音色。

【技术特征摘要】
【国外来华专利技术】1.声控电子琴是一种通过语音来操作和演奏的电子乐器。其特征是实时地通过采样和...

【专利技术属性】
技术研发人员:陈汉翔
申请(专利权)人:陈汉翔
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1