Aprendizagem pessoal com IA
e orientação prática
TRAE

Kimi-Audio: processamento de áudio de código aberto e modelo de base de diálogo

Introdução geral

O Kimi-Audio é um modelo de base de áudio de código aberto desenvolvido pela Moonshot AI que se concentra na compreensão, geração e diálogo de áudio. Ele oferece suporte a uma ampla gama de tarefas de processamento de áudio, como reconhecimento de fala, P&R de áudio e reconhecimento de emoções na fala. O modelo foi pré-treinado em mais de 13 milhões de horas de dados de áudio e, combinado com uma arquitetura híbrida inovadora, apresenta bom desempenho em vários benchmarks de áudio. O kimi-Audio fornece pesos de modelo, código de inferência e um kit de ferramentas de avaliação para que os desenvolvedores possam integrá-lo facilmente em suas pesquisas e aplicativos. Ele é adequado para cenários que exigem processamento de áudio eficiente e recursos de diálogo, com documentação clara, suporte para implantação do Docker, uma comunidade ativa e atualizações contínuas.

Kimi-Audio: processamento de áudio de código aberto e modelo de base de diálogo-1


 

Lista de funções

  • Reconhecimento de fala (ASR): converte áudio em texto e oferece suporte à transcrição de fala em vários idiomas.
  • Audio Question and Answer (AQA): responder às perguntas dos usuários com base no conteúdo de áudio e compreender o contexto do áudio.
  • Audio Captioning (AAC): gera legendas ou descrições precisas para áudio.
  • Speech Emotion Recognition (SER): analisa estados emocionais em áudio, como feliz ou triste.
  • Sound Event/Scene Classification (SEC/ASC): identifica eventos ou cenas específicas no áudio, como sons de carros ou ambientes internos.
  • Text-to-Speech (TTS): converte texto em fala natural, suporta vários tons.
  • Conversão de voz (VC): altere o timbre ou o estilo da voz para gerar áudio personalizado.
  • Diálogo de voz de ponta a ponta: suporta interação de voz contínua, simulando um diálogo natural.
  • Geração de áudio em streaming: geração de áudio de baixa latência por meio de um decodificador de streaming em pedaços.
  • Evaluation Toolkit: fornece ferramentas de avaliação padronizadas para facilitar a comparação do desempenho de diferentes modelos.

 

Usando a Ajuda

Processo de instalação

O Docker é recomendado para a implementação do Kimi-Audio para garantir um ambiente consistente e uma instalação fácil. Aqui estão as etapas detalhadas da instalação:

  1. armazém de clones
    Execute o seguinte comando no terminal para obter o código e os submódulos do Kimi-Audio:

    git clone https://github.com/MoonshotAI/Kimi-Audio.git
    cd Kimi-Audio
    git submodule update --init --recursive
  1. Instalação de dependências
    Instale as dependências do Python; recomenda-se o ambiente Python 3.10:

    pip install -r requirements.txt
    

    Garantir a instalação torch responder cantando soundfileSe você tiver suporte a GPU, precisará instalar a versão CUDA do PyTorch.

  2. Criação de uma imagem do Docker
    Crie a imagem do Docker no diretório Kimi-Audio:

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

    Ou use uma imagem oficial pré-construída:

    docker pull moonshotai/kimi-audio:v0.1
    
  3. Execução de contêineres
    Inicie o contêiner do Docker e monte o diretório de trabalho local:

    docker run -it -v $(pwd):/app kimi-audio:v0.1 bash
    
  4. Download dos pesos do modelo
    A Kimi-Audio oferece dois modelos principais:Kimi-Audio-7B(modelo básico) e Kimi-Audio-7B-Instruct(Instruções para o ajuste fino do modelo). Baixado de Hugging Face:

    • moonshotai/Kimi-Audio-7B-InstructAdequado para uso direto.
    • moonshotai/Kimi-Audio-7BAdequado para ajuste fino adicional.
      Use a CLI do Hugging Face para fazer login e download:
    huggingface-cli login
    

    O download do modelo é feito automaticamente no caminho especificado.

Uso

As principais funções do Kimi-Audio são implementadas por meio de chamadas à API do Python. A seguir, o fluxo de operação detalhado das funções principais:

1. reconhecimento de fala (ASR)

arquivo de áudio em texto. Código de amostra:

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)

procedimento::

  • Prepare um arquivo de áudio no formato WAV.
  • configurar messages_asr Especifique a tarefa como transcrição.
  • Execute o código e obtenha a saída de texto.

2. teste de áudio (AQA)

Responda às perguntas com base no áudio. Exemplo:

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)

procedimento::

  • Faça upload de um arquivo de áudio contendo informações.
  • existir messages_qa Definir perguntas específicas no
  • Obter respostas textuais do modelo.

3. conversão de texto em fala (TTS)

Converte texto em saída de voz. Exemplo:

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)

procedimento::

  • Digite o texto a ser convertido.
  • configurar output_type="audio" Obter dados de áudio.
  • fazer uso de soundfile Salvar como arquivo WAV.

4. diálogo de voz de ponta a ponta

Oferece suporte à interação contínua por voz. Exemplo:

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)

procedimento::

  • Fornece entrada de voz inicial e comandos de texto.
  • configurar output_type="both" Obtenha respostas de voz e texto.
  • Salve a saída de áudio e visualize o texto.

5. uso do kit de ferramentas de avaliação

Cortesia da Kimi-Audio Kimi-Audio-Evalkit Para avaliação do desempenho do modelo. Instalação:

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

Avaliação operacional:

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

procedimento::

  • Faça o download do conjunto de dados para o diretório especificado.
  • configurar config.yaml Especifica o caminho do conjunto de dados.
  • Execute o script para gerar o relatório de avaliação.

advertência

  • Certifique-se de que o formato do arquivo de áudio seja WAV com uma taxa de amostragem de 16 kHz.
  • O ambiente de GPU acelera a inferência e o CUDA 12.4 é recomendado.
  • O carregamento de modelos requer uma grande quantidade de memória, sendo recomendado pelo menos 16 GB de memória gráfica.
  • As implementações que não são do Docker exigem a instalação manual das dependências do sistema; consulte a documentação do GitHub.

 

cenário do aplicativo

  1. Atendimento inteligente ao cliente
    O Kimi-Audio pode ser usado para criar sistemas de atendimento ao cliente para interação por voz. Ele transcreve as perguntas do usuário por meio do reconhecimento de voz, combina perguntas e respostas em áudio para fornecer respostas e gera respostas de voz naturais. Ele é adequado para plataformas de comércio eletrônico ou cenários de suporte técnico para aprimorar a experiência do usuário.
  2. Auxílios educacionais
    No aprendizado de idiomas, o Kimi-Audio transcreve a pronúncia do aluno, analisa a emoção e a entonação e fornece feedback. Ele também transcreve textos didáticos em fala para gerar materiais de audição, o que o torna adequado para plataformas de educação on-line.
  3. criação de conteúdo
    Os produtores de vídeo podem usar o Kimi-Audio para gerar legendas ou dublagem. Ele pode gerar automaticamente legendas precisas para vídeos ou converter scripts em fala com vários tons para simplificar a pós-produção.
  4. registro médico
    Os médicos podem inserir casos por voz, e o Kimi-Audio os transcreve em texto e classifica as emoções para ajudar no diagnóstico do estado emocional do paciente. Adequado para sistemas de informações hospitalares.

 

QA

  1. Quais idiomas são suportados pela Kimi-Audio?
    O Kimi-Audio oferece suporte ao reconhecimento e à geração de fala em vários idiomas, especialmente em inglês e chinês. Para suporte a outros idiomas, consulte a documentação oficial.
  2. Como otimizar a velocidade de raciocínio?
    Para usar a aceleração de GPU, instale flash-attn biblioteca, conjunto torch_dtype=torch.bfloat16. Além disso, os ajustes audio_top_k responder cantando text_top_k Os parâmetros equilibram velocidade e qualidade.
  3. O modelo oferece suporte ao diálogo em tempo real?
    Sim, o decodificador de streaming da Kimi-Audio é compatível com a geração de áudio de baixa latência para interação de voz em tempo real.
  4. Como faço para adicionar um conjunto de dados personalizado para avaliação?
    existir Kimi-Audio-Evalkit Crie um arquivo JSONL na pasta indexeaudio_path responder cantando question campo. Modificar config.yaml Basta especificar o caminho do conjunto de dados e executar o script de avaliação.
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " Kimi-Audio: processamento de áudio de código aberto e modelo de base de diálogo
pt_BRPortuguês do Brasil