docker部署,wave.Error: unknown format: 6,ffmpeg没有如期运行
用官方提供的docker部署的服务(试了多个版本),输入音频是.wav格式,但也许采样率等原因,都报错wave.Error: unknown format: 6,需要自己手动用ffmpeg提前转换一下格式(ffmpeg -i input.wav -ar 16000 output.wav),转换后就没问题。但这与文档里提到的服务集成了ffmpeg不符。查看了仓库,有ffmpeg,但不知为何没有如期运行。
但如果直接用pip安装的funasr, 是集成好了ffmpeg的,不需要自己提前将音频格式转换。
说了很多,但没看到任何对解决问题有价值的信息 请提供docker版本,可复现的测试流程,测试音频
我是将funasr_wss_client.py 中 elif wav_path.endswith(".wav"): import wave with wave.open(wav_path, "rb") as wav_file: params = wav_file.getparams() sample_rate = wav_file.getframerate() frames = wav_file.readframes(wav_file.getnframes()) audio_bytes = bytes(frames)
替换为了 elif wav_path.endswith(".wav"): import soundfile as sf # 新增导入 data, sample_rate = sf.read(wav_path, dtype='int16') audio_bytes = data.tobytes()
本身的镜像里好像就带着soundfile