mirror of
https://github.com/OpenVoiceOS/OpenVoiceOS
synced 2025-06-05 22:19:21 +02:00
Get buildroot-external tree to reflect 2022.02.1
- Changes to the raspberypi board folder/structure - Bump python related poackages and fixes to Python3.10 - Bump KF5 framewerk packages to 5.91 - Bump qtwebengine to 5.15.8 - Bump/Add/Fix all OVOS related packages - Fixes all over the OpenVoiceOS structure for 2022.02.1
This commit is contained in:
@ -0,0 +1,103 @@
|
||||
import os
|
||||
import sys
|
||||
|
||||
from .vosk_cffi import ffi as _ffi
|
||||
|
||||
def open_dll():
|
||||
dlldir = os.path.abspath(os.path.dirname(__file__))
|
||||
if sys.platform == 'win32':
|
||||
# We want to load dependencies too
|
||||
os.environ["PATH"] = dlldir + os.pathsep + os.environ['PATH']
|
||||
if hasattr(os, 'add_dll_directory'):
|
||||
os.add_dll_directory(dlldir)
|
||||
return _ffi.dlopen(os.path.join(dlldir, "libvosk.dll"))
|
||||
elif sys.platform == 'linux':
|
||||
return _ffi.dlopen(os.path.join(dlldir, "libvosk.so"))
|
||||
elif sys.platform == 'darwin':
|
||||
return _ffi.dlopen(os.path.join(dlldir, "libvosk.dyld"))
|
||||
else:
|
||||
raise TypeError("Unsupported platform")
|
||||
|
||||
_c = open_dll()
|
||||
|
||||
class Model(object):
|
||||
|
||||
def __init__(self, model_path):
|
||||
self._handle = _c.vosk_model_new(model_path.encode('utf-8'))
|
||||
|
||||
if self._handle == _ffi.NULL:
|
||||
raise Exception("Failed to create a model")
|
||||
|
||||
def __del__(self):
|
||||
_c.vosk_model_free(self._handle)
|
||||
|
||||
def vosk_model_find_word(self, word):
|
||||
return _c.vosk_model_find_word(self._handle, word.encode('utf-8'))
|
||||
|
||||
class SpkModel(object):
|
||||
|
||||
def __init__(self, model_path):
|
||||
self._handle = _c.vosk_spk_model_new(model_path.encode('utf-8'))
|
||||
|
||||
if self._handle == _ffi.NULL:
|
||||
raise Exception("Failed to create a speaker model")
|
||||
|
||||
def __del__(self):
|
||||
_c.vosk_spk_model_free(self._handle)
|
||||
|
||||
class KaldiRecognizer(object):
|
||||
|
||||
def __init__(self, *args):
|
||||
if len(args) == 2:
|
||||
self._handle = _c.vosk_recognizer_new(args[0]._handle, args[1])
|
||||
elif len(args) == 3 and type(args[2]) is SpkModel:
|
||||
self._handle = _c.vosk_recognizer_new_spk(args[0]._handle, args[1], args[2]._handle)
|
||||
elif len(args) == 3 and type(args[2]) is str:
|
||||
self._handle = _c.vosk_recognizer_new_grm(args[0]._handle, args[1], args[2].encode('utf-8'))
|
||||
else:
|
||||
raise TypeError("Unknown arguments")
|
||||
|
||||
if self._handle == _ffi.NULL:
|
||||
raise Exception("Failed to create a recognizer")
|
||||
|
||||
def __del__(self):
|
||||
_c.vosk_recognizer_free(self._handle)
|
||||
|
||||
def SetMaxAlternatives(self, max_alternatives):
|
||||
_c.vosk_recognizer_set_max_alternatives(self._handle, max_alternatives)
|
||||
|
||||
def SetWords(self, enable_words):
|
||||
_c.vosk_recognizer_set_words(self._handle, 1 if enable_words else 0)
|
||||
|
||||
def SetSpkModel(self, spk_model):
|
||||
_c.vosk_recognizer_set_spk_model(self._handle, spk_model._handle)
|
||||
|
||||
def AcceptWaveform(self, data):
|
||||
res = _c.vosk_recognizer_accept_waveform(self._handle, data, len(data))
|
||||
if res < 0:
|
||||
raise Exception("Failed to process waveform")
|
||||
return res
|
||||
|
||||
def Result(self):
|
||||
return _ffi.string(_c.vosk_recognizer_result(self._handle)).decode('utf-8')
|
||||
|
||||
def PartialResult(self):
|
||||
return _ffi.string(_c.vosk_recognizer_partial_result(self._handle)).decode('utf-8')
|
||||
|
||||
def FinalResult(self):
|
||||
return _ffi.string(_c.vosk_recognizer_final_result(self._handle)).decode('utf-8')
|
||||
|
||||
def Reset(self):
|
||||
return _c.vosk_recognizer_reset(self._handle)
|
||||
|
||||
|
||||
def SetLogLevel(level):
|
||||
return _c.vosk_set_log_level(level)
|
||||
|
||||
|
||||
def GpuInit():
|
||||
_c.vosk_gpu_init()
|
||||
|
||||
|
||||
def GpuThreadInit():
|
||||
_c.vosk_gpu_thread_init()
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,10 @@
|
||||
# auto-generated file
|
||||
import _cffi_backend
|
||||
|
||||
ffi = _cffi_backend.FFI('vosk.vosk_cffi',
|
||||
_version = 0x2601,
|
||||
_types = b'\x00\x00\x04\x0D\x00\x00\x43\x03\x00\x00\x00\x0F\x00\x00\x15\x0D\x00\x00\x40\x03\x00\x00\x0D\x01\x00\x00\x00\x0F\x00\x00\x15\x0D\x00\x00\x04\x11\x00\x00\x0D\x01\x00\x00\x42\x03\x00\x00\x00\x0F\x00\x00\x15\x0D\x00\x00\x04\x11\x00\x00\x0D\x01\x00\x00\x01\x11\x00\x00\x00\x0F\x00\x00\x0A\x0D\x00\x00\x01\x11\x00\x00\x00\x0F\x00\x00\x01\x0D\x00\x00\x41\x03\x00\x00\x00\x0F\x00\x00\x1E\x0D\x00\x00\x04\x11\x00\x00\x01\x11\x00\x00\x00\x0F\x00\x00\x1E\x0D\x00\x00\x15\x11\x00\x00\x01\x11\x00\x00\x07\x01\x00\x00\x00\x0F\x00\x00\x1E\x0D\x00\x00\x15\x11\x00\x00\x05\x03\x00\x00\x07\x01\x00\x00\x00\x0F\x00\x00\x1E\x0D\x00\x00\x15\x11\x00\x00\x44\x03\x00\x00\x07\x01\x00\x00\x00\x0F\x00\x00\x45\x0D\x00\x00\x04\x11\x00\x00\x00\x0F\x00\x00\x45\x0D\x00\x00\x15\x11\x00\x00\x00\x0F\x00\x00\x45\x0D\x00\x00\x15\x11\x00\x00\x0A\x11\x00\x00\x00\x0F\x00\x00\x45\x0D\x00\x00\x15\x11\x00\x00\x07\x01\x00\x00\x00\x0F\x00\x00\x45\x0D\x00\x00\x0A\x11\x00\x00\x00\x0F\x00\x00\x45\x0D\x00\x00\x07\x01\x00\x00\x00\x0F\x00\x00\x45\x0D\x00\x00\x00\x0F\x00\x00\x00\x09\x00\x00\x01\x09\x00\x00\x02\x09\x00\x00\x02\x01\x00\x00\x05\x01\x00\x00\x00\x01',
|
||||
_globals = (b'\x00\x00\x3E\x23vosk_gpu_init',0,b'\x00\x00\x3E\x23vosk_gpu_thread_init',0,b'\x00\x00\x17\x23vosk_model_find_word',0,b'\x00\x00\x2A\x23vosk_model_free',0,b'\x00\x00\x00\x23vosk_model_new',0,b'\x00\x00\x1B\x23vosk_recognizer_accept_waveform',0,b'\x00\x00\x20\x23vosk_recognizer_accept_waveform_f',0,b'\x00\x00\x25\x23vosk_recognizer_accept_waveform_s',0,b'\x00\x00\x14\x23vosk_recognizer_final_result',0,b'\x00\x00\x2D\x23vosk_recognizer_free',0,b'\x00\x00\x03\x23vosk_recognizer_new',0,b'\x00\x00\x0C\x23vosk_recognizer_new_grm',0,b'\x00\x00\x07\x23vosk_recognizer_new_spk',0,b'\x00\x00\x14\x23vosk_recognizer_partial_result',0,b'\x00\x00\x2D\x23vosk_recognizer_reset',0,b'\x00\x00\x14\x23vosk_recognizer_result',0,b'\x00\x00\x34\x23vosk_recognizer_set_max_alternatives',0,b'\x00\x00\x30\x23vosk_recognizer_set_spk_model',0,b'\x00\x00\x34\x23vosk_recognizer_set_words',0,b'\x00\x00\x3B\x23vosk_set_log_level',0,b'\x00\x00\x38\x23vosk_spk_model_free',0,b'\x00\x00\x11\x23vosk_spk_model_new',0),
|
||||
_struct_unions = ((b'\x00\x00\x00\x40\x00\x00\x00\x10VoskModel',),(b'\x00\x00\x00\x41\x00\x00\x00\x10VoskRecognizer',),(b'\x00\x00\x00\x42\x00\x00\x00\x10VoskSpkModel',)),
|
||||
_typenames = (b'\x00\x00\x00\x40VoskModel',b'\x00\x00\x00\x41VoskRecognizer',b'\x00\x00\x00\x42VoskSpkModel'),
|
||||
)
|
Binary file not shown.
Reference in New Issue
Block a user