diff options
Diffstat (limited to 'vendor/extra/qwentts.cpp/examples/server-test.sh')
| -rwxr-xr-x | vendor/extra/qwentts.cpp/examples/server-test.sh | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/vendor/extra/qwentts.cpp/examples/server-test.sh b/vendor/extra/qwentts.cpp/examples/server-test.sh new file mode 100755 index 0000000..7242afe --- /dev/null +++ b/vendor/extra/qwentts.cpp/examples/server-test.sh @@ -0,0 +1,51 @@ +#!/bin/bash +# Prueba de punta a punta del tts-server (API OpenAI-compatible). +set -u +cd "$(dirname "$0")" +OUT=out; mkdir -p "$OUT" +PORT=8080; H=127.0.0.1; B="http://$H:$PORT" + +echo "== arrancando tts-server (base 1.7B) ==" +../build/tts-server \ + --model ../models/qwen-talker-1.7b-base-Q8_0.gguf \ + --codec ../models/qwen-tokenizer-12hz-Q8_0.gguf \ + --alias qwen3-tts-base --host $H --port $PORT --lang auto \ + >"$OUT/server.log" 2>&1 & +SRV=$! +trap 'kill $SRV 2>/dev/null' EXIT + +echo -n "esperando readiness" +for i in $(seq 1 60); do + curl -sf "$B/v1/models" >/dev/null 2>&1 && { echo " listo"; break; } + kill -0 $SRV 2>/dev/null || { echo " el server murio"; tail -20 "$OUT/server.log"; exit 1; } + printf '.'; sleep 1 +done + +echo "== 1) GET /v1/models ==" +curl -s "$B/v1/models"; echo + +echo "== 2) voz por defecto -> wav ==" +curl -s -X POST "$B/v1/audio/speech" -H "Content-Type: application/json" \ + -d '{"input":"This is the default server voice.","response_format":"wav","seed":42}' \ + -o "$OUT/srv_default.wav" +echo " $(du -h "$OUT/srv_default.wav" | cut -f1) $OUT/srv_default.wav" + +echo "== 3) registrar voz clonada 'freeman' (spk+rvq b64) ==" +curl -s -X POST "$B/v1/audio/voices" -H "Content-Type: application/json" \ + -d "{\"name\":\"freeman\",\"ref_text\":\"$(cat freeman.txt)\", + \"spk_b64\":\"$(base64 -w0 freeman.spk)\",\"rvq_b64\":\"$(base64 -w0 freeman.rvq)\"}" +echo + +echo "== 4) sintesis con la voz clonada -> wav ==" +curl -s -X POST "$B/v1/audio/speech" -H "Content-Type: application/json" \ + -d '{"input":"Now I am speaking with the cloned voice.","voice":"freeman","response_format":"wav","seed":42,"temperature":0.8}' \ + -o "$OUT/srv_freeman.wav" +echo " $(du -h "$OUT/srv_freeman.wav" | cut -f1) $OUT/srv_freeman.wav" + +echo "== 5) streaming PCM (s16le) -> archivo raw ==" +curl -s -X POST "$B/v1/audio/speech" -H "Content-Type: application/json" \ + -d '{"input":"Streaming pcm chunks.","response_format":"pcm","seed":42}' \ + -o "$OUT/srv_stream.pcm" +echo " $(du -h "$OUT/srv_stream.pcm" | cut -f1) $OUT/srv_stream.pcm (s16le mono 24k)" + +echo "== ok, parando server ==" |