我在使用modelscope 处理音频数据并识别为文字,遇到了以下情况:
文档中说audio_in
可以输入 wav的bytes数据,我测试了一下,使用这种方式输入,识别的结果完全不对。示例代码如下:
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks
inference_pipeline = pipeline(
task=Tasks.auto_speech_recognition,
model='damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch')
with open('temp/recorded_audio.wav','rb') as wav_file:
wav_bytes = wav_file.read()
rec_result = inference_pipeline(audio_in=wav_bytes)
print(rec_result)
如果audio_in
使用本地文件路径,则识别的结果是正确的,请问出现这种情况是哪里设置或者代码有问题吗
auto_speech_recognition 可以识别 bytes 数据,但是需要设置 audio_format 参数为 bytes。
设置之后,可以通过传入 bytes 数据来进行识别。
from auto_speech_recognition import AutoSpeechRecognition
asr = AutoSpeechRecognition()
asr.audio_format = 'bytes'
with open('some_audio.bytes', 'rb') as f:
audio = f.read()
result = asr.recognize(audio)
print(result)
得到的结果为字符串,表示识别到的文本。