Optymalizacja opóźnień
Ten przewodnik pokazuje, jak zmniejszyć opóźnienia zamiany tekstu na mowę w aplikacji.
Ten przewodnik omawia podstawowe zasady poprawy opóźnień zamiany tekstu na mowę. Teoretyczne wyjaśnienie, czym jest opóźnienie i co na nie wpływa, znajdziesz w artykule Zrozumienie opóźnień.
Choć istnieje wiele konkretnych technik, podzielimy je na cztery zasady.
Cztery zasady
- Używaj modeli Flash
- Korzystaj ze streamingu
- Weź pod uwagę bliskość geograficzną
- Wybieraj odpowiednie głosy
Klienci Enterprise korzystają z wyższych limitów współbieżności i priorytetowego dostępu do naszej kolejki renderowania. Skontaktuj się z działem sprzedaży, aby dowiedzieć się więcej o planach Enterprise.
Użyj modelu czasu rzeczywistego
Eleven v4 Turbo i Flash v2.5 są przeznaczone do pracy w czasie rzeczywistym, z medianą opóźnienia około 100 ms. Modele Flash oferują nieco niższą jakość audio niż Multilingual v2.
Te wartości nie obejmują czasu sieciowego ani działania aplikacji. Rzeczywiste opóźnienie end-to-end zależy od takich czynników jak lokalizacja i typ użytego endpointu. Zobacz, jak mierzymy opóźnienia.
Korzystaj ze streamingu
W naszej dokumentacji API dostępne są trzy typy endpointów zamiany tekstu na mowę:
- Zwykły endpoint: Zwraca kompletny plik audio w jednej odpowiedzi.
- Endpoint streamingowy: Stopniowo zwraca fragmenty audio za pomocą zdarzeń wysyłanych przez serwer.
- Endpoint WebSocket: Umożliwia dwukierunkowy streaming do generowania audio w czasie rzeczywistym.
Streaming
Endpointy streamingowe stopniowo zwracają audio podczas generowania go w czasie rzeczywistym, skracając czas do pierwszego bajtu. Ten endpoint jest zalecany, gdy tekst wejściowy jest dostępny od razu.
Streaming jest obsługiwany przez API Text to Speech, API Voice Changer i API Audio Isolation.
WebSockety
Endpoint WebSocket zamiany tekstu na mowę obsługuje dwukierunkowy streaming, więc świetnie sprawdza się w aplikacjach z tekstem wprowadzanym w czasie rzeczywistym (np. wynikami LLM).
Ustawienie auto_mode na true automatycznie obsługuje wyzwalanie generowania, więc nie musisz
ręcznie zarządzać strategiami fragmentów.
Jeśli auto_mode jest wyłączony, model poczeka na wystarczającą ilość tekstu zgodną z harmonogramem fragmentów, zanim zacznie generować audio.
Na przykład jeśli ustawisz harmonogram fragmentów na 125 znaków, ale dotrze tylko 50, model zatrzyma się, aż nadejdą kolejne znaki — co może zwiększyć opóźnienie.
Szczegóły implementacji znajdziesz w przewodniku po WebSocketach zamiany tekstu na mowę.
Wybieraj odpowiednie głosy
Zaobserwowaliśmy, że w niektórych przypadkach wybór głosu może wpływać na opóźnienie. Kolejność od najszybszych do najwolniejszych:
- Głosy domyślne (wcześniej gotowe), głosy syntetyczne i klony Instant Voice Clone (IVC)
- Klony Professional Voice Clone (PVC)
Formaty wyjściowe o wyższej jakości audio mogą zwiększać opóźnienie. Zadbaj o równowagę między wymaganiami dotyczącymi opóźnień a jakością audio.
Weź pod uwagę bliskość geograficzną
Udostępniamy nasze modele z wielu regionów, aby optymalizować opóźnienia zależnie od twojej lokalizacji.
Na przykład podczas używania modeli Flash z WebSocketami możesz oczekiwać następujących opóźnień TTFB zależnie od lokalizacji:
Możesz sprawdzić, który region backendu obsługuje żądanie, analizując nagłówek x-region w odpowiedzi API.
Obecnie używane regiony to: USA, Holandia i Singapur.
Klienci Enterprise mogą korzystać z naszych dedykowanych środowisk rezydencji danych w UE i Indiach, które gwarantują lokalizację serwera i niskie opóźnienia. Skontaktuj się ze swoim przedstawicielem handlowym, aby uzyskać dostęp do naszej infrastruktury rezydencji danych.
Aby zrezygnować z globalnego routingu i zawsze używać serwerów w USA, użyj bazowego adresu URL api.us.elevenlabs.io w żądaniach API:
Serwery globalne były wcześniej opcjonalne przy użyciu bazowego adresu URL api-global-preview.elevenlabs.io.
Nie jest to już konieczne, ponieważ globalny routing jest teraz domyślny. Zaktualizuj aplikacje,
aby używały po prostu api.elevenlabs.io.