chenkui164 / FastASR

这是一个用C++实现ASR推理的项目,它依赖很少,安装也很简单,推理速度很快,在树莓派4B等ARM平台也可以流畅的运行。 支持的模型是由Google的Transformer模型中优化而来,数据集是开源wenetspeech(10000+小时)或阿里私有数据集(60000+小时), 所以识别效果也很好,可以媲美许多商用的ASR软件。
Apache License 2.0
472 stars 72 forks source link

stream模式处理长时间语音时出错 #64

Closed opentld closed 1 year ago

opentld commented 1 year ago

问题出在这一句: image 报0x0000005异常,读取了禁止读取的内存 image 每次都是sum累加到665040就出错,是音频问题?还是有bug了? @chenkui164 大佬请关注一下

chenkui164 commented 1 year ago

stream模式没做VAD,语音太长了,会导致内存溢出。

csukuangfj commented 1 year ago

stream 模式,是不是可以支持任意长的音频?(只要他们不是一次性送进来的,理论上讲,需要 cache 的数据是一定的,不会 oom 吧?)

opentld commented 1 year ago

stream模式没做VAD,语音太长了,会导致内存溢出。

过一段时间,就mm->reset 怎么样?会解决吗?

chenkui164 commented 1 year ago

stream模式没做VAD,语音太长了,会导致内存溢出。

过一段时间,就mm->reset 怎么样?会解决吗?

应该不行,改起来比较麻烦,所以就没给stream模式加VAD。可以试试sherpa-ncnnsherpa-onnx,里面有最先进的模型,而且支持会更好

chenkui164 commented 1 year ago

stream 模式,是不是可以支持任意长的音频?(只要他们不是一次性送进来的,理论上讲,需要 cache 的数据是一定的,不会 oom 吧?)

paddlespeech的模型,cache是累积的,不是一个固定的窗口,所以会溢出。

csukuangfj commented 1 year ago

stream 模式,是不是可以支持任意长的音频?(只要他们不是一次性送进来的,理论上讲,需要 cache 的数据是一定的,不会 oom 吧?)

paddlespeech的模型,cache是累积的,不是一个固定的窗口,所以会溢出。

这种设计是不是不能支持长时间持续运行?

chenkui164 commented 1 year ago

stream 模式,是不是可以支持任意长的音频?(只要他们不是一次性送进来的,理论上讲,需要 cache 的数据是一定的,不会 oom 吧?)

paddlespeech的模型,cache是累积的,不是一个固定的窗口,所以会溢出。

这种设计是不是不能支持长时间持续运行?

恩,不支持。只是支持每句话的流式,不是每段话的流式。

opentld commented 1 year ago

stream模式没做VAD,语音太长了,会导致内存溢出。

过一段时间,就mm->reset 怎么样?会解决吗?

应该不行,改起来比较麻烦,所以就没给stream模式加VAD。可以试试sherpa-ncnnsherpa-onnx,里面有最先进的模型,而且支持会更好

试了一下,reset是可以的,只是会丢字...

csukuangfj commented 1 year ago

stream 模式,是不是可以支持任意长的音频?(只要他们不是一次性送进来的,理论上讲,需要 cache 的数据是一定的,不会 oom 吧?)

paddlespeech的模型,cache是累积的,不是一个固定的窗口,所以会溢出。

这种设计是不是不能支持长时间持续运行?

恩,不支持。只是支持每句话的流式,不是每段话的流式。

模型是这么设计的,还是他们的实现有这个限制? 可以不可以改掉呢?

opentld commented 1 year ago

stream模式没做VAD,语音太长了,会导致内存溢出。

过一段时间,就mm->reset 怎么样?会解决吗?

应该不行,改起来比较麻烦,所以就没给stream模式加VAD。可以试试sherpa-ncnnsherpa-onnx,里面有最先进的模型,而且支持会更好

image

其实是可以的,只需要一点小编程技巧 ;)

LDBS666 commented 7 months ago

stream模式没做VAD,语音太长了,会导致内存溢出。

过一段时间,就mm->reset 怎么样?会解决吗?

应该不行,改起来比较麻烦,所以就没给stream模式加VAD。可以试试sherpa-ncnnsherpa-onnx,里面有最先进的模型,而且支持会更好

image

其实是可以的,只需要一点小编程技巧 ;)

什么小编程技巧呀?语音切片么?