Metadata-Version: 2.4
Name: ovos-stt-plugin-vosk
Version: 0.2.8a2
Summary: A vosk stt plugin for OpenVoiceOS
Author-email: JarbasAi <jarbasai@mailfence.com>
License: Apache-2.0
Project-URL: Homepage, https://github.com/OpenVoiceOS/ovos-stt-plugin-vosk
Keywords: mycroft,ovos,plugin,stt
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: ovos-plugin-manager<3.0.0,>=2.1.1
Requires-Dist: ovos-utils<1.0.0,>=0.8.4
Requires-Dist: vosk
Provides-Extra: test
Requires-Dist: ovoscope>=0.19.0a1; extra == "test"
Requires-Dist: ovos-dinkum-listener; extra == "test"
Requires-Dist: pytest<9; extra == "test"
Requires-Dist: pytest-timeout>=2.0.0; extra == "test"
Dynamic: license-file

## Description

This plugin adds [Vosk](https://alphacephei.com/vosk/) speech-to-text support to OpenVoiceOS. It transcribes audio with a local Kaldi model, either after recording finishes or in real time as you speak.

## Install

`pip install ovos-stt-plugin-vosk`

Get official models from [alphacephei](https://alphacephei.com/vosk/models).

## Configuration

Give the plugin a Kaldi model. Point `model` at a local folder or a direct download URL.

```json
  "stt": {
    "module": "ovos-stt-plugin-vosk",
    "ovos-stt-plugin-vosk": {
        "model": "/path/to/unzipped/model/folder"
    }
  }
```

### Advanced configuration

```json
  "stt": {
    "module": "ovos-stt-plugin-vosk-streaming",
    "ovos-stt-plugin-vosk-streaming": {
        "model": "http://alphacephei.com/vosk/models/vosk-model-small-en-us-0.15.zip",
        "verbose": true
    },
    "ovos-stt-plugin-vosk": {
        "model": "http://alphacephei.com/vosk/models/vosk-model-small-en-us-0.15.zip"
    }
  }
```

`ovos-stt-plugin-vosk` runs regular STT. Transcription happens after recording finishes.

`ovos-stt-plugin-vosk-streaming` runs streaming STT. Transcription happens in real time.

`verbose` prints partial transcriptions.

`model` sets the full path or direct download URL for the model.

`lang` is optional. If you do not set `model`, the plugin downloads a default small model for this language, if one exists.

## Docker

Use this plugin together with [ovos-stt-http-server](https://github.com/OpenVoiceOS/ovos-stt-http-server).

```bash
docker run -p 8080:8080 ghcr.io/openvoiceos/vosk-stt-http-server:master
```
