LongCat AudioDiT-integrering
Libre WebUI innehåller ett JSON-plugin och en lokal HTTP-adapter för de officiella kontrollpunkterna meituan-longcat/LongCat-AudioDiT-1B och meituan-longcat/LongCat-AudioDiT-3.5B. Uppströmsprojektet tillhandahåller ett Python-API i stället för en HTTP-server, så adaptern i examples/longcat-audiodit-server ger modellidentifiering, JSON-tal och multipart-endpoints för röstkloning.
AudioDiT returnerar fullständiga mono-WAV-filer på 24 kHz i stället för ett strömmande ljudsvar. Libre WebUI delar därför längre svar vid menings- och frasgränser, genererar ett begränsat antal batcher i förväg och schemalägger avkodat ljud i ordning för kontinuerlig uppspelning.
Krav
En NVIDIA CUDA-GPU är det praktiska målet. Börja med kontrollpunkten 1B; 3.5B kräver betydligt mer VRAM och tar längre tid att läsa in. CPU kan användas för experiment men ger sannolikt inte interaktiv prestanda.
Starta adaptern
Klona den officiella implementeringen och skapa en isolerad miljö:
git clone https://github.com/meituan-longcat/LongCat-AudioDiT.git
python3 -m venv .venv
source .venv/bin/activate
pip install -r examples/longcat-audiodit-server/requirements.txt
export PYTHONPATH="$PWD/LongCat-AudioDiT"
Starta sedan en kontrollpunkt:
python examples/longcat-audiodit-server/server.py \
--model meituan-longcat/LongCat-AudioDiT-1B \
--device cuda:0
Servern binder som standard till 127.0.0.1:8300. Den saknar avsiktligt autentisering för lokal användning och får därför inte exponeras direkt mot ett obetrott nätverk. Använd en autentiserad HTTPS-gateway när Libre WebUI och adaptern finns på olika värdar: återanvändbara röster skickar den dekrypterade referensinspelningen till endpointen för varje talbatch. Ett CUDA Docker-exempel och en hälsokontroll dokumenteras i examples/longcat-audiodit-server/README.md.
Aktivera pluginet
Öppna Inställningar → Plugin → LongCat AudioDiT, aktivera det och behåll de lokala standardendpoints om adaptern inte körs någon annanstans. Modellidentifieringen annonserar endast kontrollpunkten i den serverprocessen. Starta om adaptern för att växla mellan modellerna 1B och 3.5B.
När en gateway som llama-swap ligger framför adaptern konfigurerar du modell-API-endpointen som adapterns rutt GET /v1/models genom gatewayen. Rikta inte modellidentifieringen mot POST /v1/audio/speech: en misslyckad identifiering återgår till båda manifestkontrollpunkterna och kan låta UI:t välja en kontrollpunkt som adaptern inte har läst in.
Välj LongCat för chattuppspelning under Inställningar → Text-till-tal. Naturlig batchad uppspelning är aktiverad som standard. Leverantörens gemensamma gräns på 140 tecken håller tät kinesisk text inom 1B-kontrollpunktens kortare varaktighetsfönster; Libre WebUI skapar automatiskt flera batcher för längre svar.
Röstkloning
Öppna Skapa → Ljud, välj en LongCat-talmodell och aktivera Klona en referensröst. Ladda upp en ren inspelning och ange exakt vilka ord som uttalas. Ett klipp på 3–10 sekunder med en talare och lite bakgrundsljud fungerar bäst; adaptern avvisar klipp över 15 sekunder eller 10 MiB.
Kloningen kan vara en engångsgenerering, eller så väljer du Spara som återanvändbar röst, ger rösten ett privat namn och bekräftar uttryckligen att talaren samtyckte till lagring. Sparade röster kan väljas för samma LongCat-modell under Inställningar → Text-till-tal. Uppläsning och automatisk uppspelning återanvänder sedan rösten i Libre WebUI:s meningsmedvetna batcher.
Referensen använder en del av AudioDiT:s varaktighetsfönster. Om talet inte ryms i återstående tid returnerar adaptern ett tydligt klientfel i stället för att tyst klippa ljudet. Korta referensen eller texten och försök igen.
Klona bara en röst med talarens uttryckliga tillstånd. Vid engångsgenerering behåller Libre WebUI referensen i minnet och adaptern tar bort sin tillfälliga avkodningsfil efter begäran. När du sparar en återanvändbar röst lagrar Libre WebUI originalljudet och den exakta transkriptionen i en användaravgränsad, AES-GCM-krypterad profil. Den genererade imitationen ersätter aldrig den kanoniska referensen. AudioDiT exponerar ingen portabel talarinbäddning, så originalparet dekrypteras och skickas till den konfigurerade leverantören för varje batch. Profilen kan tas bort permanent i text-till-tal-inställningarna. En sparad profil avvisas säkert om pluginets godkända dirigering eller endpoint ändras; skapa om den efter att den nya destinationen verifierats.
Genererat tal lagras separat i användarens krypterade mediegalleri. Att ta bort ett galleriresultat tar inte bort dess sparade röstprofil och att ta bort en röstprofil tar inte bort tidigare genererat ljud.
Leverantören stöder WAV-, FLAC-, MP3- och Ogg-referenser. Engelska och mandarin är de bäst dokumenterade språkmålen. LongCat publicerar inga namngivna förinställda röster, så vanlig syntes använder modellens standard.
Inferenskontroller
Pluginet exponerar begränsade avancerade variabler för ODE-steg, vägledningsstyrka, CFG/APG-metod och seed. Libre WebUI vidarebefordrar endast kontrollerna som deklareras i manifestet till tal- och kloningsendpoints. Standardvärdena matchar uppströms inferensexempel och är en bra utgångspunkt.
AudioDiT exponerar ingen kontroll för uppspelningshastighet. För kompatibilitet med OpenAI:s talbegäran accepterar adaptern speed från 0.25 till 4.0 men ignorerar dem avsiktligt. Modellen bestämmer den verkliga timing; ett annat värde tidssträcker inte den genererade WAV-filen.
Se exemplets README för direkta curl-begäranden, Docker-kommandon, exakta gränser och offlinevalidering.