AI个人学习
和实操指南
TRAE

Kimi-Audio:开源音频处理与对话基础模型

综合介绍

Kimi-Audio 是由 Moonshot AI 开发的一款开源音频基础模型,专注于音频理解、生成和对话。它支持多种音频处理任务,例如语音识别、音频问答和语音情感识别。模型经过超过 1300 万小时的音频数据预训练,结合创新的混合架构,在多个音频基准测试中表现优异。Kimi-Audio 提供模型权重、推理代码和评估工具包,方便开发者在研究和应用中集成。它适合需要高效音频处理和对话能力的场景,文档清晰,支持 Docker 部署,社区活跃,持续更新。

Kimi-Audio:开源音频处理与对话基础模型-1


 

功能列表

  • 语音识别(ASR):将音频转为文本,支持多语言语音转写。
  • 音频问答(AQA):根据音频内容回答用户提问,理解音频上下文。
  • 音频字幕(AAC):为音频生成精准的字幕或描述。
  • 语音情感识别(SER):分析音频中的情感状态,如高兴或悲伤。
  • 声音事件/场景分类(SEC/ASC):识别音频中的特定事件或场景,如汽车声或室内环境。
  • 文本转语音(TTS):将文本转化为自然语音,支持多种音色。
  • 语音转换(VC):改变语音的音色或风格,生成个性化音频。
  • 端到端语音对话:支持连续的语音交互,模拟自然对话。
  • 流式音频生成:通过分块流式解码器,实现低延迟音频生成。
  • 评估工具包:提供标准化的评估工具,方便比较不同模型性能。

 

使用帮助

安装流程

Kimi-Audio 的部署推荐使用 Docker,确保环境一致性和安装简便。以下是详细的安装步骤:

  1. 克隆仓库
    在终端运行以下命令,获取 Kimi-Audio 的代码和子模块:

    git clone https://github.com/MoonshotAI/Kimi-Audio.git
    cd Kimi-Audio
    git submodule update --init --recursive
  1. 安装依赖
    安装 Python 依赖,推荐使用 Python 3.10 环境:

    pip install -r requirements.txt
    

    确保安装 torch 和 soundfile,支持 GPU 的用户需安装对应 CUDA 版本的 PyTorch。

  2. 构建 Docker 镜像
    在 Kimi-Audio 目录下构建 Docker 镜像:

    docker build -t kimi-audio:v0.1 .
    

    或者使用官方预构建镜像:

    docker pull moonshotai/kimi-audio:v0.1
    
  3. 运行容器
    启动 Docker 容器,并挂载本地工作目录:

    docker run -it -v $(pwd):/app kimi-audio:v0.1 bash
    
  4. 下载模型权重
    Kimi-Audio 提供两个主要模型:Kimi-Audio-7B(基础模型)和 Kimi-Audio-7B-Instruct(指令微调模型)。从 Hugging Face 下载:

    • moonshotai/Kimi-Audio-7B-Instruct:适合直接使用。
    • moonshotai/Kimi-Audio-7B:适合进一步微调。
      使用 Hugging Face CLI 登录并下载:
    huggingface-cli login
    

    模型会自动下载到指定路径。

使用方法

Kimi-Audio 的核心功能通过 Python API 调用实现。以下是主要功能的详细操作流程:

1. 语音识别(ASR)

将音频文件转为文本。示例代码:

import soundfile as sf
from kimia_infer.api.kimia import KimiAudio
# 加载模型
model_path = "moonshotai/Kimi-Audio-7B-Instruct"
model = KimiAudio(model_path=model_path, load_detokenizer=True)
# 设置采样参数
sampling_params = {
"audio_temperature": 0.8,
"audio_top_k": 10,
"text_temperature": 0.0,
"text_top_k": 5,
"audio_repetition_penalty": 1.0,
"audio_repetition_window_size": 64,
"text_repetition_penalty": 1.0,
"text_repetition_window_size": 16,
}
# 准备输入
asr_audio_path = "asr_example.wav"  # 确保文件存在
messages_asr = [
{"role": "user", "message_type": "text", "content": "请转录以下音频:"},
{"role": "user", "message_type": "audio", "content": asr_audio_path}
]
# 生成文本输出
_, text_output = model.generate(messages_asr, **sampling_params, output_type="text")
print("转录结果:", text_output)

操作步骤

  • 准备 WAV 格式的音频文件。
  • 设置 messages_asr 指定任务为转录。
  • 运行代码,获取文本输出。

2. 音频问答(AQA)

根据音频内容回答问题。示例:

qa_audio_path = "qa_example.wav"
messages_qa = [
{"role": "user", "message_type": "text", "content": "音频中说了什么?"},
{"role": "user", "message_type": "audio", "content": qa_audio_path}
]
_, text_output = model.generate(messages_qa, **sampling_params, output_type="text")
print("回答:", text_output)

操作步骤

  • 上传包含信息的音频文件。
  • 在 messages_qa 中设置具体问题。
  • 获取模型的文本回答。

3. 文本转语音(TTS)

将文本转化为语音输出。示例:

messages_tts = [
{"role": "user", "message_type": "text", "content": "请将以下文本转为语音:你好,欢迎使用 Kimi-Audio!"}
]
audio_output, _ = model.generate(messages_tts, **sampling_params, output_type="audio")
sf.write("output.wav", audio_output, samplerate=16000)

操作步骤

  • 输入需要转换的文本。
  • 设置 output_type="audio" 获取音频数据。
  • 使用 soundfile 保存为 WAV 文件。

4. 端到端语音对话

支持连续语音交互。示例:

messages_conversation = [
{"role": "user", "message_type": "audio", "content": "conversation_example.wav"},
{"role": "user", "message_type": "text", "content": "请回复一段语音,介绍你的功能。"}
]
audio_output, text_output = model.generate(messages_conversation, **sampling_params, output_type="both")
sf.write("response.wav", audio_output, samplerate=16000)
print("文本回复:", text_output)

操作步骤

  • 提供初始语音输入和文本指令。
  • 设置 output_type="both" 获取语音和文本回复。
  • 保存音频输出并查看文本。

5. 使用评估工具包

Kimi-Audio 提供 Kimi-Audio-Evalkit 用于模型性能评估。安装:

git clone https://github.com/MoonshotAI/Kimi-Audio-Evalkit.git
cd Kimi-Audio-Evalkit
pip install -r requirements.txt

运行评估:

bash run_audio.sh --model Kimi-Audio --dataset all

操作步骤

  • 下载数据集到指定目录。
  • 配置 config.yaml 指定数据集路径。
  • 运行脚本生成评估报告。

注意事项

  • 确保音频文件格式为 WAV,采样率 16kHz。
  • GPU 环境可加速推理,推荐使用 CUDA 12.4。
  • 模型加载需要较大内存,建议至少 16GB 显存。
  • 非 Docker 部署需手动安装系统依赖,参考 GitHub 文档。

 

应用场景

  1. 智能客服
    Kimi-Audio 可用于构建语音交互的客服系统。它通过语音识别转录用户问题,结合音频问答提供解答,并生成自然语音回复。适合电商平台或技术支持场景,提升用户体验。
  2. 教育辅助
    在语言学习中,Kimi-Audio 可转录学生发音,分析情感和语调,提供反馈。它还能将教学文本转为语音,生成听力材料,适合在线教育平台。
  3. 内容创作
    视频制作者可使用 Kimi-Audio 生成字幕或配音。它能为视频自动生成精准字幕,或将脚本转为多种音色的语音,简化后期制作。
  4. 医疗记录
    医生可通过语音输入病例,Kimi-Audio 转录为文本并分类情感,辅助诊断患者情绪状态。适用于医院信息系统。

 

QA

  1. Kimi-Audio 支持哪些语言?
    Kimi-Audio 支持多语言语音识别和生成,尤其在英语和中文上表现优异。其他语言支持需参考官方文档。
  2. 如何优化推理速度?
    使用 GPU 加速,安装 flash-attn 库,设置 torch_dtype=torch.bfloat16。此外,调整 audio_top_k 和 text_top_k 参数可平衡速度和质量。
  3. 模型是否支持实时对话?
    是的,Kimi-Audio 的流式解码器支持低延迟音频生成,适合实时语音交互。
  4. 如何添加自定义数据集进行评估?
    在 Kimi-Audio-Evalkit 中创建 JSONL 文件,包含 indexaudio_path 和 question 字段。修改 config.yaml 指定数据集路径,运行评估脚本即可。
未经允许不得转载:首席AI分享圈 » Kimi-Audio:开源音频处理与对话基础模型
zh_CN简体中文