Metod för manipulation av prosodi i naturligt tal. Christer Ahlström



Relevanta dokument
Spektrala Transformer

Analys/syntes-kodning

Spektrala Transformer

DT1130 Spektrala transformer Tentamen

DT1130 Spektrala transformer Tentamen

Exempelsamling Grundläggande systemmodeller. Klas Nordberg Computer Vision Laboratory Department of Electrical Engineering Linköping University

Spektrala Transformer

Tentamen i TMA 982 Linjära System och Transformer VV-salar, 27 aug 2013, kl

DT1130 Spektrala transformer Tentamen

Signal- och bildbehandling TSBB03

Tentamen i ESS 010 Signaler och System E3 V-sektionen, 16 augusti 2005, kl

Tentamen ssy080 Transformer, Signaler och System, D3

Talets akustik repetition

Teori... SME118 - Mätteknik & Signalbehandling SME118. Johan Carlson 2. Teori... Dagens meny

7. Sampling och rekonstruktion av signaler

Digital Signalbehandling i Audio/Video

Tentamen ssy080 Transformer, Signaler och System, D3

DIGITAL KOMMUNIKATION

2F1120 Spektrala transformer för Media Tentamen

Digital signalbehandling Digitalt Ljud

Signalanalys med snabb Fouriertransform

Resttentamen i Signaler och System Måndagen den 11.januari 2010, kl 14-19

DT1130 Spektrala transformer Tentamen

Laplace, Fourier och resten varför alla dessa transformer?

Exempelsamling Grundläggande systemmodeller. Klas Nordberg Computer Vision Laboratory Department of Electrical Engineering Linköping University

DIGITALA FILTER. Tillämpad Fysik Och Elektronik 1. Frekvensfunktioner FREKVENSSVAR FÖR ETT TIDSDISKRET SYSTEM. x(n)= Asin(Ωn)

Kan vi beskriva ett system utan någon fysikalisk kännedom om systemet?

Projekt 3: Diskret fouriertransform

AD-DA-omvandlare. Mätteknik. Ville Jalkanen. 1

Ulrik Söderström 20 Jan Signaler & Signalanalys

Ulrik Söderström 19 Jan Signalanalys

Bildbehandling i frekvensdomänen

Mätningar med avancerade metoder

Laboration i Fourieranalys, TMA132 Signalanalys med snabb Fouriertransform

Laboration i Fourieroptik

Laboration i tidsdiskreta system

Fouriermetoder MVE295 - bonusuppgifter

Grundläggande signalbehandling

DT1120 Spektrala transformer för Media Tentamen

Signal- och Bildbehandling FÖRELÄSNING 4. Multiplikationsteoremet. Derivatateoremet

Kvalificeringstävling den 30 september 2008

Signaler och system, IT3

Signal- och bildbehandling TSBB14

Att fånga den akustiska energin

REGLERTEKNIK Laboration 5

SF1635, Signaler och system I

RÄKNEEXEMPEL FÖRELÄSNINGAR Signaler&System del 2

Signal- och bildbehandling TSBB03

Samtidig visning av alla storheter på 3-fas elnät

Spektralanalys - konsten att hitta frekvensinnehållet i en signal

3. Metoder för mätning av hörförmåga

= y(0) för vilka lim y(t) är ändligt.

Signal- och bildbehandling TSBB14

FOURIERANALYS En kort introduktion

DT1120/DT1130 Spektrala transformer Tentamen

TEM Projekt Transformmetoder

Projekt 1 (P1) Problembeskrivning och uppdragsspecifikation

TSKS06 Linjära system för kommunikation Lab2 : Aktivt filter

Signal- och bildbehandling TSEA70

Signal- och bildbehandling TSEA70

Kompletterande material till föreläsning 5 TSDT08 Signaler och System I. Erik G. Larsson LiU/ISY/Kommunikationssystem

EXEMPEL 1: ARTVARIATION FÖRELÄSNING 1. EEG frekvensanalys EXEMPEL 2: EEG

Laboration 3 Sampling, samplingsteoremet och frekvensanalys

KÄLLA-FILTER. Repetition. Talapparaten i källa-filter perspektivet. Repetition (ff) Ljudkällor i talapparaten (ff) Ljudkällor i talapparaten

Föreläsning 6: Spektralskattning: icke parametriska metoder. Leif Sörnmo 4 oktober 2009

Föreläsning 10, Egenskaper hos tidsdiskreta system

Poler och nollställen, motkoppling och loopstabilitet. Skrivet av: Hans Beijner

Idag. Tillägg i schemat. Segmenteringsproblemet. Transkription

i(t) C i(t) = dq(t) dt = C dy(t) dt y(t) + (4)

Spektrala Transformer

Uppsala Universitet Matematiska Institutionen Bo Styf. Sammanfattning av föreläsningarna 15-18, 30/11-12/

Sammanfattning TSBB16

Elektronik 2018 EITA35

GRUNDKURS I SIGNALBEHANDLING (454300), 5sp Tentamen

TSBB16 Datorövning A Samplade signaler Faltning

Kompletterande räkneuppgifter i Spektrala Transformer Komplex analys, sampling, kvantisering, serier och filter Laura Enflo & Giampiero Salvi

Kundts rör - ljudhastigheten i luft

6 Derivata och grafer

Projekt 2 (P2) Problembeskrivning och uppdragsspecifikation

Stokastiska Processer och ARIMA. Patrik Zetterberg. 19 december 2012

Denna våg passerar mikrofonen, studsar mot väggen och passerar åter mikrofonen efter tiden

Signalbehandling Röstigenkänning

TSDT15 Signaler och System

Tillämpning av komplext kommunikationssystem i MATLAB

SF1635, Signaler och system I

Signal- och bildbehandling TSBB14

Transformer och differentialekvationer (MVE100)

2 Laborationsutrustning

Spektrala Transformer

4 Fler deriveringsregler

Signal- och bildbehandling TSBB14

Laplace, Fourier och resten varför alla dessa transformer?

Lab lanserade R.A. Moog Inc. en ny synt: Minimoog. Den var designad av Bill Hemsath och Robert Moog och kom att revolutionera musikhistorien.

Föreläsning 5. Approximationsteori

TSIU61: Reglerteknik

Försättsblad till skriftlig tentamen vid Linköpings universitet G33(1) TER4(63)

Bildförbättring i spatial domänen (kap. 3) Bildförbättring (enhancement) Spatial domän. Operatorer. Tröskling (threshold) Gråskale-transformationer

DIGITALA FILTER DIGITALA FILTER. Tillämpad Fysik Och Elektronik 1

Försättsblad till skriftlig tentamen vid Linköpings universitet KÅRA T1 T2 U2 U4

Talmängder. Målet med första föreläsningen:

Transkript:

Examensarbete Metod för manipulation av prosodi i naturligt tal av Christer Ahlström LiTH-IDA-Ex-2/52 22-4-23

Linköpings universitet Institutionen för datavetenskap Examensarbete Metod för manipulation av prosodi i naturligt tal av Christer Ahlström LiTH-IDA-Ex-2/52 22-4-23 Handledare och examinator: Bertil Lyberg

SAMMANFATTNING Detta arbete går ut på att förändra en talsignals prosodiska egenskaper. Matematiskt sett betyder det att tiden och frekvensen ska kunna skalas oberoende av varandra, ett till synes olösbart problem. Tre olika metoder för manipulation av prosodin har studerats. Den första, PSOLA, är en klassisk metod som arbetar i tidsdomänen. Skalningar utförs genom att stycka upp signalen i korta bitar och sätta samman dem med ett nytt avstånd sinsemellan. Om signalen inte behöver skalas mycket är detta en bra metod, både med avseende på beräkningsintensitet och röstkvalitet. Den andra metoden, LPC, bygger på källa/filter-teorin. Ett pulståg driver ett tidsvariabelt filter som definieras av en autoregressiv modell. Resultaten blir tyvärr aldrig riktigt bra. LPC:s stora styrka ligger snarare i talkodningssammanhang där metoden erbjuder en kraftigt komprimerad representation av talet. Den tredje och sista metoden, sinusmodellering, delar upp signalen i parametrar för frekvens, fas och amplitud. Rekonstruktionen matar in dessa parametrar i en cosinusoscillator som återskapar signalen. Stora skalfaktorer kan hanteras medan de stora nackdelarna är tunga beräkningar och vissa problem med injustering av modellen. Den sinusmodell jag utgått från har två problem. Dels ger den ifrån sig klickande ljud och dels förändras formantstrukturen vid frekvensskalning. Dessa brister har rättats till vilket beskrivs i rapporten. De tre metoderna har implementerats i en enkel demonstrator med grafiskt gränssnitt. Denna är till för att det ska gå att testa de undersökta algoritmerna utan att behöva bry sig om de underliggande beräkningarna. iii

IV

INNEHÅLL 1. Inledning 1 1.1. Uttryck och facktermer...1 1.2. Användningsområden...2 1.3. Rapporten och dess upplägg...2 1.4. Tack...3 2. Pitchdetektering 5 2.1. Vad är grundfrekvens?...5 2.2. Automatisk detektering av grundfrekvens...6 2.3. Tidsdomänen...6 2.4. Cepstrumdomänen...8 2.5. Frekvensdomänen...9 2.6. Feldetektering... 11 2.7. En jämförelse mellan metoderna... 11 3. TD-PSOLA 15 3.1. Pitch- och tidsskalning...15 3.2. En ny variabel fönsterfunktion...17 3.3. Resultat...18 3.4. Kommentarer och förbättringar...19 4. Linjärprediktion 21 4.1. Den autoregressiva modellen...22 4.2. Pitch- och tidsskalning...24 4.3. Residualen som excitationsignal...25 4.4. Resultat...26 4.5. Kommentarer och förbättringar...27 5. Sinusmodellering 31 5.1. Frekvensspår...32 5.2. Frekvens- och tidsskalning...32 5.3. Formantbevarande pitchskalning...36 5.4. Förbättring av fasinterpolationen...37 5.5. Resultat...38 5.6. Kommentarer och förbättringar...4 v

VI 6. Demonstrator 43 6.1. Funktionalitet...44 6.2. Implementation och design...47 6.3. Tidsuppskattning...48 7. Jämförelser och slutsatser 49 7.1. Tidsskalning...49 7.2. Pitchskalning...49 7.3. Mina förbättringsförslag...5 7.4. När passar vilken metod bäst?...5 7.5. Fönsterstorlek igen...5 7.6. Begränsningar och framtida arbete...51 8. Bibliografi 53 Bilaga A.Brusreducering 55 Bilaga B.Filsystem 57

1. INLEDNING Bakom den humanistiskt klingande rubriken Metoder för manipulation av prosodi i naturligt tal döljer sig ett komplicerat signalbehandlingsproblem. Det är en svår uppgift att manipulera talets grundton och utsträckning i tiden. Manipulationen medför kortfattat att dualerna tid och frekvens ska skalas oberoende av varandra. Problemet visas tydligt om en tidsskalning utförs genom att spela upp ett meddelande med dubbla hastigheten. Resultatet blir en frekvenshöjd röst som låter som Piff och Puff. Visserligen ganska roligt att lyssna till, men inte särskilt användbart. Syftet med arbetet har varit att studera och eventuellt vidareutveckla olika metoder för oberoende tids- och pitchskalning. Någon av de studerade metoderna skulle även implementeras i en demonstrator. Eftersom metoderna som studerats är minst 15 år gamla har det funnits tid för tekniken att mogna vilket gjort det mycket svårt att hitta revolutionerande förbättringar. 1.1 Uttryck och facktermer Vardagligt förekommande termer inom signalteorin förutsätts läsaren känna till. Dessa innefattar begrepp som faltning, filter, fönster, fouriertransform och autokorrelation. Termer som hör hemma i talteknologin är kanske inte lika välkända för den tänkte läsaren. De flesta av dessa förklaras därför i början av kapitel 2. För att undvika förvirring kan jag redan nu nämna att pitch och grundfrekvens är samma sak (den mänskliga lyssnaren uppfattar den lägsta frekvensen, grundfrekvensen, som talarens pitch [1]) och att segmentduration är utsträckningen i tiden för ett kort segment av en talsignal. Begreppet prosodi är ett samlingsnamn som betecknar användandet av tryckstyrka, tonhöjdsförhållande och temporala varaktighetsförhållanden i talet [2]. En mer beskrivande beteckning skulle kunna vara satsmelodi. 1

2 INLEDNING 1.2 Användningsområden Det finns ett stort antal intressanta användningsområden. Här redovisas ett axplock. Hjälpmedel för hörselskadade Genom att spela upp talet långsammare blir det tydligare och därmed lättare att uppfatta. Hjälpmedel för synskadade Taltidningar och talböcker har en stor nackdel jämfört med pappersutgåvor, det går inte att snabbt ögna igenom innehållet. Om det däremot gick att spela upp talet med en högre hastighet skulle man kunna lyssna igenom materialet på samma sätt som man skummar en text. Denna tidsflaskhals är även tydlig i många andra applikationer. Talande gränssnitt till datorer och snabbavlyssning av telefonsvarare är några exempel. Text-till-tal-system Vid konkateneringssyntes sätter man samman korta talfragment till ord och meningar. Fragmentens grundton får inte vara olika i de olika bitarna för då blir inte ljudet enhetligt. Eftersom det är orimligt att bygga databaser med alla möjliga grundtonsvariationer behöver man skala frekvensen. Detta är även ett krav för att kunna ändra prosodin och därmed göra en mer naturlig syntes. Talanalys Intonationsmodeller för olika dialekter kan studeras genom att manipulera de prosodiska parametrarna olika i olika delar av en inläst mening. Det går då exempelvis att överföra en dialekt till en annan (med begränsningen att många dialekter byter ut ord, stavelser och fonem). 1.3 Rapporten och dess upplägg Svårighetsgraden på denna rapport är anpassad så att en blivande civilingenjör i datateknik, elektroteknik eller liknande ska kunna läsa och förstå innehållet. Vissa avsnitt kräver lite mer av läsaren än andra men i det stora hela hoppas jag att materialet ska vara översiktligt och lättsmält. Överlag har jag inte ägnat mig åt petitesser och finlir utan koncentrerat mig på det centrala i varje metod. För att ändå återge de fällor, genvägar och erfarenheter jag funnit finns i många kapitel rubriken Kommentarer och förbättringar. Där har jag försökt att samla mina lärdomar angående sådant som normalt inte står i litteraturen. En stor del av uppgiften var att studera befintliga metoder och mängden teori i rapporten har anpassats därefter. Det är svårt att dra en klar linje mellan vad jag läst mig till och vad jag kommit fram till själv. Överlag är dock Kommentarer och förbättringar egna tankar men även andra delar är egna påfund, t.ex. avsnitt 3.2 om variabla fönster och avsnitt 5.4 om fasinterpolation. Av samma orsak vill jag

1.4 TACK 3 be om ursäkt för den knappa hänvisningen till referenser. Om samma material återges i flera olika källor ser man det snart som känd kunskap vilket inte behöver refereras. Många resultat bygger på hur jag uppfattar kvaliteten på det modifierade ljudet. Eftersom det är svårt att vara objektiv och kritisk mot sitt eget arbete bör dessa tas med en nypa salt. I rapporten illustreras ett fåtal talsignaler för att beskriva metoderna. Resultaten bygger dock på ett tiotal olika meningar som lästs in av både manliga och kvinliga talare på olika språk. Det finns många mer eller mindre bra metoder för att skala tid och frekvens. De flesta bygger dock på någon av tre olika principer. Dessa beskrivs i kapitel 3 till kapitel 5. Vissa av metoderna behöver ett bra estimat av pitchfrekvensen varför kapitel 2 behandlar automatisk pitchdetektering. För att knyta samman resultaten jämförs alla metoderna i kapitel 7. Metoderna har implementerats i en enkel demonstrator med grafiskt gränssnitt. Denna är till för att det ska gå att testa de undersökta algoritmerna utan att behöva bry sig om de underliggande beräkningarna. Demonstratorn beskrivs i kapitel 6. 1.4 Tack Ett stort tack till alla som tycker sig behöva en klapp på axeln. Speciellt vill jag tacka min handledare och tillika examinator Bertil Lyberg, Mustapha Skhiri och Sonia Sangari för mycken hjälp och trevligt sällskap i labbet samt Samuel Björkman och Tomas Lingvall för idogt korrekturläsande. Samtidigt vill jag passa på att skylla eventuella fejl och mistag på nyss nämnda korrekturläsare.

4 INLEDNING

2. PITCHDETEKTERING Vad är grundfrekvensen i naturligt tal, hur uppkommer den och hur kan den detekteras? Dessa frågor diskuteras i detta kapitel varefter olika metoder för automatisk pitchdetektering studeras. 2.1 Vad är grundfrekvens? Människans tal bildas genom att luft pressas från lungorna via luftstrupen, struphuvudet, svalget och vidare genom mun- och ibland näshålan. Struphuvudet består av ett antal rörliga brosk som med hjälp av olika muskler och ligament kan kontrollera röstspringan (glipan mellan stämbanden, även kalld glottis). Då springan är sluten kommer utandningsluften att pressas fram mellan stämbanden som då börjar vibrera. Den frekvens som stämbanden svänger med kallas f eller grundfrekvensen. De ljud som uppstår då stämbanden vibrerar kallas tonande. I normalt tal är alla vokaler och vissa konsonanter tonande. Tonlösa ljud bildas med röstspringan i en öppnare ställning utan stämbandsvibration. Svalget, munhålan och näshålan färgar ljudet då det passerar de övre talorganen. Håligheterna fungerar som resonatorer vars resonansegenskaper förändras då hålrummen ändrar storlek och form. De sammankopplade luftkropparna bidrar tillsammans till en förstärkning av vissa deltoner. De områden av frekvensskalan där deltonerna förstärkts kallas formanter, se figur 2-1 på sida 6. Om ljudet som skapas vid stämbanden tjänstgör som insignal g(t) så skulle de övre talorganen kunna liknas vid ett tidsvariabelt filter, H t. Denna liknelse gentemot ett linjärt system är mycket användbar vid modellering av talsystemet. Separationen av glottispulserna och de övre talorganen gör det nämligen mycket enklare att till exempel skala grundfrekvensen. 5

6 PITCHDETEKTERING Relativ amplitud f f f F 1 F 2 F 3 f Pulser från stämbanden g(t) Övre talorganen H t x(t) Tal som kommer ut från munnen Figur 2-1: Insignalen till filtret skapas då luft passerar stämbanden. Frekvensen f är den frekvens som stämbanden vibrerar med. Överföringsfunktionen bildas av resonatorer i de övre talorganen och ger här upphov till formanterna F1, F2 och F3 i utsignalen. 2.2 Automatisk detektering av grundfrekvens Detektering av grundfrekvensen är viktigt i många talbehandlingsproblem. Det finns många olika metoder som alla har sina för- och nackdelar. De tre huvudsakliga kategorierna bygger på att talsignalen behandlas i tids-, frekvens- eller cepstrumdomänen. Var och en av dessa huvudkategorier kommer att behandlas i efterföljande avsnitt. 2.3 Tidsdomänen Då en signal korreleras med sig själv får man fram dess autokorrelation, se ekvation (2.1). Denna definition gäller för tidsdiskreta ändliga signaler. Om signalen är periodisk eller quasiperiodisk kommer den att uppvisa stora likheter med sig själv då fördröjningen d är lika med signalens period. En rättfram väg att få fram grundfrekvensen torde då vara att plocka fram periodtiden mellan två maxvärden i autokorrelationsfunktionen (akf). r N d = N d 1 n = xn xn + d (2.1) För att kunna hantera ickestationära signaler som talsignaler måste en korttids-akf användas, se ekvation (2.2). En lämplig ramlängd är 1-3 ms. Denna längd är lämplig eftersom talsignaler inte nämnvärt ändrar sin karaktär under så korta intervall. I ekvationen är q startadressen för den aktuella tidsramen medan w är ett fönster som tvingar ned signalen till noll utanför ramen. q + N 1 rdq = xn n = q xn + d wn q (2.2)

2.3 TIDSDOMÄNEN 7 En stor felkälla vid användandet av autokorrelationmetoden är att formanterna ofta detekteras istället för grundtonen. Lyckligvis finns det olika sätt att förbehandla signalen för att komma runt detta problem. En metod som ger bra resultat är centerklippning (center clipping). 2.3.1 Centerklippning Vid centerklippning sätter man alla värden i signalen till noll om magnituden är mindre än ett visst tröskelvärde, se figur 2-2. Detta förstör formantstrukturen i signalen utan att direkt påverka periodiciteten. För att inte viktig information ska tas bort måste man vara försiktig när man väljer klippnivån (CL). Ett lämpligt tillvägagångssätt är att först dela in signalen i 1-3 ms långa ramar (detta bör vara samma ramlängd som används i akf:en så att beräkningarna kan utföras i samma beräkningsloop). Ramen delas vidare in i ytterligare tre segment där maxvärdet av första och tredje segmentet beräknas. Klippnivån väljs sedan till ungefär 8 % av det minsta av dessa värden (att nivån är lämplig visas experimentellt i bl.a. [5]). När CL är vald kan elementen nollställas enligt ekvation (2.3) där q betecknar aktuellt segment. q x CL n( = x q n CL x q n J CL CL @ x q n @ CL x q n + CL x q n @ CL Periodtiden fastställs till sist genom att mäta tiden mellan intilliggande lokala maximum i signalsegmentets akf. (2.3) 3 x 1 3 2 CL 1 1 2 CL 3 Fragment av signalen x(n) Klippt signalsegment 4.5.1.15.2.25.3 t [sek] Figur 2-2: Segment q av signalen x(n) visas tillsammans med en klippt variant av sig själv. Även klippnivåerna CL är utritade.

8 PITCHDETEKTERING 2.4 Cepstrumdomänen En talsignal består av en faltning mellan ett högfrekvent pulståg gn från stämbanden och en lågfrekvent envelopp hn som bildas i de övre talorganen, se figur 2-1 på sida 6. Cepstrumanalys är en metod för att separera dessa två komponenter. Faltning i tidsdomänen blir multiplikation i fourierdomänen (2.4). Logaritmeras resultatet övergår produkten i en summation. I högerledet i (2.5) ger det högfrekventa pulståget den första termenen medan den andra representerar filtrets envelopp. Inverstransformeras resultatet enligt ekvation (2.6) kan grundfrekvensens periodtid utläsas som det högquefrenta bidraget. Quefrens är den storhet som cepstrum har i tidsdomänen. Detta kan förklaras av att C är jämn och reell varför inverstransformen lika gärna kan beräknas med cosinustransformen. Denna har samma egenskaper som fouriertransformen, d.v.s. den ordnar signalens energiinnehåll efter stigande frekvens. På så vis kommer cn att beskriva signalens frekvensinnehåll. Se figur 2-3. xn = g h n X = G b H (2.4) C = log X = log G + log H (2.5) cn = F 1 log X < = F 1 log G < + F 1 log H < Sammanfattningsvis är cepstrum alltså en olinjär transformation av periodogrammet som definieras enligt ekvation (2.7) och som separerar två sammanfaltade komponenter av olika frekvens. (2.6) c 9( Se F 1 log Fxn ( = (2.7).8.6 Högquefrent topp.4.2.2.4.6.8.2.4.6.8.1.12.14.16.18.2 t [sek] Figur 2-3: Den högquefrenta komponenten visar en tydlig topp vid 7 ms (15 Hz) vilket motsvarar grundfrekvensen. De lågquefrenta topparna är bidrag från de övre talorganen och kan ignoreras.

2.5 FREKVENSDOMÄNEN 9 2.5 Frekvensdomänen De flesta metoder för pitchdetektering i frekvensdomänen bygger på två väldigt lika principer: 1. beräknas som en bråkdel av någon högre delton. f 2. f beräknas som skillnaden mellan två konsekutiva toppar (deltoner). Här undersöks ett alternativt tillvägagångssätt, nämligen att använda wavelettransformen,wt, istället för den vanliga korttids fouriertransformen, STFT. Transformen visar stora likheter med hur människan bearbetar ljud och har olika tidsupplösning för olika frekvenser, se figur 2-4. Fördelen är att snabba ickestationära och svårpredikterade signaler kan undersökas med bra resultat, något som andra metoder har problem med [7]. Tid-frekvensupplösning i STFT Tid-frekvensupplösning i WT Frekvens Frekvens Tid Tid Figur 2-4: Tid-frekvensupplösning för korttids- och wavelettransformer. Varje yta representerar en punkt i upplösningen av tid och frekvens och för wavelets gäller alltså att bättre tidsupplösning kompenseras med sämre frekvensupplösning så att ytan förblir konstant. 2.5.1 Wavelettransformen (WT) Den tidskontinuerliga WT definieras av 1 -- B 2 W x ab = a xt t --------- b a dt = B a 1 -- 2 ----- 1 X 25 a e j b d Wavelettransformen är alltså en skalärprodukt mellan signalen xt och en translaterad och skalad version av den så kallade waveletfunktionen t. Kännetecknande för waveletfunktionen är att den har bandpasskaraktär. Skalningsparametern a påverkar centerfrekvensen och bandbredden på t medan b påverkar translationen. För små värden på skalningsfaktorn a erhålls god tidupplösning B B (2.8)

1 PITCHDETEKTERING medan stora a ger bra frekvensupplösning. Skalningsfaktorn är till för att alla skalade funktioner ska få samma energi. I sista ledet definieras WT i termer av xt och t :s respektive fouriertransformer. 2.5.2 Multiupplösnings-wavelet Ett ljud samplat i en punkt är en funktion som är konstant i intervallet [,1]. Låt V vara ett vektorrum innehållande alla dessa funtioner. Ett tvåpunkters ljud kommer på samma sätt att ha två konstanta intervall över [,.5[ och [.5,1] med vektorrumet V 1. Fortsätter man med samma uppdelning kommer man att få ett rum innehållande alla styckvis konstanta funktioner mellan [,1]. Då j ökar kommer även upplösningen av funktionerna i V j att öka. Basfunktionerna som spänner upp V j kallas skalningsfunktioner. Nästa steg är att ta fram waveletfunktionerna. Dessa väljs som det ortogonala komplementet till V j i V j + 1 och betecknas W j. Beroende på vilka egenskaper hos signalen som ska undersökas väljs olika basfuntioner. T.ex. är Daubechies filter användbara för pitchdetektering. 2.5.3 Pitchdetektering a 1A 2 Pulståget från stämbanden ger upphov till nollgenomgångar i talsignalen. Om signalen filtreras med en deriverande funktion (exempelvis Daubechies filter) kommer ett maximum att uppträda för varje nollgenomgång. Wavelettransformens förmåga att använda olika skalor (närliggande skalor visar maxvärden på samma position för glottispulserna) tillsammans med de deriverande egenskaperna är något som tagits fasta på för pitchdetektering, se [6]. Där har funktionerna V j t = 2 k A 2 2 k t t = 2 k A 2 2 k t (2.9) (2.1) valts som wavelet respektive skalningsfunktion. t är en lågpassfunktion medan t är en högpassfunktion. För att avgränsa frekvensbandet och samtidigt anpassa (2.9) och (2.1) till talsignalens intressanta frekvensområde låter man t få skalningsfaktorn enligt k a 2 k a F = ---- s f 1 (2.11)

2.6 FELDETEKTERING 11 Skalningsfaktorn för waveletfunktionen blir av samma anledning 2 k b F = ---- s f 2 (2.12) Frekvenserna f 1 och f 2 är här övre och undre gräns för talsignalen medan F s är samplingsfrekvensen. Det slutliga filtret 7 t byggs upp som faltningen mellan wavelet och skalningsfunktionerna med skalningsfaktorer enligt (2.11) och (2.12). 7 t = ka t kb t (2.13) Den filtrerade signalen påminner om en sinus där grundfrekvensen kan beräknas genom periodtiden. Onogrannheten i samplingen tvingar dock fram interpolation mellan samplingpunkterna för att inte slutresultatet ska påverkas negativt. 2.6 Feldetektering Med alla undersökta metoder uppstår det fel i pitchdetekteringen. Det finns tre vanliga orsaker till att ett estimat bör ratas: Det finns ingen energi i signalen. Det finns ingen energi i den filtrerade signalen (wavelet). Pitchestimatet är felaktigt. De opålitliga värden som direkt kan tas bort ur estimatet är frekvenser som beräknas i tidpunkter då signalens energi är väldigt låg (mellan ord etc.). Även frekvenser som ligger ovanför 1 khz är osannolika eftersom människor vanligtvis inte är kapabla till så höga grundtoner. Sätter man frekvensen till noll i dessa tveksamma fall uppnås ett bättre estimat. Resultatet kan bli än bättre om man behandlar alla maximum (i autokorrelation och wavelet-fallet) beroende på dess omedelbara omgivning. Eftersom topparna kommer med lokalt regelbundna intervall kan de toppar som upptäcks på fel plats tas bort. Det är även möjligt att lägga till maximum där de borde vara och på så sätt få ett jämnare estimat. 2.7 En jämförelse mellan metoderna Alla föreslagna metoder gör ett bra jobb med att estimera grundfrekvensen hos långsamt varierande talsignaler. De principiella skillnader som kan ses i figur 2-5 beror mycket på olika tröskelvärden mellan metoderna. Ska man rekommendera en metod får det bli autokorrelationsmetoden. Detta då den är stabil och ger ett pålitligt resultat. Det som fäller avgörandet är att cepstrummetoden inte alltid hittar grundfrekvensen och då väljer att kategorisera talet som tonlöst. Waveletmetoden till sist misslyckas emellanåt genom att välja

12 PITCHDETEKTERING en multipel av grundfrekvensen istället för den verkliga. Det som talar för den mer komplicerade waveletmetoden är att den klarar av kraftigt varierande frekvenser och snabba ickestationära signaler, se figur 2-6. Turligt nog är dessa faktorer inte nämnvärt viktiga för naturligt tal så någon av de andra metoderna kan användas. Pitch autokorr, f [Hz] Pitch cepstrum, f [Hz] Pitch wavelet, f [Hz] 3 2 1 1 2 3 4 5 6 7 8 3 2 1 1 2 3 4 5 6 7 8 3 2 1 1 2 3 4 5 6 7 8.2 Signal.2 1 2 3 4 5 6 7 8 t [s] Figur 2-5: Jämförelse av pitchdetektering m.h.a. autokorrelation (överst), cepstrum (mitten) och wavelets (nederst). Skillnaderna mellan metoderna beror i det stora hela på olikheter i tröskelvärdena mellan metoderna. Nederst visas testsignalen som i detta fall är en inspelad mansröst.

2.7 EN JÄMFÖRELSE MELLAN METODERNA 13 Pitch autokorr, f [Hz] Pitch cepstrum, f [Hz] Pitch wavelet, f [Hz] 4 2.5 1 1.5 2 2.5 3 2 1.5 1 1.5 2 2.5 4 2.5 1 1.5 2 2.5 1 Signal 1.5 1 1.5 2 2.5 t [s] Figur 2-6: Jämförelse av pitchdetektering m.h.a. autokorrelation (överst), cepstrum (mitten) och wavelets (nederst). Skillnaderna mellan metoderna visas här tydligt och det är bara waveletmetoden som kan återge frekvensen korrekt. Observera dock de felaktiga insvängningsvärdena. Nederst visas testsignalen som i detta fall är ett frekvenssvep från 1 till 3 Hz.

14 PITCHDETEKTERING

3. TD-PSOLA TD-PSOLA står för TimeDomain PitchSynchronous OverLap-Add. Namnet i sig självt förklarar egentligen hur metoden fungerar: TD Beräkningarna görs i tidsdomänen. OL Signalen delas i överlappande småbitar (segment). A Segmenten adderas vid rekonstruktionen. PS Segmentens storlek bestäms av pitchperioden. Talsignalen delas alltså upp i korta överlappande segment. Pitch- och tidsskalningarna utförs genom att sätta samman segmenten med nytt avstånd sinsemellan och genom att upprepa eller hoppa över vissa segment för att fylla ut tidsrymden. Som allmän referens gällande PSOLA har Mark Kahrs bok använts [13]. 3.1 Pitch- och tidsskalning Storleken på segmenten bestäms av pitchperioden som tas fram med någon av metoderna i kapitel 2. Överst i figur 3-1 på sida 16 har en signal märkts upp med sin pitchperiod. Om talsignaler hade varit helt periodiska skulle pitchskalningar kunna göras enligt (3.1) och (3.2). s i n är här en ram som fönstrats fram pitchsynkront ur den ursprungliga signalen sn. T är den önskade pitchperioden medan är den ursprungliga. T p s i n = sn wn it p (3.1) B ŝ n = s i n i T T p i = B Tyvärr är talsignaler inte stationära. Däremot är det vanligt att de är bitvis periodiska. För att utnyttja kvasistationäriteten görs fönsterstorleken tidsvaribel. Storleken är en kompromiss mellan två olika situationer. Ett för litet överlapp bildar glapp i slutresultatet medan ett för stort överlapp ger en harmonisering av signalen. Genom att välja fönsterbredden till dubbla periodlängden hamnar man mitt emellan dessa lägen. Överlappet kommer således att sträcka sig ut över halva de intilliggande pitchsegmenten. (3.2) 15

16 TD-PSOLA.2.1.1.2 458 46 462 464 466 468 47 472 474 476 478 48 Ram n Ram n+1 Ram n+2.2.1.1.2 458 46 462 464 466 468 47 472 474 476 478 48 Sampel Figur 3-1: Vid pitchsänkning flyttas de fönstrade ramarna isär innan de sätts ihop. Detta leder till att vissa ramar måste hoppas över för att inte signalens utsträckning i tiden ska ändras. Här är skalfaktorn 1.3. Vid pitchsänkning flyttas ramarna (pitchsegment plus överlapp) isär och för att tidsskalan ska bibehållas hoppas vissa ramar över. Detta kan till exempel göras så fort man hämtar data som ligger mer än en period bort i ursprungssignalen, se figur 3-1. På samma sätt får vissa ramar dubbleras vid pitchhöjning. Det är viktigt att inse att ramarna inte förlängs eller krymps ihop, till exempel genom omsampling. Istället skjuts de in över eller dras isär från intilliggande ramar varpå superpositionering resulterar i en pitchskalad signal, se återigen figur 3-1. Även vid tidsskalning kommer vissa ramar att hoppas över eller upprepas. Detta handlar i praktiken om att skala om de tidsindex som representerar pitchsegmenten. Dessa fylls sedan ut med så många ramar som möjligt, se figur 3-2.

3.2 EN NY VARIABEL FÖNSTERFUNKTION 17.2.1.1.2 682 684 686 688 69 692 694 696 698 7 Ram n+5 Ram n+4 Ram n+3 Ram n+2 Ram n+1 Ram n.2.1.1.2 1.25 1.3 1.35 1.4 1.45 1.5 Sampel x 1 4 Figur 3-2: Vid tidsskalning upprepas eller kasseras vissa ramar. Här skalas signalen med en faktor 1.5 varför vissa ramar upprepas. 3.2 En ny variabel fönsterfunktion Som nämns ovan medför en pitchhöjning att ramarna trycks ihop och att överlappet därmed blir större. För att minska effekterna av ramarnas påverkan av varandra kan man använda olika typer av fönster. Då periodtiden ökas eller lämnas orörd är ett mjukt fönter som hanning att föredra. Om däremot periodtiden minskas är det bättre att använda ett fönster som är mer centrerat och tar bort mer av överlappsinformationen. Ett fönster som uppfyller dessa egenskaper är kaiserfönstret, se figur 3-3. Resultat från skalning ses i figur 3-4. 1 Hanningfönster 1 Kaiserfönster, β=2.9.9.8.8.7.7.6.6.5.5.4.4.3.3.2.2.1.1 5 1 15 2 25 Sampel 5 1 15 2 25 Sampel Figur 3-3: Hanningfönstret till vänster och kaiserfönstret till höger.

18 TD-PSOLA.5 Ursprungliga signalen.5 37 372 374 376 378 38 382 384 386 388 39 Pitchskalad signal, hanningfönster.5.5 37 372 374 376 378 38 382 384 386 388 39 Pitchskalad signal, kaiserfönster med β=2.5.5 37 372 374 376 378 38 382 384 386 388 39 Figur 3-4: Den ursprungliga signalen har en pitchperiod utmärkt. Med sträckade linjer visas den centrala del som PSOLA försöker bevara. Skillnaden mellan Hanning- och Kaiserfönstren kan här ses på djupet av dalarna där Kaiserfönstret återger den ursprungliga kurvformen bättre. 3.3 Resultat Tidsskalningar fungerar mycket bra för rimliga skalfaktorer. Det faktum att information tas bort respektive upprepas utgör en naturlig begränsning för metoden. Nedskalning till halva längden ger klart godkända resultat och vidare skalning är inte intressant eftersom det även naturligt är svårt att uppfatta så snabbt tal. När talet förlängs är det upprepningar av samma information som utgör begränsningen. Vid cirka 3 procents förlängning ändrar ljudet karaktär och låter mer stramt. Bortsett från denna defekt kan signalen förlängas med uppemot 3% innan ljudkvaliten försämras nämnvärt. En studie av spektrogram över de tidskalade signalerna och den ursprungliga visar på god överensstämmelse, se figur 3-5. Pitchskalningar kan utföras i storleksordningen 2-3 procent. Höjningar blir i regel sämre än motsvarande sänkning av pitchen. Detta beror på att superpositionen av segmenten ibland ger oväntade resultat. Ju mer segmenten trycks ihop desto mer kommer de att påverka varandra. Vid sänkning av pitchen kommer inte detta att ge lika stora effekter eftersom den centrala delen av det ursprungliga pitchsegmentet bevaras bättre. Vad som händer mellan periodcentrum är inte lika känsligt och uppfattas mest som om talet knorrar. Ett exempel på pitchskalning visas i figur 3-6 på sida 2.

3.4 KOMMENTARER OCH FÖRBÄTTRINGAR 19 4 Sprektrogram över den ursprungliga signalen Frekvens [Hz] 3 2 1.5 1 1.5 2 2.5 3 3.5 4 Sprektrogram över signalen rekonstruerad till dubbla längden 4 Frekvens [Hz] 3 2 1 1 2 3 4 5 6 7 8 Sprektrogram över signalen rekonstruerad till halva längden 4 Frekvens [Hz] 3 2 1.2.4.6.8 1 1.2 1.4 1.6 1.8 2 Tid [s] Figur 3-5: Spektrogram över den ursprungliga signalen och signalen skalad till dubbla respektive halva längden. Talsignalen utgörs av en kvinnoröst som säger A lathe is a big tool; grab every dish of sugar. 3.4 Kommentarer och förbättringar Ramarna skulle kunna knuffas i fas genom att de förskjuts i förhållande till varandra. Hur pass bra en sådan metod fungerar beror givetvis på hur mycket man kan knuffa ramarna innan det hörs att grundfrekvensen ändras mellan varje period. Om skalfaktorerna är tidsvaribla (vilket de ofta är om talets prosodi ska ändras) är det bra om skalfunktionerna är relativt mjuka. Det är därför bra att lågpassfiltrera skalfunktionerna innan användning i PSOLA-algoritmen. Om snabba förändringar är ett krav kan istället ett fåpunktigt medianfilter användas för att runda av de brantaste topparna. Anledningen till detta är att stora och plötsliga omskalningar innebär att en enskild ram kommer att upprepas många gånger. Detta skapar eko och bör undvikas.

2 TD-PSOLA En enkel autokorrelations-baserad metod har använts för pitchdetektering. PSOLA-algoritmen är helt utelämnad åt de data som detekteringen erbjuder. Eftersom uppdelningen i ramar bygger på dessa data är det viktigt att de stämmer överens med verkligheten. Uppenbarligen finns här plats för förbättringar. Till exempel skulle flera olika skattningar kunna användas och viktas samman till en mer korrekt pitchperiod..4.2.2.4 Ursprungliga signalen.24.245.25.255.26 Signalen rekonstruerad med pitchperioden skalad en faktor 1.2.4.2.2.4.24.245.25.255.26 Signalen rekonstruerad med pitchperioden skalad en faktor.8.4.2.2.4.24.245.25.255.26 Tid [s] Figur 3-6: Pitchskalning med en faktor 1.2 resp..8. Här är det dalarna som ligger i mitten av pitchsegmenten och dessa rekonstrueras som synes bra. Däremellan skiljer sig resultaten mer från originalet.