Bij spraakverwerking is een codeboek een gestructureerde verzameling representatieve spraakeenheden of kenmerken. Deze eenheden kunnen variëren afhankelijk van de specifieke toepassing en het type spraakverwerking dat wordt uitgevoerd. Ze zijn in wezen een woordenboek van 'bouwstenen' die worden gebruikt om spraaksignalen weer te geven en te manipuleren.
Hier volgt een overzicht van hoe codeboeken in verschillende contexten worden gebruikt:
* Vectorkwantisering (VQ): Dit is de meest voorkomende toepassing. In VQ bevat een codeboek een reeks vectoren (die vaak spectrale kenmerken vertegenwoordigen zoals Mel-Frequency Cepstral Coefficients – MFCC's). Deze vectoren vertegenwoordigen verschillende "prototypes" van spraakklanken. Tijdens het coderen wordt een binnenkomende spraakkenmerkvector vergeleken met de vectoren in het codeboek, en de index van de vector die het meest overeenkomt, wordt gebruikt als een gecomprimeerde representatie van de originele spraak. Tijdens het decoderen wordt deze index gebruikt om de overeenkomstige vector uit het codeboek op te halen, waardoor een benadering van de oorspronkelijke spraak wordt gereconstrueerd. Het doel is om efficiënte compressie te bereiken met behoud van een aanvaardbare spraakkwaliteit.
* Verborgen Markov-modellen (HMM's): Codeboeken worden soms binnen HMM's gebruikt voor spraakherkenning. Elke toestand in een HMM kan een bijbehorend codeboek hebben dat de akoestische kenmerken vertegenwoordigt die waarschijnlijk in die toestand zullen worden waargenomen. De waarschijnlijkheden van het waarnemen van specifieke codeboekvectoren worden vervolgens gebruikt tijdens het decoderingsproces om de meest waarschijnlijke reeks HMM-toestanden (en dus de herkende woorden) te bepalen.
* Luidsprekerherkenning/verificatie: Codeboeken kunnen sprekerspecifieke functies opslaan. Een codeboek kan bijvoorbeeld de typische spectrale kenmerken van de stem van een bepaalde spreker weergeven. Dit codeboek kan vervolgens worden gebruikt om de stem van een onbekende spreker te vergelijken om te bepalen of deze overeenkomt.
In wezen biedt een codeboek een gekwantiseerde, compacte weergave van de potentieel enorme ruimte van mogelijke spraakgeluiden of sprekerkarakteristieken, waardoor efficiënte opslag, verzending en verwerking van spraakgegevens mogelijk wordt. De kwaliteit van de spraakverwerking is sterk afhankelijk van de kwaliteit en het ontwerp van het codeboek, waarbij vaak trainingsalgoritmen betrokken zijn om effectieve representaties te creëren. |