wjb711 发表于 2013-10-8 17:34:57

手把手教你做语音识别

本帖最后由 wjb711 于 2013-10-8 17:54 编辑

前一段写了一个语音识别的帖子, 当时还不成熟
现在比以前懂得多了一些, 跟大家来分享

所需设备: 带麦克风的usb摄像头,树莓派一个,互联网
首先安装软件
apt-get install arecord ffmpeg omxplayer
语音识别大致分成3各部分,

第一步录音
arecord -D "plughw:1,0" -d 5 file.wav
解释一下 -D这个参数的意思就选择设备, 外部设备就是plughw:1,0内部设备就是plughw:0,0, 树莓派本身并没有录音模块,故没有内部设备。 -d 5 的意思就是录制时间为5秒, 如果不加这个参数就是一直录音直到ctrol+C停止, 最后生成的文件名字叫做file.wav
检验方式, 我们戴上耳机听一下我们录制的声音 omxplayer -o local file.wav
解释omxplayer是播放器, 无图形界面
-o 是选择从哪里播放,是通过hdmi输出, 还是本地的耳机口放出来, 我们插得是树莓派自带的耳机口, 故选择local
最后是跟上声音文件, 就能听到我们的录音了

第二步 转换格式
我们打算上传到google做翻译, google只认flac格式, 所以我们要做转化, 把wav转换为flac格式
ffmpeg -i file.wav -ar 16000 -acodec flac file.flac
解释一下:-i 是指定输入的语音文件 -ar是指定波特率 为16000 -acodec是指定输出格式为flac, 最后接上输出文件的文件名即可, 当然是以flac为后缀的文件名, 最好是 file.flac
检验方式, 我们戴上耳机听一下我们录制的声音 omxplayer -o local file.flac
同样我们可以再次听到我们录制好的转过格式的声音文件

第三步上传网站获取翻译
wget -q -U "Mozilla/5.0" --post-file file.flac --header "Content-Type: audio/x-flac; rate=16000" -O - "http://www.google.com/speech-api/v1/recognize?lang=zh-cn&client=chromium"
对于这句简单的解释下
wget命令上传file.flac文件到google,并下载回对应的解释文件, 这个是中文的语音识别,如果是英文的语音识别改成en-us即可

最后预祝大家语音翻译玩的愉快




whtech1 发表于 2013-10-8 23:35:58

创意很不错.

wjb711 发表于 2013-10-9 15:29:28

紧接着我们来个树莓派的复读机教程
*******repeater.sh************
arecord -D "plughw:1,0" -d 5 file.wav
omxplayer -o local file.wav
./repeater.sh
*******end of repeater.sh*******
这就是一个简单地5秒一次的复读机,或者外面卖货的那种循环的喇叭

树老大 发表于 2013-10-10 08:25:16

很有意义的教程哈,感谢分享。

树老大 发表于 2013-10-10 11:39:48

带麦克风的usb摄像头 不知道你的型号是啥?

wjb711 发表于 2013-10-10 12:28:02

树老大 发表于 2013-10-10 11:39 static/image/common/back.gif
带麦克风的usb摄像头 不知道你的型号是啥?

罗技的像个球一样的摄像头, 上面没写型号, 跟别人借的

树老大 发表于 2013-10-10 12:31:38

哦哦。明白了。

无华0871 发表于 2013-10-10 18:18:03

这个有点儿高级学习了!!

edcrfvws 发表于 2014-4-8 17:46:03

http://www.google.com/speech-api/v1/recognize?lang=zh-cn&client=chromium
這連結是死的 是本來就這樣嗎?
還是他會把檔案上傳執行?
還是有 替換網址?@@

了不起的查理 发表于 2014-5-3 23:14:26

mark一下,回头试试~
页: [1] 2
查看完整版本: 手把手教你做语音识别