modelscope / FunASR

A Fundamental End-to-End Speech Recognition Toolkit and Open Source SOTA Pretrained Models, Supporting Speech Recognition, Voice Activity Detection, Text Post-processing etc.
https://www.funasr.com
Other
6.5k stars 689 forks source link

使用pipeline进行推理时报错 #1276

Closed wenjiwei closed 8 months ago

wenjiwei commented 9 months ago

运行代码: from modelscope.pipelines import pipeline from modelscope.utils.constant import Tasks

inference_pipeline = pipeline( task=Tasks.auto_speech_recognition, model='/home/wjw/FunASR-main/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch', )

rec_result = inference_pipeline(audio_in='https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_zh.wav') print(rec_result)

{'text': '欢迎大家来体验达摩院推出的语音识别模型'}

报错: Traceback (most recent call last): File "test.py", line 9, in rec_result = inference_pipeline(audio_in='https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_zh.wav',hotword='魔搭') File "/home/wjw/FunASR-main/modelscope/package/modelscope/pipelines/audio/funasr_pipeline.py", line 73, in call output = self.model(*args, kwargs) File "/home/wjw/FunASR-main/modelscope/package/modelscope/models/base/base_model.py", line 35, in call return self.postprocess(self.forward(*args, *kwargs)) File "/home/wjw/FunASR-main/modelscope/package/modelscope/models/audio/funasr/model.py", line 61, in forward output = self.model.generate(args, kwargs) TypeError: generate() missing 1 required positional argument: 'input'

LauraGPT commented 8 months ago

Please update funasr1.0.0:

pip install -U funasr>=1.0.0

Or

git clone -b main --single-branch https://github.com/alibaba-damo-academy/FunASR.git
cd FunASR
pip install -e ./

The new usage: https://github.com/alibaba-damo-academy/FunASR?tab=readme-ov-file#quick-start

hwang824 commented 8 months ago

遇到同样的问题,funasr已经升级到1.0.3版本,仍然报同样的错误。@wenjiwei,请问你问题解决了吗?@LauraGPT,请问还有其它解决方法吗?

hwang824 commented 8 months ago

我发现,在安装了最新的funasr和modelscope以后,如果按照modelscope的pipeline去推理,会报错,但如果用funasr的新推理代码就可以正常运行: from funasr import AutoModel

paraformer-zh is a multi-functional asr model

use vad, punc, spk or not as you need

model = AutoModel(model="paraformer-zh", model_revision="v2.0.4", vad_model="fsmn-vad", vad_model_revision="v2.0.4", punc_model="ct-punc-c", punc_model_revision="v2.0.4",

spk_model="cam++", spk_model_revision="v2.0.2",

              )

res = model.generate(input=f"{model.model_path}/example/asr_example.wav", batch_size_s=300, hotword='魔搭') print(res)

感觉整个项目的文档和版本有点混乱,请问这个funasr版本的新用法文档在哪里可以找到?

LauraGPT commented 8 months ago

Solution: https://github.com/alibaba-damo-academy/FunASR/discussions/1319