219 lines
8.6 KiB
Bash
Executable File
219 lines
8.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
||
|
||
set -e
|
||
|
||
log() {
|
||
# This function is from espnet
|
||
local fname=${BASH_SOURCE[1]##*/}
|
||
echo -e "$(date '+%Y-%m-%d %H:%M:%S') (${fname}:${BASH_LINENO[0]}:${FUNCNAME[1]}) $*"
|
||
}
|
||
|
||
export GIT_CLONE_PROTECTION_ACTIVE=false
|
||
|
||
echo "EXE is $EXE"
|
||
echo "PATH: $PATH"
|
||
|
||
which $EXE
|
||
|
||
# test waves are saved in ./tts
|
||
mkdir ./tts
|
||
|
||
log "------------------------------------------------------------"
|
||
log "kokoro-en-v0_19"
|
||
log "------------------------------------------------------------"
|
||
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/kokoro-en-v0_19.tar.bz2
|
||
tar xf kokoro-en-v0_19.tar.bz2
|
||
rm kokoro-en-v0_19.tar.bz2
|
||
|
||
# mapping of sid to voice name
|
||
# 0->af, 1->af_bella, 2->af_nicole, 3->af_sarah, 4->af_sky, 5->am_adam
|
||
# 6->am_michael, 7->bf_emma, 8->bf_isabella, 9->bm_george, 10->bm_lewis
|
||
|
||
for sid in $(seq 0 10); do
|
||
$EXE \
|
||
--debug=1 \
|
||
--kokoro-model=./kokoro-en-v0_19/model.onnx \
|
||
--kokoro-voices=./kokoro-en-v0_19/voices.bin \
|
||
--kokoro-tokens=./kokoro-en-v0_19/tokens.txt \
|
||
--kokoro-data-dir=./kokoro-en-v0_19/espeak-ng-data \
|
||
--num-threads=2 \
|
||
--sid=$sid \
|
||
--output-filename="./tts/kokoro-$sid.wav" \
|
||
"Today as always, men fall into two groups: slaves and free men. Whoever does not have two-thirds of his day for himself, is a slave, whatever he may be a statesman, a businessman, an official, or a scholar."
|
||
done
|
||
rm -rf kokoro-en-v0_19
|
||
|
||
log "------------------------------------------------------------"
|
||
log "matcha-tts-fa_en-musa"
|
||
log "------------------------------------------------------------"
|
||
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/matcha-tts-fa_en-musa.tar.bz2
|
||
tar xvf matcha-tts-fa_en-musa.tar.bz2
|
||
rm matcha-tts-fa_en-musa.tar.bz2
|
||
|
||
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/vocoder-models/vocos-22khz-univ.onnx
|
||
|
||
|
||
$EXE \
|
||
--matcha-acoustic-model=./matcha-tts-fa_en-musa/model.onnx \
|
||
--matcha-vocoder=./vocos-22khz-univ.onnx \
|
||
--matcha-tokens=./matcha-tts-fa_en-musa/tokens.txt \
|
||
--matcha-data-dir=./matcha-tts-fa_en-musa/espeak-ng-data \
|
||
--output-filename=./tts/test-matcha-fa-en-musa.wav \
|
||
--num-threads=2 \
|
||
"How are you doing today? این یک نمونه ی تست فارسی است. This is a test."
|
||
|
||
rm -rf matcha-tts-fa_en-musa
|
||
rm vocos-22khz-univ.onnx
|
||
ls -lh tts/*.wav
|
||
|
||
log "------------------------------------------------------------"
|
||
log "matcha-icefall-en_US-ljspeech"
|
||
log "------------------------------------------------------------"
|
||
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/matcha-icefall-en_US-ljspeech.tar.bz2
|
||
tar xvf matcha-icefall-en_US-ljspeech.tar.bz2
|
||
rm matcha-icefall-en_US-ljspeech.tar.bz2
|
||
|
||
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/vocoder-models/vocos-22khz-univ.onnx
|
||
|
||
|
||
$EXE \
|
||
--matcha-acoustic-model=./matcha-icefall-en_US-ljspeech/model-steps-3.onnx \
|
||
--matcha-vocoder=./vocos-22khz-univ.onnx \
|
||
--matcha-tokens=./matcha-icefall-en_US-ljspeech/tokens.txt \
|
||
--matcha-data-dir=./matcha-icefall-en_US-ljspeech/espeak-ng-data \
|
||
--num-threads=2 \
|
||
--output-filename=./tts/matcha-ljspeech-1.wav \
|
||
--debug=1 \
|
||
"Today as always, men fall into two groups: slaves and free men. Whoever does not have two-thirds of his day for himself, is a slave, whatever he may be: a statesman, a businessman, an official, or a scholar."
|
||
|
||
rm vocos-22khz-univ.onnx
|
||
rm -rf matcha-icefall-en_US-ljspeech
|
||
ls -lh tts/*.wav
|
||
|
||
log "------------------------------------------------------------"
|
||
log "matcha-icefall-zh-baker"
|
||
log "------------------------------------------------------------"
|
||
curl -O -SL https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/matcha-icefall-zh-baker.tar.bz2
|
||
tar xvf matcha-icefall-zh-baker.tar.bz2
|
||
rm matcha-icefall-zh-baker.tar.bz2
|
||
|
||
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/vocoder-models/vocos-22khz-univ.onnx
|
||
|
||
$EXE \
|
||
--matcha-acoustic-model=./matcha-icefall-zh-baker/model-steps-3.onnx \
|
||
--matcha-vocoder=./vocos-22khz-univ.onnx \
|
||
--matcha-lexicon=./matcha-icefall-zh-baker/lexicon.txt \
|
||
--matcha-tokens=./matcha-icefall-zh-baker/tokens.txt \
|
||
--matcha-dict-dir=./matcha-icefall-zh-baker/dict \
|
||
--num-threads=2 \
|
||
--debug=1 \
|
||
--output-filename=./tts/matcha-baker-zh-1.wav \
|
||
'小米的使命是,始终坚持做"感动人心、价格厚道"的好产品,让全球每个人都能享受科技带来的美好生活'
|
||
|
||
$EXE \
|
||
--matcha-acoustic-model=./matcha-icefall-zh-baker/model-steps-3.onnx \
|
||
--matcha-vocoder=./vocos-22khz-univ.onnx \
|
||
--matcha-lexicon=./matcha-icefall-zh-baker/lexicon.txt \
|
||
--matcha-tokens=./matcha-icefall-zh-baker/tokens.txt \
|
||
--matcha-dict-dir=./matcha-icefall-zh-baker/dict \
|
||
--num-threads=2 \
|
||
--debug=1 \
|
||
--output-filename=./tts/matcha-baker-zh-2.wav \
|
||
"当夜幕降临,星光点点,伴随着微风拂面,我在静谧中感受着时光的流转,思念如涟漪荡漾,梦境如画卷展开,我与自然融为一体,沉静在这片宁静的美丽之中,感受着生命的奇迹与温柔。"
|
||
|
||
rm vocos-22khz-univ.onnx
|
||
rm -rf matcha-icefall-zh-baker
|
||
|
||
log "------------------------------------------------------------"
|
||
log "vits-piper-en_US-amy-low"
|
||
log "------------------------------------------------------------"
|
||
curl -O -SL https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/vits-piper-en_US-amy-low.tar.bz2
|
||
tar xf vits-piper-en_US-amy-low.tar.bz2
|
||
rm vits-piper-en_US-amy-low.tar.bz2
|
||
|
||
$EXE \
|
||
--vits-model=./vits-piper-en_US-amy-low/en_US-amy-low.onnx \
|
||
--vits-tokens=./vits-piper-en_US-amy-low/tokens.txt \
|
||
--vits-data-dir=./vits-piper-en_US-amy-low/espeak-ng-data \
|
||
--debug=1 \
|
||
--output-filename=./tts/amy.wav \
|
||
"“Today as always, men fall into two groups: slaves and free men. Whoever does not have two-thirds of his day for himself, is a slave, whatever he may be: a statesman, a businessman, an official, or a scholar.” The sun shone bleakly in the sky, its meager light struggling to penetrate the thick foliage of the forest. Birds sang their songs up in the crowns of the trees, fluttering from one branch to the other. A blanket of total tranquility lied over the forest. The peace was only broken by the steady gallop of the horses of the soldiers who were traveling to their upcoming knighting the morrow at Camelot, and rowdy conversation. “Finally we will get what we deserve,” “It’s been about time,” Perceval agreed. “We’ve been risking our arses for the past two years. It’s the least they could give us.” Merlin remained ostensibly silent, refusing to join the verbal parade of self-aggrandizing his fellow soldiers have engaged in. He found it difficult to happy about anything, when even if they had won the war, he had lost everything else in the process."
|
||
|
||
file ./tts/amy.wav
|
||
rm -rf vits-piper-en_US-amy-low
|
||
|
||
log "------------------------------------------------------------"
|
||
log "vits-ljs test"
|
||
log "------------------------------------------------------------"
|
||
|
||
repo_url=https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/vits-ljs.tar.bz2
|
||
curl -SL -O $repo_url
|
||
tar xvf vits-ljs.tar.bz2
|
||
rm vits-ljs.tar.bz2
|
||
repo=vits-ljs
|
||
|
||
log "Start testing ${repo_url}"
|
||
|
||
$EXE \
|
||
--vits-model=$repo/vits-ljs.onnx \
|
||
--vits-lexicon=$repo/lexicon.txt \
|
||
--vits-tokens=$repo/tokens.txt \
|
||
--output-filename=./tts/vits-ljs.wav \
|
||
'liliana, the most beautiful and lovely assistant of our team!'
|
||
|
||
ls -lh ./tts
|
||
|
||
rm -rfv $repo
|
||
|
||
log "------------------------------------------------------------"
|
||
log "vits-vctk test"
|
||
log "------------------------------------------------------------"
|
||
|
||
repo_url=https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/vits-vctk.tar.bz2
|
||
curl -SL -O $repo_url
|
||
tar xvf vits-vctk.tar.bz2
|
||
rm vits-vctk.tar.bz2
|
||
repo=vits-vctk
|
||
|
||
log "Start testing ${repo_url}"
|
||
|
||
for sid in 0 10 90; do
|
||
$EXE \
|
||
--vits-model=$repo/vits-vctk.onnx \
|
||
--vits-lexicon=$repo/lexicon.txt \
|
||
--vits-tokens=$repo/tokens.txt \
|
||
--sid=$sid \
|
||
--output-filename=./tts/vits-vctk-${sid}.wav \
|
||
'liliana, the most beautiful and lovely assistant of our team!'
|
||
done
|
||
|
||
rm -rfv $repo
|
||
|
||
ls -lh tts/
|
||
|
||
log "------------------------------------------------------------"
|
||
log "vits-zh-aishell3"
|
||
log "------------------------------------------------------------"
|
||
|
||
repo_url=https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/vits-zh-aishell3.tar.bz2
|
||
curl -SL -O $repo_url
|
||
tar xvf vits-zh-aishell3.tar.bz2
|
||
rm vits-zh-aishell3.tar.bz2
|
||
repo=vits-zh-aishell3
|
||
|
||
log "Start testing ${repo_url}"
|
||
|
||
for sid in 0 10 90; do
|
||
$EXE \
|
||
--vits-model=$repo/vits-aishell3.onnx \
|
||
--vits-lexicon=$repo/lexicon.txt \
|
||
--vits-tokens=$repo/tokens.txt \
|
||
--sid=$sid \
|
||
--output-filename=./tts/vits-aishell3-${sid}.wav \
|
||
'林美丽最美丽'
|
||
done
|
||
|
||
rm -rfv $repo
|
||
|
||
ls -lh ./tts/
|