任何人都可以推荐可靠的开源软件来转录wav文件中的英语语音吗?我研究过的两个主要程序是Sphinx和Julius,但是我从来没有能够工作,而且每个关于转录文件的文档都是粗略的.
我正在开发64位Ubuntu 10.04,它的回购包括sphinx2和julius,以及voxforge的julius英语声学模式.我专注于转录文件,而不是直接处理来自麦克风的声音,因为我已经放弃了期望像这样的项目与Ubuntu的音响系统一起工作.这不是对Ubuntu的打击,因为我可以使用Audacity完美地录制我的麦克风声音,但两个系统似乎都无法访问我的麦克风,所以我希望我只需通过读取文件就可以简单地进行配置.
我首先尝试使用Ubuntu软件包sphinx2-bin中的Sphinx2.尽管示例sphinx2-demo似乎可以用于转录文件,但实际上没有关于配置的文档,所以我不确定如何自定义这个以从任意wav读取.演示中使用的音频文件采用一些未记录的"16k"格式,通过2个配置文件间接引用.有一个简短的模糊描述sphinx2-demo作为运行sphinx2-batch,但检查脚本显示它实际上调用sphinx2-continuous.更糟糕的是,每个脚本的--help文档列出了大约6个选项,并没有提到哪些是必需的或可选的.总的来说,缺乏sphinx文档,以及现有文档质量差,这让我感到疯狂.
我接下来尝试了Julius,再次来自Ubuntu软件包,这是令人惊讶的最近(4.1),考虑到Voxforge的快速启动中使用的版本是3.5.该软件包似乎包含更好的文档,甚至是用Python编写的示例(/ usr/share/doc/julius-voxforge/examples/controlapp).在阅读了示例的文档之后,我尝试通过创建一个filelist.txt包含文本"hello.wav" 的文件来调整它来读取文件,该文件引用了一个同名文件,其中包含一个说"你好"的人的录音.将它们放在同一目录中,我运行:
julius -input file -filelist filelist.txt -C julian.jconf
Run Code Online (Sandbox Code Playgroud)
得到回应:
### 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
Run Code Online (Sandbox Code Playgroud)
通过为filelist.txt和hello.wav指定绝对文件名进行重试会产生相同的错误.
我还尝试了在示例中使用的Julius调用,直接从麦克风录制:
julius -input mic -C julian.jconf
Run Code Online (Sandbox Code Playgroud)
我多次打电话,错误之间的响应不同:
Cannot read /dev/dsp
Run Code Online (Sandbox Code Playgroud)
和:
STAT: AD-in thread created
<<< please speak >>>
Run Code Online (Sandbox Code Playgroud)
在后一种情况下,无论我对麦克风说什么,都没有任何反应.我不知道它是否仍然无法读取麦克风,或者是否正在阅读某些内容,但是根本无法录制音频.
我不知道该怎么做.我得到的错误并没有给我留下太多的意思.为什么不能读取wav?为什么不能读取/ dev/dsp?为什么它似乎能够读取/ dev/dsp,但不以任何方式作出反应?
有没有其他人在开源语音识别器上取得任何成功,特别是在Linux上?
我已经安装了PocketSphinx演示版,它在Ubuntu和Eclipse下工作正常,但是尽管我尝试了,但我无法弄清楚如何添加多个单词的识别.
我想要的只是代码识别单个单词,然后我可以switch()在代码中,例如"向上","向下","向左","向右".我不想识别句子,只想单个单词.
对此有任何帮助将不胜感激.我发现其他用户有类似的问题,但到目前为止还没有人知道答案.
令我困惑的一件事是为什么我们需要使用"唤醒"常数?
private static final String KWS_SEARCH = "wakeup";
private static final String KEYPHRASE = "oh mighty computer";
.
.
.
recognizer.addKeyphraseSearch(KWS_SEARCH, KEYPHRASE);
Run Code Online (Sandbox Code Playgroud)
什么wakeup与任何事情有关?
我已经取得了一些进展(?):使用addGrammarSearch我能够使用一个.gram文件列出我的单词,例如up,down,left,right,forwards,backwards,如果我说的都是那些特定的单词,这似乎很有效.但是,任何其他单词都会导致系统与所述的"最近"单词相称.理想情况下,如果所说的单词不在.gram文件中,我不希望发生识别...
我在哪里可以找到有关ARPA语言模型格式的文档?
我正在使用pocket-sphinx STT引擎开发简单的语音识别应用程序.出于性能原因,建议使用ARPA.我想了解我可以做多少来调整我的语言模型以满足我的自定义需求.
我发现的只是一些非常简短的ARPA格式描述:
我是STT的初学者,我很难绕过这个(n-gram等等).我正在寻找更详细的文档.像这里的JSGF语法文档:
我想用近50,000个单词创建一个ARPA语言模型文件.我无法通过将文本文件传递给CMU语言工具来生成语言模型.是否有其他链接可用于获取这些单词的语言模型?
我有一个 Python 脚本,使用 Speech_recognition 包来识别语音并返回所说内容的文本。然而,转录有几秒钟的延迟。是否有另一种方法可以编写此脚本以在说出每个单词时返回它?我有另一个脚本来执行此操作,使用 pysphinx 包,但结果非常不准确。
安装依赖:
pip install SpeechRecognition
pip install pocketsphinx
Run Code Online (Sandbox Code Playgroud)
脚本 1 - 延迟语音到文本:
import speech_recognition as sr
# obtain audio from the microphone
r = sr.Recognizer()
with sr.Microphone() as source:
print("Please wait. Calibrating microphone...")
# listen for 5 seconds and create the ambient noise energy level
r.adjust_for_ambient_noise(source, duration=5)
print("Say something!")
audio = r.listen(source)
# recognize speech using Sphinx
try:
print("Sphinx thinks you said '" + r.recognize_sphinx(audio) + "'")
except sr.UnknownValueError:
print("Sphinx could not understand audio") …Run Code Online (Sandbox Code Playgroud) python speech-recognition speech-to-text cmusphinx pocketsphinx
E_INFO正在打印一堆日志.我不知道怎么能把它关掉.我从口袋/基础狮身人面像的所有源文件中搜索了E_INFO,但我无法找到它设置标志的位置.
在我尝试使用PocketSphinx for Android之前,我使用了Google的语音识别API.我不需要设置搜索名称或字典文件.它只是承认了所说的每一个字.
现在,在PocketSphinx中,我需要这样做.但是我只能找到如何为一个单词设置识别,或者设置字典(演示项目中可用的字典只有很少的单词),识别器认为这些是唯一存在的单词,这意味着如果有人说类似的话,识别器认为它是字典中列出的单词.
我只是想问,我怎么能设置一些搜索名称,或者如何设置它来识别所有可用的单词(甚至是大量的单词)?也许某人有一个包含大量单词的字典文件?
What are the steps required to use PocketSphinx on Android?
I have found various hints around the web that it is possible, but not real answers and hence I ask my question here.
我正在试图弄清楚如何使用sphinx4或pocketsphinx与英国voxforge模型,但我不能让它工作.我试过阅读doc页面(比如这个http://cmusphinx.sourceforge.net/sphinx4/doc/UsingSphinxTrainModels.html),但它对我没有帮助.
我要的是一个可执行文件,我可以指定要使用的模型和音频文件作为源使用,并具有可执行文件打印出来它是什么在录音的声音说最好的猜测.
我喜欢运气:pocketsphinx_continuous -infile recording.wav 2>/dev/null
但它在转录完整的音频文件之前中止,并且默认模型可以通过几个单词从音频创建可读文本.
我已经编译并测试了sphinx4源程序包中的演示,但是所有示例似乎都只有很少的单词,并且需要一个模型来使用voxforge对我有用.
我怎么设置它?
刚刚在我的覆盆子pi上安装了pocketsphinx.我觉得我疯了但不确定我是否提供了正确的设备.
每当我跑:
src/programs/pocketsphinx_continuous -adcdev plughw:1,0 -nfft 2048 -samprate 48000
我得到以下内容:
root @ scarlettpi:/usr/install/pocketsphinx-0.8#src/programs/pocketsphinx_continuous -adcdev plughw:1,0 -nfft 2048 -samprate 48000 INFO:cmd_ln.c(691):解析命令行:/ usr/install/pocketsphinx -0.8/src/programs/.libs/lt-pocketsphinx_continuous\-adcdev plughw:1,0\-nfft 2048\-samprate 48000
当前配置:[NAME] [DEFLT] [VALUE] -adcdev plughw:1,0 -agc无无-agcthresh 2.0 2.000000e + 00 -alpha 0.97 9.700000e-01 -argfile
-ascale 20.0 2.000000e + 01 -aw 1 1 -backtrace无无-beam 1E-48 1.000000e-48 -bestpath是是-bestpathlw 9.5 9.500000e + 00 -bghist无无-ceplen 13 13 -cmn当前电流-cmninit 8.0 8.0 -compallsen无无-debug 0 -dict
- dictcase无无-dither无无-doublebw无无-ds 1 1 -fdict
-feat 1s_c_d_dd 1s_c_d_dd -featparams
-fillprob 1E-8 1.000000e-08 -frate 100 100 -fsg …
audio speech-recognition speech-to-text cmusphinx raspberry-pi
cmusphinx ×10
android ×3
java ×2
python ×2
audio ×1
dictionary ×1
n-gram ×1
nlp ×1
pocketsphinx ×1
raspberry-pi ×1
sphinx4 ×1