从头开始简单的语音识别

2023-12-21

我发现与我的问题相关的最相似的问题是(简单的语音识别方法 https://stackoverflow.com/questions/8467589/simple-speech-recognition-methods)但是三年过去了,答案还不够,我会问。

我想从头开始计算一个简单的语音识别系统,我只需要识别五个单词。 据我所知,该应用中使用较多的音频特征是MFCC和用于分类的HMM。

我能够从音频中提取 MFCC,但我仍然对如何使用这些特征通过 HMM 生成模型然后执行分类有一些疑问。

据我了解,我必须执行矢量量化。首先,我需要一堆 MFCC 向量,然后应用聚类算法来获取质心。然后,使用质心进行矢量量化,这意味着我必须比较每个 MFCC 向量并用最相似的质心名称来标记它。

那么,质心就是 HMM 中的“可观察符号”。我必须将单词引入训练算法并为每个单词创建一个 HMM 模型。然后,给定一个音频查询,我与所有模型进行比较,我说这是概率最高的单词。

首先,这个程序正确吗? Then, 我如何处理不同大小的单词。我的意思是,如果我训练了 500 毫秒和 300 毫秒的单词,我需要引入多少个可观察符号来与所有模型进行比较?

注意:我不想使用 sphinx、android API、microsoft API 或其他库。

注2:如果您能分享更多最新信息以获得更好的技术,我将不胜感激。


首先,这个程序正确吗?

矢量量化部分还可以,但现在很少使用。您描述了所谓的离散 HMM,没有人将其用于语音。如果您想要使用 GMM 的连续 HMM 作为排放的概率分布,则不需要矢量量化。

然后,您专注于不太重要的步骤,例如 MFCC 提取,但跳过了最重要的部分,例如使用 Baum-Welch 进行 HMM 训练和使用 Viterbi 进行 HMM 解码,这些训练部分比使用矢量量化对状态进行初始估计要复杂得多。

那么,如何处理不同大小的单词。我的意思是,如果我训练了 500 毫秒和 300 毫秒的单词,我需要引入多少个可观察符号来与所有模型进行比较?

如果您解码语音,您通常会选择与人类感知的音素部分相对应的符号。传统上每个音素采用 3 个符号。例如,单词“一”应该有 3 个音素的 9 个状态,而单词“七”应该有 5 个音素的 15 个状态。这种做法被证明是有效的。当然,您可以稍微改变这个估计。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从头开始简单的语音识别 的相关文章

  • 同步文本和音频。有 NLP/语音转文本 库可以做到这一点吗?

    我想将语音录音与已知文本同步 是否有一个语音到文本 自然语言处理库可以促进这一点 我想我想要检测单词边界并计算字典中的候选匹配项 我在 SO 上发现的大多数问题都与书面语言有关 期望但不是必需的 开源 开箱即用 兼容美式英语 跨平台 详尽记
  • Delphi 中的 Vista 语音识别

    我希望能够使用 Microsoft Vista 的语音识别功能对我的 Delphi 应用程序进行口授 然而 当尝试听写 TMemo 时 它根本不起作用 我注意到 Firefox 3 0 也有同样的问题 在他们联系微软解决这个问题后 他们告诉
  • 如何使用 Python 模块 Dragonfly 识别语音?

    我一直在试图弄清楚如何使用 Dragonfly 模块 我查看了文档 但似乎不知道如何使用它 我只想能够识别一些短语并根据这些短语采取行动 是的 这个例子将终止 我已经看过这个特定的例子很多了 它缺少一些关键功能 首先是 pythoncom
  • 在 PyQt 中使用 pyttsx

    我正在 pyqt 中为我的聊天机器人制作 Gui 但我在这方面的代码中遇到了一些问题 def init self super Window self init self setGeometry 50 50 500 300 self setW
  • Android 离线语音识别只显示一个结果?

    我已经设置了语音识别服务 如本文所示Android 语音识别作为 Android 4 1 和 4 2 上的服务 https stackoverflow com questions 14940657 android speech recogn
  • 语音识别在 Unity Hololens 项目中不起作用

    我正在尝试在 Hololens 中创建自己的具有语音识别功能的 Unity 项目 我复制粘贴了来自的说明tutorial https developer microsoft com en us windows holographic hol
  • Android PocketSphinx:系统如何知道调用了哪个识别器?

    我正在研究源码TestPocketSphinxAndAndroidASR java https github com mistrykajal16 AndroidPocketSphinx blob master src ca ilanguag
  • Android 上的关键字激活语音识别

    是否可以在您自己的应用程序中使用 google now 这个很酷的语音激活功能 所以我想要的是用户不必通过按下按钮或其他东西来触发激活 像那样 我宁愿有一个由关键字激活的自动语音识别功能 例如 当 google now 打开时 您只需说 g
  • 用于语音检测和辨别的开源代码

    我有 15 盘录音带 我相信其中一盘包含我祖母和我谈话的旧录音 快速尝试找到合适的地方并没有找到 我不想听20个小时的磁带才能找到它 该位置可能不在其中一盘磁带的开头 大多数内容似乎分为三类 按照总长度的顺序 最长的在前 沉默 语音广播和音
  • 使用 Flash 或 Silverlight 进行语音识别

    我正在开发一个网络用户界面来输入一些不是很复杂但需要实时加载的信息 我认为该应用程序可以利用语音识别来促进任务 该界面的核心是使用 Javascript 和 jQuery 构建的 但可以轻松包含 flash 或 silverlight 组件
  • 语音转文本 在 apk 中包含语音引擎

    我的应用程序中需要为真正的非极客提供语音转文本功能 有没有办法在编译时为各种平板电脑包含语音引擎 您可以包含自己的引擎 例如 CMU Sphinx 引擎 这还具有无需数据连接即可工作的优点 看到这个post http cmusphinx s
  • 如何在通话过程中将语音转换为文本,并为呼叫者和呼叫接收者提供不同的文本颜色?

    我想在通话期间将语音转换为文本 我还希望文本以不同的颜色显示 呼叫发起者为红色 呼叫接收者为绿色 在测试期间 我在通话期间将语音转换为文本 但无法区分呼叫发起者的声音和呼叫接收者的声音 提前致谢 请帮帮我 None
  • 如何将人声转换为数字格式?

    我正在开展一个使用生物识别系统来保护系统的项目 我们计划使用人声来保护系统 想法是让人们说出一些单词或句子 系统将以数字格式存储该语音 下次人们想要进入系统时 他 她必须说出一些单词 这些单词可能与之前使用的单词不同 也可能没有不同 我们不
  • 如何跟踪语速

    我正在开发一个跟踪语速的 iPhone 应用程序 并希望使用 Nuance Speechkit https developer nuance com public Help DragonMobileSDKReference iOS Spee
  • 使用 tsfresh 仅选择一定数量的顶级特征

    如何使用 tsfresh 选择时间序列的前 n 个特征 我可以决定要提取的主要特征的数量吗 基于 Chaitra 的上述评论和这个答案 https stackoverflow com questions 62991201 tsfresh g
  • Android 语音识别服务在 <= Ice Cream Sandwich 上速度慢得多

    我有一个正在实现 RecognitionListener 的服务 如下所示 Android 语音识别作为 Android 4 1 和 4 2 上的服务 https stackoverflow com questions 14940657 a
  • Google 语音转文本:额外语言设置为“打开”但不起作用

    我正在尝试使用卡纳达语的 Google Speech to Text API 并且我将 EXTRA LANGUAGE 设置为 kn 但它不起作用 下面是我正在使用的代码 Locale locale new Locale kn Locale
  • 如何使用其他语言的语音识别 android

    我有一个曾经有效的代码 但由于某种原因它突然停止工作 我正在尝试使用希伯来语语音识别 但似乎从几天前开始它才开始英语语音识别 这是我的代码 sr SpeechRecognizer createSpeechRecognizer getAppl
  • 从 Google 语音识别中删除脏话审查

    我正在尝试使用 Google 的语音到文本 API 在 iOS 应用程序中将语音转换为文本 我只是将一些音频数据发送到 URL 并且它返回了我所说的 大部分 正确的单词 但是 它用 替换了任何脏话 我如何用实际的咒语替换 只是一些附加信息
  • python中的语音识别持续时间设置问题

    我有一个 Wav 格式的音频文件 我想转录 我的代码是 import speech recognition as sr harvard sr AudioFile speech file wav with harvard as source

随机推荐