Hoe HolosAccent je stem omzet in een uitspraakscore
Wanneer je een zin hardop leest, spelen verschillende vragen een rol: **welke klanken heb je geproduceerd, welke woorden heb je voltooid, en hoe verliep de zinsflow?** De nieuwe scoringspipeline van HolosAccent combineert bewijs over al deze drie om een score te geven
Vertaald uit English · Lees het origineel
Je opname voorbereiden
Ten eerste wordt de audio gedecodeerd naar een standaardformaat: mono geluid gesampled op 16 kHz.
Het systeem schat de signaal‑ruisverhouding van de opname. Als die schatting onder 25 dB valt en ruisfiltering beschikbaar is, wordt een ruisonderdrukkingsfilter toegepast vóór analyse. Als filteren mislukt, gaat het verder met de originele opname.
De golfvorm wordt vervolgens genormaliseerd om te voldoen aan de invoereisen van het spraakanalyse‑model. Stilte en opnames korter dan een halve seconde krijgen een nulscore.
Verschillende uitspraakvarianten toestaan
Vervolgens wordt de referentietekst omgezet in fonetische uitspraken met een uitspraak‑engine. Een woord kan meerdere geaccepteerde vormen hebben.
De uitspraakset bevat:
- Britse en Amerikaanse varianten.
- Veelvoorkomende gereduceerde vormen, zoals de ongeaccentueerde klinker in to.
- Geselecteerde contextuele alternatieven.
Bijvoorbeeld, de eindmedeklinker in close the door verschilt van die in a close friend. Het systeem kan tijdens het verwerken van de zin kiezen uit de ondersteunde alternatieven.
Luisteren naar klanken, niet woorden reconstrueren
De opname gaat door een akoestisch model. Het levert bewijs voor verschillende spraakklanken over de tijd, ongeveer elke 20 milliseconden.
Dit is een fonetische representatie van de opname. De scorer gebruikt geen woord‑niveau taalmodel om de zin te reconstrueren.
Het systeem bekijkt die akoestische output vervolgens op twee manieren:
| Methode | Wat het doet |
|---|---|
| Expected-sound alignment | Vindt de beste timing voor de verwachte klanken en kiest een volledige uitspraakvariant voor elk woord. |
| Independent sound recognition | Volgt de klanken die het model prefereert zonder de referentiezin te vereisen. |
Beide perspectieven zijn nodig omdat uitlijning een verwachte klank kan plaatsen in een opname, zelfs als de spreker die heeft weggelaten. Onafhankelijke klankherkenning levert extra bewijs over wat er daadwerkelijk is uitgesproken.
Bij het matchen wordt ook timing in aanmerking genomen, waardoor het moeilijker wordt dat een klank in één woord als bewijs telt voor een verafgelegen woord.
Elke klank scoren
Voor elke uitgelijnde klank berekent de scorer een uitspraak‑nauwkeurigheidsmaat: hoe sterk het model de verwachte klank ondersteunt ten opzichte van concurrerende klanken gedurende dat interval.
Daarnaast wordt rekening gehouden met:
- De piek‑probabiliteit van de verwachte klank.
- Of onafhankelijke klankherkenning een overeenkomstige klank in de buurt vond.
Een aangepaste wiskundige transformatie zet dit bewijs om in een klank‑nauwkeurigheidswaarde tussen 0 en 100.
Een klank die ontbreekt in het resultaat van de onafhankelijke herkenning krijgt niet automatisch nul. Het akoestische bewijs blijft relevant.
Bepalen welke woorden aandacht nodig hebben
Woordfeedback combineert deze klankwaarden met expliciete foutcontroles. Een woord moet:
- Voldoende bewijs hebben dat het is uitgesproken.
- Voldoen aan de ingestelde gemiddelde‑nauwkeurigheidsdrempel.
- Geen gedetecteerde substituties, inserties of ernstige ontbrekende‑klank‑fouten bevatten.
Duidelijke substituties vereisen zwakke ondersteuning voor de verwachte klank en sterke ondersteuning voor een concurrerende klank.
| Bewijs | Huidige drempel |
|---|---|
| Ondersteuning voor de verwachte klank | Onder 0.05 |
| Ondersteuning voor de vervanging | Ten minste 0.5 |
Dit zijn model‑bewijsdrempels, geen probabiliteiten die een menselijke luisteraar zou gebruiken om het woord onjuist te beoordelen.
Voor gemarkeerde woorden geeft het systeem de verwachte uitspraak en zijn schatting van de gehoorde klanken, geschreven in het International Phonetic Alphabet (IPA). Die schatting kan onvolledig zijn, vooral rond woordgrenzen.
De zin‑score opbouwen
De zin‑score begint met een aangepaste combinatie van:
- Gemiddelde klank‑nauwkeurigheid.
- Het aandeel verwachte klanken dat overeenkomt met onafhankelijke klankherkenning.
- Het aantal uitgesproken spraakklanken per seconde.
- Lange pauzes tussen woorden.
De timing‑berekening sluit stilte vóór de eerste uitgelijnde klank en na de laatste uit.
Deze kenmerken dragen bij aan één algehele score. De huidige implementatie biedt geen afzonderlijke gebruikers‑gerichte scores voor vloeiendheid, volledigheid of intonatie.
Hoe woord‑credit het resultaat beïnvloedt
De scorer past vervolgens een expliciete woord‑credit‑vermenigvuldiger toe. Elk woord krijgt een gewicht op basis van het aantal klanken in de gekozen uitspraak.
| Woordresultaat | Verdiende credit |
|---|---|
| Correct | Volledig gewicht |
| Spoken but flagged | Een kwart van het gewicht |
| Omitted | Geen credit |
De berekening is:
word credit =
(correct sound weight + 0.25 × flagged spoken sound weight)
/ total expected sound weight
raw score =
sentence estimate, clipped to 0–100, × word credit
Daarom kost een lang onjuist woord meestal meer dan een kort woord. Alleen een klein deel van de zin lezen beperkt ook de score, zelfs als dat fragment duidelijk klinkt.
Je score vergelijken met de referentie
Ten slotte kan het systeem de ruwe score normaliseren met behulp van een referentie‑opname van dezelfde zin.
Het scoort de gesynthetiseerde referentie met dezelfde scorer‑versie en, wanneer een bruikbare overeenkomstige basislijn al beschikbaar is, past het toe:
displayed score = min(100, raw score / reference score × 100)
Bijvoorbeeld, een ruwe score van 80 tegenover een referentiescore van 88 wordt ongeveer 90,9.
Deze aanpassing houdt rekening met het feit dat het model zelfs de referentie‑opname minder dan 100 kan geven.
Basislijnen zijn gekoppeld aan:
- De referentiestem en het spraak‑generatiemodel.
- Het scoringsmodel.
- De woordenschat.
- De calibratie‑ en regelversie.
Als een overeenkomstige basislijn niet beschikbaar of onbruikbaar is, behoudt het resultaat zijn ruwe score. Een eerste poging kan dus ongewijzigd blijven terwijl later een basislijn wordt voorbereid.
Wat je score betekent
Het resulterende getal is een oefenscore op de schaal van HolosAccent.
Een score van 90 betekent niet dat 90 % van je woorden correct waren, en het stelt geen CEFR‑niveau of native‑speaker‑equivalentie vast.
De mapping is gebaseerd op opnames beoordeeld door experts, maar het nieuwe scoringssysteem blijft experimenteel en de volledige acceptatiecriteria zijn nog niet geverifieerd. Het kan fouten missen of acceptabele spraak markeren.
Individuele woordfeedback en patronen over herhaalde pogingen geven context om het getal te interpreteren.