chenkui164
chenkui164
@shen2009fei 你这个问题好像是内存malloc时候失败了。我不是很了解golang,从网上搜索到的是 在golang中每个协程都维护自己的栈空间,初始大小为2KB,最大为1GB。 而每个协程的堆大小也是有限制的,在64位操作系统下是1GB,32位操作系统下是250MB,超出时会panic。 相对而言,每个线程栈空间初始大小则为2MB。 golang的堆只有1G,paraformer的模型有800M,所以猜测肯能是堆的内存不够了,引起的malloc失败
只支持中文或者中英文,不支持英文,如果有英文需求可以使用kaldi2里面提供的模型,https://github.com/k2-fsa/icefall
能提供一下音频么?我debug一下啊,这里确实没怎么测试过,需要修改https://github.com/chenkui164/FastASR/blob/main/src/lib/Vocab.cpp 里面的vector2stringV2这个函数
好的,可能需要等两天了,我把这部分代码重构一下,当时偷懒没考虑的太周全
@shen2009fei 已经修复这个bug,可以抽空试试了
不支持,这个项目只做推理过程,接口部分需要自己实现
临时的解决方案是将[代码](https://github.com/chenkui164/FastASR/blob/main/examples/paraformer_cli.cpp#:~:text=buff%2C%20len%2C%20flag\)%3B-,cout%20%3C%3C%20msg,-%3B) while (audio.fetch(buff, len, flag) > 0) { mm->reset(); string msg = mm->forward(buff, len, flag); cout 0) { mm->reset(); string msg = mm->forward(buff, len, flag); cout
用这个项目吧,https://github.com/k2-fsa/sherpa-onnx 里面包含很多预训练模型,https://k2-fsa.github.io/sherpa/onnx/pretrained_models/index.html 如果太占CPU可以选择模型小一些的模型,或者使用int8量化的版本。
我使用的版本比较老,可以从master分支切换到v1.0.4版本
1. Find where libopenblas.a is located on your computer: ``` sudo find / -name 'libopenblas.a' ``` 2. Add the path of libopenblas to [CMakeLists.txt](https://github.com/chenkui164/FastASR/blob/main/src/lib/CMakeLists.txt#:~:text=target_link_directories(%24%7BPROJECT_NAME%7D%20PUBLIC%20%22/usr/local/opt/openblas/lib%22)) ``` target_link_directories(${PROJECT_NAME} PUBLIC "/usr/local/opt/openblas/lib") ```