语音播放系统

2024-10-10

语音播放系统(共5篇)

语音播放系统 篇1

0前言

随着医院的发展,放射科每日检查量不断升高,每天CT拍片达几百人次。对于每个病人登记、取片,登记室工作人员均需反复说明。虽然登记室窗口安装了对讲机,一天下来,工作人员仍然感到口感舌燥。为减轻工作人员工作强度,基于TTS编程技开发了一套术语音播放系统。系统由语音播放程序和音频放大器、扬声器组成。工作人员对每天的提示语言进行筛选编入程序,播放时点击相应按钮、由电脑自动播放该语句。同时,还可读取放射科管理信息系统(RIS)登记程序中的病人姓名并播放。

1 TTS介绍

TTS (Text To Speech)[1],即语音合成,是一种将文本转换为语音的技术,是信息处理领域的一项前沿技术,解决的主要问题就是如何将文字信息转化为可听的声音信息。

TTS是一种智能型的语言合成,它涉及语言学、语音学、语言信号处理、心理学等多个领域。语言学处理主要模拟人对自然语言的理解过程,包括对文本进行规整、词的切分、语法分析和语义分析,使计算机对输入的文本能够完全理解;韵律处理是为合成语音规划出音段特征,包括高音、音长、音强、变声等处理,使合成输出声音接近于自然语言;声学处理主要根据前两步的处理结果完成语音合成并输出[2]。

目前TTS技术分为硬件TTS和软件TTS。硬件TTS是在内置芯片的支持之下,通过神经网络的设计,把文字智能地转化为自然语音流。由于硬件的支持,这种转换基本上可以达到实时的效果,而且输出的语音音律流畅自然,毫无机器语音输出的冷漠与生涩感。软件TTS技术较之硬件TTS效果稍差,但成本也较为低廉[3]。许多公司开发了优秀的TTS,如微软的Microsoft Speech,SeanSoft语音引擎、Acapela语音引擎和美国NeoSpeech公司的NeoSpeech TTS。

2 语音播放系统软件开发

选用微软公司Microsoft Speech SDK 5.1和Delphi2010开发平台,可以在微软的网站免费下载安装MicrosoftSpeech SDK 5.1和附加的语言包。Microsoft Speech SDK 5.1提供的中文语音库是男声(Microsoft Simplified Chinese),而且效果不好。因此,本系统另外安装了音质较好的NeoSpeech男声语音库(VW Wang、VW Liang、VW Paul)和女声语音库(VW Hui、VW Julie、VW Lily),可朗读简体、繁体中文,并支持中英文混读。

Delphi具有可视化的编程环境,为我们提供了一种方便、快捷的Windows应用程序开发工具。它采用面向对象的程序语言,对于广大的程序开发人员来讲,使用Delphi开发应用软件,无疑会大大地提高编程效率。

在Delphi IDE中选择菜单“Import Component”,点击按钮Add (C:Program FilesCommon FilesMicrosoft SharedSpeechsapi.dll)直至完成安装。至此,共20多个控件被添加到Delphi组件板AciveX页上。其中Spvoice控件是我们要使用的,它有许多属性、方法:

Spvoice.Rate//取得或设置阅读的速度。

Spvoice.Volume//取得或设置声音的大小。

Spvoice.Voice//取得或设置发音对象。

Spvoice.Pause//暂停朗读。

Spvoice.Resume//恢复暂停,继续播放。

Spvoice.Skip//在当前输入的文本流中向前或向后跳一定距离再播放。

Spvoice.Speak//阅读一个字符串。

……

在Delphi IDE中点击“Filel New|VCL Forms Application”新建一个窗体程序,主窗口界面,见图1。在主窗口中添加Spvoice控件,窗口FormStyle设为fsStayOnTop,使主窗口始终悬浮在其他窗口之上,在主窗口工作区添加GridPanel控件,并在其中布局SpeedButton、CheckBox控件,使用户可以动态调节窗口大小、停放位置。另外,创建参数设置窗口,设置按钮Caption属性和对应播放内容的文本,以及发声对象、语速、音量。设置窗口界面,见图2。

通过以下代码可获得系统可用的语音发声对象(语音库):

程序启动或更改设置后,均需进行初始化:

当需要播放某句语句时,点击主窗口相应按钮,在其OnClick事件中调用Speak方法:

Spvoicel.Speak(''+str,1);//"804"为中文,str为朗读的字符串,如“请到5号机房检查”“请往左走,到磁共振机房预约”等。

至此,已完成语音播放功能的实现,但仍无法呼叫病人姓名,需从RIS系统登记窗口提取当前病人姓名信息。为实现此功能,首先通过窗口标题获取登记窗口的句柄,并通过调用回调函数遍历窗口中的控件,判断并获取病人姓名输入控件的句柄:

如果主窗口中播放姓名复选框被选中,则将病人姓名插入到字符串中进行朗读,如“请张某某到5号机房检查”。

3 系统硬件配置

软件编译完成后安装在登记室电脑中,即可通过声卡输出音频信号,为此还需配备必需的放大器、扬声器,可通过购置有源音箱解决。

由于登记室配有窗口对讲机,故对窗口对讲机进行改造,增加线路输入接口作为有源音箱使用。分析窗口对讲机电路,使用了声控扬声电话电路UTC34018,其内部合并了必需的放大器、衰减器和几种控制功能,包括一个话筒放大器、一个用于扬声器的音频功率放大器,另外主机有一空闲的外置麦克风接口J1,插入音频线可断开内置麦克风转而使用外置麦克风。为此,断开线路板中内置麦克风通往外置接口及返回的信号线Line1、Line2,并短接,同时将外置接口通过电阻、电容接至UTC34018集成电路27脚的接收衰减器器输入端,这样,既保持了窗口对讲机原有功能,又兼顾了语音播放。语音播放电路图原理简图,见图3。

4 结果

该系统播放的声音标准、清晰,语音文本可随时更改,并可读取第三方软件中的信息,在一定程度上减轻了工作人员的劳动强度。由于系统开发采用软件技术、并充分利用现有的电脑硬件资源,所以开发周期短,兼容性强,投入资金少。在此基础上,通过与医院信息系统(HIS)数据库连接,还可方便地开发出语音叫号排队、收费窗口语音提示等系统。

摘要:目的 开发放射科语音播放系统,减轻放射科工作人员的劳动强度。方法 充分利用医院现有计算机硬件资源,采用TTS技术开语音播放系统。结果 播放系统声音标准、清晰,使用灵活。结论 TTS编程技术使系统开发周期短,兼容性强,投入资金少。

关键词:放射科语音播放系统,TTS技术,对讲机,医院信息系统,放射科管理信息系统

参考文献

[1]徐一峰.Microsoft TTS的改进策略研究[J].宁波职业技术学院学报,2010,14(2):87-89.

[2]金建乐.TTS技术在水库调度值班中的应用[J].水利水文自动化,2005,(4):21-24.

[3]高明.TTS技术在HIS系统中的应用[J].医学信息,2011,24(12):30-31.

[4]齐志华,吴冬云,朱贵忠.基于TTS技术的“人声语音定时提醒”系统设计及应用[J].医疗卫生装备,2012,33(1):45-46.

[5]韩雨峰,陈武鑫,杨毕辉,等.基于TTS药房取药排队系统设计[J].医学信息,2009,22(12):2627-2629.

[6]韩乾.我院数字化手术室音视频通讯网络及应用[J].中国医疗设备,2012,27(1):33-35.

[7]齐志华,朱贵忠,吴冬云,等.人声语音定时提醒系统的设计及应用[J].中华护理杂志,2011,46(12):1209-1210.

[8]张以锦,范鲁雁.医院药房语音系统的开发与应用[J].中国药房,2005,16(8):587.

[9]计佩影,金茹.预配候取和语音系统在儿童医院门诊药房的应用[J].海峡药学,2006,18(4):244-246.

[10]郑善銮,郝晓柯.中文语音联机程序在血液分析仪检测数据管理中的应用[J].中华医院管理杂志,2006,22(11):784-785.

[11]杨长春,刘俊,石林,等.Delphi程序设计教程[M].2版.北京:清华大学出版社,2008.

[12]杨华民,梁水,李方超.Delphi函数参考大全[M].北京:人民邮电出版社,2006.

语音播放系统 篇2

摘要:阐述在一款集成传呼功能的二合一PDA系统中,使用嵌入式处理器EP7211实现个人传呼信息的实时语音合成和播放的功能,主要包括字符语音库的建立、字符语音合成自满和Cdec语音中断服务例程等3部分。

关键词:PDAG.729语音库语音合成

引言

PDA(PersonalDigitalAssitant,个人数字助理)是近年来继寻呼机和移动电话之后,在国内市场迅速崛起的便携式电子产品。就其扩展意义来讲,它能够集成移动计算、电话和网络等多种功能。根据不同的应用需求,它可以管理个人信息、提供名片存储和日程安排,也可以接收各种寻呼信息(如股市、天气预报等)。如果是集成通信模块,还可以作为移动电话使用,进行无线网络互联。广义的PDA包括简单的电子记事本、电子辞典和功能强大的掌上电脑,它们的主要区别表现在操作系统、存储能力、运算速度和数据交换能力等方面。

目前国内传统PDA产品经过几年的高速发展后,市场基于饱和,销售额出现负增长。不过由于PDA产品的灵活性,有针对性的行业应用作为一个新亮点,开始为人们所关注。经过行业应用尾后的PDA产品,已经在国内市场大显身手。文曲星展现超强的语言释译能力,比较适合于大学生和语言翻译者使用;蓝火系列能实时接收股市信息和专家点评,适合工薪阶层的炒股者。国家信息产业部已经鼓励PDA产品在交通、警务、保险等领域的行业应用和推广。

分析市场需求,我们研发了集成传呼功能的、专门面向铁路交通行业应用的铁路交通信息系统PDA。本PDA系统除了具备传统PDA的个人名片管理和辞典检索等功能外,同时提供交通行业应用的民航航班查询、铁路列车时刻表查询等功能。

本PDA的寻呼系统实现如下功能:能够通过寻呼对列车时刻表、列车晚点信息、列车剩票额、股道信息等行业数据进行动态更新。作为另一个特色,当接收到个人寻呼时,能够将寻呼内容实时地转换成语音并播放。

下面重点介绍本PDA系统中使用嵌入式处理吕EP7211实现个寻呼内容的实时语音转换和播放。该功能的实现包含前后相关的3个部分:字符语音库的建立、字符的语音合成算法和Codec语音中断服务例程。

1实现条件和要求

PDA属于嵌入式应用系统,其同一般PC机有很大差别。硬件方面,嵌入式处理器基于RISC体系结构,一般工作频率在几十MHz,甚至更低;系统内存容量一般在几百KB~几MB之间;一般使用容量小的ROM或者Flash作为硬盘来存储可执行程序序和数据。软件方面,PDA系统一般有专用的嵌入式操作系统和软件开发调试移植环境。

个人传呼信息的特点是单条传呼信息长度变化较大,20~50个字符不等。最为常见的是“请回电话***”;传呼信息涉及到的字符数量较大,字符语音合成时运算量大,单字符合成后语音数据占用的存储空间多;需要事先建立字符语音库等。

由于具体硬件环境的限制、传呼信息的特点和语音合成的要求,该功能能够实现的前提有:语音库占用的空间小;字符合成时速度更快;采用前台进行字符语音合成时,以后台中断方式进行合成语音的播放来保证其实时性和连续性。

2具体实现

下面分别介绍字符语音库的建立、字符语音合成算法、本PDA系统的框架结构和语音中断服务例程。

2.1建立字符语音库

我们选用G.729语音压缩编码标准来建立语音库。该标准采用的算法是共轭结构的代数码激励线性预测(CS-ACELP),是基于CELP(码激励线性预测)编码模型的算法。这种编码规范的严格性使性能达到或超过了32Kbps的G.726ADPCM编码,具有很高的语音质量;同时,它是在语音信号8KHz取样的基础上得到16bit线性PCM后进行编码的,压缩后的数据速率仅为8Kbps,具有相当于8:1的高压缩率。其算法延迟少于16ms。由于G.726编解码器能够实现很高的语音质量和很低的算法延时,因此被广泛地应用。

字符语音库是一个单字发音语音数据的集合,中段数据之间相互独立,不具有相关性。语音库包含了国标一、二级字库中的所有6763个汉字、10个阿拉伯数字和26个英文字符的标准普通话语音数据。每个汉字或字符发音时长为0.65s,采用8KHz抽样频率,使用了G.729A语音编码算法对上述的语音数据进行压缩,压缩后数据速率为8Kbps,相当于具有8:1的`高压缩率。在汉字中,同音字占了相当大的比例,而在语音合成中对于同音字的处理是没有区别的,故近7000个汉字,我们只存储1123个不同的发音。经过同音字处理和采用G.729标准压缩字符语音数据,则最终建立的语音库文件大小为729950字节,完

全符合本PDA系统的数据存储要求;否则,语音库数据量太大,本PDA系统不能接受!

建立一个语音压缩数据库的具体步骤如下:

*将数字和常用汉字的标准发音独立地录入到数据文件中,作为基础数据。使用cooledit软件完成语音的录入。

*对于输入数据,按照每帧10ms(80个样点)的长度,将A_law语音通过简单换算变成16bitPCM数据,作为编码算法的输入。

*按照G.729A算法标准,对数据进行编码。

*将编码后的数据转换为二进制比特流,写入语音库文件中。压缩后数据速率为8Kbps,具有相当于8:1的高压缩率。

用C语言实现这一过程的程序流程如图1所示。

字符语音库的建立是在Windows平台及VisualC++编程环境下实现的,最终压缩处理后数据量的大小为729950字节,每个字符语音数据的大小是650字节。

2.2语音合成

当收到个人传呼信息时,语音合成程序首先从指定位置获取传呼信息数据,然后在语音库中查找每个汉字、阿拉伯数字或者英文字符的发音,重组一个数据文件。解码程序对该文件进行解码并且输出原始语音。语音合成流程如图2所示。

语音合成过程首先是当前字符在语音库的定位。对于10个阿拉伯数字和26个英文字符,将其放在语音库开头。这些字符的查找比较方便。汉字是2字节存储,我们依居其区位码来作为语音库中的定位索引。字符语音检索结束后的语音压缩数据作为该字符解码过程的输入。

数据解码过程可以分为参数解码和重构信号后处理2部分。首先要从输入的数据中提取参数符号,对这些符号解码之后,可以获得相应于10ms话音帧的编码器参数。这些参数包括线性预测系数、自适应码本矢量、固定码本矢量以及它们的增益。解码之后的参数用来计算重建语音信号。得到重构语音信号只有通过后处理过程来对该信号进行放大,包括后向滤波、高通滤波以及按比例因子扩大,最后得到原始的语音数据。

字符解码器原理如图3所示。

2.3PDA系统的体系结构

PDA系统中嵌入式处理器EP7211进行数据处理,传呼解码芯接收传呼信息并进行解码,LCD提供数据输出显示,触摸屏提供用户输入接口,Flash用来存储应用程序和数据,SRAM为程序运行提供内存空间,电源电路为嵌入式处理器和外围设备提供所需要工作电压。

嵌入式处理器EP7211是CirrusLogic公司专门为低成本、超低功耗的嵌入式应用设计的,包含ARM7TDMI处理器内核和丰富的外围接口。外围接口有CODEC音频接口、SPI串行A/D接口、单色LCD接口、DRAM接口、红外接口、2个PWM接口、实时时钟RTC以及电源检测接口。EP7211的内核电路工作在2.5V,而外围电路工作在3.3V;可根据具体情况对内核的时钟进行动态编程控制,可工作在18、36、49和74MHz。另外EP7211还有3种基本供电模式:正常操作(operating)、空闲(idle)和等待(standby)。在等待模式,主时钟被关断,整个CPU及相关外围(除中断和RTC)也关断,但可通过中断或按钮来唤醒。

系统软件开发平台采用了我们自主开发研制的、专门面向嵌入式应用系统开发的XGW平台。XGW开发平台采用消息驱动机制,是C语言开发。它功能强大、模块化设计、扩展性强、产品升级容易,总体框架如图5所示。

图5全面反应了XGW开发平台的体系结构,包括事件消息驱动机制、内存管理、字符和图形显示输出、图形组件库等。图形组件库中的编辑框、列表框、按钮等为用户应用程序开发提供系统应用编程接口API。不过,XGW平台对于系统硬件的中断响应没有提供统一的入口和出口,需要开发人员单独处理。XGW开发平台的消息分为鼠标消息、键盘消息和定时器消息等3类。

2.4语音中断服务例程

嵌入式处理EP7211本身提供的外设语音录放Codec(coder/decoder)芯片可以实现语音的录入和播放功能。该模块提供2个独立的16字节长的数据发送和接缓冲区(FIFO),其为全双工模式,数字据点发速率是64kbps。芯片自身提供工作时钟、定时脉冲以及数据串/并和并/串转换功能。编程人员通过设置EP7211相应的控制寄存器使能这些项功能,则每当数据收发缓冲区半慢或者半空时(8字节),芯片自身就会产生一次中断信号供外部处理。理论计算芯片中断速率是1ms/次。

语音播放中断服务例程主要完成的工作是,当产生语音中断时,仍然有数据需要播放,则向语音数据发送缓冲区FIFO中写入指定数据,剩下的工作由Codec芯片本身来完成。中断服务例程ISR的伪代码如下(因为具体实现代码没有通用性,故此处用伪码描述):

>

voidIRQ_Codec_Handler(void)

{

while(检测系统状态寄存器,发现语音芯片数据发送缓冲区FIFO非满)

{

if(已经播放过的语音数据长度<给定的需要播放的语音数据长度)

{

向语音芯片发送数据缓冲区FIFO写入指定数据;

调整已经播放过的语音数据长度;

if(已经播放过的语音数据长度>=给定的需要播放的语音数据长度)//结束

{

禁止数据发送缓冲区中断;

复位各相关的全局变量;

程序返回;

}

}

else

{

向语音芯片发送数据缓冲区FIFO写入默认数据

0XFF;

}

}

}

3试验结构和分析

由于在设计阶段充分考虑过语音合成算法的大运算量和系统的实时性要求,故我们在具体实现的时候也采取了一些措施,比较突出的有:用ARM汇编语言来实现关键性的函数代码;语音合成时提高处理器EP7211的工作频率(处理器正常工作频率是18MHz);对于一些常用的三角函数计算,采用查表的方式等来加快程序执行速度。在PDA样机测试中,单字符合成时间在650ms左右,基本上能够满足实际应用需求。数据语音库经过处理之后,占用了729560字节也能够满足本PDA系统的存储的要求。

当PDA系统收到1条个人传呼信息时,在语音库的支持下,立刻启动语音合成算法,逐个进行字符语音合成。当第1个字节语音合成结束后,立刻启动语音中断服务例程进行语音播放。这样收到的个人传呼信息,前台逐个字符解码时,其后台语音播放也在进行。根据实际测试参数,基本上满足了系统的实时性要求。

语音播放系统 篇3

1 各种语音播放系统的对比和分析

如表1所示。从表1不难看出, 采用ST C12+FLASH存贮芯片的方案在无论在成本及灵活性方面都具备很好的优势。

2 STC12系列增强型51单片机播放系统的硬件构成

如图1。本系统的MCU采用了宏晶公司的STC125404芯片, 它的P3.7具有PWM功能, 因此连接到功放电路LM4890上。语音的存贮芯片采用了旺宏 (MXIC) 公司的MX25xxx08系列串行NOR Flash芯片, 如果采用一片16Mbyte容量的芯片, 存放8KHZ、8bit采样频率的语音文件 (即8000字节/秒) , 按以下计算公式:

也就是可以播放时长大约为2097秒的语音文件。

语音数据是将音频wav文件的头信息去掉之后提取出来的, 然后按应用的需要, 分段烧录到Flash的固定位置, 将语音的存放位置和长度记录下来, 以供播放程序调用。

3 STC12系列增强型51单片机播放系统的软件构成

PWM产生声音的原理是:调节PWM的输出脉冲的占空比来产生不同幅度的电压, 这个幅值就接近于语音的声波。如图2所示声音的波形图。

而PWM输出频率越高, 产生的音波幅值就越精确。STC12系列增强型51单片机因为具有1T的机器周期, 它的时钟频率是传统的12T的51单片机的12倍, 因此它的PWM输出频率最高 (以11.0592M的晶振频率计算) 可以达到11059200/256=43200HZ。这个频率已经接近44.1k Hz的CD音质了, 因此用它来播放语音文件, 声音效果也十分理想。

软件设计工具采用Keil C51, 语音播放主要用到单片机的两个定时器。一个定时器用来产生8KHz的采样频率, 本设计中采用T1定时器的8位定时器中断功能, 定时125us;另一个定时器用来产生PWM波形, 本设计中采用T0定时器8位定时/计数器功能。设置好这两个定时器的功能是程序开发的关键所在。

下面给出设置PWM寄存器的关键代码:

4 总结

语音播放系统 篇4

关键词:语音识别,技术,音乐播放器,设计

目前,人类实现了由传统靠键盘和按键控制机电、计算机系统的生活作业模式到通过语音识别技术控制机电和计算机系统的飞跃。语音识别技术的播放器设计过程实际是实现语音智能控制音乐播放器的技术。很长一段时间,人机对话通过数字领域的“手动操作”来进行,这种交流方式将人与机电系统和计算机系统之间的交流变得狭隘,人与机器只能通过数字量或者数字转换形式在近距离的空间里进行交换。语言本是人类最基本的沟通交流工具,在日常活动中,人们通过语言进行信息传递。语言能承载很大的信息量,具有较高的智能水平,在以后的探索中,它是实现机电系统和计算机系统向人一样能感知、能表达的发展方标。一般的播放器都是通过手动来调节,这种操作形式不仅使硬件设施老化迅速,还给手脚不方便的使用者带来很多麻烦。有人预测,语音识别技术在10年之内将迅速进入家电、通信、家庭、汽车及工业等领域。

1语音识别技术的发展现状

语音识别技术最早出现在50年代,AT&T Bell实验室研制的可识别十个英文数字的语音识别系统标志着语音识别技术时代的到来;60年代的重要成果就是用动态规划方法来解决语音识别中不等长的对正问题;70年代,取得了突破性的进展,研制出了基于线性预测倒谱和DW技术的特定人孤立语音识别系统,80年代,HMM模型和人工神经元网络在语音识别系统中的应用使语音识别研究进一步加深;90年代,伴随着多媒体的到来,迫切要求语音识别系统从实验室中走到现实生活中。许多发达国家的著名工资投入巨资在语音系统地实际应用开发中,现今,是市场上出现了语音识别电话和语音识别笔记本电脑等产品的身影,尤其在家电方面应用广泛。

2语音识别技术

2.1语音识别技术定义

语音识别技术是让机器通过识别和理解将人类的语言信号转换为相对应的文本或者命令的技术。语音识别是一门与声学、与声学、语音学、语言学、数学信号处理理论、信息论、计算机学科等众多学科紧密联系的综合学科。它是人和机器交流的一项重要工具,目的在于让机器听懂人类的语言,是机器智能化的一个重要表现。语音识别与人的说话方式、说话语速、说话内容和不同的环境情况有关,语音信号本身的多变性、波动性,持续性、瞬间性在某种程度上增加了语音识别的困难。

2.2语音识别类别

2.2.1按照识别单位划分

包括音素识别、音节识别、孤立局识别、语音理解、识别的单词之间由停顿和连续的识别等。

2.2.2按照词汇识别量划分

包括10-50个的小词汇、50-200个的中词汇、200个以上的大词汇等。

2.2.3按照说话对象的划分

包括固定说话人、多个说话人、不关联说话人的人。其中固定说话人的语音识别比较简单,识别率较高。多个说话人和与说话人无关的语音识别系统的应用范围比较广,实用性较高,但难度系数也是比较大的,识别率不是太高。但是后两者的使用价值比固定说话人的价值更大。

2.2.4按照识别方法分

大体包括概率语义分析法、随机模式法、模板匹配法,还涉及到人工神经网络语音识别和语法是语音识别等。现今,语音识别在连续语音、不是固定人、大量词汇方面发展较多并且取得了一些突破性的成就,如以HMM为构架,构建识别系统模型。

2.3语音识别基本原理

现在大多数语音识别系统都采用模式匹配原理。将待识别的语音先经过话筒转换成为语音信号,然后从识别系统顶端输入,在进行预处理。特征提取部分用来提取语音识别信息中能够代表本质的声音参数。通常训练在识别之前进行,通过讲话者反复重复语音,最初语音样本中除掉多余信息,保留关键数据来实现。模式匹配时语音识别系统的中心,它是根据专家知识和一定的准则计算出输入特征和库存模式之间的近似度,推断出输入语音所要表达的意思。

2.4语音识别的瓶颈

语音识别虽已有50多年的发展史,但在语音识别系统的实际应用中还是碰到了瓶颈,具体表现在依赖外在环境条件和只能在安静的环境下工作。语音识别系统一旦在吵闹的环境下工作,会发生声音失真、发音速度和音调变动的不良现象,一般通过谱减法、环境技术调整、修正识别模型、建立噪声模型这四种手段进行整顿。要想跨过以上瓶颈我们在实际的应用研究中应慎重选择语音识别基元,提高端点检测技术,在语音识别系统中结合韵律信息(说话人的重音、语调等)。

3音乐播放器设计

音乐播放系统实际是多媒体技术在社会生活中的实际应用。多媒体是指能够同时获取、处理、编辑、存储和展示文字、声音、图片、动画、视频等两种不同信息媒体的技术,简而言之,多媒体是一种技术。计算机技术和信息处理技术的发展 , 极大的提高了人类处理多媒体信息的能力。

音频播放系统可以通过音频硬件的自动检测和使用加速,来控制媒体的播放,也可支持没有硬件加速的系统。它所支持的媒体格式包括MP3、WAVE、AVI、DV,这都是我们生活中常用的格式。特别重要的是它可直接支持DVD播放,并且提供的是一种开放式的开发环境。

4 基于语音识别技术的单片机音乐播放器设计

4.1 基于语音识别技术的音乐播放器的硬件设计

4.1.1音乐播放器系统设计

该音乐播放器系统由音频输入和音频输出两个模块组成,音频输入是为实现语音信号识别,音频输入是为实现播放。现提出方案如下:

这一方案件简单易行,节约了很多电路结构。只要注意在语音录入时加入麦克风电路,在语音输出时外接功放电路即可进行实现语音播放功能。

4.1.2音乐播放器电路设计

音乐播放器单片机电路设计

单片机的主电路主要包括晶振,锁相环,复位电路等外围的基本模块。

音乐播放器电源电路设计

通过电池盒提供给的4.5V直流电压经由SPY0029后产生3.3V给整个系统提供电量。SPY0029是一个电压调整IC,引用CMOS技术,它的静态电流低,驱动能力较强,线性调整突出。

音乐播放器键盘调控电路设计

因为该音乐播放器是双重模式控制,除了语音控制播放器外,还有播放,开关机,暂停,停止,上一首,下一首六个按键控制播放器模式。

4.2 音识别技术的音乐播放器的软件设计

在较早的程序设计中都是采用不同的软件来进行处理,研制人员得在几种软件中来回转换使用,例如先用文字处理软件编辑源程序,再用链接程序进行函数处理,最后用编译程序进行编译。现在的研制人员将编辑、翻译、处理等功能放在了一个桌面环境里,这在无形之中给使用者带来了很多的方便。

4.2.1音乐播放器的集成开发环境

该集成开发环境支持16位单片机系列、语言汇编、C语言混合编程的程序开发。它为使用者提供完整的交互桌面,操作简单,调试工作便于进行,他所提供的软件仿真功能可以在脱离仿真板的条件下,模拟硬件部分功能。该开发环境的主口操作界面由六部分组成 : 主菜单、工具栏、工作区、输出去、编辑区、状态栏。

4.2.2 音乐播放器的训练命令程序设计

通过特定发音人训练播放器识别播放、暂停、停止、上一首、下一首这五种命令。

当检测到训练标志位内容为非训练时,这就要求训练者对它进行训练操作。获取结果一般经过两次训练。以训练音乐播放器暂停为例,播放器先会提示操作者输入第一条语音指令,此时训练者说出暂停命令,然后播放器会提示请再说一遍,训练者按照提示再说一遍,只要两次暂停的声音差别不是太大,播放器就会成功建立模型,这时暂停命令训练已经成功,若未能成功建立模型,播放器会提示失败原因,只要注意原因重新训练即可。暂停指令训练成功后,会自然给出下一条有待训练方式。依照按键顺序完成全部训练,训练结束后,子程序返回。

5结语

本文通过对基于语音识别技术的SPCE061A单片机音乐播放器设计分析,有力的证明了语音控制音乐播放器的实用性,通过该项技术我们可以简单轻松的对已经开机的播放器进行播放、暂停、停止、上一首、下一首等模式的命令。与传统的按键控制播放模式相比,其优势是显而易见的。

语音播放系统 篇5

语音信号的采集和播放是语音信号处理的基础,在基于DSP的语音处理系统中,DSP通过控制A/D芯片采集和播放语音信号,再通过DSP实现各种语音处理算法。在TI各个系列DSP芯片中,16位的C54XX因其指令简单、接口连接方便而在语音处理系统中得到广泛应用。

1 实现目标

系统要求使用DSP和A/D芯片实现语音信号的采集,然后将语音信号存储到DSP的RAM中,最后实现语音信号的播放。

2 硬件实现

2.1 解决思路

系统采用的主处理器是TMS320VC5402,利用芯片提供的多通道缓冲串口McBSP实现与A/D芯片的连接。DSP相关性质及McBSP的配置可参看有关文档[1]。

系统采用的TLC320AD50的A/D芯片采集和播放语音信号。AD50使用过采样技术提供A/D和D/A的高分辨率低速信号转换。该器件包括两个串行的转换通道,在D/A之前有内插滤波器,A/D之后有抽取滤波器,由此可以降低AD50的本底噪声。

在AD50正常工作以前,必须对它进行初始化。初始化的主要工作是配置AD50的四个控制寄存器CR1,CR2,CR3和CR4。控制寄存器的读写是通过二次通信来实现的。AD50启动二次通信有硬件和软件两种方式,硬件方式相对容易实现,DSP通过内部寄存器将XF引脚置高,进而控制与其连接的FC引脚到高,然后向McBSP串口写16位的控制字,低8位是AD50的控制寄存器初始化字,高8位选择要初始化的寄存器及操作。软件方式则是当AD50工作于15位模式时,将DSP输出到AD50的数据的D0位置1,即可进行二次通信。系统采用的是硬件实现的方式,在二次通信中,D0~D7为写入控制寄存器的数据或从寄存器读出的数据,D8~D12的内容决定选择哪个控制寄存器,D13决定是读操作还是写操作。D8~D13位确定的具体操作情况如表1所示。

CR1~CR4寄存器的D0~D7所确定的所有操作见AD50的datasheet,这里不详细叙述。

2.2 硬件设计

语音信号的采集和播放系统的硬件设计主要包括语音信号的输入输出模拟通道、DSP和AD50的连接、DSP和AD50的周边设备连接等[2]。其中,DSP和AD50的周边设备连接包括电源电路、时钟电路、复位电路、存储器扩展电路和去耦电路等,这些电路的连接可查看相关芯片资料。

语音信号的前后端处理主要由输入输出模拟通道组成。这两个电路的主要作用是将信号进行处理,尽量避免因输入输出引入的噪声。同时,还可以调整输入输出的放大系数,使语音信号适合各种不同的功放,得到最佳的语音效果。

为了达到更好的效果,AD50的模拟信号输入采用差分输入方式,即使用两个运算放大器,将单端输入信号转换成差分输入信号,电路连接如图1所示。使用差分信号,信号一正一负同时进入采集系统,如果此时有随机噪声出现,通过正负信号的加减,可以有效消除部分噪声[3]。

AD50的D/A输出为差分信号,可以直接驱动600Ω的负载。输出电路如图2所示。

DSP通过多通道缓冲串口连接AD50。DSP最多可以使一个缓冲串口与3个AD50芯片连接。系统采用DSP为主设备、AD50为从设备的连接方法。如图3所示,AD50的时钟信号MCLK由DSP的定时器0的输出TOUT0提供,时钟频率可以通过设置定时器0来改变。AD50的移位时钟输出SCLK连接到DSP的缓冲串口0的接收时钟引脚CLKR0,帧同步信号FS连接带DSP缓冲串口0的FRX0。AD50的FC引脚连接到DSP的通用I/O引脚XF,用于控制二次串行通信。图3中DSP的DR0为输入,其余均为输出。

3 软件设计

系统用于实现语音信号的采集和播放,收到数据后,AD50对数据进行模数转换,变成数字语音信号后存储于内部RAM,然后输出到AD50,AD50进行数模转换后输出到相应的后端处理电路,最后由后端电路将输入的语音信号转变成语音输出到音响设备,因此程序设计比较简单易于实现。主要包括以下几个方面[4]:

(1)DSP的初始化。包括定时器0的初始化,以确保TOUT0引脚能输出正确的时钟信号到AD50,使AD50能根据该时钟信号进行采样。初始化缓冲串口时,应使DSP工作于主设备方式,CLKR0和FSX0引脚设为输出。DSP初始化完成后,在DSP的TOUT0,CLKR0,FSX0这3个引脚可以看到连续输出的脉冲。

(2)AD50的初始化。此时主要是设置DSP的XF引脚输出为高,以启动AD50的二次通信,在正确设置AD50的4个控制寄存器以后,AD50开始采样数据。此时检测AD50的DOUT引脚,能发现引脚有连续的信号输出。

(3)设置DSP中断。DSP的中断负责从缓冲串口读取数据,可以在CCS中查看读取的数据是否正确,如果每次读取的都是0或者同一个数据,说明AD50没有正常工作,此时需检查DSP或者AD50是否初始化成功。

(4)数据存储。DSP从缓冲串口读取数据存放到RAM,连续存放500或者1 000个数据,可以通过CCS的画图功能看到采集到的数据。这时主要判断采样频率是否正确、有没有数据丢失等。

(5)数据输出。将RAM中的数据直接送到AD50的D/A单元,转换成模拟信号后输出。这时从AD50的模拟信号输出端可以看到和输入端一样的信号。

将程序略做修改,不存储采集到的数据到RAM,而是直接播放,通过CCS编译环境将修改后的软件进行编译后载入DSP运行,可以通过View/Graph/(Time/Frequency)对比采集到的波形和从RAM中读取到A/D芯片的波形,可以看到波形的频率和相位一致,说明系统搭建成功。按照应用的目的不同,进一步改进程序,如加入语音编解码或语音识别程序,可以方便实现功能扩展[5]。

4 结束语

系统实现了语音信号的实时采集和播放,也搭建了一个语音信号处理的基本平台。在系统的基础上,可以在DSP的外围电路扩展FLASH,保存语音信号;也可以通过HPI接口连接到计算机,进行相应的处理;还可以在系统软件中加入语音编码解码算法、语音识别算法等进行功能的扩展。更为突出的是,该系统电路连接简单、编程容易、成本低,可称为语音处理平台的模板。

参考文献

[1]周霖.DSP通信工程技术应用[M].北京:国防工业出版社,2004.

[2]周霖.DSP系统设计与实现[M].北京:国防工业出版社,2003.

[3]陈志鑫.基于TMS320VC54X DSP的实时语音识别系统[J].半导体技术,2001,26(4).

[4]王华,张健.DSP原理及其C编程开发技术[M].北京:电子工业出版社,2006.

上一篇:水动力-力学耦合模型下一篇:非线性最小二乘