基于MFC平台下的语音识别系统的设计
基于51单片机的语音识别系统设计的设计思路

基于51单片机的语音识别系统设计的设计思路
基于51单片机的语音识别系统设计一般分为以下几个部分:
1. 语音输入模块:这一部分需要一个语音输入模块,用于采集用户的语音信号。
一般常用的语音输入模块有麦克风、语音识别芯片等。
2. 信号处理模块:对采集到的语音信号进行预处理和特征提取处理,以便进行后续的识别处理。
主要的处理过程包括信号滤波、特征提取、特征参数处理、信号识别等。
3. 语音识别模块:根据信号处理后得到特征参数,使用语音识别算法对输入的语音进行识别,将语音信号转换成文本信息,表示用户交互的意图。
4. 控制处理模块:通过上述处理得到用户的控制信息,根据不同的控制信号执行对应的操作,如控制LED灯、语音合成等。
5. 外围控制模块:根据用户的需求,可以添加外围控制模块,包括LED灯、电机、蜂鸣器等,以实现更多实际应用需求。
整个系统的设计需要详细分析每个模块的功能和实现,根据实际应用需求进行硬件选型和系统设计,同时对系统进行综合测试和性能评估。
语音信号处理课程设计报告python

语音信号处理课程设计报告python一、引言语音信号处理是数字信号处理中的一个重要分支,它主要涉及到语音信号的获取、预处理、特征提取、分类识别等方面。
在本次课程设计中,我们将使用Python语言对语音信号进行处理,并实现一个简单的语音识别系统。
二、问题描述本次课程设计的主要任务是实现一个基于MFCC特征提取和GMM-HMM模型的语音识别系统。
具体来说,我们需要完成以下任务:1. 对输入的语音信号进行预处理,包括去噪、分帧、加窗等;2. 提取MFCC特征;3. 使用GMM-HMM模型对不同的语音进行分类识别。
三、方法实现1. 语音信号预处理在对语音信号进行MFCC特征提取之前,需要对其进行预处理。
我们需要去除信号中的噪声。
常见的去噪方法包括基于阈值的方法和基于滤波器的方法。
在本次课程设计中,我们将使用基于阈值的方法对信号进行去噪。
我们需要将原始信号分帧,并对每一帧应用窗函数以减少频谱泄漏效应。
常见的窗函数包括汉明窗、海宁窗等。
2. MFCC特征提取MFCC是一种常用的语音特征提取方法,它可以将语音信号转换为一组包含语音信息的系数。
MFCC特征提取包括以下几个步骤:1. 对预处理后的语音信号进行快速傅里叶变换(FFT);2. 将频谱图转换为梅尔频率倒谱系数(MFCC);3. 对MFCC系数进行离散余弦变换(DCT)。
3. GMM-HMM模型GMM-HMM模型是一种常见的语音识别模型,它将每个单词表示为一个由高斯混合模型(GMM)和隐马尔可夫模型(HMM)组成的序列。
在本次课程设计中,我们将使用GMM-HMM模型对不同的语音进行分类识别。
四、程序实现1. 语音信号预处理我们使用Python中的librosa库对语音信号进行预处理。
具体来说,我们使用librosa.load()函数加载.wav格式的文件,并使用librosa.effects.trim()函数去除静默段。
我们对剩余部分进行分帧和加窗操作,并使用librosa.feature.mfcc()函数提取MFCC特征。
语音情感识别系统的设计与实现

语音情感识别系统的设计与实现随着人工智能技术的发展和广泛应用,语音情感识别系统也越来越受到重视和需求。
语音情感识别系统是指通过归纳、抽象和推理等方法,从人的语音中获取其情感状态的能力,是人工智能(AI)和自然语言处理(NLP)领域的关键技术之一。
本文将从语音情感识别系统的设计和实现两个方面分别探讨。
一、语音情感识别系统的设计语音情感识别系统的设计一般分为以下几个步骤:1. 收集语音数据语音情感识别系统最基础的要求就是要有足够的语音数据,因此,收集足够的语音数据是第一步必要的工作。
在语音数据的采集过程中,要注意保证数据的多样性和真实性,以充分反应人们在不同情感状态下的话语特点。
2. 特征提取语音特征提取是将每段语音处理成数值特征,方便计算机分析和处理。
常用的特征包括声道频率(MFCC)、线性预测编码(LPC)等,其中MFCC是最为常见的。
3. 情感分类模型建立建立情感分类模型是语音情感识别系统的核心工作。
这一过程需要进行训练数据的划分和特征提取,以及分类器的选择和评估。
常用的分类器有支持向量机(SVM)、朴素贝叶斯(NB)和随机森林(RF)等。
4. 系统集成将情感分类模型与声音文件的输入和输出、特征提取模块、前后处理模块、用户接口等集成为一个完整的系统。
二、语音情感识别系统的实现语音情感识别系统的实现需要掌握一些基础知识和技能,下面介绍一些重要的方面:1. 编程语言语音情感识别系统的实现需要掌握一些编程语言的基本知识,例如Python、C++、Matlab等,其中Python最为常用。
Python提供了许多有用的库和工具,如NumPy、SciPy等,可以方便地进行数据处理和计算。
除此之外,还需要熟悉机器学习框架如TensorFlow、Keras等。
2. 语音数据预处理在语音情感识别系统的实现中,语音数据预处理非常重要。
可以通过语音文件的加载和解码、分割语音流、提取特征等操作,将原始语音数据转化为计算机可以处理的形式。
基于人工智能的语音识别与自然语言理解系统设计

基于人工智能的语音识别与自然语言理解系统设计近年来,基于人工智能的语音识别与自然语言理解系统得到了广泛的关注和研究。
随着人工智能技术的快速发展和应用场景的扩大,语音识别与自然语言理解系统正成为一种重要的交互方式,为人们提供更便捷、智能化的信息交流和服务。
语音识别是指将语音信号转换为文本的技术。
该技术的核心是通过采用声音特征提取和模式识别算法,从采集到的语音信号中识别并转换为相应的文字信息。
人工智能的发展使得现代语音识别系统能够达到相当高的准确率,其应用范围也得到了极大的扩展。
基于人工智能的语音识别系统设计需要考虑以下几个关键要素。
首先,语音信号的采集和预处理环节非常重要。
通常情况下,我们需要借助麦克风等设备对语音信号进行采集,然后对采集到的信号进行降噪和过滤等预处理操作,以提高后续的信号处理效果。
其次,语音特征提取是实现语音识别的关键技术之一。
在语音信号的频率、频谱、时域特性等方面,存在着很大的差异。
因此,我们需要从中提取出有效的特征序列,以便于接下来的模式识别工作。
常用的特征提取方法包括梅尔频率倒谱系数(MFCC)和线性预测编码(LPC)等。
接下来,语音信号的模式识别是实现语音识别系统的核心环节。
在这一环节中,我们需要建立相应的模型,通过训练模型来识别和匹配语音信号的特征序列。
常用的模式识别算法包括隐马尔可夫模型(HMM)、深度学习模型等。
这些算法能够根据标注好的训练数据来学习语音信号和对应文本之间的映射关系,从而实现后续语音信号的识别。
除了语音识别,自然语言理解也是基于人工智能的一个重要领域。
自然语言理解是指将自然语言文本转化为结构化的语义表示形式的过程,从而使计算机能够理解和处理人类的自然语言。
自然语言理解系统,能够解析代码和句法,并能够将其转换为计算机能够理解和处理的形式。
在设计基于人工智能的自然语言理解系统时,我们需要考虑以下几个方面。
首先,语言模型的建立是自然语言理解系统的基础。
语言模型的作用是预测给定句子或文本序列的下一个词或短语,以此来提高语言理解的准确性和流畅度。
基于Python的智能语音识别系统设计与实现

基于Python的智能语音识别系统设计与实现智能语音识别系统是一种能够将人类语音信息转换为文本或命令的技术,近年来随着人工智能技术的快速发展,智能语音识别系统在各个领域得到了广泛的应用。
本文将介绍如何基于Python语言设计和实现一个简单的智能语音识别系统。
1. 智能语音识别系统的原理智能语音识别系统主要包括语音信号的采集、特征提取、模型训练和识别等几个关键步骤。
首先,系统需要通过麦克风等设备采集用户的语音信号,然后提取出语音信号的特征,比如梅尔频率倒谱系数(MFCC)、线性预测编码(LPC)等。
接着,利用机器学习或深度学习算法对这些特征进行训练,构建一个语音识别模型。
最后,当用户输入语音信号时,系统会将其转换为文本或命令输出。
2. Python在智能语音识别中的应用Python作为一种简洁、易学、功能强大的编程语言,在人工智能领域得到了广泛应用。
在智能语音识别系统中,Python可以通过一些开源库和工具来实现语音信号的处理和模型训练,比如SpeechRecognition、pyAudio等。
此外,Python还可以结合深度学习框架如TensorFlow、PyTorch等来构建更加复杂和高效的语音识别模型。
3. 设计智能语音识别系统的步骤3.1 数据采集与预处理首先,我们需要准备一些包含不同人说话的语音数据集,可以从公开数据集中下载或自行录制。
然后,对这些语音数据进行预处理,比如去噪、分段、提取特征等。
3.2 模型选择与训练在选择模型方面,可以使用传统的高斯混合模型(GMM)、隐马尔可夫模型(HMM)或者更加先进的深度神经网络(DNN)、循环神经网络(RNN)等。
接着,利用Python中的相关库进行模型训练,并调参优化。
3.3 系统集成与测试最后,将训练好的模型集成到一个完整的智能语音识别系统中,并进行测试和调试。
可以通过录入自己说话的语音来测试系统的准确率和稳定性。
4. 实现一个简单的智能语音识别系统下面是一个简单的基于Python的智能语音识别系统实现示例:示例代码star:编程语言:pythonimport speech_recognition as sr# 初始化Recognizerr = sr.Recognizer()# 使用麦克风录入语音with sr.Microphone() as source:print("请说话:")audio = r.listen(source)# 将语音转换为文本try:print("你说了:" + r.recognize_google(audio,language='zh-CN'))except sr.UnknownValueError:print("抱歉,无法理解你说的话")except sr.RequestError:print("抱歉,无法连接到网络")示例代码end通过以上代码示例,我们可以实现一个简单的智能语音识别系统,并且利用Google的API将用户输入的中文语音转换为文本输出。
基于语音识别的指挥系统设计及其应用研究

基于语音识别的指挥系统设计及其应用研究近年来,随着人工智能技术的不断发展和普及,语音识别技术也得到了广泛的应用和推广。
除了语音助手、智能家居等常见的应用外,在某些特定场景下,语音识别技术也能大大提高工作效率和便利程度。
本文将探讨一种基于语音识别的指挥系统设计及其应用研究。
一、需求分析在某些需要快速处理大量指令和信息的领域中,常常需要一种高效便捷的指挥系统。
比如在军事指挥、交通指挥、安保等领域,指挥官需要不断地下达各种指令,同时要确保指令的准确性、及时性和安全性。
而在传统的指挥系统中,指挥官必须进行手动输入或者使用复杂的设备进行指令的下达,这不仅十分费时、容易出错,还会干扰指挥官的思维和判断。
为解决这些问题,我们提出了一种基于语音识别的指挥系统设计方案。
这种系统通过语音识别技术,能够自动识别并处理指挥官下达的各种指令,从而有效提高指挥效率。
二、系统设计1. 系统结构本系统由三个主要部分组成:语音输入模块、指令处理模块和指挥输出模块。
语音输入模块负责从指挥官的语音输入中提取出原始音频信号,经过去噪、分割等一系列处理后,将语音特征向量输送给指令处理模块。
指令处理模块是整个系统的核心部分,其主要任务是将输入的语音指令解析处理,并进行响应的操作和反馈。
主要采用深度学习等机器学习技术来进行模型建立和训练。
指挥输出模块则负责将指挥结果输出给指挥人员,并且根据需要对指挥结果进行处理和存储等操作。
2. 技术实现本系统采用了深度学习技术,包括卷积神经网络(CNN)、长短时记忆网络(LSTM)、隐马尔可夫模型(HMM)等进行指令识别和处理。
其中CNN主要用来提取语音信号的时频深度特征,LSTM则用来捕捉语音信号的时间序列特征,而HMM则用来建立语音指令的模型和进行指令的解析和响应。
三、系统应用1. 军事指挥在现代军事作战中,指挥官需要在恶劣环境和高压力下及时、准确地下达各种指令。
本系统可将语音指令快速转化为文本格式,实现实时语音识别和指挥响应,提高指挥效率和作战效果。
基于单片机的语音识别系统设计

基于单片机的语音识别系统设计作者:徐国成来源:《好日子(下旬)》2018年第04期摘要:本系统设计的智能家居系统,是基于LD3320语音识别芯片的非特定人识别的功能而设计的,实现语音控制设计了了两级语音指令来控制,控制电位器打开与关闭,进而来控制与之相连的电器,实现用户发出语音指令后精确控制电器开、关的功能,可以给我们的生活带来极大的便利。
关键词:语音识别;单片机0 引言语音处置和分辨技术始于1950年以后,经过70年科研人员的不断摸索和钻研,已趋于成熟,从孤立、单一词组的识别到非固定人、大词汇量的连续语音识别甚至固定人的语音识别,一系列的创新使得人类与计算机之间的沟通桥梁增加了一个人类语音。
近年来,作为直接有效的人与机器之间的交互方式,语音识别在工业制造过程、现代化居家生活和医疗卫生体系等方面应用逐渐增加,在嵌入式系统领域中,具有很高研究价值及发展潜力。
让机械理解听懂人类的声音,这是我们长期以来求之不得的事情。
语音识别是一个复杂有深度的学科,涉及到多学科、多领域的研究分析,语音识别的发展与其他领域密不可分,依赖于众多领域上的研究成果。
语音识别技术就是让机器通过分辨和听懂人们的语言,把声音信号转换为对应的机械动作或者指令的一种高新技术。
语音识别系统的分类方式及依据是根据对说话人说话方式的要求,可以大致分為两类,一类是:单个字(词)语音识别系统,另一类是:多个字语音识别系统,以及多个词组语音识别系统。
深一步可以分为两个方向:一是根据对说话人的关联程度可以划分为固定人和非固定人语音识别系统;二是根据字词数量的多少,可以分为小词组系统、中等词组系统、大词组系统,以及无限词组系统。
不同的语音识别系统,每种系统的实现方式可能不一样,单是所用的基础处理方式大致都一样。
1 系统方案设计此次设计制作的语音控制系统,语音识别部分核心原件使用的LD3320芯片,控制系统的单片机用的是STC89C52单片机。
通过主控单片机控制LD3320语音芯片内部寄存器以此达到实现语音识别控制的效果。
毕业论文《语音识别系统的设计与实现》

摘要 (III)Abstract (I)前言 (I)第一章绪论 (1)1.1 研究的目的和意义 (1)1.2 国内外研究历史与现状 (1)1.3 语音识别存在的问题 (4)1.4 论文主要研究内容及结构安排 (5)第二章语音识别系统 (6)2.1 语音识别系统简介 (6)2.1.1 语音识别系统的结构 (6)2.1.2 语音识别的系统类型 (7)2.1.3 语音识别的基元选择 (9)2.2 语音识别系统的应用 (9)2.2.1 语音识别系统的应用分类 (9)2.2.2语音识别系统应用的特点 (10)2.2.3 语音识别系统的应用所面临的问题 (11)2.3 语音识别的算法简介 (12)2.3.1 基于语音学和声学的方法 (12)2.3.2 模板匹配的方法 (13)2.3.3神经网络的方法 (15)第三章语音识别系统的理论基础 (16)3.1 语音识别系统的基本组成 (16)3.2 语音预处理 (17)3.2.1 预加重 (17)3.2.2 加窗分帧 (17)3.2.3 端点检测 (18)3.2.4 语音特征参数提取 (18)3.2.5 语音训练和识别 (22)第四章特定人孤立词语音识别系统的设计方案 (26)4.1 基于VQ语音识别系统的模型设计 (26)4.2 语音识别系统特征参数提取提取 (27)4.2.1 特征参数提取过程 (27)4.2.2 特征提取matlab实现 (28)4.3 VQ训练与识别 (30)4.3.1 用矢量量化生成码本 (30)4.3.2 基于VQ的说话人识别 (31)4.4 设计结果分析 (33)总结与体会 (36)谢辞 (38)参考文献 (39)摘要本文主要介绍了语音识别系统的基础知识,包括语音识别系统的应用、结构以及算法。
重点阐述了语音识别系统的原理以及相关算法,通过参考查阅资料,借助MATLAB工具,设计基于VQ码本训练程序和识别程序,识别特定人的语音。
系统主要包括训练和识别两个阶段。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图 1 语音识别原理图
3.语音识别系统的设计与实现 3.1 关于 Microsoft Speech SDK5.1 微软的 Speech SDK 5.1 是微软视窗环境的开发工具 包。这个 SDK 中含有语音应用设计接口(SAPI)、微软的连 续语音识别引擎(MCSR)以及微软的串联语音合成(又称语 音到文本(TTS))引擎等等。SAPI 中还包括对于低层控制和 高度适应性的直接语音管理、训练向导、事件、语法编译、资 源、语音识别(SR)管理,其中应用程序接口(API)和设备驱 动接口(DDI),结构如图 2 所示。
当应用程序通过请求的通知机制得到通知消息时, SPEVENT 结构的 lParam 成员包含了一个 IspRecoResult 接 口 , 应 用 程 序 能 从 中 确 定 用 IspRecoContext 中 的 哪 个 IspRecoGrammar 接口已识别了什么语音。
3.2 实现 SR 的过程 语音识别编程涉及到 IspRecognizer,IspRecoContext 和 IspRecoGrammars 等多个语言识别引擎极口。我们首先构造 一个操作语音识别的类 CSpeechRecognition,然后基于该类 实现一个语音识别程序。在 CSpeechRecognition 类中封装了 语音识别操作所需要的几个接口,使用它进行语音识别更加 方便、简洁。在类 CSpeechRecognition 中定义了 3 个接口指针 m_cpRecoEngine,m_cpRecoCtxt 和 m_cpDictationGrammar,分别用 于 引 用 语 音 识 别 引 擎 的 3 个 重 要 接 口 IspRecognizer, ISpRecoContext 和 IspRecoGrammar。 (1) 初始化 COM 库 在 Dll 中调用 COM 时必须先用 CoInitialize (NULL)初 始化 COM 库。
语音识别的基本过程,根据实际中的应用不同,语音识 别系统可以分为:特定人与非特定人的识别、独立词与连续 词的识别、小词汇量与大词汇量以及无限词汇量的识别。但 无论那种语音识别系统,其基本原理和处理方法都大体类 似。
如图 1 所示,识别有意义、有内容的语音信息的基本方 法是:预先分析出语音特征,按照要求送给机器储存起来, 这 个 语 音 参 数 库 中 的 语 音 参 数 称 为 “ 模 板 (Template-based Approach)”,而这一过程称为“训练(Training)”。接着,送来识 别的语音(又称待识语音)经过与训练时相同的分析,得到 语音参数,将它与库中的参考模板一一比较,并采用判决的 方法找出最接近语音特征的模板,得出识别结果,这一过程 就称为“识别(Recognition)”。当然,在进行比较时要有个标 准,这就是计量语音参数矢量之间的“失真测度(Distortion Measures)”,即 :失 真 最 小 的 那 个 模 板 所 代 表 的 内 容 就 是 识 别的结果。
if ( FAILED ( CoInitialize ( NULL ) ) ) { m_sError=_T("Error intialization COM"); return FALSE;
} (2) 创建语音识别对象(Recognizer Object) 创建 Recognizer Object,这个对象提供了访问语音识别 引擎的方法。 // 定义全局变量 CComPtr<IspRecognizer> m_cpRecoEngine; // 创建一个语音识别引擎 If(bIsShared) {
hr = m_cpRecoEngine.CoCreateInstance (CLSID_Sp SharedRecognizer);
} else {
hr = m_cpRecoEngine.CoCreateInstance (CLSID_Sp InprocRecognizer);
} (3) 创建一个识别上下文(Recognition Context) // 定义全局变量 CComPtr<IspRecoContext> m_cpRecoCtxt; // 创建命令识别上下文 hr = m_cpRecoEngine->CreateRecoContext (&g_cp
— 54 —
经过上面所述的各个步骤,我们已经完成了语音识别的 准备工作,接着就可以响应程序的各种事件了。
3.3 系统分析 Stenotypist 是在设计过程中基于 MFC 平台开发的一个 具有语音识别功能语音识别软件,其能够让计算机进行语 音录入,并且将识别结果显示在界面中。下面将对该系统进 行详细分析和测试。图 3 是系统的功能结构框图:
应用技术与研究 学术探讨
航空航天大学出版社,2002. 源自5] 杨尚国,杨金龙.语音识别技术概述[J].福建电脑,2006,8:
50-51.
图 3 系统的功能结构框图
程序的主要函数功能的实现及功能流程图如图 4 所 示。
3.4 系统测试 经过调整麦克风配置和进行语音训练后,运行并使用本 程序。经过对不同的语音输入的测试,我们发现设计的程序 对常用的孤立词汇的识别准确率可以达到百分之百,对一 些生僻的孤立词汇的识别准确率能达到百分之八十以上。 4.结论 综上所述,通过测试,我们对语音识别在孤立词汇的识 别效果满意,但在小词汇和连续词汇的识别还不能满足要 求。如果系统中能够加入语音控制程序的话,那么系统功能 将更为全面。
对于人类语音发生过程的研究可以追溯到很早的年 代。那时,人们研究人类发声的物理过程及其数学表达方式 和模型。另一方面,人们还研究语言语音学,了解语音的分 类、性质、表示方式等。语音技术最早和最重要的一种应用 是 Homer Dudley 在 1930 年发明的声码器。对语音识别的研 究,可以追溯到 50 年代。1952 年 Davis 等人研制成功了第一 个识别 10 个英文数字发音的实验系统。1960 年 Denes 等人 研制成功了第一个计算机语音识别系统。
下一步需要为应用程序感兴趣的事件设置通知消息。 IspRecognizer 也是一种 IspEventSource 接口。因此,应用程 序能够从其 IspRecoContext 接口中调用 IspNotifySource 的 方法来指定 IspRecoContext 所需的消息应通知到何处。调用 ISpEventSource::SetInterest 方法可以设定什么样的事件需 要被通知。最重要的事件是 SPEI_RECOGNITION,它标识了 IspRecognizer 已 从 IspRecoContext 中 识 别 了 一 些 语 音 。 Speech SDK 文档中 SPEVENTENUM 的说明提供了其它语 音识别事件的详细说明。
1.语音技术的概述
计算机语音技术是语音领域的一个重要部分,包括四 种技术,即语音分析技术、语音存储与再生技术、语音合成 技术和语音识别技术。从语音通信涉及的内容而言,语音技 术还应包括语音理解技术。但是,在学术上,由于历史的原 因,长期以来,语音识别和自然语言处理(包括语音理解)两 个研究领域是并行独立发展的。目前,主要的研究工作还是 语音识别。本文将重点介绍语音领域的语音识别。
最后,应用程序必须创建、装载并激活一个 IspRecoGrammar 接口。该接口从本质上说明了什么语音类 型,即口述或命令和控制语法。应用程序首先应调用 ISpRecoContext::CreateGrammar 方 法 创 建 一 个 IspRecoGrammar 接口;然后装载合适的语法,调用 ISpReco Grammar::LoadDictation 方法可装载口述语法;最后,为了激 活语法并启动识别,应用程序应该调用 ISpRecoGrammar:: SetDictationState 方 法 设 置 口 述 状 态 ,或 者 调 用 ISpReco Grammar::SetRuleState 方法或 ISpRecoGrammar::SetRuleIdState 方法设置命令和控制状态。
应用技术与研究 学术探讨
基于 MFC 平台下的语音识别系统的设计
张艳
(南京信息职业技术学院电子信息学院,江苏 南京 210046) [ 摘 要] 对微软公司的语音软件开发包 Microsoft Speech SDK5.1 进行了研究,并且总结了利用该开发包基于 VC++ 6.0 实现语音识别系统(Speech R ecognition)的具体过程。通过对以上理论的研究和探索,设计开发了一个具有语音录入功能 的语音识别软件。 [ 关键字] 计算机语音技术;语音识别;MFC
图 2 SAPI 结构图
应用程序通过 API 层和 SAPI(Speech API)通信,语音 引擎则通过 DDI 层和 SAP(I Speech API)进行交互。通过使 用这些 API,可以加快在语音识别或语音合成方面应用程序 的开发。我们所要重点介绍是语音识别 API。
ISpRecoContext 是语音识别的主要接口。它是语音应用 程序接受消息通知和处理语音识别事件的传输媒介。应用程 序有两种不同的语音识别引擎可供选择。一种是共享式语音 识别(Shared Recognition),它可以供其它可接受的语音识别
— ——— ———— ———— —— — —— —— —— —— —— —— 作者简介:张艳,女,湖北黄石人,博士研究生,讲师,研究方向:语言信号处理及信道编码。
— 53 —
学术探讨 应用技术与研究
应用程序共享语音识别引擎。为了创建一个可共享语音识 别引擎的 ISpRecoContext 对象,应用程序只需调用 COM 的 CoCreateInstance(CLSID_SpSharedRecoContext)函 数 即 可 。 这样的话,SAPI 将设置音频输入流为默认模式。对于一个大 型的服务程序来说,它一般要单独运行于系统上,其工作状 况成为关键,则独占式语音识别(InProc Speech Recognition) 引擎就显得更合适。为了创建一个独占式语音识别引擎的 ISpRecoContext 对 象 , 应 用 程 序 首 先 要 调 用 COM 的 CoCreateInstance(CLSID_SpInprocRecoContext)函 数 去 创 建 独占的识别引擎。然后还要调用 ISpRecognizet::SetInput 函 数 来 设 置 音 频 输 入 。 最 后 , 再 调 用 ISpRecognizet:: CreateRecoContext 函数去得到一个 ISpRecoContext 对象。