Compare commits

...

2 Commits

Author SHA1 Message Date
a9712c1723 speak.sh vereinfacht 2026-07-20 23:40:55 +02:00
932c37b03e speak.sh gefixt 2026-07-20 23:32:21 +02:00

View File

@@ -1,26 +1,25 @@
#!/bin/sh
KEY="cpk_fb48056a2f384b7e8d553c050ff347ad.5a86acf7400b53d090db223353db7dd1.0d6YfPPGZaBFXJoo2B1I7x397OTzau2E"
cd "$(dirname "$0")"
FILE="$1"
if test ! -f "$FILE"; then
echo "Missing or wrong file: $FILE"
exit 1
if test -f .env; then
set -a
. ./.env
set +a
fi
OUT="${1:-output.wav}"
TMP_TEXT=$(mktemp)
trap 'rm -f "$TMP_TEXT"' EXIT
cat > "$TMP_TEXT"
REF_AUDIO_B64=$(base64 -w 0 elena-referenz.wav)
ESCAPED_TEXT=$(awk '{gsub(/\\/, "\\\\"); gsub(/"/, "\\\""); gsub(/\t/, "\\t"); if (NR>1) printf "\\n"; printf "%s", $0}' "$TMP_TEXT")
printf '{"text":"%s","language":"German","ref_text":"Das Café Laube roch nach einer Mischung aus frisch gerösteten Bohnen, süßlichen Lilien und dem metallischen Unterton von Regen","trim_sample":true,"auto_denoise":false,"high_fidelity":false,"ref_audio_b64":"%s"}' "$ESCAPED_TEXT" "$REF_AUDIO_B64" | \
curl -X POST "https://vonkaiser-audiodojo.chutes.ai/tts/qwen3clone" \
-H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "Dies ist ein Test. Zum testen und so Sachen.",
"language": "German",
"ref_text": "Das Café Laube roch nach einer Mischung aus frisch gerösteten Bohnen, süßlichen Lilien und dem metallischen Unterton von Regen",
"trim_sample": true,
"auto_denoise": false,
"high_fidelity": false,
"ref_audio_b64": "$(base64 -w 0 elena-referenz.wav)"
}' \
--output output.wav
-H "Authorization: Bearer $CHUTES_API_KEY" \
-H "Content-Type: application/json" \
--data-binary @- \
--output "$OUT"