From eda84d25d819824d641cf89af1e4d61a5e946744 Mon Sep 17 00:00:00 2001 From: amanarora_09 Date: Fri, 22 Jul 2022 15:58:23 +0200 Subject: 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 --- ...001-Change-library-search-path-to-usr-lib.patch | 26 ++++++++++++ .../python3-vosk/python3-vosk-api/run-ptest | 3 ++ .../python3-vosk/python3-vosk-api_0.3.42.bb | 48 ++++++++++++++++++++++ 3 files changed, 77 insertions(+) create mode 100644 meta-offline-voice-agent/recipes-python/python3-vosk/python3-vosk-api/0001-Change-library-search-path-to-usr-lib.patch create mode 100644 meta-offline-voice-agent/recipes-python/python3-vosk/python3-vosk-api/run-ptest create mode 100644 meta-offline-voice-agent/recipes-python/python3-vosk/python3-vosk-api_0.3.42.bb (limited to 'meta-offline-voice-agent/recipes-python/python3-vosk') 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 +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 +--- + 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/ +} -- cgit 1.2.3-korg