aboutsummaryrefslogtreecommitdiff
path: root/audio
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2023-12-23 04:32:07 +0000
committerYuri Victorovich <yuri@FreeBSD.org>2023-12-23 04:32:07 +0000
commite91fa19c86810f4dd8c282c1fccf4005ae709810 (patch)
treeb18282d592287f2e2d40d0668e7680a1d48d1113 /audio
parent059ad35947bb86dc1f4a7a842460929be458c520 (diff)
downloadports-e91fa19c86810f4dd8c282c1fccf4005ae709810.tar.gz
ports-e91fa19c86810f4dd8c282c1fccf4005ae709810.zip
audio/py-vosk: New port: Vosk: Offline open source speech recognition toolkit (Py + App)
Diffstat (limited to 'audio')
-rw-r--r--audio/Makefile1
-rw-r--r--audio/py-vosk/Makefile43
-rw-r--r--audio/py-vosk/distinfo3
-rw-r--r--audio/py-vosk/pkg-descr5
-rw-r--r--audio/py-vosk/pkg-message11
-rw-r--r--audio/py-vosk/pkg-plist23
6 files changed, 86 insertions, 0 deletions
diff --git a/audio/Makefile b/audio/Makefile
index e37afa659ad6..8ed60cdd1d35 100644
--- a/audio/Makefile
+++ b/audio/Makefile
@@ -671,6 +671,7 @@
SUBDIR += py-spotipy
SUBDIR += py-tagpy
SUBDIR += py-torchaudio
+ SUBDIR += py-vosk
SUBDIR += py-wavio
SUBDIR += py-webrtcvad
SUBDIR += py-zita-audiotools
diff --git a/audio/py-vosk/Makefile b/audio/py-vosk/Makefile
new file mode 100644
index 000000000000..e9050e2fceea
--- /dev/null
+++ b/audio/py-vosk/Makefile
@@ -0,0 +1,43 @@
+PORTNAME= vosk
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.3.45-20231214
+CATEGORIES= audio # machine-learning
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Vosk: Offline open source speech recognition toolkit (Py + App)
+WWW= https://alphacephei.com/vosk/
+
+LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/../COPYING
+
+PY_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cffi>=1.0:devel/py-cffi@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}requests>0:www/py-requests@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}srt>0:multimedia/py-srt@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}tqdm>0:misc/py-tqdm@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}websockets>0:devel/py-websockets@${PY_FLAVOR}
+BUILD_DEPENDS= ${PY_DEPENDS}
+RUN_DEPENDS= ${PY_DEPENDS} \
+ vosk-api>0:audio/vosk-api
+
+USES= python
+USE_PYTHON= distutils concurrent # autoplist is broken
+
+USE_GITHUB= yes
+GH_ACCOUNT= alphacep
+GH_PROJECT= vosk-api
+GH_TAGNAME= aba8497
+
+WRKSRC_SUBDIR= python
+
+NO_ARCH= yes
+
+post-patch:
+ @${REINPLACE_CMD} \
+ -e ' \
+ s|elif sys.platform == "linux":|elif sys.platform == "linux" or sys.platform.startswith("freebsd"):|; \
+ s|dlldir = .*|dlldir = "${LOCALBASE}/lib"| \
+ ' \
+ ${WRKSRC}/vosk/__init__.py
+
+.include <bsd.port.mk>
diff --git a/audio/py-vosk/distinfo b/audio/py-vosk/distinfo
new file mode 100644
index 000000000000..249f5640785e
--- /dev/null
+++ b/audio/py-vosk/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1702708668
+SHA256 (alphacep-vosk-api-v0.3.45-20231214-aba8497_GH0.tar.gz) = 347bb5f0ec72c8f07dcd80ca4ebec76946845116f085328e016fd46ad3adce82
+SIZE (alphacep-vosk-api-v0.3.45-20231214-aba8497_GH0.tar.gz) = 660047
diff --git a/audio/py-vosk/pkg-descr b/audio/py-vosk/pkg-descr
new file mode 100644
index 000000000000..1b0d41d856d5
--- /dev/null
+++ b/audio/py-vosk/pkg-descr
@@ -0,0 +1,5 @@
+Vosk is an offline open source speech recognition toolkit. It enables speech
+recognition for 20+ languages and dialects - English, Indian English, German,
+French, Spanish, Portuguese, Chinese, Russian, Turkish, Vietnamese, Italian,
+Dutch, Catalan, Arabic, Greek, Farsi, Filipino, Ukrainian, Kazakh, Swedish,
+Japanese, Esperanto, Hindi, Czech, Polish. More to come.
diff --git a/audio/py-vosk/pkg-message b/audio/py-vosk/pkg-message
new file mode 100644
index 000000000000..f45df23db8a2
--- /dev/null
+++ b/audio/py-vosk/pkg-message
@@ -0,0 +1,11 @@
+[
+{ type: install
+ message: <<EOM
+You installed vosk, an open source speech recognition toolkit.
+
+In order to transcribe the audio file with speech please run this command:
+$ vosk-transcriber -i speech-audio.mp4 -o text-transcription.txt
+
+EOM
+}
+]
diff --git a/audio/py-vosk/pkg-plist b/audio/py-vosk/pkg-plist
new file mode 100644
index 000000000000..aed36c99e31b
--- /dev/null
+++ b/audio/py-vosk/pkg-plist
@@ -0,0 +1,23 @@
+bin/vosk-transcriber
+%%PYTHON_SITELIBDIR%%/vosk-0.3.46-py%%PYTHON_VER%%.egg-info/PKG-INFO
+%%PYTHON_SITELIBDIR%%/vosk-0.3.46-py%%PYTHON_VER%%.egg-info/SOURCES.txt
+%%PYTHON_SITELIBDIR%%/vosk-0.3.46-py%%PYTHON_VER%%.egg-info/dependency_links.txt
+%%PYTHON_SITELIBDIR%%/vosk-0.3.46-py%%PYTHON_VER%%.egg-info/entry_points.txt
+%%PYTHON_SITELIBDIR%%/vosk-0.3.46-py%%PYTHON_VER%%.egg-info/not-zip-safe
+%%PYTHON_SITELIBDIR%%/vosk-0.3.46-py%%PYTHON_VER%%.egg-info/requires.txt
+%%PYTHON_SITELIBDIR%%/vosk-0.3.46-py%%PYTHON_VER%%.egg-info/top_level.txt
+%%PYTHON_SITELIBDIR%%/vosk/__init__.py
+%%PYTHON_SITELIBDIR%%/vosk/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/vosk/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/vosk/__pycache__/vosk_cffi%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/vosk/__pycache__/vosk_cffi%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/vosk/transcriber/__init__.py
+%%PYTHON_SITELIBDIR%%/vosk/transcriber/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/vosk/transcriber/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/vosk/transcriber/__pycache__/cli%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/vosk/transcriber/__pycache__/cli%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/vosk/transcriber/__pycache__/transcriber%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/vosk/transcriber/__pycache__/transcriber%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/vosk/transcriber/cli.py
+%%PYTHON_SITELIBDIR%%/vosk/transcriber/transcriber.py
+%%PYTHON_SITELIBDIR%%/vosk/vosk_cffi.py