
VibeVoice-ASR-Streaming 文件推理怎么用 --context_info 热词参数偏向指定术语【免费下载链接】VibeVoiceOpen-Source Frontier Voice AI项目地址: https://gitcode.com/GitHub_Trending/vib/VibeVoiceVibeVoice-ASR-Streaming 在音频还在到达时就逐块转写每收到一个 chunk 就输出一次文本而不必等整段音频结束。如果你的任务是对本地音频文件做流式推理并让识别偏向某些指定术语如公司名、产品名、技术词汇入口是 demo/vibevoice_asr_streaming_inference_from_file.py 脚本的--context_info参数。适用前提文档推荐的 NVIDIA PyTorch 容器环境、ffmpeg以及一个流式版本的 checkpoint。准备环境与依赖按 VibeVoice-ASR-Streaming 文档 的安装步骤共三步启动 NVIDIA PyTorch 容器。文档注明 24.07 ~ 25.12 版本已验证更早版本也兼容sudo docker run --privileged --nethost --ipchost --ulimit memlock-1:-1 --ulimit stack-1:-1 --gpus all --rm -it nvcr.io/nvidia/pytorch:25.12-py3克隆仓库并安装项目git clone https://github.com/microsoft/VibeVoice.git cd VibeVoice pip install -e .安装 ffmpeg文件推理需要用它解码音频apt update apt install ffmpeg -yflash attention 属于可选依赖文档说明如果容器里没有 flash attention需要按 flash-attention 的说明手动安装pip install flash-attn --no-build-isolation。推理脚本的--attn_implementation默认值是sdpa只有你显式改用flash_attention_2时才依赖它。运行文件推理命令并传入 --context_info文档 Usage 2 的基础命令是--model_path--audio_files加上热词参数后完整写法如下python demo/vibevoice_asr_streaming_inference_from_file.py \ --model_path [add the checkpoint path here] \ --audio_files [add an audio path here] \ --context_info Microsoft,VibeVoice命令中各部分的来源与替换方式[add the checkpoint path here]文档原文占位符。填流式 checkpoint 的本地目录或 Hugging Face repo id——脚本的load_frame_config明确支持两种形式传入 repo id 时它会通过hf_hub_download拉取preprocessor_config.json。README 中流式模型对应的是microsoft/VibeVoice-ASR-Streaming-7B。[add an audio path here]本地音频文件路径参数是nargs一次可以传多个文件。仓库demo/asr_demo/目录下有demo1-chat.mp3、demo2-song.mp3、demo3-hotwords.wav等音频可用作测试输入。[--context_info Microsoft,VibeVoice]文档给出的示例热词逗号分隔。文档说明 Add--context_info Microsoft,VibeVoiceto bias recognition toward specific terms, the same way hotwords work on the non-streaming model脚本中该参数的帮助文本为 Hotwords to bias recognition, e.g. Microsoft,VibeVoice默认值为None不传则不加热词。非流式 VibeVoice-ASR 文档 对同类热词的描述是提供特定的名字、技术术语或背景信息来引导识别过程提升领域内容的准确性。其余可选参数来自脚本argparse定义参数默认值说明--deviceCUDA 可用时为cuda否则cpu可选cuda/cpu/mps/xpucuda时模型以 bfloat16 加载其他设备以 float32 加载--max_new_tokens256每个 chunk 生成的最大 token 数--temperature0.0采样温度0 greedy decoding--attn_implementationsdpa可选flash_attention_2/sdpa/eager启动时的 checkpoint 校验与常见报错脚本启动时会做两项检查不满足就退出这对判断报错是不是用错了 checkpoint很关键读取 checkpoint 的preprocessor_config.json从中取chunk_frames和lookahead_frames计算 chunk 时长与 lookahead 延迟并打印Chunk: 时长s, lookahead: 延迟s。若缺少这两个键脚本报错退出提示该 checkpoint not a streaming checkpoint并指明应改用非流式脚本demo/vibevoice_asr_inference_from_file.py。检查 tokenizer 是否含有|text_chunk_end|token。没有则退出原因是no chunk would ever endchunk 永远不会结束流式输出无法进行。注意 chunk 时长和 lookahead 不是命令行参数文档明确它们读自 checkpoint 的preprocessor_config.jsona checkpoint always runs at the chunk it was trained on即流式 checkpoint 始终按训练时的 chunk 设置运行无法在推理时修改。输出格式与热词效果的核对脚本的逐块输出与收尾汇总格式是固定的尖括号内为运行时实际值File: 音频路径 [1/总块数] 本块转写文本 [2/总块数] 本块转写文本 ... --- Transcription --- 各块拼接后的完整转写 Audio: 音频时长s, generation time: 生成耗时s, RTF: RTF文档说明 Each chunk is printed as soon as the model emits it即每行 chunk 文本是模型一产生就打印的不是全部结束后一次性输出。热词效果没有固定的成功指标文档只说明--context_info用于把识别偏向指定术语。实际核对方式是查看--- Transcription ---之后完整转写里你传入的那些术语的转写结果如需观察偏置差异可以对同一段音频分别运行带与不带--context_info的命令对照两处完整转写中指定术语的输出。限制与替代入口该脚本只接受流式 checkpoint。拿到非流式 VibeVoice-ASR checkpoint 时会被上面第 1 项检查拒绝此时按脚本提示改用demo/vibevoice_asr_inference_from_file.py那是非流式模型的推理入口见 docs/vibevoice-asr.md。文件解码依赖 ffmpeg缺少它无法运行文件推理。如果你想在浏览器里录音并实时看到带热词的转写文档 Usage 1 提供了 FastAPI demopython demo/vibevoice_asr_streaming_fastapi_demo.py --model_path [add the checkpoint path here]打开http://localhost:7870页面有 Hotwords (context_info) 输入框作用与文件脚本的--context_info相同。【免费下载链接】VibeVoiceOpen-Source Frontier Voice AI项目地址: https://gitcode.com/GitHub_Trending/vib/VibeVoice创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考