Sherpa-ONNX: автономное распознавание и синтез речи с помощью ONNXRuntime

Общее введение

sherpa-onnx - это проект с открытым исходным кодом, разработанный командой Next-gen Kaldi для создания эффективных решений по распознаванию и синтезу речи в автономном режиме. Он поддерживает множество платформ, включая Android, iOS, Raspberry Pi и т. д., и способен обрабатывать речь в реальном времени без подключения к интернету. Проект базируется на фреймворке ONNX Runtime и предоставляет функции преобразования речи в текст (ASR), текста в речь (TTS) и определения голосовой активности (VAD) для различных встраиваемых систем и мобильных устройств. Проект не только поддерживает автономное использование, но и обеспечивает взаимодействие сервера и клиента через WebSocket.

Sherpa-ONNX:使用ONNXRuntime实现离线语音识别和合成

Онлайн-демонстрация: https://huggingface.co/spaces/k2-fsa/generate-subtitles-for-videos

 

Список функций

  • Автономное распознавание речи (ASR): Поддержка преобразования речи в текст в реальном времени на нескольких языках без необходимости подключения к Интернету.
  • Автономный синтез речи (TTS): Предоставляет высококачественный сервис преобразования текста в речь, опять же без необходимости подключения к Интернету.
  • Обнаружение голосовой активности (VAD): Обнаружение голосовой активности в реальном времени, подходящее для различных сценариев голосового взаимодействия.
  • Поддержка нескольких платформ: Доступно для Linux, macOS, Windows, Android, iOS и многих других операционных систем.
  • Поддержка межъязыковых моделей: Поддержка передовых моделей речи, таких как Zipformer, Paraformer и т. д., для повышения точности распознавания и синтеза.
  • низкое потребление ресурсов: Оптимизированные модели могут плавно работать на устройствах с ограниченными ресурсами.

 

Использование помощи

Процесс установки

sherpa-onnx - это проект с открытым исходным кодом, вы можете загрузить исходный код непосредственно с GitHub для компиляции или использовать предварительно скомпилированные двоичные файлы напрямую:

1.склад клонов::

git clone https://github.com/k2-fsa/sherpa-onnx.git
cd sherpa-onnx
  1. Компиляция исходного кода::
    • Для пользователей Linux и macOS:
      mkdir build
      cd build
      cmake -DCMAKE_BUILD_TYPE=Release ..
      make -j4
      
    • Для пользователей Windows может потребоваться Visual Studio или другой компилятор, поддерживаемый CMake.
  2. Загрузите предварительно скомпилированные файлы::
    • Зайдите на страницу релиза на GitHub (например, https://github.com/k2-fsa/sherpa-onnx/releases) и выберите для загрузки предварительно скомпилированную версию для вашей операционной системы.

Использование

Распознавание речи (ASR) Пример::

  • режим командной строки::
    Загрузите предварительно обученные модели (например. 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
    

    Тогда бегите:

    ./build/bin/sherpa-onnx --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 your_audio.wav
    
  • распознавание в реальном времени::
    Распознавание речи в реальном времени с помощью микрофона:

    ./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
    

Синтез речи (TTS) Пример::

  • Загрузите предварительно обученную модель TTS (например, модель 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
    
  • Запустите TTS:
    ./build/bin/sherpa-onnx-offline-tts --model=sherpa-onnx-tts-vits/model.onnx "你好,世界"
    

Обнаружение голосовой активности (VAD)::

  • Запустите VAD:
    ./build/bin/sherpa-onnx-vad --model=path/to/vad_model.onnx your_audio.wav
    

предостережение

  • Выбор модели: Выберите подходящую модель (например, потоковую или непотоковую версию) в соответствии с вашими потребностями. Различные модели отличаются по производительности и режиму реального времени.
  • требования к оборудованию: Несмотря на то, что sherpa-onnx рассчитан на низкое потребление ресурсов, сложные модели могут требовать больших вычислительных мощностей, особенно на мобильных устройствах.
  • Языковая поддержка: Предварительно обученные модели могут поддерживать несколько языков, поэтому убедитесь, что вы выбрали правильную модель для вашего языка.

С помощью этих шагов и советов вы сможете начать использовать sherpa-onnx для разработки приложений, связанных с речью, будь то диалоговая система реального времени или автономная обработка речи.

© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...