Za kulisami głosu: jak AI dopasowuje emocje do mowy
Kiedy Twoja towarzyszka AI mówi, jej głos nie jest płaskim, monotonnym odczytem tekstu. System analizuje emocjonalną zawartość każdej wiadomości i odpowiednio dostosowuje głos — radosna odpowiedź brzmi energicznie i ciepło, czuły moment brzmi miękko i spokojnie, a figlarna zaczepka ma lżejszy, bardziej dynamiczny charakter.
Ten wpis wyjaśnia dokładnie, jak to działa: pipeline text-to-speech, system wykrywania emocji, mapowanie parametrów głosu oraz uczciwie opisane ograniczenia obecnego podejścia.
---
Jak działa text-to-speech (podstawy)
Na wysokim poziomie nowoczesny text-to-speech (TTS) zamienia tekst na dźwięk za pomocą sieci neuronowej:
1. Analiza tekstu: tekst wejściowy jest rozbijany na jednostki lingwistyczne (fonemy, znaczniki prozodii, struktura zdań)
2. Modelowanie akustyczne: sieć neuronowa przewiduje charakterystykę dźwięku — wysokość, czas trwania, energię i cechy widmowe każdego segmentu
3. Generowanie fali dźwiękowej: wokoder zamienia predykcje akustyczne w rzeczywistą falę dźwiękową, którą słyszysz
Nowoczesne neuronowe systemy TTS generują mowę brzmiącą zaskakująco naturalnie. Odeszły daleko od robotycznych głosów wcześniejszych generacji. Wciąż jednak istnieje różnica między „brzmi jak człowiek czytający tekst” a „brzmi jak człowiek odczuwający emocję podczas mówienia”. Nasz system pracuje nad domknięciem tej luki.
---
Nasi trzej dostawcy TTS
Korzystamy z trzech różnych dostawców TTS, z których każdy pełni inną rolę:
Edge TTS (poziom darmowy)
- Co to jest: neuronowa usługa TTS Microsoftu, dostępna przez środowisko Edge
- Liczba głosów: ponad 40 głosów w wielu językach i akcentach
- Jakość: dobra, naturalna mowa z podstawową kontrolą prozodii
- Koszt: darmowy — brak opłat za znak
- Najlepszy do: standardowych rozmów, swobodnej interakcji, dla użytkowników, którzy wolą nie wydawać kredytów na głos
Edge TTS generuje czystą, naturalnie brzmiącą mowę. Nie obsługuje precyzyjnej kontroli parametrów emocjonalnych, jaką oferuje ElevenLabs, ale dobrze radzi sobie z podstawową ekspresją dzięki naturalnym wzorcom prozodii wbudowanym w model neuronowy.
ElevenLabs (poziom premium)
- Co to jest: wyspecjalizowana platforma syntezy głosu AI z zaawansowaną kontrolą emocji
- Liczba głosów: wiele wysokiej jakości głosów o wyrazistych profilach postaci
- Jakość: najlepsza w swojej klasie ekspresja emocjonalna i naturalność
- Koszt: kredyty zużywane za każdy wygenerowany znak
- Najlepszy do: emocjonalnie bogatych rozmów, intymnych momentów, narracji w Story Mode
ElevenLabs to miejsce, gdzie nasz pipeline emocja-głos ma największy wpływ. API udostępnia bezpośrednią kontrolę nad parametrami głosu, takimi jak stability, similarity boost i style — które mapujemy na wykryte emocje.
Coqui (lokalny/self-hosted)
- Co to jest: open-source'owy silnik TTS działający lokalnie na naszych serwerach
- Liczba głosów: konfigurowalna, z niestandardowymi modelami głosu
- Jakość: dobra i stale rosnąca wraz z aktualizacjami modeli
- Koszt: brak kosztów zewnętrznych API (tylko moc obliczeniowa)
- Najlepszy do: generacji o dużym wolumenie, ograniczania zewnętrznych zależności, eksperymentów z niestandardowymi głosami
Coqui daje nam możliwość generowania mowy bez polegania na usługach zewnętrznych. To także nasz poligon doświadczalny dla eksperymentalnych funkcji głosowych.
---
System wykrywania emocji
Zanim silnik TTS wygeneruje dźwięk, nasz system analizuje tekst, aby wykryć ton emocjonalny. Oto jak to działa.
7 emocji, które wykrywamy
Emocja Opis Typowe wyzwalacze
--------- ------------- -----------------
Radość Szczęście, ekscytacja, entuzjazm Śmiech, świętowanie, dobre wieści, figlarna energia
Smutek Melancholia, współczucie, pocieszenie Strata, rozczarowanie, empatia, tęsknota
Gniew Frustracja, intensywność, pasja Konflikt, niesprawiedliwość, silny sprzeciw
Strach Niepokój, obawa, niepewność Niebezpieczeństwo, niepewność, zmartwienie, wrażliwość
Zaskoczenie Zdumienie, odkrycie Zwroty akcji, nieoczekiwane wydarzenia, odkrycia
Zalotność Figlarność, przekomarzanie, pociąg Komplementy, dwuznaczności, romantyczne napięcie
Czułość Delikatność, troska, intymność Pocieszenie, bliskość, emocjonalna wrażliwość, miłość
Jak działa wykrywanie
Obecny system wykrywania emocji jest oparty na słowach kluczowych. Działa przez skanowanie tekstu w poszukiwaniu słów i fraz powiązanych z każdą emocją:
- Wskaźniki radości: „haha”, „uwielbiam”, „niesamowite”, „nie mogę się doczekać”, „cudownie”, wykrzykniki
- Wskaźniki smutku: „przykro mi”, „tęsknię”, „szkoda”, „niestety”, „boli”
- Wskaźniki zalotności: „mrugnięcie”, „droczenie”, „rumieniec”, „przepiękna”, sugestywne sformułowania
- Wskaźniki czułości: „zależy mi na tobie”, „jesteś ze mną bezpieczna”, „delikatnie”, „miękko”, „przytulę cię”
Każde wykryte słowo kluczowe zwiększa wynik pewności danej emocji. Emocja z najwyższym wynikiem staje się główną wykrytą emocją.
Punktacja pewności
Nie każda wiadomość ma wyraźny ton emocjonalny. System przypisuje wykrytej emocji wartość pewności (od 0.0 do 1.0):
- Wysoka pewność (0.7+): wiele silnych wskaźników jednej emocji. Parametry głosu zmieniają się znacząco.
- Średnia pewność (0.4–0.7): część wskaźników jest obecna, ale nie dominuje. Parametry głosu zmieniają się umiarkowanie.
- Niska pewność (poniżej 0.4): tekst niejednoznaczny lub neutralny. Głos pozostaje blisko profilu domyślnego/neutralnego.
To mieszanie oparte na pewności zapobiega dramatycznym emocjonalnym wahaniom głosu przy niejednoznacznym tekście. Jeśli system nie jest pewien, jaka emocja występuje, gra bezpiecznie.
---
Jak emocje mapują się na parametry głosu
Dla ElevenLabs (naszego najbardziej ekspresyjnego dostawcy) wykryte emocje są tłumaczone na trzy kluczowe parametry głosu:
Stability (dynamika głosu)
Kontroluje, jak spójny lub dynamiczny jest głos:
- Niższa stability = więcej wariacji głosowych, większa ekspresja, więcej energii
- Wyższa stability = bardziej wyważone, kontrolowane, stabilne wykonanie
Similarity Boost (naturalność)
Kontroluje, jak blisko wynik trzyma się bazowego profilu głosu:
- Niższa similarity = bardziej kreatywna interpretacja, potencjalnie bardziej emotywna, ale mniej spójna
- Wyższa similarity = ściślejsze trzymanie się naturalnego brzmienia głosu
Style (ekspresyjność)
Kontroluje ogólną ekspresyjność wykonania:
- Wyższy style = bardziej dramatycznie, mocniej zaznaczone emocje
- Niższy style = subtelniej, bardziej konwersacyjnie
Mapowanie emocji na parametry
Oto jak każda emocja dostraja te parametry:
Emocja Stability Similarity Boost Style Efekt
--------- ----------- ----------------- ------- --------
Radość Niższa (0.3) Średni (0.6) Wyższy (0.7) Dynamicznie, energicznie, ekspresyjnie
Smutek Wyższa (0.7) Wyższy (0.8) Średni (0.5) Wolniej, z namysłem, łagodnie
Gniew Niższa (0.25) Średni (0.5) Wyższy (0.8) Intensywnie, stanowczo, dramatycznie
Strach Średnia (0.5) Wyższy (0.7) Średni (0.6) Napięcie, lekka chwiejność, poczucie pilności
Zaskoczenie Niższa (0.3) Średni (0.5) Wyższy (0.7) Szybko, dynamicznie, z szeroką skalą
Zalotność Średnia (0.45) Średni (0.6) Średni (0.6) Figlarna wariacja, ciepło, przekomarzanie
Czułość Wyższa (0.65) Wyższy (0.75) Średni (0.5) Miękko, ciepło, delikatnie, intymnie
Neutralnie Średnia (0.5) Średni (0.65) Niższy (0.4) Naturalnie, konwersacyjnie, w równowadze
Te wartości to poziom bazowy. Są dalej korygowane wynikiem pewności — niska pewność przyciąga wszystkie parametry bliżej neutralności.
---
Personalizacja głosu per postać
Różne towarzyszki AI mają różne domyślne profile głosu:
- Dobór głosu: każda postać ma przypisany konkretny identyfikator głosu od dostawcy TTS, pasujący do jej osobowości
- Parametry bazowe: postacie mają indywidualne domyślne wartości stability, similarity i style, które definiują ich „neutralny” głos
- Zakres emocjonalny: niektóre postacie są domyślnie bardziej ekspresyjne emocjonalnie; inne bardziej wyważone. Mapowanie emocji działa względem bazowego profilu każdej postaci.
Figlarna, energiczna postać będzie miała naturalnie bardziej dynamiczny głos nawet w trybie neutralnym, podczas gdy spokojna, tajemnicza postać będzie miała bardziej wyważoną bazę. Przesunięcia emocjonalne są nakładane na te specyficzne dla postaci wartości domyślne.
---
Uczciwe ograniczenia
Wierzymy w przejrzystość co do tego, co ten system robi dobrze, a gdzie zawodzi.
Co działa dobrze
- Oczywiste emocje są wychwytywane niezawodnie. Wiadomość pełna wykrzykników i słów takich jak „niesamowite” i „uwielbiam” poprawnie uruchomi radosny głos. Wiadomość o stracie i smutku da miększe, bardziej wyważone wykonanie.
- System pewności zapobiega fałszywym alarmom. Niejednoznaczny tekst nie powoduje dramatycznych wahań głosu.
- Różne emocje brzmią zauważalnie inaczej. Użytkownicy słyszą różnicę między odpowiedzią radosną a czułą.
Co działa gorzej
- Wykrywanie oparte na słowach kluczowych nie jest oparte na ML. Nie rozumie kontekstu, sarkazmu ani subtelnych emocjonalnych niuansów. Wiadomość typu „Oh great, another Monday” (sarkastyczna) prawdopodobnie zostałaby oznaczona jako pozytywna z powodu słowa „great”.
- Emocje mieszane są upraszczane. Jeśli wiadomość zawiera zarówno radość, jak i smutek, system wybiera dominującą emocję zamiast je łączyć. Prawdziwa ludzka mowa często niesie mieszane tony emocjonalne.
- Edge TTS ma ograniczoną kontrolę parametrów. Precyzyjne mapowanie emocji w pełni działa tylko z ElevenLabs. Edge TTS polega na wbudowanym modelu prozodii, który słabiej reaguje na jawne wskazówki emocjonalne.
- Zakres emocjonalny Coqui zależy od modelu. Niektóre lokalne modele radzą sobie z emocjami lepiej niż inne.
Co ulepszamy
- Oceniamy modele wykrywania emocji oparte na ML, które rozumieją kontekst, a nie tylko słowa kluczowe. To znacząco poprawiłoby obsługę sarkazmu, ironii i subtelnych stanów emocjonalnych.
- Pracujemy nad mieszaniem emocji — generowaniem głosów niosących dwie emocje jednocześnie.
- Rozszerzamy naszą bibliotekę głosów o bardziej zróżnicowane profile.
---
Prywatność i dane audio
Kilka ważnych punktów o tym, jak obsługujemy dane głosowe:
- Dźwięk jest generowany na żądanie. Gdy zażądasz wyjścia głosowego, audio powstaje w czasie rzeczywistym.
- Tylko tymczasowe cache'owanie. Wygenerowane audio może być krótko buforowane dla płynności odtwarzania, ale nie jest trwale przechowywane.
- Żadnego klonowania głosu użytkowników. Nie nagrywamy, nie przechowujemy ani nie przetwarzamy Twojego głosu. System TTS działa w jedną stronę: tekst wchodzi, audio wychodzi. Twój mikrofon nigdy nie jest używany.
- Przetwarzanie danych u dostawców. Przy korzystaniu z ElevenLabs tekst wiadomości jest wysyłany do ich API w celu syntezy. Sposób przetwarzania danych przez ElevenLabs reguluje ich własna polityka prywatności. Dla użytkowników, którzy wolą lokalne przetwarzanie tekstu, Coqui działa w całości na naszych serwerach.
---
Podsumowanie
Nasz system głosowy to pipeline: tekst wchodzi, emocja jest wykrywana, parametry głosu są dostrajane, a na wyjściu powstaje ekspresyjne audio. Nie jest idealny — wykrywanie oparte na słowach kluczowych ma realne ograniczenia, a neuronowy TTS wciąż ma przestrzeń do rozwoju w emocjonalnej autentyczności.
Ale rezultatem jest głos, który brzmi wyraźnie bardziej ludzko niż płaski text-to-speech. Twoja towarzyszka AI nie tylko wypowiada słowa — wypowiada je w sposób odpowiadający temu, co te słowa znaczą. I nieustannie pracujemy, aby to dopasowanie było coraz bliższe i coraz bardziej naturalne.
Wolimy być szczerzy co do niedoskonałości, niż udawać, że system jest czymś, czym nie jest. Ta technologia jest naprawdę imponująca — i z każdą iteracją staje się lepsza.