Synchronize repository with Athena deployment
This commit is contained in:
@@ -0,0 +1,122 @@
|
||||
# Athena-Betriebsmodi
|
||||
|
||||
Athena besitzt sechs gegenseitig exklusive Betriebsmodi:
|
||||
|
||||
- `llm`: ein llama.cpp-Profil und Qwen3-TTS laufen; Spezialdienste sind gestoppt.
|
||||
- `music`: ACE-Step 1.5 XL-SFT läuft; alle LLM-, Bild-, TTS- und Separator-Worker sind gestoppt.
|
||||
- `separation`: BS-RoFormer und Demucs trennen Musikspuren; ClearVoice trennt
|
||||
Sprache von Hintergrundgeräuschen. LLM, Bild, TTS und ACE-Step sind gestoppt.
|
||||
- `voice`: OmniVoice erzeugt Sprache aus Text mit einer gewählten
|
||||
Referenzstimme. LLM, Bild, TTS, ACE-Step und Separator sind gestoppt.
|
||||
- `voicechange`: X-VC überträgt eine vorhandene Sprachaufnahme auf eine
|
||||
Referenzstimme und bewahrt dabei Inhalt und Timing. Alle anderen
|
||||
GPU-Dienste sind gestoppt.
|
||||
- `applio`: Applio stellt RVC-Inferenz, Modellverwaltung und Training bereit.
|
||||
Alle anderen GPU-Dienste sind gestoppt.
|
||||
|
||||
Die Zustandsmaschine lebt im Athena-Router. Das Dashboard und Chat-Clients wie
|
||||
Hermes sind nur Bedienoberflächen derselben API. Der zuletzt aktive LLM-Modus
|
||||
wird persistent gespeichert und beim Verlassen eines Spezialmodus wieder geladen.
|
||||
|
||||
## Bedienung
|
||||
|
||||
Im Athena-Dashboard stehen **LLM-Betrieb**, **Musikstudio**, **Audio trennen**,
|
||||
**Voice Studio**, **X-VC** und **Applio / RVC** bereit. Im Musikmodus werden zwei Oberflächen angeboten:
|
||||
|
||||
- **Original UI · stabil** öffnet die zum laufenden ACE-Step-Image gehörende
|
||||
Gradio-Oberfläche. Sie ist für Cover, Remix und erweiterte Workflows der
|
||||
verbindliche Produktionspfad.
|
||||
- **Community UI · experimentell** öffnet `fspecii/ace-step-ui`. Die
|
||||
CPU-leichte React/Express-Anwendung hält Bibliothek, Playlists und
|
||||
Einstellungen in `/data/music/ace-step-ui`. Ein noch nicht übernommener
|
||||
Upstream-Kompatibilitätsfix für die aktuelle 72-Felder-Gradio-API ist lokal
|
||||
zurückportiert; normale Generierung funktioniert, Cover und Remix gelten bis
|
||||
zu eigenen Ende-zu-Ende-Tests weiterhin als experimentell.
|
||||
|
||||
Die Community-Oberfläche ist im WireGuard-Netz unter
|
||||
`http://192.168.1.212:7861`, die originale Gradio-Oberfläche unter
|
||||
`http://192.168.1.212:7862` erreichbar. Beide Host-Ports bleiben zusätzlich
|
||||
auf `127.0.0.1` gebunden und werden auf der Universitäts-Schnittstelle nicht
|
||||
veröffentlicht. `ace-step-ui` ist reproduzierbar auf Commit
|
||||
`a1fdf91829ec6f7b98844f80e323529cd155dbf2` fixiert und greift intern über das
|
||||
Docker-Netz `mike-ai-music` auf `http://music-worker:7860` zu.
|
||||
|
||||
Im Trennmodus öffnet das Dashboard die private Athena-Oberfläche unter
|
||||
`http://192.168.1.212:8007`. Sie nimmt WAV, FLAC, MP3, M4A und weitere
|
||||
übliche Formate an. Gewählt wird die herauszulösende Quelle: Gesang,
|
||||
Schlagzeug, Bass, Gitarre, Piano, Sonstiges oder gereinigte Sprache. Das ZIP enthält genau diese Zielspur und
|
||||
eine zweite FLAC-Datei mit dem vollständigen Rest ohne die Zielspur. Gesang
|
||||
nutzt BS-RoFormer Viperx 1297, Schlagzeug/Bass `htdemucs_ft` und
|
||||
Gitarre/Piano/Sonstiges experimentell `htdemucs_6s`. „Sonstiges“ ist dessen
|
||||
gemischter `other`-Stem (unter anderem Synthesizer, Streicher, Bläser und Effekte),
|
||||
nicht eine reine Synthesizer-Spur. Sprache nutzt das 48-kHz-Modell
|
||||
`MossFormer2_SE_48K`; der Download enthält `speech.flac` und
|
||||
`hintergrund-ohne-sprache.flac`. Die Musiktrennung basiert auf
|
||||
`audio-separator` 0.47.0. Die ältere API-Auswahl kompletter 2-/4-/6-Stem-Sätze
|
||||
bleibt rückwärtskompatibel.
|
||||
|
||||
Das Voice Studio ist ausschließlich über den privaten WireGuard-Pfad unter
|
||||
`http://192.168.1.212:8008` erreichbar. Referenzstimmen werden unter
|
||||
`/data/voice/studio/profiles` gespeichert. Die Oberfläche verlangt vor dem
|
||||
Speichern eine Bestätigung der Nutzungsberechtigung. OmniVoice gibt
|
||||
unkomprimiertes WAV aus und erzeugt Sprache aus Text; es verarbeitet keine
|
||||
bereits eingesprochene Quellaufnahme.
|
||||
|
||||
Der X-VC Voice Changer ist ausschließlich unter
|
||||
`http://192.168.1.212:8009` erreichbar. Er nimmt eine Quellaufnahme und eine
|
||||
Referenzstimme an. Die Oberfläche behält immer das native 16-kHz-PCM-WAV und
|
||||
erzeugt auf Wunsch zusätzlich mit Resemble Enhance eine neural restaurierte
|
||||
44,1-kHz-Fassung. Diese zweite Datei rekonstruiert fehlende Sprachbandbreite;
|
||||
sie stellt keine im 16-kHz-Signal tatsächlich erhaltenen Originaldetails wieder
|
||||
her und bleibt deshalb direkt mit dem nativen Ergebnis vergleichbar. Die dokumentierte Sprachbasis
|
||||
des verwendeten GLM-4-Voice-Tokenizers ist Chinesisch und Englisch; Deutsch
|
||||
bleibt deshalb bis zur Hörabnahme ein Qualitätstest und kein zugesagter
|
||||
Produktionspfad. X-VC läuft ausschließlich auf der RTX 5080.
|
||||
|
||||
Applio ist unter `http://192.168.1.212:8011` erreichbar. Der RVC-Pfad besitzt
|
||||
eine eigene Modellbibliothek, Inferenz und Training. Hochwertige Inferenz
|
||||
benötigt zwingend ein zuvor importiertes oder trainiertes RVC-Stimmenmodell
|
||||
(`.pth`, optional `.index`). Eine bloße Referenzaufnahme genügt bei Applio
|
||||
nicht. Der Code ist auf Commit
|
||||
`7fa68ec2166ab1331c539704159fa14901e94e5a` fixiert.
|
||||
|
||||
Hermes benötigt dafür kein Plugin. Exakt eingegebene Steuerbefehle werden vom
|
||||
Router lokal beantwortet, auch wenn gerade kein LLM geladen ist:
|
||||
|
||||
```text
|
||||
/athena music
|
||||
/athena stems
|
||||
/athena voice
|
||||
/athena voicechange
|
||||
/athena applio
|
||||
/athena llm
|
||||
/athena status
|
||||
```
|
||||
|
||||
Die HTTP-Schnittstelle verwendet authentifizierte Requests:
|
||||
|
||||
```text
|
||||
GET /mode
|
||||
POST /mode {"mode":"music"}
|
||||
POST /mode {"mode":"separation"}
|
||||
POST /mode {"mode":"voice"}
|
||||
POST /mode {"mode":"voicechange"}
|
||||
POST /mode {"mode":"applio"}
|
||||
POST /mode {"mode":"llm"}
|
||||
```
|
||||
|
||||
Der Wechsel läuft asynchron. Fortschritt und Fehler stehen unter `mode` in
|
||||
`GET /status`. Der Profile-Controller akzeptiert ausschließlich den mit
|
||||
`com.mike-ai.music-worker=acestep` beziehungsweise
|
||||
`com.mike-ai.stem-separator=bs-roformer` oder
|
||||
`com.mike-ai.voice-worker=vevo2` beziehungsweise
|
||||
`com.mike-ai.voice-change-worker=xvc` oder
|
||||
`com.mike-ai.applio-worker=applio` markierten Container; freie
|
||||
Container- oder Docker-Befehle werden nicht entgegengenommen.
|
||||
|
||||
## Wiederanlauf
|
||||
|
||||
Der Router speichert `mode`, `last_profile` und `return_profile` atomar. War
|
||||
beim Router-Neustart ein Spezialmodus aktiv, startet er den passenden Worker erneut. Beim
|
||||
Wechsel zurück wird das gespeicherte LLM-Profil semantisch auf Alias und
|
||||
Kontextfenster geprüft, bevor Chat-Anfragen wieder freigegeben werden.
|
||||
Reference in New Issue
Block a user