Fügt einen OpenAI-kompatiblen TTS-Endpunkt POST /v1/audio/speech hinzu. Die Synthese läuft in einem separaten, langlebigen Worker (mike-ai-kokoro.service) mit eigenem Venv (CPU-only torch) und hält die Modelle dauerhaft im RAM (niedrige Warm-Start-Latenz). - Zwei deutsche Stimmen: kikiri-german-martin, kikiri-german-victoria (Apache 2.0, je ~327 MB) unter /opt/mike-ai/models/kokoro/ - Deutsche G2P über espeak-ng (phonemizer), kein spacy/thinc 9.x nötig (kokoro mit --no-deps + misaki ohne [en], Python 3.13-kompatibel) - Formate: mp3 (Default), wav, flac, pcm; speed 0.5-2.0 - /status um tts.*-Felder erweitert (reachable, ready, voices, ...) - TTS ohne GPU-Lock: blockiert weder Qwen/llama.cpp noch FLUX - systemd-Unit mike-ai-kokoro.service (Start beim Boot) - install.sh/deploy.sh um Kokoro-Venv + Modell-Download erweitert - Mock-TTS-Worker + 11 TTS-Tests (insgesamt 43, alle bestanden) - Hörproben (je ~40 s) + Benchmark (RTF ~0.23, ~4.3x Echtzeit) Kein Push – erst nach User-Freigabe.
23 lines
859 B
Bash
Executable File
23 lines
859 B
Bash
Executable File
#!/bin/bash
|
||
# AI Profile Router – Deployment vom Coding-System auf das Zielsystem.
|
||
# Überträgt die Deploy-Dateien per SCP und führt install.sh per SSH aus.
|
||
set -euo pipefail
|
||
cd "$(dirname "$0")/.."
|
||
|
||
TARGET="${TARGET:-root@192.168.1.196}"
|
||
SSH_KEY="${SSH_KEY:-$HOME/.ssh/lmstudio_unraid}"
|
||
STAGE="/tmp/ai-profile-router-$$"
|
||
|
||
mkdir -p "$STAGE"
|
||
cp router/ai_profile_router.py router/image_worker.py router/tts_worker.py \
|
||
deploy/install.sh deploy/mike-ai-profile-router.service \
|
||
deploy/mike-ai-kokoro.service "$STAGE/"
|
||
|
||
echo "== Übertrage Dateien nach ${TARGET}:/tmp/ai-profile-router/"
|
||
ssh -i "$SSH_KEY" "$TARGET" 'mkdir -p /tmp/ai-profile-router'
|
||
scp -i "$SSH_KEY" "$STAGE"/* "$TARGET:/tmp/ai-profile-router/"
|
||
rm -rf "$STAGE"
|
||
|
||
echo "== Führe Installation auf dem Zielsystem aus"
|
||
ssh -i "$SSH_KEY" "$TARGET" 'bash /tmp/ai-profile-router/install.sh'
|