🚀 Kimi-Audio
Kimi-Audio 是一個開源的音頻基礎模型,在音頻理解、生成和對話方面表現出色。它能在單一統一框架內處理多種音頻處理任務,為音頻領域的研究和應用提供了強大支持。
🚀 快速開始
環境準備
我們建議你構建一個 Docker 鏡像來運行推理。克隆推理代碼後,你可以使用 docker build
命令構建鏡像:
git clone https://github.com/MoonshotAI/Kimi-Audio
git submodule update --init
cd Kimi-Audio
docker build -t kimi-audio:v0.1 .
或者,你也可以使用我們預先構建的鏡像:
docker pull moonshotai/kimi-audio:v0.1
另外,你還可以通過以下命令安裝依賴:
pip install -r requirements.txt
如果遇到任何環境問題,請參考 Dockerfile。
代碼示例
以下示例展示瞭如何使用 Kimi-Audio-7B-Instruct
模型從音頻生成文本(自動語音識別,ASR),以及在對話回合中生成文本和語音:
import soundfile as sf
from kimia_infer.api.kimia import KimiAudio
import torch
model_id = "moonshotai/Kimi-Audio-7B-Instruct"
device = "cuda" if torch.cuda.is_available() else "cpu"
try:
model = KimiAudio(model_path=model_id, load_detokenizer=True)
model.to(device)
except Exception as e:
print(f"從 HF Hub 自動加載可能需要特定設置。")
print(f"參考 Kimi-Audio 文檔。嘗試本地路徑示例(更新路徑!)。錯誤: {e}")
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"
qa_audio_path = "qa_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(">>> ASR 輸出文本: ", text_output)
messages_conversation = [
{"role": "user", "message_type": "audio", "content": qa_audio_path}
]
wav_output, text_output = model.generate(messages_conversation, **sampling_params, output_type="both")
output_audio_path = "output_audio.wav"
sf.write(output_audio_path, wav_output.detach().cpu().view(-1).numpy(), 24000)
print(f">>> 對話輸出音頻保存到: {output_audio_path}")
print(">>> 對話輸出文本: ", text_output)
print("Kimi-Audio 推理示例完成。")
✨ 主要特性
- 通用能力:能夠處理多種任務,如自動語音識別(ASR)、音頻問答(AQA)、音頻字幕生成(AAC)、語音情感識別(SER)、聲音事件/場景分類(SEC/ASC)以及端到端語音對話。
- 先進性能:在眾多音頻基準測試中取得了最先進的成果(詳見我們的技術報告)。
- 大規模預訓練:在超過 1300 萬小時的多樣化音頻數據(語音、音樂、聲音)和文本數據上進行了預訓練。
- 新穎架構:採用混合音頻輸入(連續聲學 + 離散語義標記)和具有並行頭的大語言模型(LLM)核心,用於文本和音頻標記生成。
- 高效推理:基於流匹配的分塊流式去標記器,實現低延遲音頻生成。
📚 詳細文檔
如需更多詳細信息,請參考我們的 GitHub 倉庫 和 技術報告。
📄 許可證
該模型基於 Qwen 2.5-7B 進行修改。源自 Qwen2.5-7B 的代碼遵循 Apache 2.0 許可證。代碼的其他部分遵循 MIT 許可證。
📖 引用
如果你在研究或應用中發現 Kimi-Audio 很有用,請引用我們的技術報告:
@misc{kimi_audio_2024,
title={Kimi-Audio Technical Report},
author={Kimi Team},
year={2024},
eprint={arXiv:placeholder},
archivePrefix={arXiv},
primaryClass={cs.CL}
}