Aprendizagem pessoal com IA
e orientação prática
Recomendação de recursos 1

Sherpa-ONNX: reconhecimento e síntese de fala off-line com o ONNXRuntime

Introdução geral

O sherpa-onnx é um projeto de código aberto desenvolvido pela equipe do Next-gen Kaldi para fornecer soluções eficientes de reconhecimento e síntese de fala off-line. Ele é compatível com várias plataformas, incluindo Android, iOS, Raspberry Pi, etc., e é capaz de processar a fala em tempo real sem uma conexão com a Internet. O projeto se baseia na estrutura ONNX Runtime e fornece funções de fala para texto (ASR), texto para fala (TTS) e detecção de atividade de voz (VAD) para vários sistemas incorporados e dispositivos móveis. O projeto não só é compatível com o uso off-line, mas também permite a comunicação entre o servidor e o cliente via WebSocket.

Sherpa-ONNX: reconhecimento e síntese de fala off-line com ONNXRuntime-1

Demonstração on-line: https://huggingface.co/spaces/k2-fsa/generate-subtitles-for-videos


 

Lista de funções

  • Reconhecimento de fala off-line (ASR)Suporte à conversão de voz em texto em tempo real em vários idiomas, sem a necessidade de conexão com a Internet.
  • Síntese de fala off-line (TTS)Oferece serviço de conversão de texto em fala de alta qualidade, novamente sem a necessidade de Internet.
  • Detecção de atividade de voz (VAD)Detecção de atividade de voz em tempo real, adequada para uma variedade de cenários de interação de voz.
  • Suporte a várias plataformasDisponível para Linux, macOS, Windows, Android, iOS e muitos outros sistemas operacionais.
  • Suporte a modelos em vários idiomasEle oferece suporte a modelos avançados de fala, como Zipformer, Paraformer, etc., para melhorar a precisão do reconhecimento e da síntese.
  • baixo consumo de recursosModelos otimizados podem ser executados sem problemas em dispositivos com recursos limitados.

 

Usando a Ajuda

Processo de instalação

O sherpa-onnx é um projeto de código aberto, você pode fazer download do código-fonte diretamente do GitHub para compilação ou usar os binários pré-compilados diretamente:

1.armazém de clones::

git clone https://github.com/k2-fsa/sherpa-onnx.git
cd sherpa-onnx
  1. Compilar o código-fonte::
    • Para usuários do Linux e do macOS:
      mkdir build
      cd build
      cmake -DCMAKE_BUILD_TYPE=Release ...
      make -j4
      
    • Para usuários do Windows, talvez seja necessário usar o Visual Studio ou outro compilador compatível com o CMake.
  2. Baixar arquivos pré-compilados::
    • Visite a página de lançamento do GitHub (por exemplo, https://github.com/k2-fsa/sherpa-onnx/releases) e selecione a versão pré-compilada para o seu sistema operacional para fazer o download.

Uso

Exemplo de reconhecimento de fala (ASR)::

  • modo de linha de comando::
    Faça o download de modelos pré-treinados (por exemplo sherpa-onnx-streaming-zipformer-bilingual-zh-en):

    wget https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-streaming-zipformer-bilingual-zh-en.tar.bz2
    tar xvf sherpa-onnx-streaming-zipformer-bilingual-zh-en.tar.bz2
    

    Então corra:

    . /build/bin/sherpa-onnx --tokens=sherpa-onnx-streaming-zipformer-bilingual-zh-en/tokens.txt --encoder=sherpa-onnx-streaming-zipformer --encoder=sherpa-onnx-streaming-zipformer-bilingual-zh-en/decoder.onnx your_audio.wav
    
  • reconhecimento em tempo real::
    Reconhecimento de fala em tempo real usando um microfone:

    . /build/bin/sherpa-onnx-microphone --tokens=sherpa-onnx-streaming-zipformer-bilingual-zh-en/tokens.txt --encoder=sherpa-onnx- streaming-zipformer-bilingual-zh-en/encoder.onnx --decoder=sherpa-onnx-streaming-zipformer-bilingual-zh-en/decoder.onnx
    

Exemplo de síntese de fala (TTS)::

  • Faça o download de um modelo TTS pré-treinado (por exemplo, modelo VITS):
    wget https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/sherpa-onnx-tts-vits.tar.bz2
    tar xvf sherpa-onnx-tts-vits.tar.bz2
    
  • Executar TTS:
    . /build/bin/sherpa-onnx-offline-tts --model=sherpa-onnx-tts-vits/model.onnx "Olá, mundo".
    

Detecção de atividade de voz (VAD)::

  • Execute o VAD:
    . /build/bin/sherpa-onnx-vad --model=path/to/vad_model.onnx your_audio.wav
    

advertência

  • Seleção de modelosEscolha o modelo apropriado (por exemplo, versão com ou sem streaming) para suas necessidades. Os diferentes modelos diferem em termos de desempenho e tempo real.
  • Requisitos de hardwareEmbora o sherpa-onnx tenha sido projetado para consumir poucos recursos, os modelos complexos podem exigir maior capacidade de computação, especialmente em dispositivos móveis.
  • Suporte a idiomasModelos pré-treinados podem suportar vários idiomas, portanto, certifique-se de escolher o modelo correto para o seu idioma.

Com essas etapas e dicas, você pode começar a usar o sherpa-onnx para o desenvolvimento de aplicativos relacionados à fala, seja um sistema de diálogo em tempo real ou o processamento de fala off-line.

Download de ferramentas
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " Sherpa-ONNX: reconhecimento e síntese de fala off-line com o ONNXRuntime

Chefe do Círculo de Compartilhamento de IA

O Chief AI Sharing Circle se concentra no aprendizado de IA, fornecendo conteúdo abrangente de aprendizado de IA, ferramentas de IA e orientação prática. Nosso objetivo é ajudar os usuários a dominar a tecnologia de IA e explorar juntos o potencial ilimitado da IA por meio de conteúdo de alta qualidade e compartilhamento de experiências práticas. Seja você um iniciante em IA ou um especialista sênior, este é o lugar ideal para adquirir conhecimento, aprimorar suas habilidades e realizar inovações.

Entre em contato conosco
pt_BRPortuguês do Brasil