96 lines
2.0 KiB
Bash
Executable File
96 lines
2.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Copyright 2025 Xiaomi Corp. (authors: Fangjun Kuang)
|
|
#
|
|
set -ex
|
|
|
|
if [ ! -f kokoro-v1_1-zh.pth ]; then
|
|
curl -SL -O https://huggingface.co/hexgrad/Kokoro-82M-v1.1-zh/resolve/main/kokoro-v1_1-zh.pth
|
|
fi
|
|
|
|
|
|
if [ ! -f config.json ]; then
|
|
# see https://huggingface.co/hexgrad/Kokoro-82M/blob/main/config.json
|
|
curl -SL -O https://huggingface.co/hexgrad/Kokoro-82M-v1.1-zh/resolve/main/config.json
|
|
fi
|
|
|
|
voices=(
|
|
af_maple
|
|
af_sol
|
|
bf_vale
|
|
)
|
|
# zf_001-zf_099
|
|
for i in $(seq 1 99); do
|
|
a=$(printf "zf_%03d" $i)
|
|
voices+=($a)
|
|
done
|
|
|
|
# zm_009-zm_100
|
|
for i in $(seq 9 100); do
|
|
a=$(printf "zm_%03d" $i)
|
|
voices+=($a)
|
|
done
|
|
|
|
echo ${voices[@]} # all elements
|
|
echo ${#voices[@]} # length
|
|
|
|
mkdir -p voices
|
|
|
|
for v in ${voices[@]}; do
|
|
if [ ! -f voices/$v.pt ]; then
|
|
curl -SL --output voices/$v.pt https://huggingface.co/hexgrad/Kokoro-82M-v1.1-zh/resolve/main/voices/$v.pt
|
|
fi
|
|
done
|
|
pushd voices
|
|
find . -type f -size -10k -exec rm -v {} +
|
|
ls -lh
|
|
du -h -d1 .
|
|
popd
|
|
|
|
if [ ! -f ./kokoro.onnx ]; then
|
|
python3 ./export_onnx.py
|
|
fi
|
|
|
|
if [ ! -f ./.add-meta-data.done ]; then
|
|
python3 ./add_meta_data.py
|
|
touch ./.add-meta-data.done
|
|
fi
|
|
|
|
if [ ! -f ./kokoro.int8.onnx ]; then
|
|
python3 ./dynamic_quantization.py
|
|
fi
|
|
|
|
if [ ! -f us_gold.json ]; then
|
|
curl -SL -O https://raw.githubusercontent.com/hexgrad/misaki/refs/heads/main/misaki/data/us_gold.json
|
|
fi
|
|
|
|
if [ ! -f us_silver.json ]; then
|
|
curl -SL -O https://raw.githubusercontent.com/hexgrad/misaki/refs/heads/main/misaki/data/us_silver.json
|
|
fi
|
|
|
|
if [ ! -f gb_gold.json ]; then
|
|
curl -SL -O https://raw.githubusercontent.com/hexgrad/misaki/refs/heads/main/misaki/data/gb_gold.json
|
|
fi
|
|
|
|
if [ ! -f gb_silver.json ]; then
|
|
curl -SL -O https://raw.githubusercontent.com/hexgrad/misaki/refs/heads/main/misaki/data/gb_silver.json
|
|
fi
|
|
|
|
if [ ! -f ./tokens.txt ]; then
|
|
./generate_tokens.py
|
|
fi
|
|
|
|
if [ ! -f ./lexicon-zh.txt ]; then
|
|
./generate_lexicon_zh.py
|
|
fi
|
|
|
|
if [[ ! -f ./lexicon-us-en.txt || ! -f ./lexicon-gb-en.txt ]]; then
|
|
./generate_lexicon_en.py
|
|
fi
|
|
|
|
if [ ! -f ./voices.bin ]; then
|
|
./generate_voices_bin.py
|
|
fi
|
|
|
|
./test.py
|
|
ls -lh
|