• No results found

Automatische feedback op presentatievaardigheden aan de hand van fonetische aspecten

N/A
N/A
Protected

Academic year: 2021

Share "Automatische feedback op presentatievaardigheden aan de hand van fonetische aspecten"

Copied!
40
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

Bachelor Informatica

Automatische feedback op

presentatievaardigheden aan de

hand van fonetische aspecten

Huck Nuchelmans

8 juni 2016

Supervisor(s): dhr. drs. A. (Toto) van Inge

Inf

orma

tica

Universiteit

v

an

Ams

terd

am

(2)
(3)

Samenvatting

In het onderwijs heeft men zelden genoeg tijd voor persoonlijke begeleiding bij het voor-bereiden van presentaties, maar deze taak zou deels overgenomen moeten kunnen worden door de computer. Deze scriptie beschrijft een implementatie van een applicatie die de ge-bruiker in real-time feedback geeft op zijn of haar verbale presentatievaardigheden. Hiervoor wordt eerst een literatuuronderzoek gedaan om te bepalen welke metingen verricht kunnen worden om een indicatie te geven van deze vaardigheden. Daarbij worden onderzoeken naar beoordeling van sprekers behandeld, maar ook algoritmes om de relevante aspecten van spraak te meten. Aan de hand van dit onderzoek wordt besloten dat de toonhoogte, de variatie in toonhoogte en het spreektempo kunnen dienen als metrieken voor de presenta-tievaardigheden. Vervolgens wordt een applicatie geschreven die als platform dient voor een real-time analyse van spraak. Deze wordt geconfigureerd om de drie gevonden aspecten te meten en live aan de gebruiker te presenteren. Ter controle wordt de applicatie getest op TED sprekers, waaruit blijkt dat voornamelijk de toonhoogtevariatie duidelijke verschillen tussen sprekers zichtbaar maakt.

(4)
(5)

Inhoudsopgave

1 Introductie 7 1.1 Context . . . 7 1.2 Onderzoeksvragen . . . 8 1.3 Implementatiedoelen . . . 8 2 Theoretische achtergrond 9 2.1 Basiskennis over audio . . . 9

2.2 Toonhoogte . . . 9

2.2.1 Invloed van toonhoogte op de perceptie van spraak . . . 9

2.2.2 Detectie van toonhoogte . . . 13

2.3 Luidheid en tempo . . . 14

2.3.1 Invloed van tempo op de perceptie van spraak . . . 15

2.3.2 Detectie van luidheid . . . 16

2.3.3 Detectie van tempo . . . 17

3 Implementatie 19 3.1 Real-time audio en callback functies . . . 19

3.2 Gebruikersinterface . . . 20

3.3 Configuratie . . . 21

3.3.1 Ge¨ımplementeerde toonhoogtedetectie . . . 22

3.3.2 Ge¨ımplementeerde luidheid- en tempodetectie . . . 22

4 Experiment en resultaten 25 4.1 Controle van ge¨ımplementeerde algoritmen . . . 25

4.2 Analyse van TED talks . . . 25

4.3 Behaalde scores . . . 27

5 Discussie 31 5.1 Discussie . . . 31

5.2 Conclusie . . . 31

5.3 Vervolgonderzoek . . . 32

5.3.1 Mogelijke verbeteringen van de implementatie . . . 32

5.3.2 Toepassingen en uitbreidingen . . . 32

(6)
(7)

HOOFDSTUK 1

Introductie

1.1

Context

In het onderwijs zijn veel processen geparallelliseerd. Hoorcolleges worden gegeven aan grote groepen studenten en er wordt individueel aan opdrachten gewerkt. Presentaties blijven hier echter achterop. Hierbij staat er n student tegelijk voor de klas, terwijl de rest luistert. Dit is onvermijdelijk en niet per se een slechte zaak – studenten leren zo ook van elkaar – maar voor uitgebreide feedback en begeleiding blijft zelden tijd over.

Presentaties bestaan uit zowel verbale als non-verbale communicatie. Terwijl een presentator de groep toespreekt, maakt hij of zij gebruik van lichaamstaal en andere visuele middelen om zijn of haar boodschap zo goed mogelijk over te brengen. Uit dit brede scala aan informatie kan veel gehaald worden. Met behulp van beeldbewerking kunnen de bewegingen van de spreker gevolgd worden, terwijl met signaalverwerking de audio genalayseerd kan worden. Vervolgens zouden zelfs deze twee componenten gecombineerd kunnen worden door correlaties te herkennen tussen de data in beide delen. Dit onderzoek concentreert zich op de verbale aspecten van presentaties en dan met name fonetische eigenschappen van spraak, waarbij de inhoud en betekenis achterwege wordt gelaten.

Het zou ideaal zijn als studenten zelfstandig hun presentatievaardigheden konden oefenen, waarbij de computer feedback geeft op de verbale aspecten van de spreker. Deze feedback hoeft geen waardeoordeel te zijn, maar moet een consistent resultaat geven zodat verschillende personen en verschillende sessies van dezelfde persoon vergeleken kunnen worden. Volgens Hincks (2005) moet dit haalbaar zijn. Zij stelt een aantal metrieken voor die met de computer meetbaar zijn en inzicht kunnen geven in de levendigheid van een presentatie.

Dit onderzoek zal zich nauwelijks bemoeien met de educatieve toepassing van een dusdanige applicatie. De vraag of er werkelijk vooruitgang wordt geboekt in de presentatievaardigheden van gebruikers blijft onbeantwoord. Uit eerder onderzoek naar vergelijkbare applicaties zijn wel positieve resultaten gekomen. Zo bespreken Hincks en Edlund (2009) het geval waarin studenten oefenen met een programma dat live feedback geeft op hun toonhoogtevariatie. Na gebruik van de toepassing maakten proefpersonen meer gebruik van variatie in hun spraak. Het doel van dit onderzoek nu is om een soortgelijk systeem te bouwen dat niet alleen de toonhoogtevaratie meet, maar uitbreidbaar is en meerdere analyses tegelijk uitvoert. Over deze verschillende analyses wordt in real-time feedback gegeven aan de spreker.

(8)

1.2

Onderzoeksvragen

Naast de toonhoogtevariatie noemt Hincks enkele andere aspecten van spraak die een indicatie kunnen zijn voor de presentatievaardigheden. Het eerste deel van deze scriptie bestaat uit een literatuuronderzoek naar deze aspecten. Hoe be¨ınvloeden ze de perceptie en beoordeling van de luisteraar? Het is belangrijk dit te bepalen, om de beslissing te maken of het zin heeft ze te meten.

Parallel hieraan worden bestaande algoritmes behandeld die ervoor kunnen zorgen dat deze taak – het beoordelen – overgenomen kan worden door de computer.

De resultaten moeten vervolgens op een betekenisvolle manier gepresenteerd worden aan de gebruiker. Deze kan dan direct corrigeren. Dit alles moet gebeuren in real-time. Er wordt een implementatie beschreven en ontwikkeld als proof of concept. Om te controleren of de applicatie de gebruiker kan bijhouden, wordt een performance-analyse uitgevoerd.

Tot slot moet de applicatie en configuratie getest worden op echte spraak. Het is de bedoeling dat de verschillen tussen sprekers en hun stijl zichtbaar zijn in de resultaten die het programma genereert.

De vragen die in dit proces behandeld en uiteindelijk beantwoord zullen worden, luiden als volgt: • Welke aspecten van geluid zijn een goede indicatie voor presentatievaardigheden?

• Hoe kunnen deze aspecten in real-time gemeten en gepresenteerd worden? • Zijn de metingen van deze aspecten discriminerend?

1.3

Implementatiedoelen

Om een applicatie van goede kwaliteit te ontwikkelen, worden een aantal doelen opgesteld waar deze aan moet voldoen. De applicatie wordt geprogrammeerd in Python 3 en zal bestaan uit een live stream van het geluid dat binnenkomt via een microfoon, waarop enkele analyses uitgevoerd worden. De resultaten van deze analyses worden vervolgens teruggekoppeld naar de gebruiker. Ten eerste moet de applicatie eenvoudig uit te breiden zijn. Een uitbreiding kan bijvoorbeeld een nieuwe analyse zijn, maar ook een alternatieve benadering voor een bestaande.

De toepassing moet los van de gebruikersinterface herbruikbaar zijn. Hierdoor kan hij in toe-komstig onderzoek hergebruikt worden, bijvoorbeeld in combinatie met een visuele analyse van de spreker.

Iedereen moet de applicatie zonder veel moeite thuis kunnen gebruiken. Dit betekent geen specifieke hardwarevereisten. Naast een werkende microfoon, een Python installatie en enkele noodzakelijke libraries is niets nodig. Hierdoor blijft de applicatie toegankelijk voor de primaire doelgroep: studenten die een presentatie willen voorbereiden. De keuze voor Python moet er ook voor zorgen dat het programma niet gebonden is aan een enkel besturingssysteem.

(9)

HOOFDSTUK 2

Theoretische achtergrond

Dit hoofdstuk bespreekt verschillende aspecten van spraak. Voor elk aspect wordt onderzocht welke informatie zij overdragen over het karakter en de toestand van een spreker. Daarnaast komen bestaande algoritmes aan het licht om deze aspecten te meten met de computer.

Als voornaamste metrieken van levendigheid noemt Hincks (2005) de toonhoogtevariatie en het spreektempo. In de hierop volgende secties worden andere onderzoeken naar deze aspecten besproken, waarbij nodige uitstappen gemaakt zullen worden naar de absolute toonhoogte – dus niet enkel de variatie – en de luidheid, die samenhangt met het spreektempo. Deze onderzoeken gaan zowel over de invloeden van deze aspecten op de beoordeling van een spreker als algoritmen waarmee een computer deze aspecten kan meten.

2.1

Basiskennis over audio

Geluid bestaat uit een golf van drukverschillen. Wanneer geluid wordt opgenomen en wordt opgeslagen op een computer komen samples van deze druk achter elkaar te staan. Golven hebben eigenschappen waar informatie uit gehaald kan worden. Als voorbeeld nemen we een simpele sinus met de volgende formule:

y = A sin(2π ∗ f ∗ t) (2.1)

Hierin zijn t en y de tijd en druk, A de amplitude, oftewel hoe ver de golf omhoog en omlaag uitschiet, en f de frequentie waarmee dit gebeurt. Door de frequentie van een geluidsgolf te verhogen, gaat de toonhoogte omhoog. Een vergroting van de amplitude maakt het geluid luider. Complexe geluiden bestaan uit optellingen van dit soort golven met verschillende frequenties en amplitudes.

2.2

Toonhoogte

2.2.1

Invloed van toonhoogte op de perceptie van spraak

De toonhoogte van een uiting draagt grotendeels bij aan de indruk die achterblijft bij de luiste-raar. Naast de absolute hoogte, is vooral ook de variatie van groot belang.

(10)

Fundamentele frequentie

Door Apple, Streeter en Krauss (1979) wordt een onderzoek beschreven naar de effecten van toonhoogte en tempo – waarover later meer – op de perceptie van luisteraars. Eerder was door Streeter e.a. (1977) ondervonden dat leugens vaak gepaard gaan met een kleine stijging in toon-hoogte. Vervolgens werd gecontroleerd of mensen hogere uitingen ook als minder betrouwbaar zien. Dit bleek niet het geval te zijn wanneer de uiting verstaanbaar was, maar nadat het ge-luid door een content filter was gehaald – waardoor wel de fonetische aspecten bewaard worden, maar de woorden onverstaanbaar worden – werden de hogere uitingen wel als aanzienlijk minder betrouwbaar ervaren.

Om geluidsopnamen te verkrijgen werd studenten een aantal vragen gesteld. Hun natuurlijke reactie op deze vragen vormde een basis voor het onderzoeksmateriaal. Versies met afwijkende toonhoogte zijn gemaakt door de originele versie van een geluidsopname te bewerken. Hierdoor is de toonhoogte de enige variabele en blijft de uiting verder identiek. Dit is gedaan met de linear predictive coding (LPC) methode (Atal en Hanauer 1971). Na bewerking was er van elke opname de originele versie, een versie met de toonhoogte verlaagd naar 80% en een met de toonhoogte verhoogd naar 120%.

Figuur 2.1: Truthfulness, emphaticness, en seriousness van uitingen met aangepaste toonhoogte. Uit Apple, Streeter en Krauss (1979)

Vervolgens werden de geluidsopnames voorgelegd aan proefpersoon. Zij moesten truthfulness scores eraan toewijzen. De lagere versies kregen doorgaans een hogere score. Vermoedelijk wordt een hogere hogere frequentie herkend als stress, die het resultaat zou zijn van deceptie (Apple, Streeter en Krauss 1979).

En een ander experiment binnen hetzelfde onderzoek werd proefpersonen opgedragen de uitingen een score te geven voor fluency, emphaticness, persuasiveness, nervousness, en seriousness. Hier-uit blijkt dat een hogere frequentie de overtuigingskracht niet ten goede komt en de impressie geeft van zenuwachtigheid.

Variatie in toonhoogte

Hincks (2005) laat proefpersonen een score voor levendigheid geven aan gesproken tekst en vergelijkt dit vervolgens met de variatie in toonhoogte binnen deze uiting. De proefpersonen waren zich er niet van bewust dat het onderzoek over toonhoogte ging en werd opgedragen niet te oordelen over competentie, maar slechts liveliness. Er bleek een duidelijk verband tussen de toonhoogtevariatie en ervaren levendigheid, zoals te zien in Figuur 2.2.

(11)

Figuur 2.2: Pitch variation quotient per spreker tegenover liveliness score per spreker. Uit Hincks (2005).

De variatie in toonhoogte, of intonatie, is belangrijk voor de betekenis van uitingen. Een verschil in intonatie kan een stelling in een vraag veranderen. Neem als voorbeeld de intonatie van het Engels. Er bestaat een aantal veelgebruike intonatiepatronen, die telkens terugkeren (Ladefoged en Disner 2012).

Een neutrale stelling, zoals I’m going away daalt aan het einde. Zie Figuur 2.3. Dit intonatie-patroon is getekend met de software Praat (Boersma en Weenink 2009), gebruik makend van de autocorrelatie pitch detectie. De opname is ingesproken door Peter Ladefoged (Ladefoged en Disner 2012). Hetzelfde geldt voor de hierop volgende intonatiepatronen.

Time (s)

0 1.011

Pitch (Hz)

50 200

Figuur 2.3: Intonatiepatroon van de zin I’m going away, uit Ladefoged en Disner (2012). Origi-nele opname te vinden op www.wiley.com/go/ladefoged (opname 2.3)

Vragen, bijvoorbeeld Where are you going? (Figuur 2.4), zijn in het algemeen gemiddeld hoger, hebben net voor het einde een piek de hoogte in en dalen dan pas. Vragen en stellingen hebben dus beide een dalende intonatie, maar vragen niet voordat eerst de toonhoogte stijgt, waardoor nadruk komt te liggen op het laatste woord.

(12)

geant-Time (s)

0 0.9288

Pitch (Hz)

50 200

Figuur 2.4: Intonatiepatroon van de zin Where are you going?, uit Ladefoged en Disner (2012). Originele opname te vinden op www.wiley.com/go/ladefoged (opname 2.4)

woord kan worden. Deze hebben ook weer een ander intonatiepatroon. Als voorbeeld noemt Ladefoged en Disner (2012) de zin Are you going home? (Figuur 2.5). Het einde van het hierbij horende patroon is juist tegenovergesteld van wat eerder te zien was. Na een daling op het laatste woord, gaat de toon helemaal de hoogte in en eindigt de uiting daar.

Time (s)

0 1.497

Pitch (Hz)

50 200

Figuur 2.5: Intonatiepatroon van de zin Are you going home?, uit Ladefoged en Disner (2012). Originele opname te vinden op www.wiley.com/go/ladefoged (opname 2.5)

Als deze zinnen met meer emotie worden uitgesproken, verandert de intonatie wederom. De zin Where are you going? kan bijvoorbeeld ook een geschokte uiting zijn. In dat geval neemt de toonhoogte gedurende de hele uiting toe.

Deze verschillende intonatiepatronen worden door elkaar gebruikt in een levendige presentatie. Door vragen in een praatje te verwerken, wordt een hoger frequentiebereik benut en neemt de algehele variatie toe. Ook continueringen hebben een herkenbaar intonatiepatroon. Om aan te geven dat een zin nog niet afgelopen is, wordt de toonhoogte verhoogd. Dit komt vaak voor

(13)

in presentaties in bijvoorbeeld het gebruik van opsommingen. Tot slot kan nadruk op bepaalde woorden gelegd worden met intonatie, bijvoorbeeld op termen die een belangrijk onderdeel zijn van de boodschap die wordt overgebracht.

2.2.2

Detectie van toonhoogte

Om de computer in te laten schatten hoe mensen een spraakgeluid zouden beoordelen, is een me-thode nodig voor het herkennen van de toonhoogte, of fundamentele frequentie, van spraak. Door dit herhaaldelijk te doen over een periode van tijd, kan vervolgens de variatie bepaald worden. Analyseren of intonatie ‘correct’ gebruikt wordt – dus bijvoorbeeld om de belangrijke woorden nadruk te geven – is te hoog gegrepen voor dit onderzoek. Wel is de score voor toonhoogtevariatie een goede indicatie voor de mate waarin de spreker gebruik maakt van intonatie.

Voor het herkennen van de toonhoogte is een algoritme nodig dat een dusdanige complexiteit heeft, dat het real-time uitgevoerd kan worden. Dit zorgt ervoor dat de feedback altijd gelijk loopt met de gebruiker en resultaten direct zichtbaar zijn. De accuraatheid van het algoritme is minder belangrijk dan voor veel andere toepassingen. Omdat vooral de variatie in toonhoogte over een langere periode interessant is, hoeft de exacte toonhoogte niet bekend te zijn, zolang de onderlinge verschillen maar duidelijk herkenbaar zijn.

De interessante frequenties voor het analyseren van spraak bevinden zich tussen de 40 en 600 Hz (Huang e.a. 2001). Het algoritme moet dus goed onderscheid kunnen maken tussen toonhoogtes binnen dit bereik.

Er bestaan talrijke methodes om de fundamentele frequentie van een geluidsgolf te bepalen. Ruwweg kunnen deze onderverdeeld worden in algoritmes in het tijd- en in het frequentiedomein. Ook bestaan er enkele die een combinatie zijn van tijd- en frequentiebewerkingen. Algoritmen in het tijddomein zijn gebaseerd op de gelijkheid van geluidsgolven. In het algemeen richten deze zich op het herkennen van herhalingen in de golf. Enkele voorbeelden zijn SAcC (Lee 2012), Yin (De Cheveign´e en Kawahara 2002), getf0 (Talkin 1995) en MPM (Phillip McLeod en Wyvill 2005). In het frequentiedomein kan de toonhoogte gevonden worden aan de hand van de pieken. De fundamentale frequentie en eventuele boventonen zullen hoger uitschieten dan de rest. Een voorbeeld hiervan wordt beschreven in Philip McLeod en Wyvill (2003). Het YAAPT (Kasi en Zahorian 2002) algoritme is een combinatie van tijd- en frequentiedomein methodes.

Tijddomein

Ghahremani e.a. (2014) halen het oorspronkelijke geluid ter preparatie door een laagdoorlaatfilter van 1000 Hz en resamplet het naar 4000 frames per seconde. Frequenties boven de 1000 Hz zijn niet nodig voor toonhoogte analyse van spraak en wanneer deze frequenties niet meer aanwezig zijn kan de samplerate ook verlaagd worden. De absolute minimumwaarde van de samplerate is twee keer de hoogst detecteerbare frequentie (Shannon 1949), in dit geval 1000 ∗ 2 = 2000 Hz. De kruiscorrelatie van twee signalen wordt gevonden door de twee over elkaar te schuiven en telkens de integraal van het product van beide signalen te nemen. Dit is hetzelfde als een convolutie, maar dan zonder een van de signalen eerst om te draaien. Bij het toepassen van de kruiscorrelatie op functies f en g zullen de pieken zich bevinden op plaatsen waar beide functies een hoge positieve waarde hebben of juist waar beide functies een lage negatieve waarde hebben. Dit zorgt ervoor dat de maxima in de kruiscorrelatie aangeven voor welke verschuiving de twee functies het meest op elkaar lijken. De autocorrelatie is een speciale variant van de kruiscorrelatie waarbij een signaal met zichzelf wordt gecorreleerd.

Door de autocorrelatie van een geluidssignaal te nemen, worden herhalingen in de golfvorm herkend. Omdat een golf zich meerdere keren herhaald met een periode van T0 zal op elke nT0

een piek te vinden zijn (Boersma 1993). De positie waarop een piek te vinden is komt dan overeen met de periode van deze herhaling. De inverse van deze periode in seconden is vervolgens de frequentie in Herz.

(14)

Frequentiedomein

Philip McLeod en Wyvill (2003) beschrijft een algoritme voor toonhoogtedetectie dat werkt in het frequentiedomein. Een stuk audio wordt om te beginnen vermenigvuldigd met een Gaussian functie. Dit zorgt ervoor dat het signaal niet abrupt start en stopt. Een vermenigvuldiging in het tijddomein is equivalent met een convolutie in het frequentiedomein, wat betekent dat ook het frequentiedomein is gladgestreken. Dit zal het herkennen van lokale maxima versimpelen. Na deze voorbereiding wordt het signaal door een Fouriertransformatie gehaald, gebruik makend van de fast Fourier transform (FFT) methode. Dit zet het signaal om naar het frequentiedomein, waar van elke meetbare frequentie te vinden is in welke mate het voorkomt in het signaal. Een nauwkeurige waarde voor de locatie van elk maximum wordt bepaald door de algemene functie van een Gaussian te fitten over elk lokale maximum. Deze luidt als volgt:

y = he−(x−µ)22σ2 (2.2) Waarin h de hoogte, µ het gemiddelde en σ de standaardafwijking zijn. Hierbij zullen meerdere pieken gevonden, waaronder de grondtoon zelf, harmoni¨en hiervan en overige pieken voor even-tueel achtergrondgeluid. Tot slot moet bepaald worden welke van deze de grondtoon is. Dit is niet per definitie de laagste frequentie of de frequentie met de sterkste piek. Wel is het hoogst-waarschijnlijk dat de frequentie van de sterkste piek (f ) de grondtoon of een van de boventonen is. De grondtoon zal dan te vinden zijn op frequentie F = f /n, met n als geheel getal. Voor n worden de waardes van 1 tot 10 genomen, en voor elke van deze pieken wordt een score gegeven voor de waarschijnlijkheid dat hij bij de fundamentale frequentie hoort. Deze score is gebaseerd op het aantal boventonen dat bij de frequentie gevonden wordt in de pieken en hoe goed deze passen. De F met de hoogste score wordt gekozen als de grondtoon.

Variatie

Hincks (2005) introduceert het Pitch Variation Quotient (PVQ). Deze grootheid houdt er re-kening mee dat variaties in een hoger frequentiespectrum hogere absolute verschillen opleveren. Dit komt door de logaritmische aard van frequenties. Een verdubbeling in frequenties, wordt waargenomen als een verschuiving van een octaaf. Als iemand met een hogere stem praat – bijvoorbeeld vrouwen ten opzichte van mannen – resulteren verschillen die als even groot worden waargenomen dus in hogere numerieke waardes gemeten in Herz.

Het PVQ wordt bepaald door de standaarddeviatie uit te drukken als een fractie van het ge-middelde. Een standaard deviatie van 21 en een gemiddelde frequentie van 115 Hz resulteert bijvoorbeeld in een PVQ van 0.183.

P V Q = σ

µ (2.3)

2.3

Luidheid en tempo

Naar de gevolgen van luidheid op de perceptie van een luisteraar is weinig onderzoek gedaan. Luidheid is voornamelijk van belang voor het bepalen van andere statistieken. Aan de hand van de luidheid kan namelijk onder andere het tempo gemeten worden. Daarom moet ook de luidheid behandeld worden wanneer het gaat over het spreektempo.

(15)

2.3.1

Invloed van tempo op de perceptie van spraak

Naast de eerder besproken toonhoogte, deden Apple, Streeter en Krauss (1979) ook onderzoek naar de invloed van spreektempo op de perceptie van de luisteraar. Wederom worden opnames bewerkt om langzamer of sneller te zijn dan het origineel.

Proefpersonen moeten vervolgens voor negen schalen, uitgedrukt als woordparen, een score van 1 tot 7 toekenen. Aan de hand van deze paren worden algemenere scores bepaald: sour –sweet, awful –nice en bad –good voor een evaluation score, thin–thick, small –large en weak –strong voor potency en tot slot voor activity de paren slow –fast, cold –hot en passive–active.

Tragere spraak wordt beoordeeld als zwakker, met een lagere potency. Zoals men zou verwachten, wordt snellere spraak als actiever ervaren, gekenmerkd door hoge activity scores. Zie Figuur 2.6.

Figuur 2.6: Ervaren activiteit voor verschillende spreektempo’s, uit Apple, Streeter en Krauss (1979)

Een ander onderzoek, door Smith e.a. (1975), bekeek de ervaren competentie en welwillendheid van sprekers voor verschillende spreektempo’s. Achtentwintig proefpersonen werd opgedragen vier zinnen voor te lezen: twee stellingen, een vraag en een uitroep. Op vijftien schalen uitgedrukt als woordparen moesten andere testpersonen de uitingen beoordelen. Deze scores maakten samen scores voor benevolence en competence, oftewel welwillendheid en competentie. Voor verder onderzoek werden zes sprekers gekozen die het bereik van scores goed representeerden. De opnames van deze sprekers werden bewerkt om meerdere versnelde en vertraagde varianten te krijgen, wat resulteerde in negen verschillende fragmenten per spreker. Deze opnames werden wederom beoordeeld door een andere groep proefpersonen.

Figuur 2.7 laat voor beide scores het effect van het spreektempo zien. Voor competentie werd een vrijwel lineaire verhouding gevonden, wat betekent dat door almaar sneller te praten de waargenomen competentie blijft toenemen. Hierbij is het wel belangrijk op te merken dat wanneer sprekers van zichzelf sneller gaan praten – dus niet door audiobewerking – er sneller versprekingen gemaakt worden (Pfau en Ruske 1998). De welwillendheid van sprekers bleek niet te verbeteren zijn door het tempo aan te passen. Zowel versnelde als vertraagde fragmenten worden als minder welwillend ervaren. De ideale score ligt bij 15 fonemen per seconde. Fonemen komen ruwweg overeen met letters.

Om een afweging te maken tussen beide aspecten, kan Figuur 2.8 geraadpleegd worden. De temponiveaus in het eerste kwadrant (rechtsboven) scoren goed op zowel competentie als welwil-lendheid.

(16)

Figuur 2.7: Competentie en welwillendheid uitgezet tegenover de spreeksnelheid, uit Smith e.a. (1975)

Figuur 2.8: Competentie en welwillendheid scores voor vertraagde en versnelde opnames, uit Smith e.a. (1975)

2.3.2

Detectie van luidheid

Wanneer over luidheid gesproken wordt, bedoelt men de waarde die weergeeft hoe een geluid subjectief wordt herkend door een gemiddelde toehoorder. De luidheid is niet enkel afhankelijk van de druk, maar wordt mede bepaald door de frequentie en golfvorm (Olson 1972).

Een veel gebruikte methode voor het benaderen van de luidheid aan de hand van de geluidsdruk is de A-weging (Aarts 1992). De A-weging beschrijft een curve die de weging van verschillende frequenties bepaalt bij het detecteren van de luidheid. Naast de A-weging bestaan er nog meer wegingen, waarvan enkele te zien in Figuur 2.9.

Voor het absoluut bepalen van de geluidsdruk is speciale hardware nodig. Je weet anders namelijk niet hoe ver de spreker zich van de microfoon bevindt. Ook is de uiteindelijke hoogte van de

(17)

Figuur 2.9: Verschillende wegingcurves voor het bepalen van de luidheid, uit Aarts (1992)

golf afhankelijk van hoe de microfoon is ingesteld. Wel kunnen aan de hand van een golfvorm de relatieve verschillen binnen een opname in beeld gebracht worden.

2.3.3

Detectie van tempo

Spreektempo wordt vaak uitgedrukt in woorden per minuut (WPM) maar dit is geen ideale metriek. Voor het automatisch bepalen van het tempo is het handiger om het aantal lettergrepen per seconde (syllables per second, SPS) te meten (Hincks 2005). Om te beginnen kan het WPM niet bepaald worden zonder een transciprtie van de tekst te hebben. In het geval waarin de spreker in real-time een presentatie oefent, is deze er natuurlijk niet. Bovendien hebben lettergrepen een enigszins consistente lengte terwijl woorden veel in lengte kunnen verschillen. Sommige sprekers gebruiken langere woorden dan anderen. Omdat lettergrepen kleinere bouwstenen zijn dan woorden en allemaal van ongeveer gelijke lengte zijn, kan het tempo accurater en lokaler bepaald worden.

Het herkennen van lettergrepen hangt nauw samen met het bepalen van de luidheid. Nuclei van lettergrepen – de klinker – zijn doorgaans luider dan het omringende geluid (Pfau en Ruske 1998). Om het spreektempo te bepalen wordt daarom gebruik gemaakt van de pieken in de luidheid van de audio.

Pfau en Ruske (1998) beschrijven een methode om deze pieken te vinden, en zo een accurate schatting te geven van het aantal lettergrepen per seconde. In de vorige sectie is beschreven hoe de luidheid van een geluidsstroom bepaald kan worden. De hierbij verkregen data wordt gebruikt als startpunt van deze analyse. Zie Figuur 2.10 voor een overzicht van het beschreven algoritme, toegepast op de Duitse zin Spitze, vielen Dank das paßt mir sehr gut, ja.

De luidheid wordt eerst afgevlakt om het aantal pieken te doen afnemen. Pfau en Ruske (1998) doen dit met meerdere laagdoorlaatfilters, maar het kan ook zoals eerder besproken door het signaal met een Gaussian te convolueren.

Hierna worden de lokale maxima in de luidheid bepaald. Deze zouden overeen moeten komen met de nuclei van lettergrepen. Zoals te zien in Figuur 2.10 zijn er echter nog enkele maxima die niet overeenkomen met een lettergreep, namelijk tijdens de stiltes aan het begin en eind. Deze kunnen nog met twee verschillende methodes eruit gefilterd worden.

Er wordt onderscheid gemaakt tussen distincte en vlakke maxima. De distincte maxima zijn de maxima die overeenkomen met een nucleus. De vlakke vallen vaak in een stilte. Het onderscheid kan gemaakt worden door een drempel in te stellen, waaronder de luidheid moet komen binnen een gedefinieerd window rond de piek. Deze drempel is uitgedrukt als een percentage van de piekwaarde.

(18)

Figuur 2.10: Bepalen van het aantal lettergrepen per seconde, uit Pfau en Ruske (1998).

Het algoritme kan nog enigszins verbeterd worden door de zerocrossing rate te bepalen. Dit is het aantal keer dat de golfvorm door nul gaat per seconde. In stiltes, wanneer enkel achtergrondruis hoorbaar is, is deze waarde hoog. Door pieken in de luidheid die gelijk vallen met een zerocrossing rate boven een in te stellen drempel te negeren, wordt het resultaat nog accurater.

Daarnaast kunnen de lengte van aaneengesloten geluidsstromen (mean length of runs, MLR) (Hincks 2005) en de duur van stiltes een indicatie geven van de vaart in het praatje. Ook kunnen deze duidelijk maken waardoor het tempo lager of hoger is dan gewenst. Hiervoor wordt wederom als basis de luidheid van het geluid gebruikt. Er wordt een drempel ingesteld die bepaalt onder welke intensiteitswaarde het signaal als een stilte wordt herkend.

Kormos en D´enes (2004) defini¨eren een pauze als een stilte van meer dan 250 millisecondes. Door de afstand tussen pauzes te meten en hiervan het gemiddelde te nemen, wordt de MLR-score bepaald.

(19)

HOOFDSTUK 3

Implementatie

Python 3 is gekozen als programmeertaal om een aantal redenen. De Python interpreter is be-schikbaar voor zowel OS X en Linux als Windows, waardoor het programma daar elke student gebruikt zou kunnen worden. Bovendien bestaan er reeds libraries die de I/O en signaalverwer-king kunnen versimpelen.

De benodigde libraries zijn: • PyAudio • Numpy • Scipy En voor de gebruikersinterface: • Tkinter • Matplotlib • PyLaTeX

PyAudio is een wrapper voor PortAudio, een cross-platform library voor audio I/O. Hiermee kan een livestream gemaakt worden van de input van een microfoon. Numpy en Scipy worden gebruikt voor effici¨ente omgang met data en audiobewerkingen. Tot slot zijn enkele libraries nodig voor de gebruikersinterface. Deze zullen dus niet nodig zijn wanneer de applicatie slechts als onderdeel van een groter project gebruikt wordt.

3.1

Real-time audio en callback functies

Voor het omgaan met real-time audio en het uitvoeren van analyses hierop, wordt een klasse geschreven om de stream klasse van PyAudio heen. De data wordt opgeslagen in een Numpy array van vaste lengte. Er wordt tegelijkertijd bijgehouden waar voor het laatst iets is geschreven. Zo kan gemakkelijk de meest recente data opgevraagd worden. Als de array te klein wordt voor de data wordt een nieuwe gemaakt met een lengte twee keer zo groot als de vorige en wordt de data overgeheveld.

Aan de stream kunnen callback functies toegevoegd worden. Deze worden aangeroepen telkens wanneer nieuwe data wordt weggeschreven. Deze functies kunnen een analyse uitvoeren op de audiodata en de data die hieruit komt wordt geschreven naar een nieuwe array. Andere callback functies kunnen vervolgens als input deze array gebruiken. Hierdoor kan een analyse overzichte-lijk in stappen worden opgedeeld die bovendien hergebruikt kunnen worden. In veel opzichten zijn de resultaten van een callback functie vergelijkbaar met de originele stream. Ook voor deze

(20)

data wordt een samplerate bijgehouden, zodat bewerkingen rekening kunnen houden met de periode waar een stuk data mee overeen komt. Het interval tussen twee van deze analyseron-des is afhankelijk van de ingestelde samplerate en buffergrootte. De standaardinstellingen, een samplerate van 44100 Hz en een buffergrootte van 1024 samples, resulteren in een interval van 1024/44100 = 0, 02322 seconde. Dit is de tijd die beschikbaar is voor elke ronde van analyses. Deze deadline is soft, wat betekent dat het programma niet crasht wanneer de deadline niet gehaald wordt, maar er wel ongedefinieerd gedrag kan voorkomen.

Bij het aanmaken van een functie wordt gespecificeerd hoeveel samples de functie als invoer neemt. Dit is idealiter zo klein mogelijk zodat de operaties niet te duur worden. Alsbijvoorbeeld wordt aangegeven dat een functie 1024 samples nodig heeft, dan worden de laatste 1024 samples uit de data genomen. Daarnaast wordt aangegeven hoe veel samples de functie zal returnen. Een functie kan bijvoorbeeld over een stuk data van meerdere samples een gemiddelde berekenen en deze enkele waarde teruggeven, maar er kan ook een stuk data van gelijke grootte gereturnd worden, bijvoorbeeld een afgevlakte versie van het origineel.

Het is belangrijk dat alle analyses worden uitgevoerd voordat er weer nieuwe data wordt aan-geleverd vanaf de microfoon. Om deze reden wordt de load berekend, het percentage van de beschikbare tijd dat gebruikt is door de callback functies. Voor alsnog wordt er geen actie on-dernomen wanneer de load te hoog wordt, maar er is dan geen garantie meer dat de resultaten accuraat zijn.

3.2

Gebruikersinterface

De gebruiker kan een sessie starten, pauzeren en be¨eindigen. In de configuratie of tijdens de sessie kan de gebruiker eventueel doelen aangeven, bijvoorbeeld een specifiek tempo waarnaar wordt gestreefd. Aan het einde van de sessie krijgt hij of zij een overzicht te zien van het verloop van de presentatie. De verschillende scores, zoals toonhoogtevariatie en tempo worden in grafieken als functie over de tijd weergegeven met hierbij het doel, zodat de gebruiker nog eens terug kan kijken waar het goed ging en waar iets minder.

Figuur 3.1: Gebruikersinterface voor de voorbeeldconfiguratie

Voor het aanmaken van de callback functies en hierbij horende feedbackelementen wordt een Python dictionary uit een ander bestand gebruikt. Dit zorgt ervoor dat de configuratie aangepast kan worden zonder de basisfunctionaliteit aan te tasten. In deze configuratie wordt aangegeven welke analyses er uitgevoerd moeten worden en welke hiervan aan de gebruiker gepresenteerd

(21)

moeten worden. Alle analyses waar dit voor geldt, moeten extra informatie bevatten, zoals de minimale en maximale waarde en de eenheid waarin de waarde gemeten wordt. Deze vereisten zorgen ervoor dat de gebruiker betekenisvolle feedback krijgt.

Tijdens de sessie ziet de gebruiker onderin het venster de spreektijd, die begint op te lopen na het aanklikken van de startknop. Door hier nogmaals op te klikken wordt de stream gepauzeerd. Ter controle wordt de load weergegeven. Wanneer deze boven de honderd procent uitkomt – wat aangeeft dat de analyses te veel tijd kosten – kleurt de waarde rood als waarschuwing aan de gebruiker.

Als feedback wordt voor elke weer te geven analyse een balk weergegeven. Deze reflecteert de gemeten waardes door in hoogte te vari¨eren. Eventuele doelen worden weergegeven als een horizontale lijn. Hoe dichter de balk bij de lijn komt, des te groener kleurt hij, om aan te geven dat de gebruiker de goede kant op gaat.

Na het verzamelen van data kan een rapport gegenereerd worden en opgeslagen als PDF-bestand. Dit rapport laat het verloop zien van de verschillende aspecten gedurende de sessie. Daarnaast komt alle data samen in een radardiagram dat de spraak van de gebruiker moet samenvatten in een enkel figuur. In dit diagram is elke uitkomst (v) omgezet naar een getal tussen nul en honderd volgens vergelijking 3.1, gebaseerd op de minimale (vmin) en maximale (vmax) waarde in de

configuratie. Welke data wordt weergegeven en hoe wordt volledig bepaald door de configuratie, waardoor het rapport zich automatisch aanpast wanneer instellingen worden veranderd. Zie bijlage A voor een voorbeeld van een rapport.

score = v − vmin vmax− vmin

∗ 100 (3.1)

3.3

Configuratie

Voor dit onderzoek is een configuratie gemaakt gebaseerd op het literatuuronderzoek in het vorige hoofdstuk. Hieruit bleek dat toonhoogte, toonhoogtevariatie en spreektempo verschillende invloeden hebben op de manier waarop presentaties worden beoordeeld. Deze sectie bespreekt welke algoritmes gebruikt zijn om deze aspecten te meten en hoe deze data uitwisselen. Zie Figuur 3.2 voor een overzicht.

Audio-invoer pitch pitch average Toonhoogte pitch variance Variatie loudness smoothed loudness sps Tempo

Figuur 3.2: Gebruikte configuratie voor analyses. Via callback functies wordt de audio omgezet in testresultaten.

(22)

3.3.1

Ge¨ımplementeerde toonhoogtedetectie

Aan de hand van de toonhoogte worden twee feedbackelementen gegenereerd. Over de laatste tien secondes wordt zowel de gemiddelde toonhoogte als de variatie berekend. De variatie wordt uitgedrukt als het Pitch Variation Quotient.

Eerst wordt de lokale toonhoogte bepaald. Hierbij worden frequenties boven de 600 Hz genegeerd, φmax = 600. Er is gekozen voor een algoritme in het tijddomein, dat gebruik maakt van de

autocorrelatie. De pitch functie verwacht een data array van 2048 samples. Bij een samplerate van 44100 komt dit overeen met ongeveer 50 ms. Omdat voor het herkennen van de frequentie minstens een herhaling nodig is, is de langste herkenbare periode 25 ms, wat overeenkomt met een frequentie van 40 Hz.

De data met zichzelf wordt gecorreleert. In het verkregen resultaat worden de lokale maxima opgezocht en de hoogste van deze pieken wordt als fundamentale frequentie gekozen. Om de index waarop deze piek gevonden is om te zetten naar een frequentie is de samplerate van het signaal nodig:

φ = S

i (3.2)

waarin φ de frequentie is, S de samplerate en i de index van de hoogste piek. Er wordt geen interpolatie uitgevoerd om de positie van de piek nauwkeuriger te bepalen. Dit omdat het algo-ritme in real-time uitgevoerd moet worden en de gewonnen nauwkeurigheid niet noodzakelijk is voor deze toepassing. Voor een samplerate van 44100 komt de afstand tussen twee opeenvolgende indices komt overeen met een frequentieverschil van

44100 i + 1 − 44100 i = − 44100 i2+ i (3.3)

Voor de kleinste toegestane index, 44100/φmax= 44100/600 = 73 betekent dit een verschil van

8 Hz. Voor de grootste toegestane index, 44100/40 = 1102 is dit verschil minder dan 0, 04 Hz. Met de uitvoer van pitch berekenen pitch average en pitch variance het gemiddelde en de variatie in de afgelopen 10 secondes. Deze twee waardes worden gebruikt als feedback.

Voor in de applicatie en het rapport is als minimumwaarde 50 Hz gekozen en als maximumwaarde 300 Hz. Deze keuzes zijn gebaseerd op data van Baken en Orlikoff (2000), waarin voor mannen een bereik tussen de 85 en 155 Hz wordt gevonden, en voor vrouwen tussen de 165 en 255 Hz.

3.3.2

Ge¨ımplementeerde luidheid- en tempodetectie

Voor het bepalen van het spreektempo worden drie callback functies ge¨ımplementeerd. Eerst wordt een schatting van de luidheid gemaakt. Vervolgens wordt deze afgevlakt. De laatste functie bepaalt aan de hand van de afgevlakte luidheid het aantal lettergrepen per seconde. De luidheid wordt gebruikt voor het tellen van lettergrepen. Hiervoor wordt de variatie in luidheid binnen een enkele lettergreep gebruikt. De nucleus is namelijk luider dan de rest. Omdat de toonhoogtevariatie binnen een lettergreep miniem is, kan de frequentieweging achterwege gelaten worden. Wat dan overblijft is slechts de geluidsdruk. Deze kan niet absoluut bepaald worden, maar wel relatief ten opzichte van de maximaal meetbare druk.

Als de streamdata wordt opgeslagen als array van signed 16-bits integers, is de maximaal meet-bare amplitude dus gelijk aan 215− 1 = 32767. De loudness functie ontvangt 2084 samples

aan data. Van alle waardes wordt de absolute waarde genomen en hiervan wordt het gemiddelde bepaald. Door deze waarde vervolgens te delen door de maximaal meetbare amplitude, is de luidheid uit te drukken als een waarde tussen nul en ´e´en.

(23)

Vervolgens maakt een tweede callback functie een gladgestreken variant van de luidheid. Hiervoor is een aparte functie gemaakt zodat het resultaat van beide functies herbruikt zou kunnen worden door analyses.

Momenteel wordt slechts n analyse op de gladgestreken luidheid uitgevoerd, namelijk de sps functie om het aantal lettergrepen per seconde in te schatten. Hiervoor worden de lokale maxima in het signaal bepaald. Deze waarde is doorgaans nog te hoog omdat elke kleine bobbel in de luidheid geteld wordt. Om de stompe pieken weg te filteren wordt de omgeving van het geluid bekeken. Een piek wordt alleen meegeteld wanneer binnen twee indices van de piek – aan minstens een van beide kanten – de luidheid daalt tot minder dan 75% van de piekwaarde.

Het aantal pieken dat overblijft wordt gedeeld door de duur in secondes van het stuk data dat was aangeleverd. Dit levert het aantal pieken en dus lettergrepen per seconde op. Als formule ziet dit er als volgt uit:

sps = p nI/SI

(3.4)

Hierin is sps het spreektempo in lettergrepen per seconde, p het aantal pieken, nI het aantal

samples en SI de samplerate van de invoer.

Als minimum wordt 3 lettergrepen per seconde ingesteld, als maximum 6. Deze waardes zijn gebaseerd op de door Pfau en Ruske (1998) gemeten tempos’s in de Verbmobil opnameset uit 1996.

(24)
(25)

HOOFDSTUK 4

Experiment en resultaten

4.1

Controle van ge¨ımplementeerde algoritmen

De toonhoogtes in de zin I’m going away, eerder te zien in Figuur 2.3 zijn opnieuw geplot met het ge¨ımplementeerde algoritme. Het resultaat hiervan staat in Figuur 4.1.

0.0 0.5 1.0 1.5 2.0 Tijd (s) 0 100 200 300 400 500 600 Frequentie (Hz)

Toonhoogteverloop van de zin

I0m going away

Toonhoogte

Gemiddelde

Figuur 4.1: Toonhoogteverloop van de zin I’m going away zoals gemeten door de ge¨ımplementeerde toonhoogtedetectie

Bij gebrek aan de originele opname die gebruikt is om Figuur 2.10 te maken, is de zin I’m going away ook gebruikt voor het controleren van de tempo-analyse. In Figuur 4.2 is het resultaat van de smoothed loudness functie uitgezet, waarin vijf pieken herkend worden.

4.2

Analyse van TED talks

Om de resultaten van de geschreven applicatie te controleren, wordt deze toegepast op TED talks. Dit is een grote, diverse dataset met veel verschillende soorten praatjes. Het grootste

(26)

0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 Tijd (s) 0.0 0.1 0.2 0.3 0.4 0.5 Relatieve luidheid

Afgevlakte luidheid van de zin

I0m going away

Figuur 4.2: Afgevlakte luidheid van de zin I’m going away zoals gemeten door de ge¨ımplementeerde toonhoogtedetectie

deel hiervan heeft de vorm van een presentatie, vergelijkbaar met presentaties zoals deze worden gegeven aan universiteiten.

Op TED.com staat een overzicht van alle TED talks die ooit gegeven zijn. Gebruikers kunnen een rating geven aan een talk, waarbij ze kunnen aangeven of een praatje bijvoorbeeld grappig, indrukwekkend of mooi was. Talks kunnen gesorteerd worden aan de hand van deze scores. Om testmateriaal voor de geschreven applicatie te werven, zijn drie van deze termen gekozen: funny, persuasive en informative. Deze zijn gekozen op basis van de resultaten in het literatuur-onderzoek. Daaruit bleek dat de bestudeerde aspecten van spraak bijvoorbeeld invloed hebben op hoe serieus de spreker over. Grappige praatjes zullen waarschijnlijk minder serieus zijn dan andere. Op dezelfde manier moet een spreker competent overkomen om overtuigend te zijn en betrouwbaar om als goede informatieve bron beschouwd te worden. Door een gevarieerde set aan sprekers te selecteren kan gecontroleerd worden of de metingen deze variatie weerspiegelen. Voor elke term worden twee praatjes genomen waarbij deze score een hoge waarde heeft, ´e´en door een man, en ´e´en door een vrouw. In Tabel 4.1 staat een overzicht van de geanalyseerde talks. Alle verschillende scores van een praatje maken samen honderd procent, maar slechts de drie gekozen scores worden weergegeven. Het aantal stemmers is onbekend, maar als mogelijke indicatie wordt wel het aantal mensen dat de talk hebben bekeken toegevoegd. Hiervoor worden alleen de mensen geteld die dit via de TED.com website hebben gedaan omdat deze de mogelijkheid hadden om te stemmen.

Van Julia Sweeney is It’s time for “The Talk” geanalyseerd, van Yossi Vardi We’re worried about local warming . . . in your lap, van Ngozi Okonjo-Iweala Aid versus trade, van Andrew Mwenda Aid for Africa? No thanks., van Deborah Gordon The emergent genius of ant colonies en van David MacKay A reality check on renewables.

Daarnaast is van ´e´en spreker een set van zes talks gekozen om de verschillen tussen meerdere presentaties van dezelfde persoon te vinden. Hiervoor zijn praatjes van veelvoudig TED spreker Hans Rosling gebruikt. De talks die hiervoor zijn gekozen, zijn The best stats you’ve ever seen; New insights in poverty ; Global population growth, box by box ; The magic washing machine; Religions and babies; Asia’s rise – how and when.

(27)

Tabel 4.1: Overzicht van geanalyseerde TED talks met de relevante scores

Spreker Geslacht funny persuasive informative Overig Kijkers Julia Sweeney F 70% 1% 2% 27% 1.873.265 Yossi Vardi M 63% 2% 5% 30% 542.309 Ngozi Okonjo-Iweala F 0% 65% 7% 28% 255.569 Andrew Mwenda M 2% 45% 17% 36% 350.477 Deborah Gordon F 2% 2% 35% 61% 481.380 David MacKay M 3% 23% 37% 37% 282.486

4.3

Behaalde scores

Van alle praatjes zijn de eerste vijf minuten door de applicatie geanalyseerd. Hierbij is de introductie van het fragment – waarin een andere persoon spreekt – weggelaten. Eventueel applaus of ander geluid vanuit de zaal tijdens de talk is wel intact gelaten. Zie Tabel 4.2 en Figuur 4.3 voor een compleet overzicht van de resultaten voor verschillende sprekers. In Figuur 4.4 staat de gemiddelde score van alle zes de sprekers.

Tabel 4.2: Testresultaten per spreker, tussen haakjes de score tussen nul en honderd

Spreker Toonhoogte (Hz) Variatie Tempo (lettergr./s) Julia Sweeney 291 (96,3) 0,391 (39,1) 3,83 (27,7) Yossi Vardi 227 (70,7) 0,433 (43,3) 3,99 (33,0) Ngozi Okonjo-Iweala 249 (79,6) 0,533 (53,3) 4,59 (53,0) Andrew Mwenda 226 (70,6) 0,348 (34,8) 4,09 (36,3) Deborah Gordon 237 (74,9) 0,404 (40,4) 3,97 (32,3) David MacKay 235 (74,2) 0,658 (65,8) 4,15 (38,3)

Hetzelfde is gedaan voor de verschillende praatjes van Hans Rosling, waarvan de volledige resul-taten staan in figuur 4.3 en 4.5. Het gemiddelde staat in Figuur 4.6.

Tabel 4.3: Testresultaten voor verschillende praatjes van Hans Rosling, tussen haakjes de score tussen nul en honderd

# Talk Toonhoogte (Hz) Variatie Tempo (lg/s) 1 The best stats you’ve ever seen 197 (58,6) 0,423 (42,3) 4,38 (45,9) 2 New insights in poverty 194 (57,8) 0,452 (45,2) 4,24 (41,3) 3 Global population growth, box by box 224 (69,7) 0,455 (45,5) 3,87 (29,0) 4 The magic washing machine 199 (59,5) 0,375 (37,5) 3,77 (25,7) 5 Religions and babies 239 (75,7) 0,375 (37,5) 4,45 (48,3) 6 Asia’s rise – how and when 184 (53,6) 0,412 (41,2) 3,97 (32,3)

De toonhoogte heeft een bereik van 50 tot 300 Hz, de variatie van 0 tot 1 en het tempo van 3 tot 6 lettergrepen per seconde. De scores zijn berekend volgens vergelijking 3.1.

(28)

Toonhoogte

Variatie

Tempo

20

40

60

80

100

Julia Sweeney

Yossi Vardi

Ngozi Okonjo-Iweala

Andrew Mwenda

Deborah Gordon

David MacKay

20

40

60

80

100

20

40

60

80

100

Figuur 4.3: Scores in radardiagram per spreker

Toonhoogte

Variatie

Tempo

20

40

60

80

100

Gemiddelde alle sprekers

20

40

60

80

100

20

40

60

80

100

(29)

Toonhoogte

Variatie

Tempo

20

40

60

80

100

Rosling talk 1

Rosling talk 2

Rosling talk 3

Rosling talk 4

Rosling talk 5

Rosling talk 6

20

40

60

80

100

20

40

60

80

100

Figuur 4.5: Scores van Rosling in radardiagram per talk

Toonhoogte

Variatie

Tempo

20

40

60

80

100

Rosling gemiddelde

20

40

60

80

100

20

40

60

80

100

(30)
(31)

HOOFDSTUK 5

Discussie

5.1

Discussie

Het patroon uit Figuur 2.3 is zichtbaar in Figuur 4.1. Daarnaast worden echter andere, te hoge, frequenties gedecteert waardoor het gemiddelde ook hoger komt te liggen. Een lagere spreker zal nog steeds als lager herkend worden dan een hogere spreker, maar de absoluut gemeten waardes vallen hoger uit dan de werkelijkheid. Het bepalen van het tempo, zoals te zien in figuur 4.2, werkt volledig naar verwachting. Het aantal pieken dat wordt gevonden in de zin I’m going away, vijf, komt overeen met het werkelijke aantal lettergrepen in de zin.

In figuur 4.3 zijn enkele grote verschillen zichtbaar. Julia Sweeney spreekt beduidend hoger dan de rest, Ngozi Okonjo-Iweala spreekt het snelste van alle geanalyseerde sprekers en David MacKay loopt voorop als het gaat om toonhoogtevariatie. De gemiddelde scores die zijn gevonden voor TED sprekers, zouden gebruikt kunnen worden als doelen in de applicatie. Men zou dan kunnen zeggen dat de gebruiker als doel het niveau van een TED spreker heeft.

Er is een grotere afwijking in de toonhoogtevariatie tussen personen dan tussen de verschillende praatjes van ´e´en persoon. Er lijkt juist een groter verschil in tempo te zijn binnen de verzameling talks van Hans Rosling, maar in Figuur 4.5 is te zien dat er wel twee duidelijke clusters zijn van praatjes die ongeveer hetzelfde tempo hebben.

Ook kan het gemiddelde van Rosling gebruikt worden als een doel, bijvoorbeeld wanneer de gebruiker hem als een goed voorbeeld beschouwt en een vergelijkbare presentatie wil geven.

5.2

Conclusie

Nadat er is gekeken naar verscheidene onderzoeken over de invloed van toonhoogte en tempo op de beoordeling van sprekers, is een applicatie ontwikkeld die de gemiddelde toonhoogte, de variatie in toonhoogte en het spreektempo van een presentatie meet. Deze worden in real-time aan de gebruiker gepresenteerd zodat deze kan experimenteren om zo zijn eventuele doelen te behalen. De applicatie is getest met TED talks om te kijken of de resultaten een onderscheid laten zien tussen verschillende sprekers. Met deze informatie kunnen nu de vragen uit het eerste hoofdstuk beantwoord worden.

Welke aspecten van geluid zijn een goede indicatie voor presentatievaardigheden?

Uit literatuuronderzoek is gebleken dat de toonhoogte invloed heeft op de inschatting hoe be-trouwbaar, empathisch en serieus een spreker is. Lagere stemmen scoorden op alledrie de vlakken beter dan hogere stemmen. Tussen de variatie in toonhoogte op de beoordeling van levendigheid is ook een verband gevonden, waarbij een presentatie met meer variatie als levendiger wordt

(32)

beschouwd. Het spreektempo benvloedt hoe actief, competent en welwillend de spreker over-komt. Snellere sprekers worden gezien als actiever en competenter, terwijl het ideale tempo voor welwillendheid 15 fonemen per seconde bleek.

Hoe kunnen deze aspecten in real-time gemeten en gepresenteerd worden?

Er is een applicatie gemaakt die de gemiddelde toonhoogte, toonhoogtevariatie en het aantal lettergrepen per seconde in real-time weergeeft. Tijdens de experimenten werden de analyses in elke tijdstap binnen de hiervoor beschikbare tijd uitgevoerd. De configuratie van de toepassing is volledig losgekoppelt van de basisfunctionaliteit waardoor nieuwe analyses met weing moeite toegevoegd kunnen worden.

Zijn de metingen van deze aspecten discriminerend?

De verschillen tussen zes sprekers kunnen aan de hand van hun TED talks in beeld gebracht worden. Met name de toonhoogtevariatie laat duidelijke verschillen zien tussen sprekers die niet zichtbaar zijn tussen verschillende praatjes van dezelfde persoon. Enkele sprekers zijn duidelijk te herkennen aan extreme waardes, door significant sneller, hoger of gevarieerder te praten dan de rest.

5.3

Vervolgonderzoek

5.3.1

Mogelijke verbeteringen van de implementatie

Op het moment is de toonhoogtedetectie geen accurate meting van de werkelijkheid. Een mo-gelijke verbetering zou zijn een maximaal verschil toe te laten tussen opeenvolgende resultaten. Hierbij gaat men ervan uit dat er geen plotselinge grote verschillen voorkomen in het toonhoog-teverloop, maar vloeiende overgangen. Hierdoor zal een groot deel van de te hoog gedetecteerde frequenties gefilterd worden.

De structuur van een stream en callback functies is zo simpel mogelijk gehouden. Dit zorgt echter wel voor enkele beperkingen. Voor meer geavanceerde analyses zouden enkele uitbreidingen ge¨ımplemteerd kunnen worden.

Een van deze uitbreidingen is het toelaten van meerdere invoerstreams voor een functie. Deze uitbreiding kan bijvoorbeeld gebruikt worden om met behulp van de zerocrossing rate de tempo-detectie accurater te maken. Mogelijk kan de frequentietempo-detectie ook nog verbeterd worden door stiltes te negeren, waarvoor de luidheid en/of zerocrossing rate nodig is.

Momenteel hebben functies zelf geen geheugen, waardoor bijvoorbeeld de lengte van uitingen en stiltes moeilijk te bepalen zijn. De enige data die een functie kan returnen is data die overeenkomt met een bepaald tijdstip in de originele stream.

Er wordt nu nog niet naar een oplossing gezocht wanneer de load te hoog wordt. Een mogelijkheid zou zijn de frequentie waarmee analysestappen worden uitgevoerd te doen afnemen. Er is dan meer tijd per keer beschikbaar, maar mogelijk zullen de callback functies hierop aangepast moeten worden.

5.3.2

Toepassingen en uitbreidingen

Het voornaamste mogelijke vervolgonderzoek zou de combinatie met andere analyses zijn. In combinatie met videobeelden van de spreker en spraakherkenning kan nog veel specifiekere feed-back gegeven worden.

Daarnaast kan de stap gemaakt worden naar een kwalitatief oordeel. Het programma zou tips kunnen geven als een score lager of hoger is dan het ingestelde doel. Een voorbeeld hiervan is de gebruiker aan te sporen gebruik te maken van andere intonatiepatronen – door een vraag te stellen bijvoorbeeld – en zo hoger te scoren op de toonhoogtevariatie.

(33)

Door het experiment met TED sprekers is al een mogelijk doel bepaald. Hier kan meer onderzoek naar gedaan worden. Ook kan aan de hand van de ratings op TED.com een doel verbonden worden aan een rating als funny. Iemand die een grappig praatje wil geven, kan dit dan als referentie gebruiken. Door de scores van elk praatje mee te laten wegen afhankelijk van hoe grappig de kijkers de talk vonden, kan een gemiddelde bepaald worden. Een voorbeeld voor de termen funny, persuasive en informative, gebaseerd op de resultaten uit het vorige hoofdstuk, is te zien in Figuur 5.1. Hier is zichtbaar dat serieuzere praatjes een hoger tempo hebben – wat overeenkomt met eerdere bevindingen – maar hier zou nog meer onderzoek naar gedaan moeten worden voordat het als betrouwbaar beschouwd kan worden.

Toonhoogte

Variatie

Tempo

20

40

60

80

100

Funny

Informative

Persuasive

20

40

60

80

100

20

40

60

80

100

Figuur 5.1: Gewogen gemiddelde van scores per rating

Hincks (2005) suggereert feedback te geven via een gemodelleerd gezicht. Met VR zou ook een zaal vol mensen gesimuleerd kunnen worden, om zo realistischere feedback te geven aan de spreker.

(34)
(35)

Bibliografie

Aarts, Ronald M (1992). “A comparison of some loudness measures for loudspeaker listening tests”. In: Journal of the Audio Engineering Society 40.3, p. 142–146.

Apple, William, Lynn A Streeter en Robert M Krauss (1979). “Effects of pitch and speech rate on personal attributions.” In: Journal of Personality and Social Psychology 37.5, p. 715. doi: 10.1037/0022-3514.37.5.715.

Atal, Bishnu S en Suzanne L Hanauer (1971). “Speech analysis and synthesis by linear prediction of the speech wave”. In: The Journal of the Acoustical Society of America 50.2B, p. 637–655. doi: 10.1121/1.1974658.

Baken, Ronald J en Robert F Orlikoff (2000). Clinical measurement of speech and voice. Cengage Learning.

Boersma, Paul (1993). “Accurate short-term analysis of the fundamental frequency and the harmonics-to-noise ratio of a sampled sound”. In: Proceedings of the institute of phonetic sciences. Deel 17. 1193. Amsterdam, p. 97–110.

Boersma, Paul en David Weenink (2009). Praat: doing phonetics by computer (Version 5.1. 05)[Computer program]. Retrieved May 1, 2009. doi: 10.1097/aud.0b013e31821473f7. De Cheveign´e, Alain en Hideki Kawahara (2002). “YIN, a fundamental frequency estimator for

speech and music”. In: The Journal of the Acoustical Society of America 111.4, p. 1917–1930. doi: 10.1121/1.1458024.

Ghahremani, Pegah e.a. (2014). “A pitch extraction algorithm tuned for automatic speech re-cognition”. In: Acoustics, Speech and Signal Processing (ICASSP), 2014 IEEE International Conference on. IEEE, p. 2494–2498. doi: 10.1109/icassp.2014.6854049.

Hincks, Rebecca (2005). “Measures and perceptions of liveliness in student oral presentation speech: A proposal for an automatic feedback mechanism”. In: System 33.4, p. 575–591. doi: 10.1016/j.system.2005.04.002.

Hincks, Rebecca en Jens Edlund (2009). “Promoting increased pitch variation in oral presenta-tions with transient visual feedback”. In: Language Learning & Technology 13.3, p. 32–50. Huang, Xuedong e.a. (2001). Spoken language processing: A guide to theory, algorithm, and

system development. Prentice Hall PTR.

Kasi, Kavita en Stephen A Zahorian (2002). “Yet another algorithm for pitch tracking”. In: Acoustics, Speech, and Signal Processing (ICASSP), 2002 IEEE International Conference on. Deel 1. IEEE, p. I–361. doi: 10.1109/icassp.2002.1005751.

Kormos, Judit en Mariann D´enes (2004). “Exploring measures and perceptions of fluency in the speech of second language learners”. In: System 32.2, p. 145–164. doi: 10.1016/j.system. 2004.01.001.

Ladefoged, Peter en Sandra Ferrari Disner (2012). Vowels and consonants. John Wiley & Sons. Lee, Byung Suk (2012). “Noise robust pitch tracking by subband autocorrelation classification”.

Proefschrift. Columbia University.

McLeod, Philip en Geoff Wyvill (2003). “Visualization of musical pitch”. In: null. IEEE, p. 300. doi: 10.1109/cgi.2003.1214486.

McLeod, Phillip en Geoff Wyvill (2005). “A smarter way to find pitch”. In: Proceedings of In-ternational Computer Music Conference, ICMC.

(36)

Pfau, Thilo en G¨unther Ruske (1998). “Estimating the speaking rate by vowel detection”. In: Acoustics, Speech and Signal Processing, 1998. Proceedings of the 1998 IEEE International Conference on. Deel 2. IEEE, p. 945–948. doi: 10.1109/icassp.1998.675422.

Shannon, Claude E (1949). “Communication in the presence of noise”. In: Proceedings of the IRE 37.1, p. 10–21. doi: 10.1109/jproc.1998.659497.

Smith, Bruce L e.a. (1975). “Effects of speech rate on personality perception”. In: Language and Speech 18.2, p. 145–152.

Streeter, Lynn A e.a. (1977). “Pitch changes during attempted deception.” In: Journal of perso-nality and social psychology 35.5, p. 345. doi: 10.1037/0022-3514.35.5.345.

Talkin, David (1995). “A robust algorithm for pitch tracking (RAPT)”. In: Speech coding and synthesis 495, p. 518.

(37)

BIJLAGE A

Voorbeeldrapport

(38)

Testresultaten

5 juni 2016

1 Toonhoogte

De toonhoogte wordt gemeten in Hertz.

0

50

100

150

200

250

300

Tijd (s)

50

100

150

200

250

300

Toonhoogte (Hz)

Toonhoogte gedurende de sessie

Figuur 1: Toonhoogte

2 Variatie

De variatie wordt uitgedrukt als het Pitch Variation Quotient. Dit wordt bere-kend volgens

P V Q=σ µ

waarin µ de gemiddelde frequentie is in Hz en σ de standaardafwijking, ook in Hz.

(39)

0

50

100

150

200

250

300

Tijd (s)

0.0

0.2

0.4

0.6

0.8

1.0

Variatie ()

Variatie gedurende de sessie

Figuur 2: Variatie

3 Tempo

Het tempo is gemeten in lettergrepen per seconde. Let op dat niet alleen het tempo binnen zinnen invloed heeft op de score, maar ook de stiltes ertussen. Meer en langere stiltes resulteren in een lager gemiddeld tempo.

4 Overzicht

Het radardiagram in figuur 4 geeft een overzicht weer van de metingen uit deze sessie. De waardes voor de verschillende gemeten aspecten zijn omgezet naar een score van nul tot honderd. De behaalde scores staan in tabel 1.

Aspect Waarde Score

Toonhoogte 196.581024137 Hz 58.6324096547 Variatie 0.423129901612 42.3129901612 Tempo 4.37749029612 lettergrepen/s 45.9163432039

Tabel 1: Scores voor deze sessie

(40)

0

50

100

150

200

250

300

Tijd (s)

3.0

3.5

4.0

4.5

5.0

5.5

6.0

Tempo (lettergrepen/s)

Tempo gedurende de sessie

Figuur 3: Tempo

Toonhoogte

Variatie

Tempo

20

40

60

80

100

20

40

60

80

100

20

40

60

80

100

Figuur 4: Radardiagram voor deze sessie 3

Referenties

GERELATEERDE DOCUMENTEN

25 uitleggen op welke wijze een vergroot beeld wordt waargenomen bij het gebruik van een loep in de situatie van een geaccommodeerd oog:!. in een tekening de vorming van het

N.B. 

D e grote waarde en betekenis van dit de- bat is naar onze overtuiging geweest, dat de socialistische luisteraars via hun eigen microfoon nu eens hebben kunnen

Wilt u een cijfer geven tussen 1 en 10 of u cultuur een belangrijk aspect vond bij deze

Hierin is f de frequentie van de toon (in Hz), v de snelheid van het geluid in de klarinet (in m/s) en L de lengte van het gedeelte van de klarinetbuis waarin de lucht trilt

als oplossing gegeven wordt omdat geen rekening is gehouden met het domein –2 < x < 4 van h(x), dan één

Wensen van ouderen | “Participatie en eigen kracht beleid”: mensen stimuleren te handelen vanuit hun eigen kracht (empowerment), onder meer door hun sociaal netwerk te benutten

Hieruit leren we dat de ervaring van een aannemer met een werk tot voordeel kan leiden voor zowel de aannemer als de aanbestedende partij. Want deze aannemer had bijvoorbeeld