New package: vosk-api-0.3.43
This commit is contained in:
parent
f2f6fceb0b
commit
c3112e0bd1
@ -4214,3 +4214,4 @@ libtracecmd.so.1 libtracecmd-3.1.2_1
|
||||
libkshark.so.2 libkshark-2.1.1_1
|
||||
libcpp-hocon.so.0.3.0 cpp-hocon-0.3.0_5
|
||||
libfst.so.25 openfst-1.8.2_1
|
||||
libvosk.so vosk-api-0.3.43_1
|
||||
|
45
srcpkgs/vosk-api/patches/kaldi-lapack.patch
Normal file
45
srcpkgs/vosk-api/patches/kaldi-lapack.patch
Normal file
@ -0,0 +1,45 @@
|
||||
https://github.com/alphacep/kaldi/pull/5
|
||||
From 5f70761ecdf497cf55ca730187ab6ab38589ef0f Mon Sep 17 00:00:00 2001
|
||||
From: John Gebbie <me@johngebbie.com>
|
||||
Date: Sat, 3 Dec 2022 17:59:32 +0000
|
||||
Subject: [PATCH] Add OPENBLAS_NO_F2C math library option
|
||||
|
||||
---
|
||||
src/configure | 10 +++++++---
|
||||
1 file changed, 7 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/configure b/src/configure
|
||||
index ed62daa5017..1d78489d55e 100755
|
||||
--- a/src/configure
|
||||
+++ b/src/configure
|
||||
@@ -834,7 +834,7 @@ auto_lib= # Deduced lib name, used when $MATHLIB is not set.
|
||||
|
||||
# Validate the (optionally) provided MATHLIB value.
|
||||
case $MATHLIB in
|
||||
- ''|ATLAS|CLAPACK|MKL|OPENBLAS|OPENBLAS_CLAPACK) : ;;
|
||||
+ ''|ATLAS|CLAPACK|MKL|OPENBLAS|OPENBLAS_CLAPACK|OPENBLAS_NO_F2C) : ;;
|
||||
*) failure "Unknown --mathlib='${MATHLIB}'. Supported libs: ATLAS CLAPACK MKL OPENBLAS" ;;
|
||||
esac
|
||||
|
||||
@@ -1301,7 +1301,7 @@ or try another math library, e.g. --mathlib=OPENBLAS (Kaldi may be slower)."
|
||||
esac >> kaldi.mk
|
||||
|
||||
echo "Successfully configured for Linux with OpenBLAS from $OPENBLASROOT"
|
||||
- elif [ "$MATHLIB" == "OPENBLAS_CLAPACK" ]; then
|
||||
+ elif [ "$MATHLIB" == "OPENBLAS_CLAPACK" ] || [ "$MATHLIB" == "OPENBLAS_NO_F2C" ]; then
|
||||
if [[ ! $OPENBLASROOT ]]; then
|
||||
# Either the user specified --mathlib=OPENBLAS or we've autodetected the
|
||||
# system where OpenBLAS is the preferred option (the parser for
|
||||
@@ -1345,7 +1345,11 @@ or try another math library, e.g. --mathlib=OPENBLAS (Kaldi may be slower)."
|
||||
OPENBLASINCDIR="/usr/include"
|
||||
fi
|
||||
echo "Your math library seems to be OpenBLAS from $OPENBLASROOT. Configuring appropriately."
|
||||
- OPENBLASLIBS="-L$OPENBLASLIBDIR -l:libopenblas.a -l:libblas.a -l:liblapack.a -l:libf2c.a"
|
||||
+ if [ "$MATHLIB" == "OPENBLAS_CLAPACK" ]; then
|
||||
+ OPENBLASLIBS="-L$OPENBLASLIBDIR -l:libopenblas.a -l:libblas.a -l:liblapack.a -l:libf2c.a"
|
||||
+ else
|
||||
+ OPENBLASLIBS="-L$OPENBLASLIBDIR -l:libopenblas.a -l:libblas.a -l:liblapack.a"
|
||||
+ fi
|
||||
echo "OPENBLASINC = $OPENBLASINCDIR" >> kaldi.mk
|
||||
echo "OPENBLASLIBS = $OPENBLASLIBS" >> kaldi.mk
|
||||
echo >> kaldi.mk
|
1
srcpkgs/vosk-api/patches/kaldi-lapack.patch.args
Normal file
1
srcpkgs/vosk-api/patches/kaldi-lapack.patch.args
Normal file
@ -0,0 +1 @@
|
||||
-Np1 -d kaldi
|
55
srcpkgs/vosk-api/patches/kaldi-to-openblas-0.3.21.patch
Normal file
55
srcpkgs/vosk-api/patches/kaldi-to-openblas-0.3.21.patch
Normal file
@ -0,0 +1,55 @@
|
||||
--- a/src/matrix/cblas-wrappers.h
|
||||
+++ b/src/matrix/cblas-wrappers.h
|
||||
@@ -383,10 +383,10 @@ inline void mul_elements(
|
||||
// add clapack here
|
||||
#if !defined(HAVE_ATLAS)
|
||||
inline void clapack_Xtptri(KaldiBlasInt *num_rows, float *Mdata, KaldiBlasInt *result) {
|
||||
- stptri_(const_cast<char *>("U"), const_cast<char *>("N"), num_rows, Mdata, result);
|
||||
+ stptri_(const_cast<char *>("U"), const_cast<char *>("N"), num_rows, Mdata, result, 1, 1);
|
||||
}
|
||||
inline void clapack_Xtptri(KaldiBlasInt *num_rows, double *Mdata, KaldiBlasInt *result) {
|
||||
- dtptri_(const_cast<char *>("U"), const_cast<char *>("N"), num_rows, Mdata, result);
|
||||
+ dtptri_(const_cast<char *>("U"), const_cast<char *>("N"), num_rows, Mdata, result, 1, 1);
|
||||
}
|
||||
//
|
||||
inline void clapack_Xgetrf2(KaldiBlasInt *num_rows, KaldiBlasInt *num_cols,
|
||||
@@ -420,7 +420,7 @@ inline void clapack_Xgesvd(char *v, char *u, KaldiBlasInt *num_cols,
|
||||
sgesvd_(v, u,
|
||||
num_cols, num_rows, Mdata, stride,
|
||||
sv, Vdata, vstride, Udata, ustride,
|
||||
- p_work, l_work, result);
|
||||
+ p_work, l_work, result, 1, 1);
|
||||
}
|
||||
inline void clapack_Xgesvd(char *v, char *u, KaldiBlasInt *num_cols,
|
||||
KaldiBlasInt *num_rows, double *Mdata, KaldiBlasInt *stride,
|
||||
@@ -430,25 +430,25 @@ inline void clapack_Xgesvd(char *v, char *u, KaldiBlasInt *num_cols,
|
||||
dgesvd_(v, u,
|
||||
num_cols, num_rows, Mdata, stride,
|
||||
sv, Vdata, vstride, Udata, ustride,
|
||||
- p_work, l_work, result);
|
||||
+ p_work, l_work, result, 1, 1);
|
||||
}
|
||||
//
|
||||
void inline clapack_Xsptri(KaldiBlasInt *num_rows, float *Mdata,
|
||||
KaldiBlasInt *ipiv, float *work, KaldiBlasInt *result) {
|
||||
- ssptri_(const_cast<char *>("U"), num_rows, Mdata, ipiv, work, result);
|
||||
+ ssptri_(const_cast<char *>("U"), num_rows, Mdata, ipiv, work, result, 1);
|
||||
}
|
||||
void inline clapack_Xsptri(KaldiBlasInt *num_rows, double *Mdata,
|
||||
KaldiBlasInt *ipiv, double *work, KaldiBlasInt *result) {
|
||||
- dsptri_(const_cast<char *>("U"), num_rows, Mdata, ipiv, work, result);
|
||||
+ dsptri_(const_cast<char *>("U"), num_rows, Mdata, ipiv, work, result, 1);
|
||||
}
|
||||
//
|
||||
void inline clapack_Xsptrf(KaldiBlasInt *num_rows, float *Mdata,
|
||||
KaldiBlasInt *ipiv, KaldiBlasInt *result) {
|
||||
- ssptrf_(const_cast<char *>("U"), num_rows, Mdata, ipiv, result);
|
||||
+ ssptrf_(const_cast<char *>("U"), num_rows, Mdata, ipiv, result, 1);
|
||||
}
|
||||
void inline clapack_Xsptrf(KaldiBlasInt *num_rows, double *Mdata,
|
||||
KaldiBlasInt *ipiv, KaldiBlasInt *result) {
|
||||
- dsptrf_(const_cast<char *>("U"), num_rows, Mdata, ipiv, result);
|
||||
+ dsptrf_(const_cast<char *>("U"), num_rows, Mdata, ipiv, result, 1);
|
||||
}
|
||||
#else
|
||||
inline void clapack_Xgetrf(MatrixIndexT num_rows, MatrixIndexT num_cols,
|
@ -0,0 +1 @@
|
||||
-Np1 -d kaldi
|
168
srcpkgs/vosk-api/patches/kaldi-to-openfst-1.8.2.patch
Normal file
168
srcpkgs/vosk-api/patches/kaldi-to-openfst-1.8.2.patch
Normal file
@ -0,0 +1,168 @@
|
||||
diff --git a/src/base/kaldi-types.h b/src/base/kaldi-types.h
|
||||
index 7ebf4f853..c376604a4 100644
|
||||
--- a/src/base/kaldi-types.h
|
||||
+++ b/src/base/kaldi-types.h
|
||||
@@ -39,24 +39,21 @@ typedef float BaseFloat;
|
||||
// we find in the future lacks stdint.h
|
||||
#include <stdint.h>
|
||||
|
||||
-// for discussion on what to do if you need compile kaldi
|
||||
-// without OpenFST, see the bottom of this this file
|
||||
-#include <fst/types.h>
|
||||
+#include <cstdlib> // for ssize_t.
|
||||
+#include <cstdint> // for ?int*_t.
|
||||
|
||||
-namespace kaldi {
|
||||
- using ::int16;
|
||||
- using ::int32;
|
||||
- using ::int64;
|
||||
- using ::uint16;
|
||||
- using ::uint32;
|
||||
- using ::uint64;
|
||||
- typedef float float32;
|
||||
- typedef double double64;
|
||||
-} // end namespace kaldi
|
||||
+using int8 = int8_t;
|
||||
+using int16 = int16_t;
|
||||
+using int32 = int32_t;
|
||||
+using int64 = int64_t;
|
||||
+
|
||||
+using uint8 = uint8_t;
|
||||
+using uint16 = uint16_t;
|
||||
+using uint32 = uint32_t;
|
||||
+using uint64 = uint64_t;
|
||||
|
||||
// In a theoretical case you decide compile Kaldi without the OpenFST
|
||||
// comment the previous namespace statement and uncomment the following
|
||||
-/*
|
||||
namespace kaldi {
|
||||
typedef int8_t int8;
|
||||
typedef int16_t int16;
|
||||
@@ -70,6 +67,5 @@ namespace kaldi {
|
||||
typedef float float32;
|
||||
typedef double double64;
|
||||
} // end namespace kaldi
|
||||
-*/
|
||||
|
||||
#endif // KALDI_BASE_KALDI_TYPES_H_
|
||||
diff --git a/src/configure b/src/configure
|
||||
index c74d67af8..84286da01 100755
|
||||
--- a/src/configure
|
||||
+++ b/src/configure
|
||||
@@ -929,7 +929,7 @@ fi
|
||||
OPENFST_VER=${OPENFST_VER:-$(grep 'PACKAGE_VERSION' $FSTROOT/Makefile | sed -e 's:.*= ::')}
|
||||
OPENFST_VER_NUM=$(echo $OPENFST_VER | sed 's/\./ /g' | xargs printf "%d%02d%02d")
|
||||
if [ $OPENFST_VER_NUM -lt 10600 ]; then
|
||||
- failure "OpenFst-$OPENFST_VER is not supported. You need OpenFst >= 1.6.0.)"
|
||||
+ :
|
||||
fi
|
||||
echo "OPENFSTINC = $FSTROOT/include" >> kaldi.mk
|
||||
if $static_fst ; then
|
||||
diff --git a/src/fstext/kaldi-fst-io-inl.h b/src/fstext/kaldi-fst-io-inl.h
|
||||
index f7bb3a7c2..01047919c 100644
|
||||
--- a/src/fstext/kaldi-fst-io-inl.h
|
||||
+++ b/src/fstext/kaldi-fst-io-inl.h
|
||||
@@ -99,7 +99,7 @@ void ReadFstKaldi(std::istream &is, bool binary,
|
||||
fst->DeleteStates();
|
||||
string line;
|
||||
size_t nline = 0;
|
||||
- string separator = FLAGS_fst_field_separator + "\r\n";
|
||||
+ string separator = FST_FLAGS_fst_field_separator + "\r\n";
|
||||
while (std::getline(is, line)) {
|
||||
nline++;
|
||||
vector<string> col;
|
||||
diff --git a/src/fstext/lattice-weight.h b/src/fstext/lattice-weight.h
|
||||
index 7637c4d1c..2d82c5647 100644
|
||||
--- a/src/fstext/lattice-weight.h
|
||||
+++ b/src/fstext/lattice-weight.h
|
||||
@@ -396,8 +396,8 @@ inline bool ApproxEqual(const LatticeWeightTpl<FloatType> &w1,
|
||||
template <class FloatType>
|
||||
inline std::ostream &operator <<(std::ostream &strm, const LatticeWeightTpl<FloatType> &w) {
|
||||
LatticeWeightTpl<FloatType>::WriteFloatType(strm, w.Value1());
|
||||
- CHECK(FLAGS_fst_weight_separator.size() == 1);
|
||||
- strm << FLAGS_fst_weight_separator[0]; // comma by default;
|
||||
+ CHECK(FST_FLAGS_fst_weight_separator.size() == 1);
|
||||
+ strm << FST_FLAGS_fst_weight_separator[0]; // comma by default;
|
||||
// may or may not be settable from Kaldi programs.
|
||||
LatticeWeightTpl<FloatType>::WriteFloatType(strm, w.Value2());
|
||||
return strm;
|
||||
@@ -405,9 +405,9 @@ inline std::ostream &operator <<(std::ostream &strm, const LatticeWeightTpl<Floa
|
||||
|
||||
template <class FloatType>
|
||||
inline std::istream &operator >>(std::istream &strm, LatticeWeightTpl<FloatType> &w1) {
|
||||
- CHECK(FLAGS_fst_weight_separator.size() == 1);
|
||||
+ CHECK(FST_FLAGS_fst_weight_separator.size() == 1);
|
||||
// separator defaults to ','
|
||||
- return w1.ReadNoParen(strm, FLAGS_fst_weight_separator[0]);
|
||||
+ return w1.ReadNoParen(strm, FST_FLAGS_fst_weight_separator[0]);
|
||||
}
|
||||
|
||||
|
||||
@@ -728,8 +728,8 @@ inline CompactLatticeWeightTpl<WeightType, IntType> Divide(const CompactLatticeW
|
||||
template <class WeightType, class IntType>
|
||||
inline std::ostream &operator <<(std::ostream &strm, const CompactLatticeWeightTpl<WeightType, IntType> &w) {
|
||||
strm << w.Weight();
|
||||
- CHECK(FLAGS_fst_weight_separator.size() == 1);
|
||||
- strm << FLAGS_fst_weight_separator[0]; // comma by default.
|
||||
+ CHECK(FST_FLAGS_fst_weight_separator.size() == 1);
|
||||
+ strm << FST_FLAGS_fst_weight_separator[0]; // comma by default.
|
||||
for(size_t i = 0; i < w.String().size(); i++) {
|
||||
strm << w.String()[i];
|
||||
if (i+1 < w.String().size())
|
||||
@@ -745,8 +745,8 @@ inline std::istream &operator >>(std::istream &strm, CompactLatticeWeightTpl<Wei
|
||||
if (strm.fail()) {
|
||||
return strm;
|
||||
}
|
||||
- CHECK(FLAGS_fst_weight_separator.size() == 1);
|
||||
- size_t pos = s.find_last_of(FLAGS_fst_weight_separator); // normally ","
|
||||
+ CHECK(FST_FLAGS_fst_weight_separator.size() == 1);
|
||||
+ size_t pos = s.find_last_of(FST_FLAGS_fst_weight_separator); // normally ","
|
||||
if (pos == std::string::npos) {
|
||||
strm.clear(std::ios::badbit);
|
||||
return strm;
|
||||
diff --git a/src/fstext/trivial-factor-weight.h b/src/fstext/trivial-factor-weight.h
|
||||
index d1c679f7f..90bab80db 100644
|
||||
--- a/src/fstext/trivial-factor-weight.h
|
||||
+++ b/src/fstext/trivial-factor-weight.h
|
||||
@@ -390,7 +390,7 @@ class ArcIterator< TrivialFactorWeightFst<A, F> >
|
||||
template <class A, class F>
|
||||
inline void TrivialFactorWeightFst<A, F>::InitStateIterator(
|
||||
StateIteratorData<A> *data) const {
|
||||
- data->base = fst::make_unique<StateIterator<TrivialFactorWeightFst<A, F> > >(*this);
|
||||
+ data->base = std::make_unique<StateIterator<TrivialFactorWeightFst<A, F> > >(*this);
|
||||
}
|
||||
|
||||
|
||||
diff --git a/src/lat/kaldi-lattice.cc b/src/lat/kaldi-lattice.cc
|
||||
index 648e67115..70fde5acf 100644
|
||||
--- a/src/lat/kaldi-lattice.cc
|
||||
+++ b/src/lat/kaldi-lattice.cc
|
||||
@@ -114,7 +114,7 @@ class LatticeReader {
|
||||
CompactLattice *cfst = new CompactLattice();
|
||||
string line;
|
||||
size_t nline = 0;
|
||||
- string separator = FLAGS_fst_field_separator + "\r\n";
|
||||
+ string separator = FST_FLAGS_fst_field_separator + "\r\n";
|
||||
while (std::getline(is, line)) {
|
||||
nline++;
|
||||
vector<string> col;
|
||||
diff --git a/src/lat/lattice-functions-transition-model.cc b/src/lat/lattice-functions-transition-model.cc
|
||||
index 6172610dc..a8cd7b7e2 100644
|
||||
--- a/src/lat/lattice-functions-transition-model.cc
|
||||
+++ b/src/lat/lattice-functions-transition-model.cc
|
||||
@@ -248,13 +248,13 @@ bool TestWordAlignedLattice(const WordAlignLatticeLexiconInfo &lexicon_info,
|
||||
int32 num_paths = 5, seed = Rand(), max_path_length = -1;
|
||||
BaseFloat delta = 0.2; // some lattices have large costs -> use large delta.
|
||||
|
||||
- FLAGS_v = GetVerboseLevel(); // set the OpenFst verbose level to the Kaldi
|
||||
+ FST_FLAGS_v = GetVerboseLevel(); // set the OpenFst verbose level to the Kaldi
|
||||
// verbose level.
|
||||
if (!RandEquivalent(clat, aligned_clat, num_paths, delta, seed, max_path_length)) {
|
||||
KALDI_WARN << "Equivalence test failed during lattice alignment.";
|
||||
return false;
|
||||
}
|
||||
- FLAGS_v = 0;
|
||||
+ FST_FLAGS_v = 0;
|
||||
|
||||
return (num_err == 0);
|
||||
}
|
@ -0,0 +1 @@
|
||||
-Np1 -d kaldi
|
41
srcpkgs/vosk-api/patches/vosk-lapack.patch
Normal file
41
srcpkgs/vosk-api/patches/vosk-lapack.patch
Normal file
@ -0,0 +1,41 @@
|
||||
https://github.com/alphacep/vosk-api/pull/1215
|
||||
From 6c28207334bb1281d98a94f799757fdfa8f6b336 Mon Sep 17 00:00:00 2001
|
||||
From: John Gebbie <me@johngebbie.com>
|
||||
Date: Sat, 3 Dec 2022 17:53:21 +0000
|
||||
Subject: [PATCH] Add OPENBLAS_NO_F2C math library option
|
||||
|
||||
---
|
||||
src/Makefile | 13 +++++++++++++
|
||||
1 file changed, 13 insertions(+)
|
||||
|
||||
diff --git a/src/Makefile b/src/Makefile
|
||||
index cd697b15..97654883 100644
|
||||
--- a/src/Makefile
|
||||
+++ b/src/Makefile
|
||||
@@ -7,6 +7,7 @@ CUDA_ROOT?=/usr/local/cuda
|
||||
USE_SHARED?=0
|
||||
# Math libraries
|
||||
HAVE_OPENBLAS_CLAPACK?=1
|
||||
+HAVE_OPENBLAS_NO_F2C?=0
|
||||
HAVE_MKL?=0
|
||||
HAVE_ACCELERATE=0
|
||||
HAVE_CUDA?=0
|
||||
@@ -80,6 +81,18 @@ ifeq ($(HAVE_OPENBLAS_CLAPACK), 1)
|
||||
endif
|
||||
endif
|
||||
|
||||
+ifeq ($(HAVE_OPENBLAS_NO_F2C), 1)
|
||||
+ CFLAGS += -I$(OPENBLAS_ROOT)/include
|
||||
+ ifeq ($(USE_SHARED), 0)
|
||||
+ LIBS += \
|
||||
+ $(OPENBLAS_ROOT)/lib/libopenblas.a \
|
||||
+ $(OPENBLAS_ROOT)/lib/liblapack.a \
|
||||
+ $(OPENBLAS_ROOT)/lib/libblas.a
|
||||
+ else
|
||||
+ LDFLAGS += -lopenblas -llapack -lblas
|
||||
+ endif
|
||||
+endif
|
||||
+
|
||||
ifeq ($(HAVE_MKL), 1)
|
||||
CFLAGS += -DHAVE_MKL=1 -I$(MKL_ROOT)/include
|
||||
LDFLAGS += -L$(MKL_ROOT)/lib/intel64 -Wl,-rpath=$(MKL_ROOT)/lib/intel64 -lmkl_rt -lmkl_intel_lp64 -lmkl_core -lmkl_sequential
|
73
srcpkgs/vosk-api/template
Normal file
73
srcpkgs/vosk-api/template
Normal file
@ -0,0 +1,73 @@
|
||||
# Template file for 'vosk-api'
|
||||
pkgname=vosk-api
|
||||
version=0.3.43
|
||||
revision=1
|
||||
create_wrksrc=yes
|
||||
build_wrksrc="vosk-api-${version}/src"
|
||||
# Vosk is built with their own vendored version of Kaldi which has no releases
|
||||
# of its own, so the commit must be determined by the date of the vosk release.
|
||||
_kaldi_commit=ecb4b47159501ef0d67888633e65b8fc0c1f79d1
|
||||
build_style=gnu-makefile
|
||||
make_use_env=yes
|
||||
make_build_args="KALDI_ROOT=../../kaldi HAVE_OPENBLAS_NO_F2C=1 HAVE_OPENBLAS_CLAPACK=0"
|
||||
makedepends="blas-devel lapack-devel openblas-devel libgomp-devel openfst-devel"
|
||||
short_desc="Offline speech recognition toolkit"
|
||||
maintainer="John Gebbie <me@johngebbie.com>"
|
||||
license="Apache-2.0"
|
||||
homepage="https://alphacephei.com/vosk"
|
||||
distfiles="https://github.com/alphacep/vosk-api/archive/v${version}/vosk-api-${version}.tar.gz
|
||||
https://github.com/alphacep/kaldi/archive/${_kaldi_commit}.tar.gz
|
||||
https://alphacephei.com/vosk/models/vosk-model-small-en-us-0.15.zip"
|
||||
checksum="50fa82bfbfe3fc5be868237c84ac180eb55da0b65b1803bf022899673afda024
|
||||
39cadd5a351a5513e3e4e1f71ac4b4f018a592a856a55f1d32c159e22e799f64
|
||||
30f26242c4eb449f948e42cb302dd7a686cb29a3423a8367f99ff41780942498"
|
||||
shlib_provides="libvosk.so"
|
||||
patch_args="-Np1 -d ${pkgname}-${version}"
|
||||
|
||||
if [ "$XBPS_TARGET_LIBC" = musl ]; then
|
||||
makedepends+=" libexecinfo-devel"
|
||||
fi
|
||||
|
||||
post_extract() {
|
||||
mv "kaldi-${_kaldi_commit}" kaldi
|
||||
cd "${wrksrc}/kaldi/tools"
|
||||
mkdir -p OpenBLAS/install/lib
|
||||
ln -sf "${XBPS_CROSS_BASE}/usr/include/openblas" OpenBLAS/install/include
|
||||
ln -sf "${XBPS_CROSS_BASE}/usr/lib/"* OpenBLAS/install/lib
|
||||
mkdir -p openfst/include openfst/lib
|
||||
ln -sf "${XBPS_CROSS_BASE}/usr/include/fst" openfst/include
|
||||
ln -sf "${XBPS_CROSS_BASE}/usr/lib/"* openfst/lib
|
||||
}
|
||||
|
||||
pre_build() {
|
||||
cd "${wrksrc}/kaldi/src"
|
||||
./configure ${CROSS_BUILD:+--host="${XBPS_CROSS_TRIPLET}"} --mathlib=OPENBLAS_NO_F2C --shared --use-cuda=no
|
||||
make online2 lm rnnlm
|
||||
}
|
||||
|
||||
do_install() {
|
||||
vinstall vosk_api.h 644 usr/include
|
||||
vinstall libvosk.so 644 usr/lib
|
||||
|
||||
vmkdir usr/share/vosk-models
|
||||
mv "${wrksrc}/vosk-model-small-en-us-0.15" "${DESTDIR}/usr/share/vosk-models/small-en-us"
|
||||
}
|
||||
|
||||
do_check() {
|
||||
cd "${wrksrc}/vosk-api-${version}/c"
|
||||
ln -sf "${wrksrc}/vosk-model-small-en-us-0.15" model
|
||||
ln -sf ../python/example/test.wav .
|
||||
ldflags="-fopenmp -L../src -lvosk -ldl -lpthread -Wl,-rpath,../src"
|
||||
if [ "$XBPS_TARGET_LIBC" = musl ]; then
|
||||
ldflags+=" -lexecinfo"
|
||||
fi
|
||||
make LDFLAGS="$ldflags"
|
||||
./test_vosk | grep -q '"text" : "zero one eight zero three"'
|
||||
}
|
||||
|
||||
vosk-model-small-en-us_package() {
|
||||
short_desc="Lightweight english language model"
|
||||
pkg_install() {
|
||||
vmove usr/share/vosk-models
|
||||
}
|
||||
}
|
1
srcpkgs/vosk-model-small-en-us
Symbolic link
1
srcpkgs/vosk-model-small-en-us
Symbolic link
@ -0,0 +1 @@
|
||||
vosk-api
|
Loading…
x
Reference in New Issue
Block a user