Webbföreläsning på kurser i Göteborg, Lund och Uppsala Introduktion till talteknologi Johan Frid (johan.frid@ling.lu.se) 1
Talteknologi Handlar om talet som gränssnitt för datoranvändning Tillämpningar av detta Kombinerar: Akustisk fonetiska kunskaper om tal Datorbearbetning Idag: Matematiska och statistiska metoder Programmering Orientering om delområden och resurser Lite detaljerat om text till tal och taligenkänning 2
Ett klassiskt exempel 2001: A space odyssey (HAL 9000) 3
Dialog med HAL 9000 Dave Bowman: Open the pod bay door, HAL. HAL: I'm sorry, Dave, I'm afraid I can't do that. Dave Bowman: Where the hell did you get THAT idea, HAL? HAL: Dave, although you took very good precautions in the pod against my hearing you, I could see your lips move. Dave Bowman: Alright, HAL...I'll go in through the emergency airlock. HAL: Without your space helmet, Dave, you're going to find that rather difficult. 4
Hal 9000 Perfekt taligenkänning Perfekt språkförståelse Perfekt syntes Perfekt diskursmodellering (syn) (kunskap om världen) 5
Är dessa mål realistiska? Bra mål, men är mera science fiction än science facts Talteknologi behöver inte nå så långt för att det skall leda till användbara saker 6
Fördelar som kan uppnås med fungerande talteknolgi Ger människan en ny kanal för datorkommunikation på människans villkor Talet är vårt sätt att kommunicera inte datorns > psykologisk fördel Rörelsefrihet Händer och ögon kan lämnas fria för annat Man är ej bunden till tangentbord och skärm Tal är Effektivt och snabbt Alltid tillgängligt 7
Talteknologi, delområden Talsyntes Framställning av artificiellt tal Text till tal omvandling (text to speech, TTS) Tillämpningar Ljudböcker Uppläsning av text på webbsidor, email fördelar för synskadade Dialog och talsvarssystem 8
Talteknologi, delområden Taligenkänning aka how to wreck a nice beach Från tal till text (automatic speech recognition, ASR) Tillämpningar Diktafon tal istället för tangentbord vid textinmatning Kommandon (röststyrning) Styra datorprogram och hemelektronik Dialogsystem, Språkinlärning 9
Talteknologi, delområde Analys av tal Många grundläggande tekniker för att studera tal baserar sig på talteknologiska tekniker inom signalbehandling Grundton Spektrum, spektrogram Formanter Intensitet Tonande/tonlös 10
Talteknologi, delområden Manipulering av tal Modifiering av det akustiska innehållet, t ex förändring av grundton, taltempo och klangfärg Främst för tillverkning av stimuli för perceptionstester Ex: Omvandling av 't' till d (genom borttagning av ocklusionsfasen före 't') för att testa kategorisk perception 11
Talteknologi, delområden Röstmanipulering För att anonymisera en röst roliga effekter i t ex animerad film talförbättring (speech enhancement) Framhävning av vissa akustiska fenomen över andra Förstärker akustiska kontraster, kan hjälpa hörselskadade Kan förbättra förståelsen i brusiga miljöer
Talteknologi, delområden Tal till tal översättning Talad input på ett språk ger talad output på ett annat språk Taligenkänning > maskinöversättning > talsyntes Dialog och talsvarssystem Användaren söker information och utför tjänster Datorgenererade svar och/eller instruktioner Taligenkänning > Förståelse > Informationssökning > Generering av svar > Talsyntes 13
Talteknologi, delområden Visuell syntes Synkronisering av ansiktsanimation med talets artikulationsrörelser Läpp, tung och käkrörelser Ansiktsuttryck (framhäver emotioner) Blinkningar, huvudvridningar Försök att öka begripligheten av syntetiskt tal genom att ge användaren möjlighet till läppläsning multimodalt : visuellt (ansikte) + auditivt (tal) Ofta i samband med dialogsystem 14
Talteknologi, delområden Röstidentifiering (talaridentifiering/talarverifiering) Idén att rösten är unik liksom fingeravtryck voiceprints Känner igen en talare på rösten Funkar bra på film, sämre i verkligheten Används ibland i rättegångssammanhang, s k forensisk fonetik 15
Talteknologi, delområden Talkodning Komprimering av taldata för effektivare lagring och överföring av tal Försöker minimera mänden taldata som behöver skickas/lagras genom att ta bort delar ur talet på ett sådant sätt att det går att rekonstruera Telefoni. Mpeg, LPC Främst inom telekomindustri där man behöver spara bandbredd 16
Talteknologi, resurser Taldatabaser (talkorpusar) Samling ljudfiler + tidsrelaterade transkriptioner Segmentering Uppstyckning av talsignalen i t ex fonetiska segment, stavelser eller ord Etikettering Märkning av segmenten med fonetiskt innehåll, t ex typ av fonetiskt segment, betoningsgrad Indexerat material Ger möjlighet att systematiskt undersöka och dra slutsatser av stora mängder talmaterial Resurs för att träna och testa text till tal och taligenkänningssystem 17
Talteknologi, resurser Taldatabaser TIMIT Amerikansk engelska 6300 talare, tio yttranden vardera Nödvändigt för att fånga variationen som finns mellan och inom talare För att träna upp talaroberoende taligenkänningssystem ARCTIC Engelska Fyra talare, 1000 yttranden vardera För att träna talsyntessystem 18
Talteknologi, resurser Program Fonetiska analysprogram PRAAT (dedikerat fonetikprogram) Matlab (generellt system med bl a talbearbetningsfunktioner) Wavesurfer Talsyntesutveckling Festival Mbrola Taligenkänningsutveckling HTK Sphinx Kommersiella: Acapela (Babel, Infovox), Cepstral, Scansoft (RealSpeak, Rhethorical, Dragon), Nuance, ATT, IBM, Microsoft, Phoneticom, Voxit 19
Festival Speech Synthesis System Open Source talsyntessystem Formgivet för utveckling och runtime Används som bas i många kommersiella och akademiska system AT&T Finns i t ex Fedora och Ubuntu Tusentals användare Flerspråkig arkitektur Inget inbyggt språk (eller röst ) Formgivet för att tillåta tillägg av nya språk 20
Festival som mjukvara Gratis! http://festvox.org/festival Generellt system för flerspråkig TTS C/C++ med Scheme som skriptspråk Generella utbytbara moduler för: Lexikon, LTS, duration, intonation, frasering, ordklasstaggning, tokenisering, konkateneringssyntes, signalbehandling Generella verktyg för: Intonationsanalys (tilt), CART (beslutsträd), n grams, kontextfri grammatik (SCFG), finita automater (WFST), reguljära uttryck 21
Festival som mjukvara Inga fixerade teorier Kan bygga nya 'röster' utan C++ Flera plattformar Unix (linux, darwin, sun etc) Windows ( native, cygwin) Fullt tillgänglig källkod Fri mjukvara fri både i betydelsen gratis och kompitabel licens 22
Relaterade projekt Festival: själva motorn Speech tools: generella verktyg Festvox: redskap för att bygga röster för festival Flite: Festival lite mindre och effektivare, men bara för runtime Kan använda festvox röster FreeTTS: Java version av festival/flite Kan också använda festvox röster 23
Festvox projektet Gratis! http://festvox.org Festival är motorn hur göra röster? Festvox Riktlinjer, principer och dokumentation Verktyg skript för (viss) automatisering uppbyggnad av statistiska modeller Diskussion och exempel på röstbyggnad Fulla röstdatabaser Steg för steg genomgång av processen 24
MBROLA projektet Gratis konkateneringssyntes för forskning och andra icke kommersiella ändamål många olika språk http://tcts.fpms.ac.be/synthesis/mbrola.html D uppsats: Adina Svensson (2001) Använder Festival och Mbrola för (syd)svensk kvinnlig röst http://www.ling.lu.se/education/essays/essays.html?select=2001 Även manlig röst av Markus Filipsson 25
; pipa _ 50 p 50 i: 150 0 90 50 110 100 90 p 50 a 200 _ 50 Exempel på MBROLA syntes: http://www.ling.lu.se/persons/johanf/php/mbrola.html 26
Delarna i ett 'text till tal' system NLP (Natural Language Processing) Textnormalisering textindelning, förkortningar, siffror, homografer Lingvistisk fonetisk analys uttal, intonation, rytm (taltempo), frasering, pausering DSP (Digital Signal Processing) Vågformsgenerering (talsignalstillverkning)
Syntesmetoder Generella modeller Artikulatorisk syntes Modellerar talapparaten Skapar virtuella luftströmmar och talorgan Formantsyntes Modellerar talakustiken Återskapar det akustiska resultatet av tal Räknar fram vågformen Kan parametriskt variera talstil, dialekt, kön
Konkateneringssyntes (1) Ingen egentlig modell, möjligen 'perceptuell' Fogar ihop bitar som är urklippta ur förinspelat material återanvändning av tal, samma bit kan användas i flera olika yttranden (LEGO!?) 29
Konkateneringssyntes (2) bra: naturlig ljudkvalitet eftersom mänskligt tal kan användas dåligt: kan inte låta som olika talare Dialekter, kön, talstils och åldersskillnader Måste spela in ny databas Enheter Förr: difoner (fortfarande ok för 'hemmabruk') Nu: arbiträra enheter (kommersiella system) unit selection 30
Varför behövs text och lingvistisk analys? Texter består av en massa tecken Vågformsgeneratorn (t ex MBROLAbaserad) behöver en lista med talljud (uttal) deras tonhöjd (intonation, F0) deras utsträckning i tiden (duration) konvertera texten till lista med talljud, durationer och F0 information 31
Textnormalisering Det är t ex vanligt med minst 10% i handpenning. det är Stor bokstav med minst till exempel vanligt Expandering av förkortning tio procent i siffror handpenning Tecken ord punktuering 32
Teckenhomografer homografer = ord som skrivs likadant men har olika betydelse samt uttal tecknet ( ) avstavning mellan led i sammansättning minustecken angivande av ungefärlig mängd i datum Lös genom att titta på kontexten (med t ex reguljära uttryck) 33
Teckenhomografer, klurigt fall... kap. I 34
Teckenhomografer, klurigt fall... kap. I kapitel ett eller kap + [Ny mening] 35
Teckenhomografer, klurigt fall... I boken läste de om språkets grundläggande egenskaper i kap. I och II. Boken de köpte visade sig vara ett riktigt kap. I den fanns nämligen alla svaren på frågorna. kontext? 36
Uttal För varje ord skall bestämmas: vilka segment ingår? Varierar med dialekt var ligger betoningen? Påverkar prosodin: betonad stavelse oftast längre Segment i obetonade stavelser bör reduceras (=förkortas eller tas bort) vilken ordaccent? Påverkar grundtonen 37
Lexikala homografer ord som skrivs likadant men uttalas olika olika ordklass: men (subst. eller konj.) betoning: kanon (artilleri eller sång) ordaccent: vreden (ilskan eller dörr ) Segmentering: brödraparen (romerska) siffror: 1999 flyttade 1999 personer till Lund Pentium III, Gustav III Henry V: Act II, Scene XI: Mr X is I believe, V I Lenin, and not Charles III. 38
Disambiguering disambiguera homografer genom att analysera orden i den lokala kontexten banan + äta i kontexten = frukt banan + köra på i kontexten = väg hur stort fönster? ju större, desto bättre resultat, men mer processering vanligast 3 5 ord oerhört många relationer, semantik 39
bokstav till ljud regler (1) bokstav till ljud regler gissa uttalet utifrån skriften skriva in utifrån lingvistiska kunskaper ;;; ng ljudet ( [ n ] k = N ) ( [ n g ] = N ) ;;; tj ljudet ( [ t j ] = C ) ( [ k j ] = C ) kan även generera från existerande lexikon 40
bokstav till ljud regler (2) betoning markerad i skrift i vissa språk, ex: spanska konstant i vissa språk, ex: tjeckiska svenska: viss markering: idé, succé ledtrådar från stavningen: dubbelteckning av konsonanter accenter går att förutsäga om man vet morfologin (Bruce ASP s. 52) Modellera (sms eller verb?) 41
Satsintonation Ett ord i varje fras ofta i fokus Vad är det för tulpaner? Det är GULA tulpaner Vad är det för gula blommor? Det är gula TULPANER Kan vara betydelseskiljande Bo stötte PÅ Lena/Bo STÖTTE på Lena GÅ på huset/gå PÅ huset/gå på HUSET 42
Vad är taligenkänning? Datorer som förstår tal nja Ingen tolkning av det som sagt, ej semantik, attityder och emotioner i talet eller pragmatik Snarare: tal till text Datorn känner igen ord och prosodiska mönster som finns i ett yttrande, men inte dess betydelser Taligenkänning: främst bestämning av ytfenomen i talet Ord, fonetiska segment, prosodisk prominens och frasering 43
Hur fungerar taligenkänning? Mönsterigenkänning Talsignalen jämförs med lagrade talljudsmönster Talsignalen analyseras spektralt regelbundna intervall (vanligen var 10 ms) Spektra för olika talljud, uttalade i olika kontexter, lagras i datorns minne Datorn jämför inkommande, nya, spektrum med lagrade och räknar ut hur sannolikt det är att de är spektrum av samma talljud 44
Extrahering av akustiska Frame baserad parametrar Ett slags spektral analys Utförs vanligen ca var 10 ms i talsignalen Resulterar i en sekvens av akustiska observationer Spektrumet sparas inte som en bild, utan som en numerisk representation som beskriver formen på spektrum 45
Extrahering av akustiska parametrar, exempel From Ladefoged 2001 46
Hur tas jämförelsematerialet fram? Datorer tränas med en korpus med talmaterial från språket Etiketterad! Akustisk analys Alla spektrum som kommer från samma ljud sparas tillsammans Matematiska formler räknar ut prototyp spektrum, eller snarare en modell för spektrumen 47
Från ljud till ord och från ord till meningar Att matcha ljud är bara första steget i taligenkänning När ett visst ljud är igenkänt, så påverkar detta sannolikheten för vad nästa ljud kan vara På samma sätt: när ett visst ord är igenkänt så påverkas sannolikheten för vad nästa ord kan vara 48
From Ladefoged 2001 49
Taligenkänning: träning Talkorpus Textkorpus Extrahering av akustiska parametrar Segmentering Vektorkvantisering, ev med ANN Träning av HMMer (Baum Welch) Språkmodell (n grams) 50
Taligenkänning: avkodning HMMer (akustiska modeller) N gram:er (språkmodell) okänt tal Extrahering av akustiska parametrar Avkodare (Viterbi eller A* search) Transkription 51
Webföreläsning, utvärdering http://eval.uclu.lu.se/eval/pub/165743/default.asp 52