我正在做和做的应用程序:
1:如果麦克风检测到某些噪音,它会开始录制音频,直到没有检测到噪音.之后,音频被录制到wav文件中.
2:我必须在上面检测一些字.只有5到10个字可供检测.
到目前为止,我的代码只执行第一部分(检测噪声和录制音频).现在,我有一个包含以下单词的列表:help, please, yes, no, could, you, after, tomorrow.我需要一种离线方式来检测我的声音是否包含这些单词.这可能吗?我怎样才能做到这一点?我正在使用linux,无法将我的操作系统更改为Windows或使用虚拟机.
我正在考虑使用声音的频谱图,创建一个火车数据库并使用一些分类器进行预测.例如,这是一个单词的谱图.这是一个很好的技术吗?
谢谢.
我正在寻找如何使用CMU Sphinx和Ruby(Rails)应用程序.我需要非常简单的任务 - 我有一个mp3文件,我想把它转录成文本.
我该如何实现这种最简单的方法?我不知道C/C++,我的任务不是那么大的学习C/C++ :)
感谢帮助!
好的,所以我pyaudio从包中python-pyaudio使用安装apt-get,现在当我导入和调用时如下:
Python 2.7.3 (default, Sep 26 2012, 21:53:58)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyaudio
>>> p= pyaudio.PyAudio()
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_params.c:2162:(snd1_pcm_hw_refine_slave) Slave PCM not usable
ALSA lib pcm_params.c:2162:(snd1_pcm_hw_refine_slave) Slave PCM not usable
ALSA lib pcm_params.c:2162:(snd1_pcm_hw_refine_slave) Slave PCM not usable
ALSA lib pcm_dmix.c:957:(snd_pcm_dmix_open) The dmix plugin supports only …Run Code Online (Sandbox Code Playgroud) 我正在使用谷歌的语音识别API.我用Java创建了一个包装器(像这样:http://pastebin.com/zJEhnJ74); 所有工作都很好,但有时我收到http 403或http 500,所以我认为有一些限制.
我知道这不是官方API,但有人知道服务的限制(一天的最大请求,音频文件的最大长度等)?
我正在尝试使用x-webkit-speech进行语音识别,我也检查过我的Chrome浏览器支持它,但是它给语音服务器提供了错误连接失败.
我得到这样的东西.任何人都可以告诉我如何解决这个问题.
C:\Users\krush\Documents\ML using Python>pip install pocketsphinx
Collecting pocketsphinx
Using cached pocketsphinx-0.1.3.zip
Building wheels for collected packages: pocketsphinx
Running setup.py bdist_wheel for pocketsphinx: started
Running setup.py bdist_wheel for pocketsphinx: finished with status 'error'
Complete output from command C:\Users\krush\Anaconda3\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\krush\\AppData\\Local\\Temp\\pip-build-cns2i_wb\\pocketsphinx\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d C:\Users\krush\AppData\Local\Temp\tmp3tyvnl9wpip-wheel- --python-tag cp36:
running bdist_wheel
running build_ext
building 'sphinxbase._ad' extension
swigging swig/sphinxbase/ad.i to swig/sphinxbase/ad_wrap.c
swig.exe -python -modern -Ideps/sphinxbase/include -Ideps/sphinxbase/include/sphinxbase -Ideps/sphinxbase/include/win32 -Ideps/sphinxbase/swig -outdir sphinxbase -o swig/sphinxbase/ad_wrap.c swig/sphinxbase/ad.i
error: command 'swig.exe' failed: No …Run Code Online (Sandbox Code Playgroud) 如何高效地访问256位向量的元素?例如我计算了点积
c = _mm256_dp_ps(a, b, 0xff);
Run Code Online (Sandbox Code Playgroud)
那么如何访问c中的值呢?我需要同时获取高位部分和低位部分,我是否正确理解我首先需要提取 128 位部分,如下所示:
r0 = _mm256_extractf128_ps(c,0);
r1 = _mm256_extractf128_ps(c,1);
Run Code Online (Sandbox Code Playgroud)
然后才提取浮点数:
_MM_EXTRACT_FLOAT(fr0, r0, 0);
_MM_EXTRACT_FLOAT(fr1, r1, 0);
return fr0 + fr1;
Run Code Online (Sandbox Code Playgroud) 我有一大堆文件,我想在使用CMU Sphinx 4时获得认可.Sphinx需要以下格式:
我的文件类似于44100 khz,32位立体声mp3文件.我尝试使用Tritonus,然后使用更新版本JavaZoom,使用bakuzen中的代码进行转换.然而,AudioSystem.getAudioInputStream(File)抛出一个UnsupportedAudioFileException,我无法弄清楚为什么,所以我继续前进.
现在我正在尝试ffmpeg.该命令ffmpeg -i input.mp3 -ac 1 -ab 16 -ar 16000 output.wav似乎应该可以解决这个问题(除了小端),但是当我用Audacity检查输出时,它仍然将其标记为"32位浮点数".我在这个网站上找到的命令也使用了-acodec pcm_s16le,它的名字似乎是输出16位小端; 但是,Audacity仍然告诉我输出结果32 bit float.
谁能告诉我如何将音频文件转换为CMU Sphinx 4所需的格式?
我最近在python中使用口袋狮身人面像.我已经成功地通过以下示例来识别录制的wav.
#!/usr/bin/env python
import sys,os
def decodeSpeech(hmmd,lmdir,dictp,wavfile):
"""
Decodes a speech file
"""
try:
import pocketsphinx as ps
import sphinxbase
except:
print """Pocket sphinx and sphixbase is not installed
in your system. Please install it with package manager.
"""
speechRec = ps.Decoder(hmm = hmmd, lm = lmdir, dict = dictp)
wavFile = file(wavfile,'rb')
wavFile.seek(44)
speechRec.decode_raw(wavFile)
result = speechRec.get_hyp()
return result[0]
if __name__ == "__main__":
hmdir = "/home/jaganadhg/Desktop/Docs_New/kgisl/model/hmm/wsj1"
lmd = "/home/jaganadhg/Desktop/Docs_New/kgisl/model/lm/wsj/wlist5o.3e-7.vp.tg.lm.DMP"
dictd = "/home/jaganadhg/Desktop/Docs_New/kgisl/model/lm/wsj/wlist5o.dic"
wavfile = "/home/jaganadhg/Desktop/Docs_New/kgisl/sa1.wav"
recognised = decodeSpeech(hmdir,lmd,dictd,wavfile)
print …Run Code Online (Sandbox Code Playgroud) 我正在使用 vosk 进行语音识别。有谁知道词汇词典的位置以及如何编辑它以添加或删除单词?
我的项目的一些背景:
我正在做一个语言人工智能项目。我需要一个语音识别引擎来将口语转换成文本。我开始使用 CMUSphinx。PocketSphinx 更准确。我喜欢口袋狮身人面像,但有人告诉我它已经过时了,而且 vosk 好多了。然而,在从头开始创建字典和以编程方式在不同字典之间切换方面,pocketsphinx 非常易于使用。
我正在尝试转移到 vosk 作为语音识别器。它似乎确实可以更快更准确地解码语音。但到目前为止,我还没有找到任何关于如何修改词汇词典的信息。修改字典内容的能力在我的语言人工智能项目中至关重要。因此,如果有人可以指出如何修改 vosk 字典的信息,我将不胜感激。到目前为止,我还没有找到有关如何执行此操作的任何信息。关于vosk的资料很少,尤其是教程或详细说明的方式。
谢谢你。
编辑添加:
这是我所指的 vosk API 的 GitHub 页面:
python ×4
cmusphinx ×3
audio ×2
avx ×1
c ×1
dictionary ×1
ffmpeg ×1
intrinsics ×1
java ×1
offline ×1
pocketsphinx ×1
pulseaudio ×1
pyaudio ×1
ruby ×1
sse ×1
swig ×1
ubuntu ×1
vosk ×1