Norsk tekst-til-tale med Tacotron 2 og WaveGlow
Abstract
Denne oppgaven omhandler utviklingen av en norsk Tekst-til-tale (TTS)-modell ved hjelp av maskinlæringsmodellene Tacotron 2 og WaveGlow. Disse modellene er designet for å generere TTS-modeller, men det finnes begrenset dokumentasjon om deres anvendelse på andre språk. Oppgaven vil demonstrere hvordan det er mulig å gjennomføre dette for mindre språk som norsk, som også inkluderer unike bokstaver.
Bruken av Tacotron 2 og WaveGlow for å utvikle TTS-modeller på den måten som beskrevet i denne oppgaven, vil teoretisk sett ikke begrense hvilke språk som kan anvendes. Det eneste kravet er et tilstrekkelig stort datasett for trening, og eventuelt en oppdatering av alfabetet for å inkludere nye bokstaver. Tidligere studier har demonstrert utviklingen av modeller for blant annet sanskrit, men også for andre språk. Utover WaveGlow kan man også se på eksempler som Googles WaveNet-modell, som har blitt brukt til å utvikle TTS-modeller på flere titalls forskjellige språk, basert på de samme prinsippene.
Oppgaven ble valgt på grunn av TTS-teknologiens økende betydning i hverdagen. Muligheten til å få tekst opplest av en digital enhet gir utallige muligheter for økt tilgjengelighet av data og nye anvendelser av digitale medier. Oppdragsgiveren, Pexip, har som mål å integrere denne teknologien i sin programvare for å hjelpe brukere med å høre blant annet oppsummeringer av møtetranskripter eller mottatte meldinger.
Arbeidet som er utført demonstrerer at det er mulig å utvikle en god TTS-modell med Tacotron 2 og WaveGlow på mindre språk, som norsk. Ved å fremheve muligheten for å lage effektive TTS-modeller med relativt begrensede datasett for mindre språk, kan man bidra til å forbedre digitale verktøy ytterligere. Selv om modellen ikke er perfekt, representerer den et skritt nærmere maskiner som kan snakke like flytende som mennesker. In this thesis the result of making a Norwegian Text-to-Speech (TTS) model will be presented. The model has been created using the machine learning models Tacotron 2 and WaveGlow. These are machine learning models that are designed to make TTS models. Documentation about how to create models in other languages than English is limited. The goal of this thesis is to shine some light on how this is possible even for small languages like Norwegian, that also has its own letters that must be considered.
Using Tacotron 2 and WaveGlow to create a TTS model, as described in this report, is theoretically not restricted to the original language. The only requirement is that you have a dataset that is big enough for training, and if necessary, you must update the alphabet to include all required letters. Other than that, it is the algorithms task to figure out what is important for the selected language, and relatively few things must change. From other examples, models have been created in other languages already. There is a thesis that was written for Sanskrit, and other examples are also available. If you look outside WaveGlow, you can find examles from Googles own WaveNet model. That model is used to create models in tens of languages and learns using the same principles.
The reason this thesis was chosen is because of the significance TTS models have on our everyday life. The possibility to have any text being read out to us from a digital device opens many new possibilities to create new accessible ways to understand data. The company that requested the thesis to be done, Pexip, wants it to be able to read out summarized meeting transcripts, or received messages.
The work done illuminates the possibilities of making a good TTS model using Tacotron 2 and WaveGlow in languages such as Norwegian. By showing off the possibilities to create good TTS models with a relatively limited dataset in smaller languages, opens the door for more good solutions for making digital tools more available and accessible. The model is in no way perfect, but a step closer to making machines as good as humans to speak to us.