Whisper-AT 开源项目教程
项目介绍
Whisper-AT 是一个结合了音频事件标签和自动语音识别(ASR)功能的模型。该项目基于 Whisper 模型,增加了音频标签功能,能够在识别语音的同时,输出背景声音的标签。Whisper-AT 不仅继承了 Whisper 的所有API和ASR性能,还能够在不增加太多计算成本的情况下,提供接近最先进的音频标签性能。
项目快速启动
安装 Whisper-AT
首先,确保你的环境中已经安装了 ffmpeg
。然后,按照以下步骤安装 Whisper-AT:
# 安装所有依赖,除了 triton
pip install numba numpy torch tqdm more-itertools tiktoken==0.3.3
# 安装 Whisper-AT 不带任何依赖
pip install --no-deps whisper-at
使用 Whisper-AT
以下是一个简单的示例,展示如何使用 Whisper-AT 进行语音识别和音频标签:
import whisper_at as whisper
# 设置音频标签的时间分辨率
audio_tagging_time_resolution = 10
# 加载模型
model = whisper.load_model("large-v1")
# 识别音频文件
result = model.transcribe("audio.mp3", at_time_res=audio_tagging_time_resolution)
# 输出 ASR 结果
print(result["text"])
# 输出音频标签结果
audio_tag_result = whisper.parse_at_label(result, language='follow_asr', top_k=5, p_threshold=-1, include_class_list=list(range(527)))
print(audio_tag_result)
应用案例和最佳实践
应用案例
Whisper-AT 可以广泛应用于需要同时进行语音识别和音频标签的场景,例如:
- 智能家居:识别用户的语音命令并同时识别环境中的声音事件,如狗叫、门铃等。
- 安全监控:在监控视频中,同时进行语音识别和环境声音的标签,提高监控的智能化水平。
最佳实践
- 模型选择:根据具体需求选择合适的模型大小(如
base
,small
,medium
,large
),以平衡性能和计算资源。 - 时间分辨率设置:根据应用场景调整
audio_tagging_time_resolution
,以达到最佳的识别效果和效率。
典型生态项目
Whisper-AT 作为一个开源项目,可以与其他开源项目结合使用,形成更强大的生态系统。例如:
- OpenAI Whisper:Whisper-AT 基于 Whisper 模型开发,可以与 Whisper 的其他功能和工具结合使用。
- AudioSet:Whisper-AT 使用的音频标签基于 AudioSet 的标签体系,可以与 AudioSet 的相关研究和工具结合使用。
通过这些结合,可以进一步扩展 Whisper-AT 的应用范围和功能。