Opóźnienie syntezy mowy to czas od wysłania tekstu do usłyszenia pierwszego dźwięku. W agencie głosowym lub podczas odtwarzania na żywo to kluczowy wskaźnik. API Speechify pozwala znacząco go skrócić. W tym artykule omawiamy dziewięć sposobów — od wyboru modelu po ponowne użycie połączenia.
Szczegóły techniczne znajdziesz we wpisach changeloga na speechify.ai. Zacznij od omówienia strumieniowego TTS na speechify.ai/streaming-tts.
Jak wybrać najszybszy model TTS?
Dla języka angielskiego wybierz Simba 3.2. To rekomendowany model do zastosowań strumieniowych, z najkrótszym czasem do pierwszego dźwięku. W przypadku tekstu wielojęzycznego Simba 3.0 pozwala wybrać język i nadal zapewnia wysoką szybkość. Starsze modele są dostępne ze względu na zgodność wsteczną, ale wiążą się z większym opóźnieniem.
Dobierz model do zastosowania. Agent głosowy o niskim opóźnieniu wymaga Simba 3.2. Audiobook generowany wsadowo może korzystać z dowolnego modelu, bo nie wymaga reakcji w czasie rzeczywistym.
Czy lepiej strumieniować, niż czekać na cały plik?
Tak, jeśli użytkownik słucha na żywo. Wywołaj POST /v1/audio/stream i odtwarzaj dźwięk na bieżąco, zamiast czekać na cały plik. Endpoint strumieniowy zwraca audio we fragmentach, więc pierwszy dźwięk dociera do użytkownika znacznie szybciej: https://docs.speechify.ai/build/api-reference/v1/audio/stream
Jeśli potrzebujesz znaczników czasowych lub wyrównania słów w strumieniu, użyj też endpointu POST /v1/audio/stream/with-timestamps: https://docs.speechify.ai/build/api-reference/v1/audio/stream/with-timestamps
Czy wdrożenie na edge skraca opóźnienie?
Może skrócić czas przesyłu danych. Edge function, która korzysta z API i strumieniuje audio bliżej użytkownika, zmniejsza liczbę przeskoków po drodze. Ostateczne opóźnienie to suma czasu trasowania do serwera API i z powrotem — z aplikacji, od użytkownika lub z edge.
Który format wyjściowy jest najszybszy?
Wybierz format, który można odtworzyć od razu, bez transkodowania. W systemach telefonicznych ulaw_8000 odpowiada natywnemu formatowi Twilio. W przeglądarkach PCM lub format obsługiwany przez odtwarzacz eliminuje etap dekodowania.
Im mniej konwersji między API a głośnikiem, tym mniejsze opóźnienie.
Jak równoległość skraca postrzegane opóźnienie?
Syntezuj równolegle, gdy masz wiele krótkich fragmentów. Wygenerowanie dziesięciu napisów jednocześnie będzie szybsze niż robienie tego po kolei. API obsługuje wiele równoczesnych żądań, więc grupuj je, kiedy to możliwe.
Dlaczego warto ponownie używać połączeń?
Utrzymuj jedno połączenie HTTP zamiast otwierać nowe za każdym razem. Negocjacja TLS i zestawianie połączeń przy tysiącach żądań generują dodatkowy narzut. Ponowne użycie połączenia eliminuje ten koszt przy każdym wywołaniu.
Czy warto buforować powtarzający się tekst?
Buforuj audio dla często powtarzających się tekstów. Klucze, powitania i stałe komunikaty UI pojawiają się regularnie. Przechowuj wygenerowany fragment według tekstu, głosu i modelu, a potem używaj go ponownie. Pełny opis tego podejścia znajdziesz w artykule o kosztach buforowania TTS.
Jak skrócić wejście?
Krótszy tekst syntezuje się szybciej. Usuń standardowe wstawki, skróć wstęp i wysyłaj tylko to, co użytkownik naprawdę musi usłyszeć. Mniej tekstu to mniej audio i szybsze wygenerowanie pierwszego fragmentu.
Czy znaczniki słów maskują opóźnienie?
Tak. Strumieniuj przez POST /v1/audio/stream/with-timestamps, aby na bieżąco otrzymywać znaczniki słów. Wyświetlaj napisy słowo po słowie, żeby użytkownik widział postęp, gdy reszta wciąż się ładuje. Dzięki temu całość sprawia wrażenie szybszej, nawet jeśli długość nagrania się nie zmienia.
FAQ
Jaki poziom opóźnienia TTS uznaje się za dobry?
W przypadku agentów głosowych warto celować w pojawienie się pierwszego dźwięku w czasie krótszym niż kilkaset milisekund. Pomaga w tym strumieniowanie. W zadaniach wsadowych ważniejszy jest łączny czas realizacji niż czas do pierwszego bajtu.
Czy strumieniowanie kosztuje więcej?
Nie. Płacisz za liczbę zsyntezowanych znaków. Strumieniowanie zmienia tylko sposób dostarczania, a nie koszt.
Który model jest najszybszy w Speechify?
Simba 3.2. To rekomendowany model strumieniowy o najkrótszym czasie do pierwszego dźwięku dla języka angielskiego.
Czy warto buforować audio TTS?
Tak, jeśli teksty się powtarzają. Buforuj według tekstu wejściowego, głosu i modelu, a potem używaj tego samego nagrania zamiast generować je od nowa.

