文章目录

  • 一、服务器客户端识别系统建立方法

    • 1. Command line to start the **server**(服务器端启动方式):

      • 1.1 Arguments are as follow(参数意义):
    • 2. Command line to start the **client**(客户端启动方式):
      • 2.1 Arguments are as follow(参数意义):
    • * Command line to start the Java client(移动客户端):
  • 二、使用麦克风建立客户端与服务器的实时解码
    • 1. 使用`online-server-gmm-decode-faster`启动服务器:
    • 2. 使用`online-net-client`启动客户端:

在kaldi 的工具集里有好几个程序可以用于在线识别。这些程序都位在src/onlinebin文件夹里,他们是由src/online文件夹里的文件编译而成(你现在可以用make ext 命令进行编译)。这些程序大多还需要tools文件夹中的portaudio 库文件支持,portaudio 库文件可以使用tools文件夹中的相应脚本文件下载安装。

# 安装portaudio
yum -y install *alsa*
cd kaldi/tools/
./install_portaudio.sh# 编译在线识别工具
cd src/
make ext
或者进入kaldi/src/online和kaldi/src/onlinebin,分别make clean ,make就完美解决

一、服务器客户端识别系统建立方法

建立整个在线识别系统需要:

1. Command line to start the server(服务器端启动方式):

使用如下指令online-audio-server-decode-faster启动服务器:

online-audio-server-decode-faster --verbose=1 --rt-min=0.5 --rt-max=3.0 --max-active=6000 \
--beam=72.0 --acoustic-scale=0.0769 final.mdl graph/HCLG.fst graph/words.txt '1:2:3:4:5' \
graph/word_boundary.int 5010 final.mat

1.1 Arguments are as follow(参数意义):

  • final.mdl - the acoustic model
  • HCLG.fst - the complete FST
  • words.txt - word dictionary (mapping word ids to their textual representation)
  • '1:2:3:4:5' - list of silence phoneme ids
  • 5010 - port the server is listening on
  • word_boundary.int- a list of phoneme boundary information required for word alignemnt
  • final.mat - feature LDA matrix

配置选项:

选项:- 声学尺度:声学似然的缩放因子(浮点数,默认值= 0.1)--batch-size:无中断处理的特征向量数(int,default = 27)--beam:解码光束。更大 - >更慢,更准确。 (float,默认= 16)--beam-delta:解码器中使用的增量[模糊设置](浮点数,默认值= 0.5)--beam-update:光束更新率(浮点数,默认值= 0.01)--cmn-window:壮举数量。运行平均CMN计算中使用的向量(int,默认= 600)--delta-order:delta计算顺序(int,default = 2)--delta-window:增量计算的参数控制窗口(每个增量顺序的实际窗口大小为1 + 2 * delta-window-size)(int,default = 2)--hash-ratio:解码器中用于控制散列行为的设置(float,default = 2)--inter-utt-sil:触发新话语的最大静音帧数(i​​nt,default = 50)--left-context:左上下文的帧数(int,default = 4)--max-active:解码器最大活动状态。 Larger->慢;更准确(int,默认= 2147483647)--max-beam-update:最大光束更新率(浮点数,默认值= 0.05)--max-utt-length:如果话语变得比这个帧数长,则可以接受较短的静音作为话语分隔符(int,default = 1500)--min-active:解码器最小活动状态(如果#active小于此值,则不要修剪)。 (int,默认= 20)--min-cmn-window:解码开始时使用的Minumum CMN窗口(仅在启动时添加延迟)(int,default = 100)--num-attempts:终止stream之前连续重复超时的次数(int,default = 5)--right-context:正确上下文的帧数(int,default = 4)--rt-max:近似最大解码运行时间因子(float,default = 0.75)--rt-min:近似最小解码运行时间因子(浮点数,默认值= 0.7)--update-interval:帧中的波束更新间隔(int,默认= 3)标准选项:--config:要读取的配置文件(此选项可能会重复)(string,default =“”)--help:打印出用法消息(bool,default = false)--print-args:打印命令行参数(到stderr)(bool,default = true)--verbose:详细级别(更高 - >更多日志记录)(int,default = 0)

注意:如果没有word_boundary.int 需要重新运行prepare_lang.sh生成。修改如下:

#原指令:
utils/prepare_lang.sh --position-dependent-phones false data/local/dict "<SPOKEN_NOISE>" \
data/local/lang data/lang
#改为:
utils/prepare_lang.sh data/local/dict "<SPOKEN_NOISE>" data/local/lang data/lang

启动后结果如下:

2. Command line to start the client(客户端启动方式):

直接运行如下指令即可启动客户端:

 online-audio-client --htk --vtt localhost 5010 scp:test.scp

2.1 Arguments are as follow(参数意义):

  • –htk - save results as an HTK label file
  • –vtt - save results as a WebVTT file
  • localhost - server to connect to
  • 5010 - port to connect to
  • scp:test.scp - list of WAV files to send
    启动后客户端不断传输数据,服务器实时进行解码!结果如下:

    结果是边传输边识别的:

* Command line to start the Java client(移动客户端):

移动客户端我还未尝试:

java -jar online-audio-client.jar

Or simply double-click the JAR file in the graphical interface.

二、使用麦克风建立客户端与服务器的实时解码

kaldi提供了读取客户端麦克风数据的解码工具,可以在客户端使用麦克风发送音频,服务器实时返回解码数据。

1. 使用online-server-gmm-decode-faster启动服务器:

Usage: online-server-gmm-decode-faster [options] model-infst-in word-symbol-table silence-phones udp-port [lda-matrix-in]
Example: online-server-gmm-decode-faster --rt-min=0.3 --rt-max=0.5 --max-active=4000 --beam=12.0 --acoustic-scale=0.0769 model HCLG.fst words.txt '1:2:3:4:5' 1234 lda-matrix

配置选项:

选项:- 声学尺度:声学似然的缩放因子(浮点数,默认值= 0.1)--batch-size:无中断处理的特征向量数(int,default = 27)--beam:解码光束。更大 - >更慢,更准确。 (float,默认= 16)--beam-delta:解码器中使用的增量[模糊设置](浮点数,默认值= 0.5)--beam-update:光束更新率(浮点数,默认值= 0.01)--cmn-window:壮举数量。运行平均CMN计算中使用的向量(int,默认= 600)--delta-order:delta计算顺序(int,default = 2)--delta-window:增量计算的参数控制窗口(每个增量顺序的实际窗口大小为1 + 2 * delta-window-size)(int,default = 2)--hash-ratio:解码器中用于控制散列行为的设置(float,default = 2)--inter-utt-sil:触发新话语的最大静音帧数(i​​nt,default = 50)--left-context:左上下文的帧数(int,default = 4)--max-active:解码器最大活动状态。 Larger->慢;更准确(int,默认= 2147483647)--max-beam-update:最大光束更新率(浮点数,默认值= 0.05)--max-utt-length:如果话语变得比这个帧数长,则可以接受较短的静音作为话语分隔符(int,default = 1500)--min-active:解码器最小活动状态(如果#active小于此值,则不要修剪)。 (int,默认= 20)--min-cmn-window:解码开始时使用的Minumum CMN窗口(仅在启动时添加延迟)(int,default = 100)--num-attempts:终止stream之前连续重复超时的次数(int,default = 5)--right-context:正确上下文的帧数(int,default = 4)--rt-max:近似最大解码运行时间因子(float,default = 0.75)--rt-min:近似最小解码运行时间因子(浮点数,默认值= 0.7)--update-interval:帧中的波束更新间隔(int,默认= 3)标准选项:--config:要读取的配置文件(此选项可能会重复)(string,default =“”)--help:打印出用法消息(bool,default = false)--print-args:打印命令行参数(到stderr)(bool,default = true)--verbose:详细级别(更高 - >更多日志记录)(int,default = 0)

2. 使用online-net-client启动客户端:

Usage: online-net-client server-address server-port Options:--batch-size                : The number of feature vectors to be extracted and sent in one go (int, default = 27)Standard options:--config                    : Configuration file to read (this option may be repeated) (string, default = "")--help                      : Print out usage message (bool, default = false)--print-args                : Print the command line arguments (to stderr) (bool, default = true)--verbose                   : Verbose level (higher->more logging) (int, default = 0)

引用:kaldi-asr

语音识别——kaldi - Online Audio Server(服务器客户端建立方法-旧版在线解码)相关推荐

  1. kaldi - Online Audio Server(服务器客户端建立方法-旧版在线解码)

    目录 一.服务器客户端识别系统建立方法 1. Command line to start the server(服务器端启动方式): 2. Command line to start the clie ...

  2. 使用zerotier planet自建服务器客户端配置方法

    1.客户端配置 客户端主要为Windows, Mac, Linux, Android 1.1 Windows 配置 1.在本页下载zerotier客户端 2.将 planet 文件覆盖粘贴到C:\Pr ...

  3. 关于通过外网连接内网SQL Server服务器的方法!

    近日,在论坛上看到sowant大侠发表的有关SQL Server远程连接的文章后,真的受益良多.一直以来困惑了已久的关于从外网如何连接到内网的SQL Server服务器上的方法,现已解决了,相信在论坛 ...

  4. 【Groovy】使用 Groovy 语言开发服务器 Server 和客户端 Client 套接字程序 ( 服务器客户端完整代码示例 | 运行服务器端与客户端效果及过程分析 )

    文章目录 一.服务器端完整代码 Server.groovy 二.客户端完整代码 Client.groovy 三.运行服务器端与客户端效果及过程分析 一.服务器端完整代码 Server.groovy 参 ...

  5. SQL Server 2005 在建立与服务器的连接时出错,错误26收藏

    今天在用VISIO反向工程时,突然无法链接SQL Server数据库了,错误代码如下 在建立与服务器的连接时出错.在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不 ...

  6. C#下如何实现服务器+客户端的聊天程序

    C#下如何实现服务器+客户端的聊天程序 最近也在接触SOCKET编程,在当今这样一个网络时代,很多技术都以网络为中心在诞生,至少我认为是这样的,而SOCKET套接字接口,在实现网络通讯上处于关键地位, ...

  7. redis 服务器/客户端安装与配置

    redis 服务器/客户端安装与配置 1 redis server 1.1 获取redis源码包 //官网 http://redis.io/ wget -c http://redis.googleco ...

  8. 拒绝亡羊补牢!SQL Server服务器安全防护!

             拒绝亡羊补牢!SQL Server服务器安全防护! 当今社会网络日益普及,人们彻彻底底感受到了它的无所不能,可就在人们享受它所带来便捷的同时,网络病毒.***也接种而来,不断有报道个 ...

  9. oracle服务器环境建立,oracle 透明网关环境的建立

    1.安装oracle 的transparent gateway 透明网关. 安装ORACLE 选择自定义安装, 然后再选择 安装透明网关,再进去选择  安装FOR SQLSERVER 的组件. 2.修 ...

最新文章

  1. Android--MP3播放器MediaPlayer
  2. shape(15,)与(15,1)的区别
  3. 学习opencv 英文版_电子课本:苏教牛津译林 | 高中英语模块2,赶紧收藏学习吧...
  4. 【.NET架构】BIM软件架构02:Web管控平台后台架构
  5. .Net Core 自定义配置源从配置中心读取配置
  6. 品牌的mysql数据库监控_zabbix实现mysql数据库的监控(四)
  7. 《前端十年心路》书稿规划
  8. Unity3D NGUI图文混排聊天表情
  9. python程序实现rep后剪枝算法
  10. ArcGIS各向异性计算
  11. 物联网应用层的关键技术有哪些
  12. 《私募股权基金投资基础知识》---第八章
  13. 洛谷B2095 白细胞计数(sort排序)
  14. [openEuler 21.9] 安装中文输入法、以及字体变成繁体切换
  15. linux内核版本和发行版本有何区别
  16. 洛谷 1417 烹调方案
  17. PCIe Switch
  18. 优思学院:从零基础成为六西格玛黑带?
  19. [响应式布局]响应式布局技巧
  20. JSP动态网页设计与JavaWeb编程

热门文章

  1. 阿里云免费SSL证书申请详细流程
  2. 手机寸照如何修改底色
  3. Qt下使用vs编译的库文件
  4. 缺少dll文件的终极解决办法!
  5. 解决D3DCompiler_47.dll文件丢失找不到问题
  6. IDEA连接阿里云物联网平台获取设备上传数据
  7. 陆奇-奇绩创坛-chatGPT新范式,新时代,新机会
  8. redis 修改默认端口号6379(Windows)
  9. 法国大数据:智慧城市中的大数据
  10. 如何根据SIM卡背面的10位序列号判断运营商,国家,地区,卡商