这几天一直在做在线的语音识别Demo,核心的识别器是基于Google的的开放接口,使用十分方便,输入为flac格式的文件,输出了JSON格式的结果。但外围框架十分繁琐,大部分在于使用了MIT的Wami网页录音接口。整个的框架涉及的模块较多,有首先是HTML调用了PHP写的录音程序,生成Wav文件,由外围工具flac将其转换为flac格式的文件,再由Python写的识别程序进行识别,并最终将结果返回给HTML页面,显示给用户。完整的流程还没有搭建完,但各个模块都已可正常工作。下图为规划的框架图:

 

期间遇到的问题:

1.*.tar.gz文件在rz上传至服务器上后不能解压,报错“gzip: stdin: invalid compressed data--format violated. 。”不知是何种原因,后用SSH上传解决。

2.用VIM查看二进制文件,像Wav,Flac这种结构化的二进制文件,已习惯直接看其二进制的头文件,用vim -b *.wav后,再用%!xxd即可看到其16进制格式的内容,排列比UltraEdit还整齐一些。

0000000: 0038 4001 0000 0000 0000 0000 0000 ff00  .8@.............
0000010: 0102 5200 0400 0002 ff54 0001 0165 0001  ..R......T...e..
0000020: 005a 0014 0a0b 0158 0000 1772 0000 1771  .Z.....X...r...q
0000030: 0000 1770 1000 0001                      ...p....

注:Vim 把这些信息当作普通文本来对待。修改了十六进制部分并不导致可显示字符部分的改变,反之亦然。只有十六进制部分的修改才会被采用。右边可显示文本部分的修改忽略不计。

3.在配置网页录音时的不能录音问题,其原因有两个:1.在服务端的网络要是可对外的,因为MIT的相关接口要能进来;2.服务器端的保存音频文件的目录及父目录要有可写权限。chmod a+x mingyang2

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐