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

Онлайн-демонстрация: 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
- Компиляция исходного кода::
- Для пользователей Linux и macOS:
mkdir build cd build cmake -DCMAKE_BUILD_TYPE=Release .. make -j4
- Для пользователей Windows может потребоваться Visual Studio или другой компилятор, поддерживаемый CMake.
- Для пользователей Linux и macOS:
- Загрузите предварительно скомпилированные файлы::
- Зайдите на страницу релиза на 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 для разработки приложений, связанных с речью, будь то диалоговая система реального времени или автономная обработка речи.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...