---
title: "Šta se desi s rečenicom nakon što je glasovni model izgovori"
description: "Između glasovnog modela i pozivaoca agent skraćuje, prilagođava, provjerava i kešira svaku rečenicu, a keš ponovo provjerava noću."
canonical: "https://dialogist.cc/bs/research/after-the-voice-model/"
locale: "bs"
updatedAt: "2026-10-19"
---

# Šta se desi s rečenicom nakon što je glasovni model izgovori

Istraživanja · 2026-10-19 · Dialogist team

> Između glasovnog modela i pozivaoca agent skraćuje, prilagođava, provjerava i kešira svaku rečenicu, a keš ponovo provjerava noću.

Glasovni model proizvodi zvuk, a telefonskom pozivu treba više od toga. Između ta dva koraka agent skraćuje svaku rečenicu, prilagođava joj frekvenciju uzorkovanja, provjerava je tako što je prepozna nazad i kešira je, a keš se noću sam ponovo provjerava. Ova bilješka opisuje tu obradu.

Sintetizirana rečenica može početi vlastitom tišinom koju nijedan vremenski log ne pokazuje. Ova bilješka počinje od te tačke.

Izmjereno na: početna tišina iz 400 isječaka u glasovnom kešu, prag −50 dBFS. Udjeli keša s test-standa za opterećenje, agent za regrutaciju, 64.192 fraze. Pragovi provjere su produkcijske zadane vrijednosti i mogu se podešavati po instalaciji.

Ukratko: tišina prije prve riječi pada s medijane od 280 ms na 40 ms. Svaki isječak koji ide u keš prepoznaje se nazad i poredi s tekstom koji je trebao izgovoriti. Keš se ponovo provjerava svake noći, dok nema poziva. Na test-standu za opterećenje 94% prvih fraza odgovora došlo je iz provjerenog keša, a fraza iz keša počinje za oko 1 ms.

## Od zvuka do odgovora u pozivu

Model za sintezu govora pretvara tekst u zvuk. Nije napravljen za telefonsku liniju, a razlika se vidi u sitnicama koje pozivalac odmah primijeti:

- **Tišina prije prve riječi.** Svaki isječak počinje kratkom pauzom. Pozivalac je čuje kao oklijevanje agenta.
- **Pauza usred rečenice.** Na telefonskoj liniji pola sekunde tišine usred rečenice zvuči kao prekinut poziv. Pozivalac počne govoriti u tu prazninu i smjena replika se raspadne.
- **Rečenica koja se prekine ili se ne završava.** Rijetko se desi da model stane na pola ili upadne u petlju.
- **Pogrešne riječi.** Svaki neuralni glas povremeno može izgovoriti nešto drugo od svog teksta, pa se svaki isječak provjerava. Sve akustičke mjere prolaze: zvuk je čist govor druge rečenice.
- **Klikovi i klipovanje.** Zvuk napravljen na jednoj frekvenciji uzorkovanja mora do linije stići na drugoj, u dijelovima, bez klika na svakom spoju.

To je razmak između zvuka i odgovora u pozivu, a nijedna stavka nije greška modela. Dialogist taj razmak zatvara obradom na izlazu, provjerama svakog isječka i kešom koji sam održava čistoću.

## Tišina prije prve riječi

Izmjerili smo početak 400 isječaka u glasovnom kešu. Medijalni isječak počinjao je s 280 ms tišine, a nijedan s manje od 200 ms. Ta tišina je smještena upravo između kraja pitanja pozivaoca i agentovog odgovora.

Agent je skraćuje dok se isječak reproducira:

- **Okviri.** Skraćivač čita zvuk u okvirima od 10 ms. Prvi okvir glasniji od −50 dBFS je početak govora.
- **Margina.** Reprodukcija počinje 40 ms prije tog okvira. Četrdeset milisekundi čuva meki početak prvog glasa, pa ništa ne ostaje odsječeno.
- **Strujanje.** Skraćivač zadržava samo tihe okvire, a sve od početka govora propušta bajt po bajt.
- **Ograničenje.** Ako se govor ne pojavi u roku od 600 ms, skraćivač reproducira isječak onakav kakav jeste: pauza košta manje od progutane prve riječi.
- **Original ostaje.** Keš čuva neskraćeni isječak. Skraćivanje se događa pri reprodukciji, pa ga možemo podešavati bez diranja pohranjene datoteke.

Agent po zadanim postavkama skraćuje prvu rečenicu svakog odgovora, gdje je tišina čisto čekanje. Pauze između kasnijih rečenica ostaju onakve kakve ih je glas napravio, jer tamo zvuče kao disanje.

> Skraćivanje uklanja oko 240 ms od medijalnih 280 ms početne tišine. Na liniji je odgovor jednog poziva stigao oko 200 ms ranije.

## Frekvencije uzorkovanja bez klikova

Glas se proizvodi na studijskoj frekvenciji uzorkovanja, a telefonska linija radi na 8 ili 16 kHz. Pretvoriti cijeli isječak odjednom je lako. Klikovi nastaju kad se tok pretvara dio po dio: svaki dio pretvoren zasebno počinje i završava malim prelaznim šumom, pa se spojevi čuju.

Agent pretvara metodom overlap-save. Svaki dio filtrira s kontekstom s obje strane i šalje samo sredinu, onaj dio koji je izračunat s punim kontekstom. Kad se tok tako obrađuje, izlaz se poklapa s pretvaranjem cijelog isječka odjednom u granicama od 2 najmanje značajna bita, ispod svega što telefonska linija može prenijeti.

## Svaki isječak se provjerava

Prije nego što isječak uđe u keš, gdje će ga čuti mnogi pozivaoci, agent ga provjerava. Provjera propušta zvuk nazad kroz prepoznavanje govora i kroz skup akustičkih testova.

_Provjere koje isječak prolazi prije ulaska u keš._

| Provjera            | Pada kad                                                            | Zašto                                                                                                                |
| ------------------- | ------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| Prepoznavanje nazad | prepoznati tekst se s predviđenim tekstom poklapa manje od 80%      | Jedini način da se zna da je glas izgovorio ovu rečenicu. Tečan isječak pogrešnih riječi prolazi sve ostale testove. |
| Dužina              | isječak je kraći od 0,4× ili duži od 2,5× dužine očekivane za tekst | Prekratak otkriva prekinutu rečenicu. Predug otkriva petlju.                                                         |
| Pauza unutra        | bilo koja tišina unutar rečenice duža je od 0,7 s                   | Na telefonskoj liniji zvuči kao prekinut poziv.                                                                      |
| Nivo                | isječak je ukupno tiši od −50 dBFS                                  | Prazan ili gotovo nečujan isječak.                                                                                   |
| Klipovanje          | više od 0,5% uzoraka dostiže punu skalu                             | Izobličenje koje pozivalac čuje kao pucketanje.                                                                      |
| Rubovi              | tišina na bilo kojem kraju duža je od 0,5 s                         | Samo upozorenje: sam govor je ispravan.                                                                              |

Dva detalja održavaju provjeru poštenom:

- **Brojevi se ocjenjuju blago.** Prepoznavanje piše „500“ riječima, pa bi poređenje slovo po slovo oborilo savršen isječak. Kod teksta s ciframa nepodudaranje je upozorenje, a agent isječak ne generiše ponovo u beskonačnoj petlji.
- **Oznake izgovora se uklanjaju** prije poređenja, pa naglasak u tekstu ne računa kao greška.

Agent ponovo generiše isječak koji ne prođe. Ako i dalje ne prolazi, agent ga označi da ga čovjek presluša.

## Fraze spremne prije poziva

Mnoge rečenice koje agent izgovara su predvidljive: pozdrav, pitanja iz skripte, potvrde. Keš agenta zagrijavamo prije početka poziva: pokrećemo simulirane razgovore s agentom, prikupljamo šta govori, sintetiziramo svaku frazu, provjeravamo je kao gore i pohranjujemo.

Svaka fraza dobija drugi pokušaj ako ne prođe provjeru, a sve što i tada ostane ispod granice označava se u izvještaju.

Na test-standu za opterećenje 94% prvih fraza odgovora i 95% svih 64.192 fraze došlo je iz keša. Fraza iz keša počinje za oko milisekundu, a nova za oko 100 ms.

## Keš se noću čisti sam

Keš je dobar koliko i njegov najlošiji isječak, zato Dialogist ponovo provjerava keš van radnog vremena.

- **Kada.** U noćnom prozoru, po zadanim postavkama od 01:00 do 06:00, i samo dok nema poziva u toku. Ako stigne poziv, provjera se pauzira i minut kasnije ponovo gleda.
- **Šta.** Isječci koji nikad nisu provjereni, isječci koji su prošli s upozorenjem i isječci provjereni prije više od 30 dana.
- **Kojim redom.** Prvo najčešće reproducirani. Greška u frazi koja se čuje hiljadu puta dnevno košta više od greške u frazi koja se čuje jednom.
- **Koliko.** Do 2.000 isječaka noću, jedan po jedan, da provjera nikad ne konkuriše jutarnjem radu.
- **Na kojem jeziku.** Provjera prepoznaje svaki isječak na jeziku za koji je napravljen, pa greškom ne obara englesku frazu u keš memoriji koja je pretežno srpska.
- **Pri padu.** Provjera ponovo generiše isječak, najviše dvaput. Novi zvuk zamjenjuje stari pod istim unosom, a unos zadržava historiju reprodukcije.
- **Karantin.** Ako ponovna generacija ne popravi isječak, provjera ga stavlja u karantin. Agent nikad ne reproducira isječak iz karantina: tu rečenicu umjesto toga sintetizira uživo, a rezultat uživo ne smije prepisati datoteku u karantinu. Isječak ostaje dok ga čovjek ne presluša i ne odobri, ponovo generiše ili obriše.

Svako noćno pokretanje ostavlja izvještaj od jednog reda: koliko je isječaka provjereno, prošlo, ponovo generisano i stavljeno u karantin.

## Ista rečenica, isti zvuk

Keš pohranjuje svaki isječak sa svime što mijenja kako zvuči: glasom, brzinom govora, jezikom i profilom izgovora. Dva agenta s istim glasom i različitim brzinama nikad ne dijele isječak.

Rječnici izgovora (nazivi marki, ulice, žargon) pohranjuju se također uz isječak. Kad noćna provjera ponovo generiše frazu, primjenjuje iste unose rječnika koje je koristio originalni poziv, pa novi isječak zvuči kao onaj koji zamjenjuje.

## Na liniji

Posljednji korak je mikser koji šalje zvuk pozivaocu:

- **Mekani limiter** na −1 dBFS na zbiru svega što se reproducira, pa se glas agenta i svaki zvuk u pozadini nikad ne klipuju zajedno.
- **Utišavanje od 30 ms** kad agent stane zbog upada u riječ, tako da staje bez klika.
- **Spuštanje jačine** agentovog glasa dok pozivalac govori; glas se vraća kad pozivalac stane. [Slušanje dok se govori](/bs/research/listening-while-talking/) opisuje kako agent postupa sa stranom pozivaoca.

Tags: Research, Sinteza govora, Latencija

---

Contact: hello@dialogist.cc
