Comments (15)
现象:连续说同一个关键词,前面很容易识别,有时说着说着就出现怎么说都无法识别的情况,换个关键词或重启又恢复正常。控制台什么信息也没有,查看API没有看到有设置debug的参数。程序也没有卡死。急需帮助,求大佬帮忙。在线等。谢谢!!!
请提供完整的命令,以及运行时,命令行的截图
from sherpa-onnx.
@zzb181 在线等回复
from sherpa-onnx.
sherpa-onnx.zip
@csukuangfj 谢谢。我改了下源代码,自己加了debug参数,有返回模型的信息了,但还是无法看到我当时说的关键词被模型识别成什么了。
PS D:\ai\sherpa-onnx> & d:/ai/sherpa-onnx/.conda/python.exe d:/ai/sherpa-onnx/keyword-spotter-from-microphone.py
D:\a\sherpa-onnx\sherpa-onnx\sherpa-onnx\csrc\online-transducer-model.cc:GetModelType:52 model_author=k2-fsa
query_head_dims=32,32,32,32,32,32
onnx.infer=onnxruntime.quant
version=1
model_type=zipformer2
comment=streaming zipformer2
decode_chunk_len=32
num_encoder_layers=1,1,1,1,1,1
T=45
encoder_dims=128,128,128,128,128,128
cnn_module_kernels=31,31,15,15,15,31
left_context_len=64,32,16,8,16,32
value_head_dims=12,12,12,12,12,12
num_heads=4,4,4,8,4,4
D:\a\sherpa-onnx\sherpa-onnx\sherpa-onnx\csrc\online-zipformer2-transducer-model.cc:InitEncoder:100 ---encoder---
model_author=k2-fsa
query_head_dims=32,32,32,32,32,32
onnx.infer=onnxruntime.quant
version=1
model_type=zipformer2
comment=streaming zipformer2
decode_chunk_len=32
num_encoder_layers=1,1,1,1,1,1
T=45
encoder_dims=128,128,128,128,128,128
cnn_module_kernels=31,31,15,15,15,31
left_context_len=64,32,16,8,16,32
value_head_dims=12,12,12,12,12,12
num_heads=4,4,4,8,4,4
D:\a\sherpa-onnx\sherpa-onnx\sherpa-onnx\csrc\online-zipformer2-transducer-model.cc:operator ():122 encoder_dims: 128 128 128 128 128 128
D:\a\sherpa-onnx\sherpa-onnx\sherpa-onnx\csrc\online-zipformer2-transducer-model.cc:operator ():122 query_head_dims: 32 32 32 32 32 32
D:\a\sherpa-onnx\sherpa-onnx\sherpa-onnx\csrc\online-zipformer2-transducer-model.cc:operator ():122 value_head_dims: 12 12 12 12 12 12
D:\a\sherpa-onnx\sherpa-onnx\sherpa-onnx\csrc\online-zipformer2-transducer-model.cc:operator ():122 num_heads: 4 4 4 8 4 4
D:\a\sherpa-onnx\sherpa-onnx\sherpa-onnx\csrc\online-zipformer2-transducer-model.cc:operator ():122 num_encoder_layers: 1 1 1 1 1 1
D:\a\sherpa-onnx\sherpa-onnx\sherpa-onnx\csrc\online-zipformer2-transducer-model.cc:operator ():122 cnn_module_kernels: 31 31 15 15 15 31
D:\a\sherpa-onnx\sherpa-onnx\sherpa-onnx\csrc\online-zipformer2-transducer-model.cc:operator ():122 left_context_len: 64 32 16 8 16 32
D:\a\sherpa-onnx\sherpa-onnx\sherpa-onnx\csrc\online-zipformer2-transducer-model.cc:InitEncoder:131 T: 45
D:\a\sherpa-onnx\sherpa-onnx\sherpa-onnx\csrc\online-zipformer2-transducer-model.cc:InitEncoder:132 decode_chunk_len_: 32
D:\a\sherpa-onnx\sherpa-onnx\sherpa-onnx\csrc\online-zipformer2-transducer-model.cc:InitDecoder:153 decode_chunk_len_: 32
D:\a\sherpa-onnx\sherpa-onnx\sherpa-onnx\csrc\online-zipformer2-transducer-model.cc:InitDecoder:153 decode_chunk_len_: 32
D:\a\sherpa-onnx\sherpa-onnx\sherpa-onnx\csrc\online-zipformer2-transducer-model.cc:InitDecoder:153 ---decoder---
vocab_size=197
context_size=2
onnx.infer=onnxruntime.quant
context_size=2
onnx.infer=onnxruntime.quant
onnx.infer=onnxruntime.quant
D:\a\sherpa-onnx\sherpa-onnx\sherpa-onnx\csrc\online-zipformer2-transducer-model.cc:InitJoiner:178 ---joiner---
---joiner---
onnx.infer=onnxruntime.quant
joiner_dim=320
Started! Please speak
result:开始采集
joiner_dim=320
Started! Please speak
joiner_dim=320
joiner_dim=320
joiner_dim=320
joiner_dim=320
Started! Please speak
result:开始采集
joiner_dim=320
Started! Please speak
joiner_dim=320
Started! Please speak
result:开始采集
Started! Please speak
result:开始采集
result:开始采集
result:采集数据
result:保存数据
Started! Please speak
result:开始采集
result:开始采集
result:采集数据
from sherpa-onnx.
但还是无法看到我当时说的关键词被模型识别成什么了。
输出的结果,就是模型识别到的,比如
开始采集
, 采集数据
等等,都是模型识别到的。
from sherpa-onnx.
我知道,这些是识别成功的,我想要看到识别不成功的时候,模型识别成什么了,比如关键词中有”张三“,说的时候,有可能发音不准,模型识别成”张山“”张啥“什么的,我想知道模型识别的过程数据。现在只能输出识别成功的结果数据。如果识别不成功的数据也可以输出,我可以把”张啥“也设置成关键词。
from sherpa-onnx.
我想要看到识别不成功的时候
这个看不到。kws 只会输出 keywords.txt 里面的结果。
from sherpa-onnx.
你可以试试通用的ASR
from sherpa-onnx.
我的需求是:可本地部署,识别速度快,占用资源小,在这些基础上追求准确率。可以只识别用户配置的关键词,只识别相似的声音也行,同音或相似音的也行。
我试过sherpa-onnx-kws-zipformer-wenetspeech-3.3M-2024-01-01。识别速度没有这个kws模型快。
这个kws模型的识别速度是真的快,又一点不占用资源,也符合我需求,可惜看不到识别不成功时的内容。要是可以拿到,我再比较下与关键词的拼音相似度,拿相似度最高的拿结果,就更好了。
我之前还试过vosk模型,识别速度和准确率和这个都没法比。
我还试过用最原始的,用DWT比较音频特征,效果不理想。自己手搓太难了,什么降噪,分段。。。一大堆
我看这个模型的介绍说,本质是一个小的asr模型,解码时进行了修改。那能不能在解码时,把结果也返回出来呢?
from sherpa-onnx.
额, kws 只能识别 keywords.txt 里面指定的词。
(上面一句话,请阅读 3 遍,以便加深理解)
from sherpa-onnx.
使用模型:sherpa-onnx-kws-zipformer-wenetspeech-3.3M-2024-01-01 (Chinese) 使用例子中的代码:python-api-examples/keyword-spotter-from-microphone.py sherpa-onnx版本1.10.20 python版本3.11 现象:连续说同一个关键词,前面很容易识别,有时说着说着就出现怎么说都无法识别的情况,换个关键词或重启又恢复正常。控制台什么信息也没有,查看API没有看到有设置debug的参数。程序也没有卡死。急需帮助,求大佬帮忙。在线等。谢谢!!! 1、能否提供debug信息,让我能看到,我当时说的关键词被模型识别成什么了。方便后续处理,如做拼音相似度比较
2、请教下有没有支持模糊拼音的模型,1)、不带声调。如: ** ->
zhong guo
。2)z=zh c=ch s=sh f=h an=ang in=ing ...
我在android开发板上跑android的kws demo用英文的模型也会遇到你说的这种现象,同一个录音播放同一个关键词,有时就突然一直识别不了了,前面都是能正常识别到的。这个应该是kws源码的bug。
from sherpa-onnx.
使用模型:sherpa-onnx-kws-zipformer-wenetspeech-3.3M-2024-01-01 (Chinese) 使用例子中的代码:python-api-examples/keyword-spotter-from-microphone.py sherpa-onnx版本1.10.20 python版本3.11 现象:连续说同一个关键词,前面很容易识别,有时说着说着就出现怎么说都无法识别的情况,换个关键词或重启又恢复正常。控制台什么信息也没有,查看API没有看到有设置debug的参数。程序也没有卡死。急需帮助,求大佬帮忙。在线等。谢谢!!! 1、能否提供debug信息,让我能看到,我当时说的关键词被模型识别成什么了。方便后续处理,如做拼音相似度比较
2、请教下有没有支持模糊拼音的模型,1)、不带声调。如: ** ->zhong guo
。2)z=zh c=ch s=sh f=h an=ang in=ing ...我在android开发板上跑android的kws demo用英文的模型也会遇到你说的这种现象,同一个录音播放同一个关键词,有时就突然一直识别不了了,前面都是能正常识别到的。这个应该是kws源码的bug。
这个是已知问题,命令行不太好复现,debug 难度比较大,一直还未解决。
from sherpa-onnx.
我知道,这些是识别成功的,我想要看到识别不成功的时候,模型识别成什么了,比如关键词中有”张三“,说的时候,有可能发音不准,模型识别成”张山“”张啥“什么的,我想知道模型识别的过程数据。现在只能输出识别成功的结果数据。如果识别不成功的数据也可以输出,我可以把”张啥“也设置成关键词。
你可以把相似的发音加到 keywords.txt 里面,映射到同一个词。关键词系统只会识别给定的词和其他,没法返回你说的相似音结果。
from sherpa-onnx.
我知道,这些是识别成功的,我想要看到识别不成功的时候,模型识别成什么了,比如关键词中有”张三“,说的时候,有可能发音不准,模型识别成”张山“”张啥“什么的,我想知道模型识别的过程数据。现在只能输出识别成功的结果数据。如果识别不成功的数据也可以输出,我可以把”张啥“也设置成关键词。
你可以把相似的发音加到 keywords.txt 里面,映射到同一个词。关键词系统只会识别给定的词和其他,没法返回你说的相似音结果。
1、我就是想把“相似”的发音加进来 keywords.txt 里面,但是每个人说出来的“相似”音还会有很大区别,而且就算是同一个人,因为环境,情绪等因素说同一个词,也会有很大区别,所以最好的办法是在配制关键词时,可以让用户用这个模型识别的结果来做关键词。用户说什么就设置什么成关键词,而不是让用户打字设置关键词,因为用户也不知道他说的张三能被模型识别成什么。如果可以让用户自己“录”几个关键词,我们后期再做这些关键词拼音的模糊匹配处理。针对这个用户的识别率一定会提高很多。
2、唤醒词,指令词识别不要根据语境语意推理训练,因唤醒词不要同义词,只要同音近音就行。
3、我今天又找了一个模型:speech_paraformer-tiny_asr_kws-zh-16k-vocab192-online,这个模型是直接返回拼音的,不过资源占用太大了,我转onxx后,funasr-onxx不支持返回的拼音处理,报错了。
4、现在尝试用sherpa-onnx-streaming-zipformer-zh-14M-2023-02-23,为了能有kws模型的响应速度,我只能设置enable_endpoint_detection=False,让模型听到什么就马上返回,我在后期处理,不过这个模型本身识别率不高,不知道后面效果怎么样。
from sherpa-onnx.
用户说什么就设置什么成关键词,而不是让用户打字设置关键词,因为用户也不知道他说的张三能被模型识别成什么。如果可以让用户自己“录”几个关键词,我们后期再做这些关键词拼音的模糊匹配处理。针对这个用户的识别率一定会提高很多。
这个不是关键词做的事,是识别做的事,从你的评论看,我感觉你把识别和关键词检索这两个任务混了。返回拼音也好,返回文字也好,纯关键词检索系统都只能返回给定的关键词。 当然,你也可以用语音识别系统去做关键词检索,跑正常的语音识别模型,只是在识别结果上自己写策略匹配关键词。
from sherpa-onnx.
@zzb181 你得先搞清楚你想要一个怎样的场景,然后才看怎么样的模型才能满足你的需求。
from sherpa-onnx.
Related Issues (20)
- cannot use CUDA provider with go app HOT 3
- onnxurntime library hash are different in Windows static debug lib. HOT 2
- 能把浏览器里youtubu上的英文视频(普通通用英语非专业类的)转成实时法语或者西语语音的视频,实时观看吗? HOT 1
- 语音识别asr种添加阿拉伯数字支持后,在识别带有数字的词组时会转成阿拉伯数字 HOT 7
- SherpaOnnx安卓示例中的大部分kotlin代码都是空的 HOT 1
- CSharp Tts AccessViolationException HOT 3
- How can i enable cuda support for my C# project HOT 3
- Problem with Flush function in voice-activity-detector.cc HOT 2
- WASM ASR “loadPackage” fails in Safari running on IOS HOT 7
- reduce kws model size HOT 1
- Can i convert non-stream zipformer2 into streaming mode? HOT 3
- 由于使用更高版本onnxruntime1.18.0报OrtGetApiBase问题 HOT 2
- [Flutter] Failed to load silero_vad or 3dspeaker_speech_eres2net_sv_en_voxceleb_16k from assets directory HOT 2
- golang 1.20 构建real-time-speech-recognition-from-microphone 失败 HOT 5
- golang 通过websocket 进行ASR时出错。 HOT 15
- 关于blank-penalty参数的使用问题 HOT 3
- KWS with Swift Package Manager HOT 1
- encoder_dims does not exist in the metadata HOT 1
- High Latency in TTS Synthesis on Android with Screen Readers HOT 5
- 编译新增的apk包体积有多少 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sherpa-onnx.