Optymalizacja opóźnień
Optymalizacja opóźnień
Ten przewodnik pokazuje, jak zmniejszyć opóźnienia zamiany tekstu na mowę w aplikacji.
Ten przewodnik opisuje kluczowe zasady skracania opóźnień zamiany tekstu na mowę. Wyjaśnienie, czym jest opóźnienie i co na nie wpływa, znajdziesz w artykule Zrozumienie opóźnień.
Istnieje wiele konkretnych technik, ale podzielimy je na cztery zasady.
Cztery zasady
- Używaj modeli Flash
- Korzystaj ze streamingu
- Uwzględnij odległość 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ę ze sprzedażą, aby dowiedzieć się więcej o planach Enterprise.
Używaj modeli Flash
Modele Flash oferują szybkość inferencji na poziomie ~75 ms, więc świetnie sprawdzają się w aplikacjach czasu rzeczywistego. Kompromisem jest nieco niższa jakość audio w porównaniu z Multilingual v2.
75 ms dotyczy tylko czasu inferencji modelu. Rzeczywiste opóźnienie end-to-end zależy od takich czynników jak twoja lokalizacja i użyty typ endpointu.
Korzystaj ze streamingu
W naszej dokumentacji API dostępne są trzy typy endpointów zamiany tekstu na mowę:
- Zwykły endpoint: Zwraca pełny plik audio w jednej odpowiedzi.
- Endpoint streamingowy: Stopniowo zwraca fragmenty audio przez zdarzenia wysyłane 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 polecamy, 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.
WebSocket
Endpoint WebSocket zamiany tekstu na mowę obsługuje dwukierunkowy streaming, dlatego idealnie nadaje się do aplikacji 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.
Gdy auto_mode jest wyłączony, model czeka 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 nadejdzie tylko 50, model zatrzyma się, aż pojawią się kolejne znaki — co może zwiększyć opóźnienie.
Szczegóły implementacji znajdziesz w przewodniku po WebSocket 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. Oto kolejność od najszybszych do najwolniejszych:
- Głosy domyślne (dawniej gotowe), głosy syntetyczne i Instant Voice Clones (IVC)
- Professional Voice Clones (PVC)
Formaty wyjściowe o wyższej jakości audio mogą zwiększać opóźnienie. Dopasuj wymagania dotyczące opóźnień do potrzebnej jakości audio.
Uwzględnij odległość geograficzną
Udostępniamy nasze modele z wielu regionów, aby zoptymalizować opóźnienia zależnie od twojej lokalizacji.
Na przykład przy użyciu modeli Flash z WebSocket możesz oczekiwać następujących opóźnień TTFB zależnie od lokalizacji:
Możesz sprawdzić, który region backendu obsługuje twoje żą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, aby mieć gwarancję lokalizacji serwera i niskie opóźnienia. Skontaktuj się z przedstawicielem sprzedaży, aby uzyskać dostęp do naszej infrastruktury rezydencji danych.
Aby zrezygnować z globalnego routingu i zawsze używać serwerów w USA, stosuj bazowy adres URL api.us.elevenlabs.io w żądaniach API:
Wcześniej globalne serwery wymagały wyboru poprzez bazowy adres URL api-global-preview.elevenlabs.io.
Nie jest to już konieczne, ponieważ jest to teraz zachowanie domyślne. Zaktualizuj aplikacje,
aby używały po prostu api.elevenlabs.io.