-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbase.sh
More file actions
executable file
·65 lines (56 loc) · 2.38 KB
/
Copy pathbase.sh
File metadata and controls
executable file
·65 lines (56 loc) · 2.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#!/bin/bash
# base.sh — plain TTS synthesis with no voice reference or instruction.
#
# Usage: base.sh [prompt.txt] [lang]
#
# Prompt : text file to synthesize (default: prompts/prompt.txt)
# Lang : language label (default: from .env)
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
TMP_DIR="/tmp"
# ── load defaults ────────────────────────────────────────────────────
if [[ ! -f "$SCRIPT_DIR/.env" ]]; then
echo "Error: .env file not found." >&2
echo "Copy .env.example to .env and configure it:" >&2
echo " cp .env.example .env" >&2
echo " # Then edit .env to set QWENTTS_PATH and other settings" >&2
exit 1
fi
set -a; source "$SCRIPT_DIR/.env"; set +a
# ── defaults ─────────────────────────────────────────────────────────
PROMPT="${1:-$SCRIPT_DIR/prompt.txt}"
LANG="${2:-$LANG}"
# ── advanced CLI flags (env overrides) ───────────────────────────────
SEED="${QWENTTS_SEED:---1}"
GREEDY="${QWENTTS_GREEDY:-}"
TEMP="${QWENTTS_TEMP:-0.7}"
TOP_K="${QWENTTS_TOP_K:-40}"
TOP_P="${QWENTTS_TOP_P:-0.9}"
REP_PEN="${QWENTTS_REP_PEN:-1.1}"
SUB_TEMP="${QWENTTS_SUB_TEMP:-0.1}"
FORMAT="${QWENTTS_FORMAT:-wav16}"
MAX_NEW="${QWENTTS_MAX_NEW:-4096}"
STREAM_BY_LINE="${QWENTTS_STREAM:-}"
NO_FA="${QWENTTS_NO_FA:-}"
CLAMP_FP16="${QWENTTS_CLAMP_FP16:-}"
OUTPUT="${QWENTTS_OUTPUT:-$TMP_DIR/out.wav}"
# ── build argument array ─────────────────────────────────────────────
ARGS=()
[[ "$SEED" != "-1" ]] && ARGS+=(--seed "$SEED")
[[ -n "$GREEDY" ]] && ARGS+=(--greedy)
ARGS+=(--temp "$TEMP")
ARGS+=(--top-k "$TOP_K")
ARGS+=(--top-p "$TOP_P")
ARGS+=(--rep-pen "$REP_PEN")
ARGS+=(--sub-temp "$SUB_TEMP")
ARGS+=(--format "$FORMAT")
ARGS+=(--max-new "$MAX_NEW")
[[ -n "$STREAM_BY_LINE" ]] && ARGS+=(--stream-by-line)
[[ -n "$NO_FA" ]] && ARGS+=(--no-fa)
[[ -n "$CLAMP_FP16" ]] && ARGS+=(--clamp-fp16)
ARGS+=(--lang "$LANG")
ARGS+=(-o "$OUTPUT")
"$QWENTTS_PATH/build/qwen-tts" \
--model "$QWENTTS_PATH/models/$QWENTTS_BASE_MODEL" \
--codec "$QWENTTS_PATH/models/$QWENTTS_CODEC_MODEL" \
"${ARGS[@]}" < "$PROMPT"