文档库 最新最全的文档下载
当前位置:文档库 › 基于单片机的智能语音识别系统设计 毕业设计 论文

基于单片机的智能语音识别系统设计 毕业设计 论文

基于单片机的智能语音识别系统设计

(硬件部分)

系别:

专业班:

姓名:

学号:

指导教师:

基于单片机的智能语音识别系统设计

(硬件部分)

The Design of Intelligent Speech

Recognition System Based on

Single-chip Computer

(HardWare)

摘要

本文设计一个让机器通过识别和理解过程把语音信号转变为相应的文本或命令的高技术的语音识别系统。本语音识别系统以LD3320语音识别芯片为核心部件,主控MCU选用STC10L08XE。主控MCU通过控制LD3320内部寄存器以及SPI flash实现语音识别和对话。通过麦克风将声音信息输入LD3320进行频谱分析,分析后将提取到的语音特征和关键词语列表中的关键词语进行对比匹配,找出得分最高的关键词语作为识别结果输出给MCU,MCU针对不同的语音输入情况通过继电器对语音命令所对应的电器实现控制。同时也可以通过对寄存器中语音片段的调用,实现人机对话。

设计中,电源模块采用3.3V供电,主要控制及识别部分采用LM1117-3.3稳压芯片,语音播放及继电器部分采用7812为其提供稳定的电流电压。寄存器采用一片华邦SPI flash芯片W25Q40AVSNIG,大小为512Kbyte。系统声音接收模块采用的传感器为一小型麦克风——驻极体话筒,在它接收到声音信号后会产生微弱的电压信号并送给MCU。另外系统还采用单片机产生不同的频率信号驱动蜂鸣器来完成声音提示,此方案能完成声音提示功能,给人以提示的可懂性不高,但在一定程度上能满足要求,而且易于实现,成本也不高。

关键词:语音识别 LD3320 STC10L08XE单片机频谱分析

Abstract

This paper designs a hi-tech speech recognition system which enables machines to transfer speech signals into corresponding texts or orders by recognizing and comprehending. The centerpiece of the speech recognition system is LD3320 voice recognition chip,its master MCU is STC10L08XE. Master MCU achieve voice conversation by controlling the internal registers and SPI flash LD3320.The sound information is inputted into LD3320 by microphone to do spectrum analysis. After analyzing the voice characteristics extracted are compared and matched with the key words in the list of key words.Then the highest scores of key words found would be output to MCU as recognition results. MCU can control the corresponding electrical real of speech recognition for different voice input through the relays and can also achieve voice conversation through a call to voice clips in register.

In the design,power module uses 3.3V.The main control and identification part adopt LM1117-3.3 voltage regulator chip,and 7812 is used to provide stable current and voltage for the part of voice broadcast and relay.Register uses chip SPI flash W25Q40A VSNIG which is 512Kbyte. The sensor used in the speech reception module of the design is microphone,namely electrit microphone.After receiveing the sound signal,it can produce a weak voltage signal which will be sent to MCU. In addition,the system also adopts a different frequency signals generated by microcontroller to drive the buzzer to complete the voice prompt, and this program can complete the voice prompt.The program gives a relatively poor intelligibility Tips.However, to some extent,it can meet the requirements and is easy to implement and the cost is not high.

Key words:Speech Recognition LD3320 STC10L08XE Single-chip computer Spectrum Analysis

目录

摘要 .................................................................. I Abstract.............................................................. II 绪论 (1)

1设计方案 (5)

1.1 系统设计要求 (5)

1.2总体方案设计 (5)

2 系统硬件电路设计 (6)

2.1电源模块 (6)

2.2 寄存器模块 (6)

2.3 控制单元模块 (7)

2.3.1 STC10L08XE单片机简介 (8)

2.3.2 STC11/10xx系列单片机的内部结构 (10)

2.4 声音接收器模块 (10)

2.5 声光指示模块 (11)

2.6 语音识别模块 (11)

2.6.1 LD3320芯片简介 (11)

2.6.2 功能介绍 (12)

2.6.3 应用场景 (13)

2.6.4 芯片模式选择 (15)

2.6.5 吸收错误识别 (16)

2.6.6 口令触发模式 (17)

2.6.7 关键词的ID及其设置 (18)

2.6.8 反应时间 (18)

3 系统软件设计 (20)

3.1 系统程序流程图 (20)

3.2 系统各模块程序设计 (20)

3.2.1 主程序 (20)

3.2.2 芯片复位程序 (27)

3.2.3 语音识别程序 (28)

3.2.4 声音播放程序 (37)

4 系统调试 (44)

4.1 软件调试 (44)

4.1.1 上电调试 (44)

4.1.2 读写寄存器调试 (44)

4.1.3 检查寄存器初始值 (44)

4.2 硬件电路调试 (45)

4.2.1 硬件检查 (45)

4.2.2 硬件功能检查 (45)

4.3 综合调试 (46)

结论 (47)

致谢 (48)

参考文献 (49)

附录1实物图片 (50)

附录2系统电路图 (51)

绪论

课题背景及意义

让机器听懂人类的语音,这是人们长期以来梦寐以求的事情。语音识别是一门交叉学科,关系到多学科的研究领域,不同领域上的研究成果都对语音识别的发展作了贡献。语音识别技术就是让机器通过识别和理解过程把语音信号转变为相应的文本或命令的高技术。

计算机语音识别过程与人对语音识别处理过程基本上是一致的。目前主流的语音识别技术是基于统计模式识别的基本理论。一个完整的语音识别系统可大致分为三部分:

(1)语音特征提取:目的是从语音波形中提取随时间变化的语音特征序列。

(2)声学模型与模式匹配(识别算法):声学模型是识别系统的底层模型,并且是语音识别系统中最关键的一部分。声学模型通常由获取的语音特征通过训练产生,目的是为每个发音建立发音模板。在识别时将未知的语音特征同声学模型(模式)进行匹配与比较,计算未知语音的特征矢量序列和每个发音模板之间的距离。声学模型的设计和语言发音特点密切相关。声学模型单元大小(字发音模型、半音节模型或音素模型)对语音训练数据量大小、系统识别率,以及灵活性有较大影(3)语义理解:计算机对识别结果进行语法、语义分析。明白语言的意义以便作出相应的反应。通常是通过语言模型来实现。

语音识别过程实际上是一种认识过程。就像人们听语音时,并不把语音和语言的语法结构、语义结构分开来,因为当语音发音模糊时人们可以用这些知识来指导对语言的理解过程。对机器来说,识别系统也要利用这些方面的知识,只是鉴于语音信号的多变性、动态性、瞬时性,语音识别技术与人类的大脑还有一定的差距。因此在语言识别技术选择,其应用模式和系统开发上,都需要专业的设计和调试,以实现最好的应用效果[1]。

1996年9月,Charles Schwab开通了首个大规模商用语音识别应用系统:股票报价系统。该系统有效地提高了服务质量和客户满意度,并减少了呼叫中心的费用。不久,Schwab又开通了语音股票交易系统。

美国主要电信运营商Sprint的PCS部门以卓越和有创新的客户服务著称。自2000年来为客户开通了语音驱动系统,提供客户服务、语音拨号、查号和更改地址等业务。2001年9月开通的可以自然方式对话的咨询系统,更实现了以自然、开放的询问方式实时获得所需要的信息。

Bell Canada,加拿大最大的电信运营商,也拥有多个语音驱动系统,提供从客户服务,增值业务和资讯服务多种功能。这些系统不但减少了用户的投诉,也为无线网络服务增值,增强了客户的忠诚度并开辟了新的收入来源。

仔细分析这些案例不难发现,一个成功的语音应用首先是基于详细准确的用户需求调查。只有详细了解客户需求,才能根据需要选用不同类型的产品。目前市场上的语音识别产品基本可分为:

特定人/非特定人:是按照声学模型建立的方式来划分。特定人识别的声学模型是针对某一特定用户训练的。一般来说用户需要先训练系统,然后才能识别该用户的发音。而非特定人识别的声学模型是针对某一种特定的语言来训练的,发音人不需要训练既可使用。虽然在建立模型时需要大量的语料,对用户来说却提供了更大方便,他们甚至不需要了解该过程。

嵌入式/服务器模式:嵌入式是将语言识别软件及模型,写在设备(如手机)的存储器里,识别过程在终端完成。在服务器模式,终端只负责收集和传导语音信号,由服务器负责完成识别。因此,对于大规模,多用户和有大量识别需求的系统,服务器模式提供了有效的方式。

目前运营商和企业用户的需求多数适合采用非特定人服务器模式的服务。例如上面提到的Charles Schwab,SprintPCS和Bell Canada都选用了Nuance Communi- cations提供的语音识别软件。加之专业的系统集成方案及Nuance技术服务所提供的良好的语音用户界面设计和后期优化,使得应用系统获得了很高的客户满意度。在很多方面超过了接线员。

国内外发展现状

60年代,计算机的应用推动了语音识别的发展。这时期的重要成果是提出了动态规划(DP)和线性预测分析技术(LP),其中后者较好地解决了语音信号产生模型的问题,对语音识别的发展产生了深远影响。

70年代,语音识别领域取得了突破。在理论上,LP技术得到进一步发展,动态时间归正技术(DTW)基本成熟,特别是提出了矢量量化(VQ)和隐马尔可夫模型(HMM)理论。在实践上,实现了基于线性预测倒谱和DTW技术的特定人孤立语音识别系统。 80年代,语音识别研究进一步走向深入,其显著特征是HMM模型和人I神经元网络(ANN)在语音识别中的成功应用。HMM模型的广泛应用应归功于AT& T Bell 实验室Rabiner等科学家的努力,他们把原本艰涩的HMM纯数学模型I程化,从而为更多研究者了解和认识。ANN和HMM模型建立的语音识别系统,性能相当。

进入90年代,随着多媒体时代的来临,迫切要求语音识别系统从实验室走向实用。许多发达国家如美国、日本、韩国以及IBM、Apple、AT&T、NTT等著名公司都为语音识别系统的实用化开发研究投以巨资。

我国对语音识别的研究起步相比于发达国家来说比较晚,但是经过科研I作者们不懈的努力,现在已经取得了巨大的突破。1988年,在清华大学和中科院声学所的共同努力下,无限词汇的汉语听写机被研制成功.此后不少公司陆续推出自己的汉语听写机产品,大大促进了汉语语音识别的发展.之后,在国家的大力支持下,很多国内单位在语音识别上进行了大量的探索研究,为汉语的语音识别做出了杰出的贡献。

语音识别的应用场合

目前,语音识别技术己经在生活中的诸多方面有了广泛的应用,而这方面的

例子已经屡见不鲜,其主要的应用场合如下

(1) 声控应用

在很多场合与特定环境中,使用声控系统可以大大提高生活质量和便利程

度。比如司机通过语音进行电话拨号,可以减少交通事故的发生率,而很多行动

不便的人通过声控系统更是可以将生活质量提高.

(2) 数据库检索

在不少行业部门当中都需要对庞大的数据进行检索和查询,这是一项非常复

杂的I作。语音识别的引入可以大大的减少劳动量,既方便又节约人力成本.

(3) 语音听写机

用口述来代替人工输入文档,提高了输入速度,而且更加方便,可以为办公

自动化带来革命性的变化。比如IBM出品的Via Voicc系列产品就是这个方面典

型的应用。

(4) 自动口译

将语音识别应用于自动口语翻译是未来的一大趋势,不仅可以节省大量的人力。同时也让翻译工作变得更加轻松简单。一些发达国家在自动口译方面的研究

己经取得了一定的进展。

目前,语音识别技术仍在高速发展之中。随着时代的进步,越来越多的领域

开始引入这项技术,人类的日常生活会级此而带来更大改变。

语音识别所面临的难题

虽然在过去的几十年语音识别技术已经取得了长足的发展,但是现在的技术还不足以让电脑像人一样随意交谈.具体说来,主要有以下几个方面:

首先,语音识别系统的鲁棒性不够强,对环境的依赖程度过高。在某一种环境下训练的语音识别系统换了一种环境之后性能就会下降。

其次,语音识别对于外部噪声特别敏感。这不仅是因为外部噪声会导致语音信号发生变化,而且由于嘈杂的环境下人的音调,语速以及音量都会改变,因此识别难度也更大。

再次,语音的随机性很强。就算是同一个人在不同的时刻,由于身心状态的差异,导致语音的特征也会不一样。

最后,由于目前对人类的听觉理解、知识积累和神经系统的机理等方面的研究水平不足,限制了语音识别的发展。

为了解决上述问题,研究者们想出了各种方法,比如自适应训练、神经网络等。这些做法虽然都取得了一定的成绩,然而,如果要让语音识别系统的性能得到大幅的提高,还有大量的工作要做。

目前,市场上大词汇量的语音识别系统多采样PC机作为硬件平台,而基于嵌入式的中小词汇的语音识别系统,其硬件设计常采用DSP或者AUM这样的高性能芯片,这样硬件成本较高。对于单片机来说,虽然成本低,但由于单片机本身计算能力有限,而语音识别的计算量过大,这对系统在单片机上的实现带来了很大的困难。因此,如何改进算法以减少计算量成为了语音识别能否在单片机上运行的一大难点。

1 设计方案

1.1 系统设计要求

(1)简单语音对话交流。

(2)语音点播:

①唱儿歌

②朗诵一古诗

③讲笑话

本课题旨在开发一个将语音识别技术,传感器技术等技术应用其中,并集教育性、娱乐性和互动性于一体的智能语音识别系统。

1.2 总体方案设计

本语音识别系统以LD3320语音识别芯片核心部件,制作了一个语音识别控制系统。本系统主控MCU选用STC10L08XE。主控MCU通过控制LD3320内部寄存器以及SPI flash实现语音识别语音对话。通过MIC将声音信息输入LD3320进行频谱分析,分析后将提取到的语音特征和关键词语列表中的关键词语进行对比匹配,找出得分最高的关键词语作为识别结果输出给MCU,MCU针对不同的语音输入情况同通过继电器对语音命令所对应的电器实现控制。同时也可以通过对寄存器语音片段的调用,实现人机对话。该系统框架图如下图1-1所示:

语音识别语音播放主控MCU

STC10L08XE

SPI

FLASH

W25Q40AVSNI

G

图1-1 系统框架图

2 系统硬件电路设计

2.1 电源模块

本系统采用3.3V供电,主要控制及识别部分采用LM1117-3.3稳压芯片,语音播放及继电器部分采用7812为其提供稳定的电流电压。电源模块电路图如图2-1所示:

图2-1 电源模块电路图

(1)参数特性

LM1117-3.3 参数特性:

输入电压(V) 4.75~12

输出电流(A) 1

输出电压(V) 3.3

压差(V) 1.3

(2)封装

类型:SOT-223

引脚:3

体宽:6.30-6.71 mm

长度:3.30-3.71 mm

引脚间距:2.29 mm

2.2 寄存器模块

本系统采用一片华邦SPI flash芯片W25Q40AVSNIG,大小为512Kbyte。用于存储人机对话时的声音素材。寄存器模块电路图如图2-2所示:

图2-2 寄存器模块电路图

选用串行闪存的理由:

(1)能够减少微处理器的封装管脚数目;

(2)线路板(PCB)可以更小,更简单;

(3)能够减少系统电路切换噪声;

(4)能够减低系统功能及制造成本。

2.3 控制单元模块

采用STC10L08XE单片机作为系统的主控制单元。STC10L08XE系列单片机具有强大的数据处理功能,且I/O口控制灵活。控制单元模块电路图如图2-3所示:

图2-3 控制单元模块电路图

2.3.1 STC10L08XE单片机简介

STC10L08XE单片机是宏品科技生产的单时钟/机器期( IT)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成高可靠复位电路,针对高速通信,智能控制,强干扰场合[1]。

11/10xx系列单片机的定时器0/定时器1串行口与传统8051兼容,增加了独立波特率发牛器,省去了定时器2。传统8051的111条指令执行速度全面提速,最快的指令快24倍,最慢的指令快3倍。

增强型8051 CPU,IT,单时钟/机器周期,指令代码完全兼容传统8051。

工作电压:

STCIIF系列工作电压:5.5V - 4.1V / 3.7V (5V单片机);

STCIIF系列工作电压:3 .6V一2.4V / 2.1V (3V单片机);

STCIOFxx系列工作电压:5.5V–3.8V / 3.3V (5V单片机);

STCIOLxx系列工作电压:3.6V一2.4V/ 2.1V (3V单片机)。

工作频率范围:0一 35MHz,相当于普通8051的0~420MHz。

STCIIF/Lxx系列单片机用户应用程序空间:

1/2/3/4/5/6/8/16/20/32/40/48/52/56/60/62K字节。

STCIOF/Lxx系列单片机用户应用程序空间:4K/6K/8K/10K/12K/14K字节。

STC11xx系列单片机:片上集成1280字节或256字节RAM;

STC11XX系列单片机:片上集成51字节或256字节RAM。

通用I/O口(36/40/12/14/16个)每个I/O口驱动能力均可达到2OmA,复位后为:(1)准双向口/弱上拉(普通8051传统I/O口);

(2) 可设置成四种模式:

①准双向口/弱上拉;

②强推挽/强上拉;

③仅为输入/高阻;

④开漏。

ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器。可通过串口(RxDIP3.0, TxD/P3.1)直接下载用户程序,数秒即可完成一片[2]。

有EEPROM功能。

看门狗。

内部集成MAX810专用复位电路(晶体频率在24MHZ以下时,要选择高的复位门槛电压,如4.1V以下复位,晶体频率在12MHz以下时,可选择低的复位门槛电压,如3.7V以下复位,复位脚接1K电阻到地)。

内置一个对内部Vcc。迸行掉电检测的掉电检测电路,可设置为中断或复位。5v 单片机掉电检测门槛电压为4.1V~3.7V附近,3.3V单片机掉电检测门槛电压为2.4V 附近。

时钟源:外部高精度晶体/时钟,内部R/C振荡器。用户在下载用户程序时,可选择是使用内部R/C振荡器还是外部晶体/时钟;

常温下内部侧R/C振荡器频率为:4MHz~8MHz;精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准。共2个16位定时器(与传统8051兼容的定时器/计数器,16位定时器TO和T1)STCIOxx全系列都有1个独立波特率发生器。3个时钟输出口,可由TO的溢出在P3 .4/TO输出时钟,可由T1的溢出在P3.5/TI输出时钟,独立波特率发生器可以在P1.0口输出时钟。外部中断I/O口5路,传统的下降沿中断或低电平触发中断,Power Down模式可由外部中断唤醒,INTO/P3.2,INTI/P3.3,INT/TO/P3.4,INT/TI/P3.5,INTINT/RxD/P3.0r或INT/RxD/P1.6。

PowcT Down(掉电)模式可由内部掉电唤醒,可用定时器唤醒(STGIIxx系列有此功能,STCIOxx无此功能),也可由上面提到的外部中断口中断唤醒,由于INT/RxD 支持下降沿中断,故也可支持远程通信唤醒。

一个独立的通用全双上异步串行口(UART),做主机时可以当2个串口使用[RxD/P3.0,TxD/P3.1]可以切换到[RxD/P1.6, TxD/P1.7],通过将串口在P3口和P1口之间来回切换,将l个串口作为2个主串口分时复用,可低成本实现2个串口,当然有其局限性。

工作温度范围:-4℃- +85℃(工业级)/0℃-75℃(商业级)。

封装:SOP16lDIP

16/DIP18/SOP20/DIP20/LSSOP20/PDIP-40/LQFP-44/PLCC-44(暂时不要选PLCC

相关文档