- wenet下的runtime中没有server目录下的serverx86:目录更新了,进入libtorch进行操作即可
- aishell的目录里有流式解码和非流式解码的配置, 是通过use_dynamic_chunk: true来区分的。
- 没有dynamic chunk就是非流式模型
- 目前离线语音指令识别,有没有一些比较好的或者开源的方案呢?wenet+命令词语言模型(n-gram比较简单)
- 将wenet轻量化:把层数减少, 做个tiny-wenet ,每层维度也相应减些
- 在语音识别过程中受到TTS播报的干扰,这属于AEC
- 解决:可以在播报tts时关掉asr
- 想支持语音打断,打断TTS的播报,关掉ASR就没办法打断了,可以设计一套aec算法
- AEC:
- 从通讯回音产生的原因看,可以分为声学回音(Acoustic Echo)和线路回音(Line Echo),相应的回声消除技术就叫声学回声消除(Acoustic Echo Cancellation,AEC)和线路回声消除(Line Echo Cancellation, LEC)。声学回音是由于在免提或者会议应用中,扬声器的声音多次反馈到麦克风引起的(比较好理解);线路回音是由于物理电子线路的二四线匹配耦合引起的(比较难理解)
- 回音的产生主要有两种原因:
- 由于空间声学反射产生的声学回音
- 由于2-4线转换引入的线路回音:在ADSL Modem和交换机上都存在2-4线转换的电路,由于电路存在不匹配的问题,会有一部分的信号被反馈回来,形成了回音。如果在交换机侧不加回音抵消功能,打电话的人就会自己听到自己的声音。
- 回声消除是非常复杂的技术,但可以简单的描述这种处理方法:
- 房间A的音频会议系统接收到房间B中的声音
- 声音被采样,这一采样被称为回声消除参考
- 随后声音被送到房间A的音箱和声学回声消除器中
- 房间B的声音和房间A的声音一起被房间A的话筒拾取
- 声音被送到声学回声消除器中,与原始的采样进行比较,移除房间B的声音
- 训练的epoch数量设置可根据训练损失是否平稳来决定是否增加
- 数据大,一个epoch学到的内容就多
- 如果需要训练流式模型,就手动把dynamic_chunk=true手动加上
- 数据量大就用shard,会打包成tar,效率会高一些
- 盘出产是 extFAT 文件系统,每个文件至少要占用 1M,放小文件特别费空间
- 关于多机训练:init_method:
- 用来表示在启动多进程训练时,各进程的握手方式,主要包括3种方式,即file(共享文件),tcp(套接字)和env(环境变量)。
- 多机训练主要使用file和tcp的方式。
- 通过file的握手方式须多机之间装有NFS,在指定了各进程君合访问的共享文件路径后,各台机器上的不同进程通过该共享文件完成握手,如file:///export/nfs/ddp_init。
- tcp的方式需要给定各机器上不同进程均可访问的网络地址和端口号(未被占用的)来完成各进程的握手,如tcp://127.0.0.1:23456
wenet--学习笔记(1)
最新推荐文章于 2024-05-17 18:09:22 发布