diff options
author | amanarora_09 <aman.arora9848@gmail.com> | 2022-07-22 15:58:23 +0200 |
---|---|---|
committer | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2022-07-28 13:58:18 +0000 |
commit | eda84d25d819824d641cf89af1e4d61a5e946744 (patch) | |
tree | 38f4b7c34a5b91257518bcbcdc6b96d24f0641b2 /meta-offline-voice-agent/recipes-python/python3-vosk | |
parent | f206eab5753bd9ee2d5b1126c6ec5a18e75cac89 (diff) |
meta-offline-voice-agent: Enable layer for offline voice recognition
- This enables offline voice recognition in AGL
- Can successfully run vosk API and vosk websocket server
Changes:
- Create a new layer: meta-offline-voice-recognition
- Create recipes for the the Vosk library, API, websocket server and model
- Create feature template for the layer (agl-offline-voice-agent)
- Add all required packages to IMAGE_INSTALL
- ptest enable recipe python3-vosk-api
- Few fixes
Bug-AGL: SPEC-4497
Change-Id: Icb290ceee22e2c3a51cbd67f7431701795f1201b
Signed-off-by: amanarora_09 <aman.arora9848@gmail.com>
Diffstat (limited to 'meta-offline-voice-agent/recipes-python/python3-vosk')
3 files changed, 77 insertions, 0 deletions
diff --git a/meta-offline-voice-agent/recipes-python/python3-vosk/python3-vosk-api/0001-Change-library-search-path-to-usr-lib.patch b/meta-offline-voice-agent/recipes-python/python3-vosk/python3-vosk-api/0001-Change-library-search-path-to-usr-lib.patch new file mode 100644 index 00000000..dd4103d9 --- /dev/null +++ b/meta-offline-voice-agent/recipes-python/python3-vosk/python3-vosk-api/0001-Change-library-search-path-to-usr-lib.patch @@ -0,0 +1,26 @@ +From 6bbf9272cb367a06a4e4f3303628075df0b51085 Mon Sep 17 00:00:00 2001 +From: amanarora_09 <aman.arora9848@gmail.com> +Date: Fri, 22 Jul 2022 13:27:07 +0200 +Subject: [PATCH] Change library search path to /usr/lib/ + +Make the standard location known to the python library. + +Signed-off-by: amanarora_09 <aman.arora9848@gmail.com> +--- + python/vosk/__init__.py | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/python/vosk/__init__.py b/python/vosk/__init__.py +index 45e2706..d260c61 100644 +--- a/vosk/__init__.py ++++ b/vosk/__init__.py +@@ -23,7 +23,8 @@ def open_dll(): + 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")) ++ dlldir = os.path.abspath("/usr/lib/") ++ return _ffi.dlopen(os.path.join(dlldir, "libvosk.so.0")) + elif sys.platform == 'darwin': + return _ffi.dlopen(os.path.join(dlldir, "libvosk.dyld")) + else: diff --git a/meta-offline-voice-agent/recipes-python/python3-vosk/python3-vosk-api/run-ptest b/meta-offline-voice-agent/recipes-python/python3-vosk/python3-vosk-api/run-ptest new file mode 100644 index 00000000..567af9d7 --- /dev/null +++ b/meta-offline-voice-agent/recipes-python/python3-vosk/python3-vosk-api/run-ptest @@ -0,0 +1,3 @@ +#!/bin/sh +cd tests/ +./test_simple.py test.wav diff --git a/meta-offline-voice-agent/recipes-python/python3-vosk/python3-vosk-api_0.3.42.bb b/meta-offline-voice-agent/recipes-python/python3-vosk/python3-vosk-api_0.3.42.bb new file mode 100644 index 00000000..ba15bd56 --- /dev/null +++ b/meta-offline-voice-agent/recipes-python/python3-vosk/python3-vosk-api_0.3.42.bb @@ -0,0 +1,48 @@ +SUMMARY = "Offline open source speech recognition API based on Kaldi and Vosk" +HOMEPAGE = "https://github.com/alphacep/vosk-api" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://../COPYING;md5=d09bbd7a3746b6052fbd78b26a87396b" + +SRC_URI = "git://github.com/alphacep/vosk-api;protocol=https;branch=master \ + file://0001-Change-library-search-path-to-usr-lib.patch \ + file://run-ptest \ + " + +PV = "0.3.42+git${SRCPV}" +SRCREV = "b1b216d4c87d708935f1601287fe502aa11ee4a9" + +S = "${WORKDIR}/git/python" + +inherit setuptools3 ptest + +DEPENDS += " \ + python3-srt-native \ + python3-tqdm-native \ + python3-requests-native \ + python3-pip-native \ + python3-charset-normalizer-native \ +" + +RDEPENDS:${PN} += " \ + python3-cffi \ + python3-compression \ + python3-core \ + python3-datetime \ + python3-json \ + python3-logging \ + python3-misc \ + python3-multiprocessing \ + python3-netclient \ + python3-requests \ + python3-tqdm \ + python3-srt \ + python3-charset-normalizer \ + python3-sounddevice \ + virtual/vosk-model \ +" + +do_install_ptest () { + install -d ${D}${PTEST_PATH}/tests/ + cp ${S}/example/test_simple.py ${D}${PTEST_PATH}/tests/ + cp ${S}/example/test.wav ${D}${PTEST_PATH}/tests/ +} |