Download scripts/stage_ds.sh from ehabnegm/s2pro-egy: direct link, hf CLI and curl.
- Browser
- Download file 1.82 kB
-
https://huggingface.co/ehabnegm/s2pro-egy/resolve/main/scripts/stage_ds.sh
- Command line
-
hf download hf://ehabnegm/s2pro-egy/scripts/stage_ds.sh
-
curl -L -o stage_ds.sh https://huggingface.co/ehabnegm/s2pro-egy/resolve/main/scripts/stage_ds.sh
1.82 kB
| # Usage: stage_ds.sh <stage-name> <datasets-csv> | |
| # Converts + loudness-norms + VQ-extracts one batch of datasets into | |
| # /opt/work/data-fs (train) and /opt/work/data-fs-val (val). | |
| set -euo pipefail | |
| STAGE="$1"; DS="$2" | |
| export PATH="$HOME/.local/bin:$PATH" | |
| cd /opt/work/fish-speech | |
| PY=/opt/work/fish-speech/.venv/bin/python | |
| RAWD=/opt/work/staging/${STAGE}-raw | |
| RAWV=/opt/work/staging/${STAGE}-raw-val | |
| NORMD=/opt/work/staging/${STAGE}-norm | |
| NORMV=/opt/work/staging/${STAGE}-norm-val | |
| echo "== [$STAGE 1/5] prepare ($DS) ==" | |
| $PY /opt/work/scripts/prepare_data.py --datasets "$DS" \ | |
| --out $RAWD --out-val $RAWV --holdout-suffix "_$STAGE" | |
| echo "== [$STAGE 2/5] loudness norm ==" | |
| uvx --from fish-audio-preprocess fap loudness-norm $RAWD $NORMD --clean --num-workers 28 | |
| if [ -n "$(find $RAWV -name '*.wav' 2>/dev/null | head -1)" ]; then | |
| uvx --from fish-audio-preprocess fap loudness-norm $RAWV $NORMV --clean --num-workers 28 | |
| fi | |
| echo "== [$STAGE 3/5] copy .lab ==" | |
| rsync -a --include='*/' --include='*.lab' --exclude='*' $RAWD/ $NORMD/ | |
| [ -d $NORMV ] && rsync -a --include='*/' --include='*.lab' --exclude='*' $RAWV/ $NORMV/ || true | |
| echo "== [$STAGE 4/5] extract VQ (s2-pro codec) ==" | |
| $PY tools/vqgan/extract_vq.py $NORMD \ | |
| --num-workers 1 --batch-size 12 \ | |
| --config-name "modded_dac_vq" \ | |
| --checkpoint-path "/opt/work/checkpoints/s2-pro/codec.pth" | |
| if [ -d $NORMV ]; then | |
| $PY tools/vqgan/extract_vq.py $NORMV \ | |
| --num-workers 1 --batch-size 12 \ | |
| --config-name "modded_dac_vq" \ | |
| --checkpoint-path "/opt/work/checkpoints/s2-pro/codec.pth" | |
| fi | |
| echo "== [$STAGE 5/5] merge into /opt/work/data-fs ==" | |
| mkdir -p /opt/work/data-fs /opt/work/data-fs-val | |
| rsync -a $NORMD/ /opt/work/data-fs/ | |
| [ -d $NORMV ] && rsync -a $NORMV/ /opt/work/data-fs-val/ || true | |
| echo "STAGE_${STAGE}_DONE" | |