Compare commits

..

3 Commits

Author SHA1 Message Date
Nickolay Shmyrev ffd810fe00 Fix threading bug 2020-04-22 22:15:45 +02:00
Nickolay V. Shmyrev a1a0ed70a1 Update README.zh.md 2020-04-22 18:29:01 +03:00
Nickolay Shmyrev 1554d9ede7 Added per-language readme 2020-04-22 13:21:36 +02:00
5 changed files with 192 additions and 25 deletions
+29 -21
View File
@@ -1,11 +1,19 @@
[![Build Status](https://travis-ci.com/alphacep/vosk-api.svg?branch=master)](https://travis-ci.com/alphacep/vosk-api)
Language bindings for Vosk and Kaldi to access speech recognition from various languages and on various platforms
[РУС](README.ru.md)
* Python on Linux, Windows and RPi
* Node
* Android
* iOS
[中文](README.zh.md)
Vosk is a speech recognition toolkit. The best things in Vosk are:
1. Supports 8 languages - English, German, French, Spanish, Portuguese, Chinese, Russian, Vietnamese. More is coming.
1. Works offline even on lightweight devices - Raspberry Pi, Android, iOS
1. Installs with simple `pip3 install vosk`
1. Portable models per language is just only 50Mb but there are much bigger server models available.
1. Provides streaming API for the best user experience (unlike popular speech-recognition python package)
1. There bindings for different prograbmming languages too - java/csharp/javascript etc.
1. Allows quick reconfiguration of vocabulary for best accuracy.
1. Supports speaker identification beside simple speech recognition
## Android build
@@ -81,6 +89,22 @@ cd python
python3 setup.py install
```
#### Running the example code with python
Run like this:
```
cd vosk-api/python/example
wget https://github.com/alphacep/kaldi-android-demo/releases/download/2020-01/alphacep-model-android-en-us-0.3.tar.gz
tar xf alphacep-model-android-en-us-0.3.tar.gz
mv alphacep-model-android-en-us-0.3 model-en
python3 ./test_simple.py test.wav
```
To run with your audio file make sure it has proper format - PCM 16khz 16bit mono, otherwise decoding will not work.
You can find other examples of using a microphone, decoding with a fixed small vocabulary or speaker identification setup in [python/example subfolder](https://github.com/alphacep/vosk-api/tree/master/python/example)
#### Java example API build
Or Java
@@ -105,22 +129,6 @@ mv alphacep-model-android-en-us-0.3 model
mono test.exe
```
## Running the example code with python
Run like this:
```
cd vosk-api/python/example
wget https://github.com/alphacep/kaldi-android-demo/releases/download/2020-01/alphacep-model-android-en-us-0.3.tar.gz
tar xf alphacep-model-android-en-us-0.3.tar.gz
mv alphacep-model-android-en-us-0.3 model-en
python3 ./test_simple.py test.wav
```
To run with your audio file make sure it has proper format - PCM 16khz 16bit mono, otherwise decoding will not work.
You can find other examples of using a microphone, decoding with a fixed small vocabulary or speaker identification setup in [python/example subfolder](https://github.com/alphacep/vosk-api/tree/master/python/example)
## Models for different languages
For information about models see [the documentation on available models](https://github.com/alphacep/vosk-api/blob/master/doc/models.md).
+149
View File
@@ -0,0 +1,149 @@
[![Build Status](https://travis-ci.com/alphacep/vosk-api.svg?branch=master)](https://travis-ci.com/alphacep/vosk-api)
[EN](README.md)
[中文](README.zh.md)
Библитека для распознавания речи "Воск". Преимущества библиотеки:
1. Поддерживает 8 языков - русский, английский, немецкий, французский, португальский, испанский, китайский, вьетнамский. В скором времени будут добавлены и другие
1. Работает без доступа к сети даже на мобильных устройствах - Raspberry Pi, Android, iOS
1. Устанавливается с помощью простой команды `pip3 install vosk` без дополнительных шагов
1. Модели для каждого языка занимают всего 50Мб, но есть и гораздо более точные большие модели для более точного распознавания
1. Сделана для потоковой обработки звука, что позволяет реализовать мгновенную реакцию на команды
1. Поддерживает несколько популярных языков программирования - Java, C#, Javascript
1. Позволяет быстро настраивать словарь распознавания для улучшения точности распознавания
1. Позволяет идентифицировать говорящего
## Сборка для Android
```
cd android
gradle build
```
Сборка включает платформы x86, armv7, arm64
Для примера приложения, созданного с помощью библиотеки "Воск" смотрите [демо проект](https://github.com/alphacep/kaldi-android-demo).
## Сборка для iOS
Доступна позапросу. Напишите нам [contact@alphacephei.com](mailto:contact@alphacephei.com).
## Установка для работы Python из Pypi
Проще всего установить "Воск" с помощью pip. Собирать ничего не нужно. Мы поддерживаем платформы Linux, RPi и Windows. Сборка для OSX будет скоро доступна.
Для начала убедитесь, что используются достаточно новые версии pip и Python:
* Python версия >= 3.5
* pip версия >= 19.0
Обновите Python и Pip если нужно, а затем установите "Воск" такой командой:
```
pip3 install vosk
```
Для использования "Воск" смотрите примеры ниже.
## Сервер для протоколов Websocket и GRPC
We also provide a websocket server and grpc server which can be used in telephony and other applications. With bigger models adapted for 8khz audio it provides more accuracy.
The server is installed with docker and can run with a single command:
```
docker run -d -p 2700:2700 alphacep/kaldi-en:latest
```
Смотрите проект https://github.com/alphacep/vosk-server
## Сборка из исходников
Если нужно собрать проект из исходного кода, необходимо будет собрать
Kaldi самостоятельно. Сборка досаточно простая и прямолинейная, но может
быть непривычной для начинающих. Обращайте внимания на сообщения об ошибках
в процессе сборки.
#### Сборка Kaldi для модулей на Python, Java, C#
```
git clone https://github.com/kaldi-asr/kaldi
cd kaldi/tools
make
```
установите все рекомандуемые пакеты и повторите `make` если потребуется.
```
extras/install_openblas.sh
cd ../src
./configure --mathlib=OPENBLAS --shared --use-cuda=no
make -j 10
```
#### Сборка модуля на Python
После Kaldi можно собрать модуль Python
```
export KALDI_ROOT=<KALDI_ROOT>
cd python
python3 setup.py install
```
#### Запуск примера для Python
Выполните следующие команды:
```
cd vosk-api/python/example
wget https://github.com/alphacep/kaldi-android-demo/releases/download/2020-01/alphacep-model-android-en-us-0.3.tar.gz
tar xf alphacep-model-android-en-us-0.3.tar.gz
mv alphacep-model-android-en-us-0.3 model-en
python3 ./test_simple.py test.wav
```
Для того, чтобы распознавать другой файл, переведите его в нужный формат - PCM 16кГц 16бит 1канал. Это можно сделать с помощью ffmpeg.
Другие примеры, в том числе использования микрофона, распознавание с небольшим словарём и распознавание говорящего можно найти в [каталоге python/example](https://github.com/alphacep/vosk-api/tree/master/python/example)
#### Сборка для Java
Перейдите в каталог Java и запустите сборку
```
cd java && KALDI_ROOT=<KALDI_ROOT> make
wget https://github.com/alphacep/kaldi-android-demo/releases/download/2020-01/alphacep-model-android-en-us-0.3.tar.gz
tar xf alphacep-model-android-en-us-0.3.tar.gz
mv alphacep-model-android-en-us-0.3 model
make run
```
#### Сборка для C#
Для сборки в среде Mono.
```
cd csharp && KALDI_ROOT=<KALDI_ROOT> make
wget https://github.com/alphacep/kaldi-android-demo/releases/download/2020-01/alphacep-model-android-en-us-0.3.tar.gz
tar xf alphacep-model-android-en-us-0.3.tar.gz
mv alphacep-model-android-en-us-0.3 model
mono test.exe
```
.NET тоже должен работать, хотя мы не пробовали.
## Модели для разных языков
По информации о моделях смотрите соответствующую [страницу документации](https://github.com/alphacep/vosk-api/blob/master/doc/models.md).
## Contact Us
Если возникли вопросы, свяжитесь с нами:
* Создайте проблему тут на github
* Напишите нам по почте [contact@alphacephei.com](mailto:contact@alphacephei.com)
* Заходите в нашу группу в Телеграмме [@speech_recognition_ru](https://t.me/speech_recognition_ru)
+12
View File
@@ -0,0 +1,12 @@
[![Build Status](https://travis-ci.com/alphacep/vosk-api.svg?branch=master)](https://travis-ci.com/alphacep/vosk-api)
Vosk是言语识别工具包。Vosk最好的事情是:
1. 支持八种语言 - 中文, 英语,德语,法语,西班牙语,葡萄牙语,俄语,越南语。
1. 移动设备上脱机工作-Raspberry PiAndroidiOS。
1. 使用简单的 pip3 install vosk 安装
1. 每种语言的手提式模型只有是50Mb, 但还有更大的服务器模型可用
1. 提供流媒体API,以提供最佳用户体验(与流行的语音识别python包不同)
1. 也有针对不同编程语言的绑定-java / csharp / javascript等。
1. 允许快速重新配置词汇以获得最佳准确性。
1. 除了简单的语音识别外,还支持说话人识别
+1 -1
View File
@@ -7,7 +7,7 @@ with open("README.md", "r") as fh:
setuptools.setup(
name="vosk", # Replace with your own username
version="0.3.4",
version="0.3.5",
author="Alpha Cephei Inc",
author_email="contact@alphacephei.com",
description="API for Kaldi and Vosk",
+1 -3
View File
@@ -1,4 +1,4 @@
%module(package="vosk") vosk
%module(package="vosk", "threads"=1) vosk
%include <typemaps.i>
@@ -10,8 +10,6 @@
%include <arrays_csharp.i>
#endif
#if SWIGPYTHON
%pybuffer_binary(const char *data, int len);
#endif