- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
谁能推荐可靠的开源软件来在 wav 文件中转录英语语音?我研究过的两个主要程序是Sphinx和 Julius ,但是我从来没有能够让任何一个工作,而且每个关于转录文件的文档充其量是粗略的。
我正在 64 位 Ubuntu 10.04 上进行开发,其 repos 包括 sphinx2 和 julius,以及 voxforge 的 julius 英语声学模式。我专注于转录文件,而不是直接处理来自麦克风的声音,因为我已经放弃了期望像这样的项目可以与 Ubuntu 的音响系统一起使用。这不是对 Ubuntu 的打击,因为我可以使用 Audacity 完美地用我的麦克风录制声音,但是这两个系统似乎都无法访问我的麦克风,所以我希望我可以通过从文件中读取来简单地配置它们。
我首先尝试了 Sphinx2,来自 Ubuntu 软件包 sphinx2-bin。尽管示例 sphinx2-demo 似乎可以用于转录文件,但实际上没有关于配置的文档,所以我不确定如何自定义它以从任意 wav 读取。演示中使用的音频文件是一些未记录的“16k”格式,通过2个配置文件间接引用。有一个简短的说明,将 sphinx2-demo 描述为运行 sphinx2-batch,但检查脚本显示它实际上是在调用 sphinx2-continuous。更糟糕的是,每个脚本的 --help 文档列出了大约 6 打选项,并且没有提及哪些是必需的或可选的。总的来说,sphinx 文档的缺乏和现有文档的质量差让我抓狂。
我接下来尝试了 Julius,再次来自 Ubuntu 软件包,考虑到 Voxforge 的快速入门中使用的版本是 3.5,该软件包令人惊讶地是最近的 (4.1)。该软件包似乎包含更好的文档,甚至还有一个用 Python 编写的示例 (/usr/share/doc/julius-voxforge/examples/controlapp)。在阅读了示例的文档后,我尝试通过创建一个包含文本“hello.wav”的文件 filelist.txt
来调整它以从文件中读取,该文件指的是同名文件,其中包含记录有人说“你好”。将它们放在同一个目录中,我运行:
julius -input file -filelist filelist.txt -C julian.jconf
得到响应:
### read waveform input
Error: adin_file: sampling rate != 16000 (8000)
Error: adin_file: error in parsing wav header at hello.wav
Error: adin_file: failed to read speech data: "hello.wav"
0 files processed
通过为 filelist.txt 和 hello.wav 指定绝对文件名重试会产生相同的错误。
我还尝试了示例中使用的 Julius 调用,直接从麦克风录制:
julius -input mic -C julian.jconf
我调用了几次,响应因错误而异:
Cannot read /dev/dsp
和:
STAT: AD-in thread created
<<< please speak >>>
在后一种情况下,无论我对着麦克风说什么,都不会发生任何事情。我不知道它是否仍然无法读取麦克风,或者它是否正在读取某些内容,但只是无法转录音频。
我不知道该怎么做。我遇到的错误并没有给我留下太多的余地。为什么不能读wav?为什么它不能读取/dev/dsp?为什么它看起来能够读取/dev/dsp,但没有任何反应?
有没有其他人在开源语音识别器方面取得了任何成功,尤其是在 Linux 上?
最佳答案
Why can't it read a wav?
它告诉您文件的采样率 (8000) 错误,而不是请求的 (16000)。采样率对于语音识别软件来说非常重要。
Why can't it read /dev/dsp?
在最近的 Ubuntu 版本中,pulseaudio 框架被用来代替 OSS。您正在尝试的版本正在使用 OSS,因此您需要从您的发行版中安装 oss-compatibility 包以恢复对 OSS 的支持。
您可以尝试支持 pulseaudio 的新 Julius
Why does it then appear to be able to read /dev/dsp, but not react in any way?
音频输入无法正常工作。
Has anyone else had any success with open source speech recognizers, especially on Linux?
当然,观看此视频作为人们使用 CMUSphinx 的示例:
http://www.youtube.com/watch?v=vfaNLIowSyk
我建议您重新访问 CMUSphinx 软件包,它是领先的开源语音识别引擎。网站上有很多文件,你只需要阅读它们。请记住,语音识别是一个复杂的领域,您可以在其中获得出色的结果,但您还需要花时间了解该技术。就像任何其他域一样。
简而言之,要使用 CMUSPhinx 转录文件,您需要执行以下 3 个简单步骤:
sox input.wav -r 8000 -c 1 resampled.wav
apt-get install pocketsphinx
pocketsphinx_continuous -samprate 8000 -infile resampled.wav
结果将打印到标准输出。要抑制记录器,请将 stderr 重定向添加到/dev/null
pocketsphinx_continuous -infile resampled.wav 2> /dev/null
关于java - 用于在音频文件中转录语音的开源软件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7613089/
前言 在进行Maven开发时,往往需要下载大量jar包,而由于网络不稳定等其他因素可能导致jar未下载完毕,然后保留了lastUpdated文件,导致无法更新失效的jar包。 本文分享 bat脚本,自
按字母顺序排序并不是我们花太多时间担心的事情。我们在很小的时候就学习了字母表,现在我们知道它(拉丁文)以 A 开头,然后是 B,然后是 C 等等,一直到 Z。 但是这个订单究竟存储在计算机系统中的什么
我尝试使用可分离为 2 个一维向量的二维矩阵来证明二维傅里叶变换的信号属性的可分离性。地点: f(x,y) = f(x)*f(y) 那么 F(u,v) = F(u)*F(v) 使用以下代码: % Se
我需要为几个小型sqlite数据库编写文档。想描述数据的使用方式,包括表和行说明以及示例数据。 是否可以使用MySQL Workbench?如果没有其他选择,或者我可以使用任何模板? TIA! 最佳答
我正在尝试使用旧版本(例如:1.4.5)安装 memcached,但我不知道该怎么做。 brew install memcached安装最新的。 我也试过 brew install memecache
背景 多年来,我一直使用自己的类似贝叶斯方法,根据大型且不断更新的训练数据集对来自外部来源的新项目进行分类。 每个项目都有三种类型的分类: 30 个类别,其中每个项目必须属于一个类别,且最多属于两个类
嗨,我需要确定 4 个数字是否相等。数字是 size(A,1)、size(B,1)、size(C,1) 和 size(D,1),其中,例如A = [1 2; 3 4], B=[1 2 3, 4 5 6
Wikipedia 中的文章似乎太冗长了。 我将框架理解为一组精心设计的库和工具。 Qt 框架为跨平台 GUI 提供了一组库/工具。 cocoa 框架为 Mac 做了同样的事情。 软件框架的实际定义是
我们的客户最近发现了这个网站: http://mydeco.com/3d-planner/ 它有一个非常非常奇特且组合良好的 3d CAD Web 应用程序,似乎是使用 jQuery 编写的,而不是
我们正在寻找一种独立的(非 cms)日历解决方案来显示在网络上。它可以是开源的或付费服务。 我们主要是在寻找一种在 Web 上显示日历的方法,其中包含事件发生的时间和事件的名称。如果它可以按周、月、年
我想知道与软件相关的“质量保证”和“质量科学”之间的区别。 我在Google上进行了研究,但未找到有关“质量科学”的任何信息。 最佳答案 Based on the link you have prov
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,
我有一个由 2 个方程和 2 个未知数组成的系统,我想使用 MATLAB 求解,但不知道如何编程。我得到了一些有关 Gamma 分布的信息(平均值为 1.86,90% 的间隔介于 1.61 和 2.1
给定一个矩阵,其中 1 是当前子集 test = 0 0 0 0 0 0 0 0 0 0 0 0
我在组合 Matlab“数据”变量的重复元素时遇到问题。我可以使用 unique 和 sort 轻松组合这些值。 [sorted,idx] = sort(data); [~,ij] = unique(
我在做的问题中有这么一段代码,如下图。定义部分只是为了向您展示数组的大小。下面我粘贴了矢量化版本 - 它慢了 2 倍以上。为什么会这样?我知道如果矢量化需要大的临时变量,我就会发生,但(看起来)这里不
我有一个 3D 矩阵,我想将它的每个 2D 分量存储在另一个 2D 矩阵的行中,该 2D 矩阵有许多行作为 3D 矩阵的第 3 维。 我该怎么做? 最佳答案 与 permute & reshape -
如果计算机能够使用纯 JavaScript(Google V8)、C++(Windows、Mac OS 和 Linux)运行程序/软件而没有任何性能问题,是否有任何好的方法可以通过要求尽可能少尽可能从
我的团队的任务是将用于播放媒体文件的全屏、信息亭式应用程序从 Windows 迁移到嵌入式 ARM Linux(瘦客户端)。我们需要在 sd/1080p 中支持 mpeg-2 播放以及 HTML、SW
我们有数以千计的具有白色或黑色或渐变背景的产品图片。我们正在寻找可以去除图片背景的软件或服务。我们需要一款能够很好地完成这项工作的智能软件。 最佳答案 在 photoshop 中,您可以记录 Acti
我是一名优秀的程序员,十分优秀!