You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
105 lines
3.3 KiB
105 lines
3.3 KiB
SHELL:= /bin/bash
|
|
PYTHON:= python3.8
|
|
|
|
CXX ?= g++
|
|
CC ?= gcc # used for sph2pipe
|
|
# CXX = clang++ # Uncomment these lines...
|
|
# CC = clang # ...to build with Clang.
|
|
|
|
WGET ?= wget --no-check-certificate
|
|
|
|
.PHONY: all clean
|
|
|
|
all: apt.done kenlm.done mfa.done sctk.done
|
|
|
|
|
|
virtualenv.done:
|
|
test -d venv || virtualenv -p $(PYTHON) venv
|
|
touch virtualenv.done
|
|
|
|
clean:
|
|
rm -fr venv
|
|
find -iname "*.pyc" -delete
|
|
rm -rf kenlm
|
|
|
|
|
|
apt.done:
|
|
apt update -y
|
|
apt install -y bc flac jq vim tig tree sox pkg-config libsndfile1 libflac-dev libogg-dev libvorbis-dev libboost-dev swig python3-dev
|
|
echo "check_certificate = off" >> ~/.wgetrc
|
|
touch apt.done
|
|
|
|
|
|
kenlm.done:
|
|
# Ubuntu 16.04 透過 apt 會安裝 boost 1.58.0
|
|
# it seems that boost (1.54.0) requires higher version. After I switched to g++-5 it compiles normally.
|
|
apt install -y --allow-unauthenticated build-essential cmake libboost-system-dev libboost-thread-dev libboost-program-options-dev libboost-test-dev libeigen3-dev zlib1g-dev libbz2-dev liblzma-dev
|
|
apt-get install -y gcc-5 g++-5 && update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 50 && update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 50
|
|
test -d kenlm || $(WGET) -O - https://kheafield.com/code/kenlm.tar.gz | tar xz
|
|
rm -rf kenlm/build && mkdir -p kenlm/build && cd kenlm/build && cmake .. && make -j4 && make install
|
|
cd kenlm && python3 setup.py install
|
|
touch kenlm.done
|
|
|
|
|
|
mfa.done:
|
|
test -d montreal-forced-aligner || $(WGET) https://paddlespeech.bj.bcebos.com/Parakeet/montreal-forced-aligner_linux.tar.gz
|
|
tar xvf montreal-forced-aligner_linux.tar.gz
|
|
touch mfa.done
|
|
|
|
openblas.done:
|
|
bash extras/install_openblas.sh
|
|
touch openblas.done
|
|
|
|
kaldi.done: apt.done openblas.done
|
|
bash extras/install_kaldi.sh
|
|
touch kaldi.done
|
|
|
|
sctk.done:
|
|
./extras/install_sclite.sh
|
|
touch sctk.done
|
|
|
|
srilm.done:
|
|
./extras/install_liblbfgs.sh
|
|
extras/install_srilm.sh
|
|
touch srilm.done
|
|
|
|
######################
|
|
dev: python conda_packages.done sctk.done
|
|
|
|
# Use pip for paddle installation even if you have anaconda
|
|
ifneq ($(shell test -f ./activate_python.sh && grep 'conda activate' ./activate_python.sh),)
|
|
USE_CONDA := 1
|
|
else
|
|
USE_CONDA :=
|
|
endif
|
|
|
|
python: activate_python.sh
|
|
|
|
activate_python.sh:
|
|
test -f activate_python.sh || { echo "Error: Run ./setup_python.sh or ./setup_anaconda.sh"; exit 1; }
|
|
|
|
bc.done: activate_python.sh
|
|
. ./activate_python.sh && { command -v bc || conda install -y bc -c conda-forge; }
|
|
touch bc.done
|
|
cmake.done: activate_python.sh
|
|
. ./activate_python.sh && { command -v cmake || conda install -y cmake; }
|
|
touch cmake.done
|
|
flac.done: activate_python.sh
|
|
. ./activate_python.sh && { command -v flac || conda install -y libflac -c conda-forge; }
|
|
touch flac.done
|
|
ffmpeg.done: activate_python.sh
|
|
. ./activate_python.sh && { command -v ffmpeg || conda install -y ffmpeg -c conda-forge; }
|
|
touch ffmpeg.done
|
|
sox.done: activate_python.sh
|
|
. ./activate_python.sh && { command -v sox || conda install -y sox -c conda-forge; }
|
|
touch sox.done
|
|
sndfile.done: activate_python.sh
|
|
. ./activate_python.sh && { python3 -c "from ctypes.util import find_library as F; assert F('sndfile') is not None" || conda install -y libsndfile=1.0.28 -c conda-forge; }
|
|
touch sndfile.done
|
|
ifneq ($(strip $(USE_CONDA)),)
|
|
conda_packages.done: bc.done cmake.done flac.done ffmpeg.done sox.done sndfile.done
|
|
else
|
|
conda_packages.done:
|
|
endif
|
|
touch conda_packages.done
|