diff options
author | amanarora_09 <aman.arora9848@gmail.com> | 2023-03-28 22:27:17 +0200 |
---|---|---|
committer | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2023-03-30 16:27:26 +0200 |
commit | 490f70d3150cd0f92e89d24472ac81c77b99dbf9 (patch) | |
tree | 3145f36c5bc4bbcdd1e97283993bcfe5858f4a35 | |
parent | 9a991da4d017ff05f291316b6ead7be6bd5ded14 (diff) |
Change-Id: I31ac4adc874a206e6e598ba116523ecc7eb99fc9
Signed-off-by: amanarora_09 <aman.arora9848@gmail.com>
15 files changed, 286 insertions, 15 deletions
diff --git a/meta-offline-voice-agent/dynamic-layers/meta-agl-demo/recipes-demo/flutter-vosk-demo/flutter-vosk-demo_git.bb b/meta-offline-voice-agent/dynamic-layers/meta-agl-demo/recipes-demo/flutter-vosk-demo/flutter-vosk-demo_git.bb new file mode 100644 index 00000000..29721ba6 --- /dev/null +++ b/meta-offline-voice-agent/dynamic-layers/meta-agl-demo/recipes-demo/flutter-vosk-demo/flutter-vosk-demo_git.bb @@ -0,0 +1,33 @@ +SUMMARY = "Flutter VOSK Demo" +DESCRIPTION = "A Flutter based Offline Speech Recognition Demo Application using the VOSK API." + +HOMEPAGE = "https://github.com/amanarora9848/voicerecognizer-gst-grpc.git" + +BUGTRACKER = "https://github.com/amanarora9848/voicerecognizer-gst-grpc.git" + +SECTION = "graphics" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=13e8863a069f2c314d9251336e4afcbf" + + +SRC_URI = "git://github.com/amanarora9848/voicerecognizer-gst-grpc.git;protocol=https;branch=master" + +SRCREV = "${AUTOREV}" +S = "${WORKDIR}/git/app" + +inherit agl-app flutter-app + +# flutter-app +############# +PUBSPEC_APPNAME = "flutter_vosk_demo" +FLUTTER_APPLICATION_INSTALL_PREFIX = "/flutter" +FLUTTER_BUILD_ARGS = "bundle -v" + +# agl-app +######### +AGL_APP_TEMPLATE = "agl-app-flutter" +AGL_APP_ID = "flutter_vosk_demo" +AGL_APP_NAME = "VOSK-DEMO" + +RDEPENDS:${PN} = "vosk-grpc-custom-server" diff --git a/meta-offline-voice-agent/recipes-python/python3-vosk-websocket-server/python3-vosk-websocket-server_git.bb b/meta-offline-voice-agent/recipes-python/python3-vosk-websocket-server/python3-vosk-websocket-server_git.bb index 1a77f7d2..f3c594b2 100644 --- a/meta-offline-voice-agent/recipes-python/python3-vosk-websocket-server/python3-vosk-websocket-server_git.bb +++ b/meta-offline-voice-agent/recipes-python/python3-vosk-websocket-server/python3-vosk-websocket-server_git.bb @@ -11,13 +11,6 @@ SRCREV = "70f3d5321a40f2f5dffe9c833bc1fac4b3b451e7" S = "${WORKDIR}/git" -RDEPENDS:${PN} += " \ - vosk \ - python3-vosk-api \ - python3-websockets \ - virtual/vosk-model \ -" - do_configure () { : } @@ -31,3 +24,10 @@ do_install () { cp ${S}/websocket/asr_server.py ${D}${bindir}/vosk-websocket-python.py chmod a+x ${D}${bindir}/vosk-websocket-python.py } + +RDEPENDS:${PN} += " \ + vosk \ + python3-vosk-api \ + python3-websockets \ + virtual/vosk-model \ +"
\ No newline at end of file diff --git a/meta-offline-voice-agent/recipes-python/python3-wavio/python3-wavio_0.0.4.bb b/meta-offline-voice-agent/recipes-python/python3-wavio/python3-wavio_0.0.4.bb new file mode 100644 index 00000000..6fbb22c7 --- /dev/null +++ b/meta-offline-voice-agent/recipes-python/python3-wavio/python3-wavio_0.0.4.bb @@ -0,0 +1,19 @@ +SUMMARY = "A Python module for reading and writing WAV files using numpy arrays." +HOMEPAGE = "https://github.com/WarrenWeckesser/wavio" + +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://${WORKDIR}/git/README.rst;beginline=48;endline=48;md5=bc752f76db0a3e24c17afcc8dda3d553" +# License listed in README.rst at https://github.com/WarrenWeckesser/wavio + +SRC_URI = "git://github.com/WarrenWeckesser/wavio;protocol=https;branch=master" + +PV = "0.0.4+git${SRCPV}" +SRCREV = "54699acdde2cb4f68fbe3dc5847a74ab796662e1" + +S = "${WORKDIR}/git" + +inherit setuptools3 + +DEPENDS += "python3-numpy" + +RDEPENDS:${PN} += "python3-audio python3-core python3-numpy" diff --git a/meta-offline-voice-agent/recipes-python/vosk-grpc-custom-server/vosk-grpc-custom-server_git.bb b/meta-offline-voice-agent/recipes-python/vosk-grpc-custom-server/vosk-grpc-custom-server_git.bb new file mode 100644 index 00000000..76580ac6 --- /dev/null +++ b/meta-offline-voice-agent/recipes-python/vosk-grpc-custom-server/vosk-grpc-custom-server_git.bb @@ -0,0 +1,41 @@ +DESCRIPTION = "WebSocket, gRPC and WebRTC speech recognition server based on Vosk and Kaldi libraries" +SUMMARY = "This is a server for highly accurate offline speech recognition using Kaldi and Vosk-API." +HOMEPAGE = "https://github.com/alphacep/vosk-server" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://../LICENSE;md5=13e8863a069f2c314d9251336e4afcbf" + +SRC_URI = "git://github.com/amanarora9848/voicerecognizer-gst-grpc;protocol=https;branch=master" + +PV = "1.0+git${SRCPV}" +SRCREV = "d28da4cd89a5dfff823f1358816d0ff4791f8d28" + +S = "${WORKDIR}/git/python-server" + +RDEPENDS:${PN} += " \ + vosk \ + python3-vosk-api \ + python3-grpcio \ + python3-protobuf \ + virtual/vosk-model \ + python3-pycairo \ + python3-pygobject \ +" + +do_configure () { + : +} + +do_compile () { + : +} + +do_install () { + install -d ${D}${libdir}/vosk-grpc-custom-server + cp ${S}/record_server_grpc.py ${D}${libdir}/vosk-grpc-custom-server/ + cp ${S}/recognize_pb2_grpc.py ${D}${libdir}/vosk-grpc-custom-server/ + cp ${S}/recognize.proto ${D}${libdir}/vosk-grpc-custom-server/ + cp ${S}/recognize_pb2.py ${D}${libdir}/vosk-grpc-custom-server/ + chmod a+x ${D}${libdir}/vosk-grpc-custom-server/record_server_grpc.py +} + +FILES:${PN} += " /usr/lib/vosk-grpc-custom-server "
\ No newline at end of file diff --git a/meta-offline-voice-agent/recipes-python/vosk-server-demo-qml/vosk-server-demo-qml_git.bb b/meta-offline-voice-agent/recipes-python/vosk-server-demo-qml/vosk-server-demo-qml_git.bb new file mode 100644 index 00000000..db32719d --- /dev/null +++ b/meta-offline-voice-agent/recipes-python/vosk-server-demo-qml/vosk-server-demo-qml_git.bb @@ -0,0 +1,41 @@ +DESCRIPTION = "Currently, only for testing vosk websocket server." +SUMMARY = "A simple demo consisting of a websocket PyQt client and UI made using QML." +HOMEPAGE = "https://github.com/amanarora9848/vosk-server-py-qt-demo" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b21e7c146caa10030fea1d5525982206" + +SRC_URI = "git://github.com/amanarora9848/vosk-server-py-qt-demo;protocol=https;branch=main" + +PV = "1.0+git${SRCPV}" +SRCREV = "877c4b19411a42c35bbd345004564449a24304d0" + +S = "${WORKDIR}/git" + +RDEPENDS:${PN} += " \ + python3-pyqt5 \ + python3-wavio \ + python3-websockets \ + python3-sounddevice \ + wayland \ +" + +do_configure () { + : +} + +do_compile () { + : +} + +do_install () { + install -d ${D}${libdir}/vosk-server-demo-qml-pyqt + cp ${S}/main.py ${D}${libdir}/vosk-server-demo-qml-pyqt/ + cp ${S}/main.pyproject ${D}${libdir}/vosk-server-demo-qml-pyqt/ + cp ${S}/main.pyproject.user ${D}${libdir}/vosk-server-demo-qml-pyqt/ + cp ${S}/record_voice_send.py ${D}${libdir}/vosk-server-demo-qml-pyqt/ + cp ${S}/sendwav.py ${D}${libdir}/vosk-server-demo-qml-pyqt/ + cp ${S}/voiceRecognition.qml ${D}${libdir}/vosk-server-demo-qml-pyqt/ + chmod a+x ${D}${libdir}/vosk-server-demo-qml-pyqt/main.py +} + +FILES:${PN} += " /usr/lib/vosk-server-demo-qml-pyqt " diff --git a/meta-offline-voice-agent/recipes-vosk/vosk-kaldi/vosk-kaldi_git.bb b/meta-offline-voice-agent/recipes-vosk/vosk-kaldi/vosk-kaldi_git.bb index 45cf71ff..8ac72d74 100644 --- a/meta-offline-voice-agent/recipes-vosk/vosk-kaldi/vosk-kaldi_git.bb +++ b/meta-offline-voice-agent/recipes-vosk/vosk-kaldi/vosk-kaldi_git.bb @@ -9,7 +9,8 @@ SRC_URI = "git://github.com/alphacep/kaldi.git;protocol=https;branch=vosk \ " PV = "1.0+git${SRCPV}" -SRCREV = "76cd51d44c0a61e3905c35cadb2ec5f54f3e42d1" +#SRCREV = "76cd51d44c0a61e3905c35cadb2ec5f54f3e42d1" +SRCREV = "${AUTOREV}" S = "${WORKDIR}/git/src" diff --git a/meta-offline-voice-agent/recipes-vosk/vosk-model-small-de/vosk-model-small-de_0.15.bb b/meta-offline-voice-agent/recipes-vosk/vosk-model-small-de/vosk-model-small-de_0.15.bb new file mode 100644 index 00000000..c65d05bc --- /dev/null +++ b/meta-offline-voice-agent/recipes-vosk/vosk-model-small-de/vosk-model-small-de_0.15.bb @@ -0,0 +1,23 @@ +SUMMARY = "Lightweight wideband model 'de'" +HOMEPAGE = "https://alphacephei.com/vosk/" +LICENSE = "Apache-2.0" +# LIC_URL = "${COMMON_LICENSE_DIR}/Apache-2.0" +LIC_FILES_CHKSUM = "file://${WORKDIR}/models.md;beginline=64;endline=64;md5=b4197dee31a6934aaf221359839c12e1" + +SRC_URI = " \ + https://alphacephei.com/vosk/models/vosk-model-small-de-0.15.zip;name=model \ + https://raw.githubusercontent.com/alphacep/vosk-space/master/models.md;name=license \ + " +# License listed on https://alphacephei.com/vosk/models + +SRC_URI[model.sha256sum] = "b7e53c90b1f0a38456f4cd62b366ecd58803cd97cd42b06438e2c131713d5e43" +SRC_URI[license.sha256sum] = "3fbe0ee1fa914cb4b1cea2f2d7201a155884727cd0afbb51a267b66a73cb3444" + +do_install() { + install -d ${D}/usr/share/vosk + cp -R ${WORKDIR}/vosk-model-small-de-0.15/ ${D}/usr/share/vosk/ +} + +FILES:${PN} += " /usr/share/vosk /usr/share/vosk/vosk-model-small-de-0.15 " + +# RPROVIDES:${PN} += "virtual/vosk-model" diff --git a/meta-offline-voice-agent/recipes-vosk/vosk-model-small-en-in/vosk-model-small-en-in_0.4.bb b/meta-offline-voice-agent/recipes-vosk/vosk-model-small-en-in/vosk-model-small-en-in_0.4.bb new file mode 100644 index 00000000..5a886e0a --- /dev/null +++ b/meta-offline-voice-agent/recipes-vosk/vosk-model-small-en-in/vosk-model-small-en-in_0.4.bb @@ -0,0 +1,23 @@ +SUMMARY = "Lightweight Indian English model for mobile applications" +HOMEPAGE = "https://alphacephei.com/vosk/" +LICENSE = "Apache-2.0" +# LIC_URL = "${COMMON_LICENSE_DIR}/Apache-2.0" +LIC_FILES_CHKSUM = "file://${WORKDIR}/models.md;beginline=44;endline=44;md5=a9131c3e00accfcddf94bff9e8b43018" + +SRC_URI = " \ + https://alphacephei.com/vosk/models/vosk-model-small-en-in-0.4.zip;name=model \ + https://raw.githubusercontent.com/alphacep/vosk-space/master/models.md;name=license \ + " +# License listed on https://alphacephei.com/vosk/models + +SRC_URI[model.sha256sum] = "20663dcac4d5cb783a579c54d98339344a688e4ec6e1b4a4b059fd1235454cc7" +SRC_URI[license.sha256sum] = "3fbe0ee1fa914cb4b1cea2f2d7201a155884727cd0afbb51a267b66a73cb3444" + +do_install() { + install -d ${D}/usr/share/vosk + cp -R ${WORKDIR}/vosk-model-small-en-in-0.4/ ${D}/usr/share/vosk/ +} + +FILES:${PN} += " /usr/share/vosk /usr/share/vosk/vosk-model-small-en-in-0.4 " + +# RPROVIDES:${PN} += "virtual/vosk-model" diff --git a/meta-offline-voice-agent/recipes-vosk/vosk-model-small-en-us/vosk-model-small-en-us_0.15.bb b/meta-offline-voice-agent/recipes-vosk/vosk-model-small-en-us/vosk-model-small-en-us_0.15.bb index 3a408a65..b18f8801 100644 --- a/meta-offline-voice-agent/recipes-vosk/vosk-model-small-en-us/vosk-model-small-en-us_0.15.bb +++ b/meta-offline-voice-agent/recipes-vosk/vosk-model-small-en-us/vosk-model-small-en-us_0.15.bb @@ -11,7 +11,8 @@ SRC_URI = " \ # License listed on https://alphacephei.com/vosk/models SRC_URI[model.sha256sum] = "30f26242c4eb449f948e42cb302dd7a686cb29a3423a8367f99ff41780942498" -SRC_URI[license.sha256sum] = "3fbe0ee1fa914cb4b1cea2f2d7201a155884727cd0afbb51a267b66a73cb3444" +SRC_URI[license.sha256sum] = "69e091d43baae61f93c586d939ff7c1997415964621614add8aed06590193f47" +# SRC_URI[license.sha256sum] = "3fbe0ee1fa914cb4b1cea2f2d7201a155884727cd0afbb51a267b66a73cb3444" (previously) do_install() { install -d ${D}/usr/share/vosk diff --git a/meta-offline-voice-agent/recipes-vosk/vosk-model-small-es/vosk-model-small-es_0.22.bb b/meta-offline-voice-agent/recipes-vosk/vosk-model-small-es/vosk-model-small-es_0.22.bb new file mode 100644 index 00000000..9798d9ab --- /dev/null +++ b/meta-offline-voice-agent/recipes-vosk/vosk-model-small-es/vosk-model-small-es_0.22.bb @@ -0,0 +1,23 @@ +SUMMARY = "Lightweight wideband model 'es'" +HOMEPAGE = "https://alphacephei.com/vosk/" +LICENSE = "Apache-2.0" +# LIC_URL = "${COMMON_LICENSE_DIR}/Apache-2.0" +LIC_FILES_CHKSUM = "file://${WORKDIR}/models.md;beginline=66;endline=66;md5=dafff175a878d17393d30812eac57e87" + +SRC_URI = " \ + https://alphacephei.com/vosk/models/vosk-model-small-es-0.22.zip;name=model \ + https://raw.githubusercontent.com/alphacep/vosk-space/master/models.md;name=license \ + " +# License listed on https://alphacephei.com/vosk/models + +SRC_URI[model.sha256sum] = "97d2b9f062a4d363ad1d71f011cc77e073773d749f1e5cd21a172c8ca28b0a56" +SRC_URI[license.sha256sum] = "3fbe0ee1fa914cb4b1cea2f2d7201a155884727cd0afbb51a267b66a73cb3444" + +do_install() { + install -d ${D}/usr/share/vosk + cp -R ${WORKDIR}/vosk-model-small-es-0.22/ ${D}/usr/share/vosk/ +} + +FILES:${PN} += " /usr/share/vosk /usr/share/vosk/vosk-model-small-es-0.22 " + +# RPROVIDES:${PN} += "virtual/vosk-model" diff --git a/meta-offline-voice-agent/recipes-vosk/vosk-model-small-fr/vosk-model-small-fr_0.22.bb b/meta-offline-voice-agent/recipes-vosk/vosk-model-small-fr/vosk-model-small-fr_0.22.bb new file mode 100644 index 00000000..0157a225 --- /dev/null +++ b/meta-offline-voice-agent/recipes-vosk/vosk-model-small-fr/vosk-model-small-fr_0.22.bb @@ -0,0 +1,23 @@ +SUMMARY = "Lightweight wideband model 'fr'" +HOMEPAGE = "https://alphacephei.com/vosk/" +LICENSE = "Apache-2.0" +# LIC_URL = "${COMMON_LICENSE_DIR}/Apache-2.0" +LIC_FILES_CHKSUM = "file://${WORKDIR}/models.md;beginline=56;endline=56;md5=b49bbab5d6832157cad0e0dbb924a5b2" + +SRC_URI = " \ + https://alphacephei.com/vosk/models/vosk-model-small-fr-0.22.zip;name=model \ + https://raw.githubusercontent.com/alphacep/vosk-space/master/models.md;name=license \ + " +# License listed on https://alphacephei.com/vosk/models + +SRC_URI[model.sha256sum] = "cabf6180e177eb9b3a9a9d43a437bd5e549f3a7d09525e5d69a3fed787be12ad" +SRC_URI[license.sha256sum] = "3fbe0ee1fa914cb4b1cea2f2d7201a155884727cd0afbb51a267b66a73cb3444" + +do_install() { + install -d ${D}/usr/share/vosk + cp -R ${WORKDIR}/vosk-model-small-fr-0.22/ ${D}/usr/share/vosk/ +} + +FILES:${PN} += " /usr/share/vosk /usr/share/vosk/vosk-model-small-fr-0.22 " + +# RPROVIDES:${PN} += "virtual/vosk-model" diff --git a/meta-offline-voice-agent/recipes-vosk/vosk-model-small-it/vosk-model-small-it_0.22.bb b/meta-offline-voice-agent/recipes-vosk/vosk-model-small-it/vosk-model-small-it_0.22.bb new file mode 100644 index 00000000..e7d1c43e --- /dev/null +++ b/meta-offline-voice-agent/recipes-vosk/vosk-model-small-it/vosk-model-small-it_0.22.bb @@ -0,0 +1,23 @@ +SUMMARY = "Lightweight wideband model 'en-us'" +HOMEPAGE = "https://alphacephei.com/vosk/" +LICENSE = "Apache-2.0" +# LIC_URL = "${COMMON_LICENSE_DIR}/Apache-2.0" +LIC_FILES_CHKSUM = "file://${WORKDIR}/models.md;beginline=77;endline=77;md5=5738be531d1fac9b1088702e7d1f9499" + +SRC_URI = " \ + https://alphacephei.com/vosk/models/vosk-model-small-it-0.22.zip;name=model \ + https://raw.githubusercontent.com/alphacep/vosk-space/master/models.md;name=license \ + " +# License listed on https://alphacephei.com/vosk/models + +SRC_URI[model.sha256sum] = "9ec65e75861d1c6c2e457cccd932705340dcdf233f5b239f00733b4de0bf3267" +SRC_URI[license.sha256sum] = "3fbe0ee1fa914cb4b1cea2f2d7201a155884727cd0afbb51a267b66a73cb3444" + +do_install() { + install -d ${D}/usr/share/vosk + cp -R ${WORKDIR}/vosk-model-small-it-0.22/ ${D}/usr/share/vosk/ +} + +FILES:${PN} += " /usr/share/vosk /usr/share/vosk/vosk-model-small-it-0.22 " + +# RPROVIDES:${PN} += "virtual/vosk-model" diff --git a/meta-offline-voice-agent/recipes-vosk/vosk-model-small-ja/vosk-model-small-ja_0.22.bb b/meta-offline-voice-agent/recipes-vosk/vosk-model-small-ja/vosk-model-small-ja_0.22.bb new file mode 100644 index 00000000..dc2292dd --- /dev/null +++ b/meta-offline-voice-agent/recipes-vosk/vosk-model-small-ja/vosk-model-small-ja_0.22.bb @@ -0,0 +1,23 @@ +SUMMARY = "Lightweight wideband model for Japanese" +HOMEPAGE = "https://alphacephei.com/vosk/" +LICENSE = "Apache-2.0" +# LIC_URL = "${COMMON_LICENSE_DIR}/Apache-2.0" +LIC_FILES_CHKSUM = "file://${WORKDIR}/models.md;beginline=105;endline=105;md5=d6585d5b106f271e40f0f6befafc9da9" + +SRC_URI = " \ + https://alphacephei.com/vosk/models/vosk-model-small-ja-0.22.zip;name=model \ + https://raw.githubusercontent.com/alphacep/vosk-space/master/models.md;name=license \ + " +# License listed on https://alphacephei.com/vosk/models + +SRC_URI[model.sha256sum] = "efa092d280153a77615e9e0c7d7283e93e600de3d19d3bec686c57ef19d52eac" +SRC_URI[license.sha256sum] = "3fbe0ee1fa914cb4b1cea2f2d7201a155884727cd0afbb51a267b66a73cb3444" + +do_install() { + install -d ${D}/usr/share/vosk + cp -R ${WORKDIR}/vosk-model-small-ja-0.22/ ${D}/usr/share/vosk/ +} + +FILES:${PN} += " /usr/share/vosk /usr/share/vosk/vosk-model-small-ja-0.22 " + +# RPROVIDES:${PN} += "virtual/vosk-model" diff --git a/meta-offline-voice-agent/recipes-vosk/vosk-server/vosk-server_git.bb b/meta-offline-voice-agent/recipes-vosk/vosk-server/vosk-server_git.bb index 337cee46..b0efcae0 100644 --- a/meta-offline-voice-agent/recipes-vosk/vosk-server/vosk-server_git.bb +++ b/meta-offline-voice-agent/recipes-vosk/vosk-server/vosk-server_git.bb @@ -29,4 +29,4 @@ do_install () { cp websocket-cpp/vosk-websocket-cpp ${D}${bindir} } -RDEPENDS:${PN} += "virtual/vosk-model"
\ No newline at end of file +RDEPENDS:${PN} += "virtual/vosk-model" diff --git a/templates/feature/agl-offline-voice-agent/50_local.conf.inc b/templates/feature/agl-offline-voice-agent/50_local.conf.inc index 581ad978..6253f5f3 100644 --- a/templates/feature/agl-offline-voice-agent/50_local.conf.inc +++ b/templates/feature/agl-offline-voice-agent/50_local.conf.inc @@ -4,11 +4,8 @@ FORTRAN:forcevariable = ",fortran" RUNTIMETARGET:append:pn-gcc-runtime = " libquadmath" # FIXME check if needed and/or submit upstream -BBCLASSEXTEND:pn-python3-charset-normalizer = "native nativesdk" +#BBCLASSEXTEND:pn-python3-charset-normalizer = "native nativesdk" -IMAGE_INSTALL:append = " python3-vosk-api vosk-kaldi vosk vosk-server python3-vosk-websocket-server python3-sounddevice ptest-runner" +IMAGE_INSTALL:append = " python3-vosk-api vosk-kaldi vosk vosk-server python3-vosk-websocket-server python3-sounddevice flutter-vosk-demo" PREFERRED_PROVIDER_virtual/vosk-model ?= "vosk-model-small-en-us" - -DISTRO_FEATURES:append = " ptest" -EXTRA_IMAGE_FEATURES += "ptest-pkgs" |