sphinx 语音识别系统
Sphinx 是由美国卡内基梅隆大学开发的大词汇量、非特定人、连续英语语音识别系统。Sphinx的研究工作已经开展了30多年,从李开复等人开发的Sphinxl到现今已经发展到了Sphinx4。Sphinx系统的鲁棒性强、可扩充性很好,并且代码开源代码,使得世界各地语音研究工作者能够利用它进行语音识别的研究工作。本章主要对该系统的构成和理论基础做个详细介绍。
Sphinx
是开放源代码的语音识别软件包,它可以运行在
多种平台上。其中被广泛使用的是
Sphinx2
,同时广泛应用于嵌入式的还有第二
代的改进版
Pocket Sphinx
。




Sphinx Train简介
本课题中使用
Sphinx Train
作为声学模型的训练工具。
Sphinx Train
代码由少量包含
很多核心功能的静态库函数组成
,
绝大多数工具是在声学模型文件上操作的。多数情况
下,这些工具只返回库函数,而不包含代码。
Sphinx Train
工具中包含四个模块:
Python模块:
Python是一种面向对象、直译式计算机程序设计语言,其语言语法特点简捷而清晰,适合完成各种高层任务,可以在所有操作系统中运行。它不仅继承
了传统编译语言的强大性和通用性,也借鉴了简单脚本和解释语言的易用性
Python模块位于根目录下的python/sphinx文件夹。
setup.py是python中的顶层文件,用以建立所有模块。所有模块文件都是用Python语言编写的。
头文件:
头文件位于include文件夹中,它是一种包含功能函数、数据接口声明的载体文件,用于保存程序的声明。
库函数:
库函数主要包含以下表7个库

4) 工具:
这个工具箱包括大多代码实现函数。在训练中最重要的是bw和norm。bw程序的功能是用前向-后向算法收集期望的状态数和状态转移数,而norm的功能是不断更新声学模型参数的最大似然值。