opleiding Fonetiek, Trans 10, 3512 JK Utrecht,
telefoon 030-2536265, fax 030-2536000
|
Cursus TEKST-NAAR-SPRAAK-SYSTEMEN 1998-99
cursuscode 930094; blok 3;
docenten:
Sieb Nooteboom,
Arthur Dirksen, en
Hugo Quené
(coördinator).
Inhoudsopgave
Dit document bevat informatie over de volgende aspecten van de cursus:
Cursusbeschrijving
Tegenwoordig is het geen zeldzaamheid meer om een computer
te horen spreken. De meeste sprekende computers zijn zgn.
tekst-naar-spraak-systemen, die een geschreven tekst eerst
omzetten naar een taalkundige representatie (in symbolen),
en vervolgens deze representatie omzetten in spraak-parameters.
Tenslotte zet een synthesiser deze parameters om in hoorbaar
geluid.
De cursus is opgebouwd uit twee delen, het ene meer theoretisch
en het andere meer praktisch.
In de theoretische bijeenkomsten zullen we aandacht besteden
aan de achtergronden en motieven voor onderzoek naar kunstmatige
spraak, en aan de algemene opzet van een tekst-naar-spraak-
systeem. Ook behandelen we de verschillende taalkundige
analyses die nodig zijn om uiteindelijk goede spraak te
synthetiseren.
In de praktische bijeenkomsten zullen we zelf
opdrachten
uitvoeren met behulp van bestaande tekst-naar-spraak-systemen.
Ten eerste gaan we met een formant-synthesiser Nederlandse
klinkers en lettergrepen synthesiseren. Ten tweede gaan we
proberen om woorden en zinnen samen te stellen uit vooraf
opgenomen spraakmateriaal. Ten derde g~aan we Nederlandse woorden
en zinnen synthetiseren met een synthese-systeem voor het
Nederlands dat gebruik maakt van difonen. De opdrachten leveren
kunstmatige uitingen op die tijdens college beluisterd en
besproken zullen worden.
De cursus wordt afgesloten met een tentamen en met een
individueel werkstuk,
waarin een uitgebreide opdracht dient te worden behandeld en
toegelicht.
Leesstof
-
J.L. Flanagan (1972) Voices of Men and Machines, J. Acoust. Soc.
Am. 51, 1375-1387.
H. Dudley (1940) The Carrier Nature of Speech, Bell System Tech.
J. 19, 495-515.
J.Q. Stewart (1922) An Electrical Analogue of the Vocal Organs,
Nature 110, 311-312.
-
D.H. Klatt (1980) Software for a cascade/parallel formant
synthesizer, J. Acoust. Soc. Am. 67, 971-995.
-
R. Carlson & B. Granström (1997) Speech Synthesis. In: W.J.
Hardcastle & J. Laver (eds.) The Handbook of Phonetic Sciences. Oxford: Blackwell. (pp. 768-788).
R.J.H. Deliège (1993) A stand-alone text-to-speech system. In:
Van Heuven & Pols (1993) pp. 309-316.
H.C. van Leeuwen & E. te Lindert (1993) Speech Maker: A flexible
framework for constructing text-to-speech systems. In: Van Heuven &
Pols (1993) pp. 317-338.
-
(geen leesstof)
-
L.F. Willems (1966) IPOVOX II: A Speech Synthesiser, IPO Annual
Progress Report 1, 120-123.
S.G. Nooteboom, I.H. Slis & L.F. Willems (1973) Speech Synthesis
by Rule: Why, What and How? IPO Annual Progress Report 8, 3-13.
C.H. Coker (1968) Speech Synthesis with a Parametric Articulatory
Model, Speech Symposium, Kyoto (paper A-4).
-
(geen leesstof)
-
J. Heemskerk (1989) Morphological parsing and lexical morphology.
In: H. Bennis & A. van Kemenade (eds.) Linguistics in the Netherlands
1989. pp. 61-70.
A. Nunn & V.J. van Heuven (1993) MORPHON: Lexicon-based
text-to-phoneme conversion and phonological rules. In: Van Heuven &
Pols (1993) pp. 87-99.
-
(geen leesstof)
-
F. Grosjean (1980) Linguistic structures and performance
structures: studies in pause distribution. In: H.W. Dechert & M. Raupach
(eds.) Temporal Variables in Speech: Studies in Honour of Frieda
Goldman-Eisler. The Hague: Mouton. pp. 91-106.
A. Dirksen & H. Quené (1993) Prosodic Analysis: the next
generation. In: Van Heuven & Pols (1993) pp. 131-144.
C.E. Keijsper (1989) Over het automatisch zetten van zinsaccenten,
Forum der Letteren 30, 255-266.
-
(geen leesstof)
-
(geen leesstof)
-
(geen leesstof)
Aanvullende bibliografie:
V.J. van Heuven & L.C.W. Pols, eds. (1993)
Analysis and Synthesis of Speech: Strategic Research
towards High-Quality Text-to-Speech Generation. Berlin: Mouton de Gruyter.
Opdrachten
Opdracht 1: Klatt-synthese
Voor de eerste opdracht moet je drie Nederlandse diftongen synthetiseren
met de
Klatt-synthesiser (bewerkt door Jon Iles, University of
Cambridge). Hierbij kan je gebruik maken van het bijgeleverde
awk-script (eh.awk
),
dat een file produceert met
invoer-parameters voor de Klatt-synthesiser. In zo'n script moet je
tijdsmomenten en parameterwaarden opgeven voor de formanten; het
awk-script interpoleert dan tussen de opgegeven kantelpunten in de
formantsporen. Het voorbeeld-script correspondeert met een schwa-klinker.
De tussenstappen van awk-script naar geluidsfile worden
beregeld door een Unix
shell-script (klsyn
).
Dit kan je aanroepen, met de filenaam van het awk-script als argument:
klsyn eh
Deze aanroep resulteert in geluidsfile
eh.aiff
in je huidige directory.
De tijdsmomenten en parameterwaarden voor de Nederlanse diftongen dien je
zelf te bepalen (met behulp van
Gipos of
Praat) (beide beschikbaar op
de SGI werkstations in de praktikumruimte),
aan de hand van de realisaties van de woorden
ei,
au, en
ui.
Als voorbeeld kan je het bijgeleverde
awk-script (eh.awk
)
voor de schwa-klinker gebruiken.
Voorbereiding opdracht 1
Log in op een Unix-account, maak een nieuw directory genaamd
klatt
, en bewaar ('download') de verzamel-file
klatt.tar
(omvang 71680 bytes) onder zijn eigen naam in dit nieuwe directory.
Haal de afzonderlijke files voor deze opdracht (waar hierboven reeds naar
verwezen wordt) uit de verzamel-file, met de volgende opdracht:
tar xovf klatt.tar
Opdracht 2: Concatenatie
Voor deze opdracht moet je de Nederlandse woorden panorama
en kabinet concateneren uit kleinere spraak-eenheden. Deze
eenheden moet je zelf knippen uit onbewerkte golfvorm-representaties van
een aantal (andere) Nederlandse woorden.
Dit knippen en plakken is het makkelijkst met
Gipos.
Bovendien moet je voor deze opdracht de intonatie
en segment-duren
in de geconcateneerde woorden aanpassen. Dat doen we met behulp van
PSOLA, in het programma
Praat.
Tenslotte moet je een
draagzin en een
geïsoleerd woord
concateneren, en de zins-intonatie in de geconcateneerde zin aanpassen
met PSOLA.
Voorbereiding opdracht 2
Log in op een Unix-account, maak een nieuw directory genaamd
concat
, en bewaar ('download') de verzamel-file
concat.tar
(omvang 1300480 bytes) onder zijn eigen naam in dit nieuwe directory.
Haal de afzonderlijke spraakfiles voor deze opdracht
uit de verzamel-file, met de volgende opdracht:
tar xovf concat.tar
Opdracht 3: Difoon-synthese
Voor deze opdracht moet je een aantal woorden synthetiseren met een
systeem voor Nederlandstalige difoon-synthese. We hebben vooraf al een
invoer-zin gemaakt:
het volgende woord is "flup".
Allereerst moet je van deze zin de intonatie inspecteren, en vergelijken
met de opgegeven kantelpunten in het intonatie-contour (zie hieronder).
Daarna moet je in deze zin het laatste woord vervangen door
andere woorden. Voor die vervangende woorden moet je de juiste
allofoon-transcriptie opgeven, met goede segmentduren en kantelpunten
voor de intonatie.
Voor deze opdracht gebruiken we het programma
MBROLA
(ontwikkeld door Thierry Dutoit, Faculté Polytechnique de Mons),
met de Nederlandse difoon-verzameling aangelegd door
Arthur Dirksen
en Ludmila Menert, voor hun bedrijf
Fluency Speech
Technology.
Dit programma verwacht als invoer zgn. command-files. Deze files bevatten
een transcriptie in allofonen, met daarbij de duur van ieder segment,
alsmede de kantelpunten in een gestyleerde intonatie-contour. (Er is een
voorbeeld van een
command-file
beschikbaar, met bijbehorende
spraak-uitvoer.)
De tussenstappen van command-file naar geluidsfile worden
beregeld door een Unix
shell-script (dsyn
).
Dit kan je aanroepen, met de naam van de command-file als argument:
dsyn hallo
Deze aanroep resulteert in de geluidsfile
hallo.aiff
in je huidige directory.
Voor de nieuwe woorden kan je gebruik maken van een overzicht van de
mogelijke symbolen voor
allofonen en fonemen
in de Nederlandse versie van MBROLA.
Voorbereiding opdracht 3
Log in op een Unix-account, maak een nieuw directory genaamd
difoon
, en bewaar ('download') de verzamel-file
difoon.tar
(omvang 30720 bytes) onder zijn eigen naam in dit nieuwe directory.
Haal de afzonderlijke files voor deze opdracht (waar hierboven reeds naar
verwezen wordt) uit de verzamel-file, met de volgende opdracht:
tar xovf difoon.tar
Afsluitende werkstukken
Eén van de toets-onderdelen van deze cursus is een individueel werkstuk.
Invulling
Tijdens de cursus hebben we opdrachten uitgevoerd over drie onderwerpen.
Het is nu de bedoeling, dat je hieruit een opdracht kiest, om verder uit
te breiden. In de volgende paragraaf zie je mogelijke suggesties voor
aanvullende opdrachten.
Je moet dus zelf zo'n aanvullende opdracht formuleren (of kiezen uit
onderstaande suggesties). Vervolgens moet je die opdracht uiteraard ook
uitvoeren: synthese-regels maken, infomatie omtrent duur en intonatie
toevoegen, knippen en plakken en PSOLA-verbetering van nieuw materiaal,
scripts maken voor Klatt-synthese, enzovoort. Het zal je dus echt tijd
kosten om jouw opdracht tot een goed einde te brengen. Tenslotte moet je
in het werkstuk verslag doen van deze opdracht.
Toch dient het werkstuk niet alleen een verslag te zijn van je
werkzaamheden. Het moet ook aandacht besteden aan de meer theoretische
aspecten van je aanvullende opdracht: waarom klinkt de knip-en-plak-spraak
aanzienlijk beter als de invoer-spraak is opgenomen onder omstandigheid X,
of waarom klinkt mijn Klatt-script niet goed hoewel de theorie voorspelt
dat het wel goed verstaanbaar zou zijn, enzovoort. Op voorhand is niet
goed uit te maken wat de interessante theoretische aspecten van jouw
aanvullende opdracht zullen zijn; het is dus aan jou om ook hieruit een
keuze te maken.
We stellen ons voor dat je ongeveer 7 à 8 pagina’s nodig hebt om recht te
doen aan alle aspecten van je aanvullende opdracht. Dat is echter geen
harde eis: het gaat meer om kwaliteit dan om kwantiteit.
mogelijke onderwerpen (enkele ideeën)
- aanpassen van Klatt-scripts, om andere Nederlandse woorden te
synthetiseren: spijt, spuit, spouw, bijt, buit, buik, bout,
en (moeilijker) splijt, sprei, schrei, schrijf, blij, brei,
enz.
- neem de klinkers ei, ui, au op, gesproken door een andere
inspreker; vergelijk formant-sporen met je bestaande scripts, gebruik
nieuwe formant-sporen om andere versies te maken van de woorden die je met
de Klatt-synthesiser hebt gemaakt; hoe spreker-specifiek waren je eerdere
scripts?
- knippen en plakken van golfvormen, met aanpassingen van toonhoogte
(PSOLA) en van duur (kopiëren of verwijderen van afzonderlijke perioden in
golfvorm);
- knippen en plakken van golfvormen, met (gemotiveerde) wijzigingen in
opname-omstandigheden en geluidskwaliteit;
- maak nieuwe draagzin: het nieuwe wachtwoord is ...
geworden, vul woorden in uit opdracht 3b, pas duren en intonatie
aan om correcte zinsprosodie te krijgen;
- als hierboven, maar dan met de draagzin het oude wachtwoord was
..., maar het nieuwe wachtwoord is ... geworden.
- maak expliciete
regels die duren en/of intonatie beregelen, schrijf deze
regels uit op papier, maak een programma dat een foneem-reeks omzet in een
geannoteerde
pho
-file met duren en toonhoogte-targets.
Inleveren
Alle werkstukken (en andere producten) dienen beschikbaar te zijn bij het
begin van het 4e blok. Daarvoor moeten de werkstukken ingeleverd worden
uiterlijk vrijdag 5 maart 1998, 16:30uur, in het postvak van H. Quené.
Ieder werkstuk moet ook een lijst bevatten van de relevante
geluidsbestanden, alsmede een lijst van andere files (programma' s,
scripts, enz.). Goedgekeurde werkstukken moeten ook ingeleverd worden in
electronische vorm (floppy, e-mail, document-file, o.i.d.). De werkstukken
en geluidsbestanden zullen uiteindelijk beschikbaar komen via deze pagina.
Voltooide werkstukken
Verdere verwijzingen