Je voulais utiliser une bibliothèque de reconnaissance vocale open source sur mon Mac, mais après de nombreuses recherches, je ne pouvais même pas conclure si je pouvais. Requirement environments according to ESPnet official documents
Supported Linux distributions and other requirements
We support the following Linux distributions with CI. If you want to build your own Linux by yourself, please also check our CI configurations. to prepare the appropriate environments
ubuntu18
ubuntu16
centos7
debian9
(Dans la documentation, seul Linux semble fonctionner, mais j'ai pu l'implémenter sur macOS) Voici un résumé de mes propres méthodes et problèmes qui se sont posés.
** macOS Calatina 10.15.4 ** (actuellement la dernière version de 2020.4) Anaconda3(Python3.7.3)
https://brew.sh/index_ja
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
Selon la documentation, gcc 4.9+ pour PyTorch 1.0.0+ est requis
warp-transducer.done: espnet.done
rm -rf warp-transducer
git clone https://github.com/HawkAaron/warp-transducer.git
# Note: Requires gcc>=5.0 to build extensions with pytorch>=1.0
Si vous vous référez au makefile d'ESPnet, ** gcc> = 5.0 ** est requis.
$ brew install gcc
$ ln -s /usr/local/bin/gcc-9 /usr/local/bin/gcc
$ ln -s /usr/local/bin/g++-9 /usr/local/bin/g++
$ gcc --version
gcc-9 (Homebrew GCC 9.3.0_1) 9.3.0
Copyright (C) 2019 Free Software Foundation, Inc.
Téléchargez et installez la version macOS depuis https://cmake.org/download/
$ conda install -c conda-forge sox
$ conda install -c conda-forge ffmpeg
$ brew install flac
$ brew install automake
Téléchargement depuis http://ftp.gnu.org/gnu/autoconf/.
$ wget http://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.xz
$ tar xvfz autoconf-latest.tar.xz
$ cd autoconf-latest
$ ./configure --prefix=/usr #Si vous ne pouvez pas obtenir l'autorisation ici, préfixez~Veuillez dans ce qui suit.
$ make
$ make install
$ git clone https://github.com/kaldi-asr/kaldi
$ cd kaldi/tools
$ ./extras/install_openblas.sh #openBLAS installation
$ ./extras/check_dependencies.sh
Après avoir implémenté toutes les dépendances
$ make -j <Le nombre de fils> #C'est inhabituellement lent ici, alors dépêchez-vous et utilisez tous les cœurs.
compiler sans cuda
$ cd ../src
$ ./configure --mkl-root=/opt/intel/compilers_and_libraries_2020/mac/mkl --use-cuda=no
$ make -j clean depend; make -j <NUM-CPU>
$ git clone https://github.com/espnet/espnet
$ cd espnet/tools
Si le clang fourni avec Xcode est déjà installé, clang sera appelé même si vous appuyez sur la commande gcc. La compilation avec clang pose le problème de
clang: error: option non prise en charge'-fopenmp'` ``, vous devez donc définir les variables du compilateur dans gcc avant de faire make.
$ export CC=gcc
$ export CXX=g++
$ make KALDI=<PATH_TO_KALDI> #OPTIONS
OPTIONS:
CUPY_VERSION='' #CPU-Version cupy vide à installer uniquement.
PYTHON=/opt/anaconda3/bin/python3.7 #Veuillez spécifier PYTHON s'il y a un bogue dans miniconda.
TH_VERSION=1.2.0 #warp pour macOS-Version 1 avec perte CTC intégrée en raison du manque de package ctc.2.Nécessite 0 pytroch ou plus.
INFO: library availableness check start.
INFO: # libraries to be checked = 7
INFO: --> espnet is installed.
INFO: --> kaldiio is installed.
INFO: --> matplotlib is installed.
INFO: --> torch is installed.
INFO: --> chainer is installed.
INFO: --> chainer_ctc is installed.
WARNING: --> warprnnt_pytorch is not installed.
INFO: library availableness check done.
INFO: 6 / 7 libraries are correctly installed.
INFO: please try to setup again and then re-run this script.
make: *** [check_install] Error 1
Il semble que warprnnt_pytorch n'ait pas besoin d'être une plate-forme uniquement CPU, donc c'est complet.
$cd espnet/egs/csj/asr1;bash ../../../utils/recog_wav.sh --models csj.transformer.v1 <fichier wav>
Voici le modèle csj.transformer avec les résultats asr japonais
stage 0: Data preparation
stage 1: Feature Generation
steps/make_fbank_pitch.sh --cmd run.pl --nj 1 --write_utt2num_frames true decode/osa/data decode/osa/log decode/osa/fbank
steps/make_fbank_pitch.sh: moving decode/osa/data/feats.scp to decode/osa/data/.backup
utils/validate_data_dir.sh: Successfully validated data-directory decode/osa/data
steps/make_fbank_pitch.sh: [info]: no segments file exists: assuming wav.scp indexed by utterance.
steps/make_fbank_pitch.sh: Succeeded creating filterbank and pitch features for data
/Users/soshiyuu/signal/espnet/egs/csj/asr1/../../../utils/dump.sh --cmd run.pl --nj 1 --do_delta false decode/osa/data/feats.scp decode/download/csj.transformer.v1/data/train_nodup_sp/cmvn.ark decode/osa/log decode/osa/dump
stage 2: Json Data Preparation
/Users/soshiyuu/signal/espnet/egs/csj/asr1/../../../utils/data2json.sh --feat decode/osa/dump/feats.scp decode/osa/data decode/osa/dict
/Users/soshiyuu/signal/espnet/egs/csj/asr1/../../../utils/feat_to_shape.sh --cmd run.pl --nj 1 --filetype --preprocess-conf --verbose 0 decode/osa/dump/feats.scp decode/osa/data/tmp-EPng1/input_1/shape.scp
sym2int.pl: replacing X with 1
** Replaced 1 instances of OOVs with 1
stage 3: Decoding
Recognized text:Eh bien, que diriez-vous du lundi matin, n'est-ce pas gratuit?