System syntezy mowy dla platformy ARM Cortex-M4

ARM Cortex-M4 based speech synthesis system

Autor: Mateusz Owczarek

Opiekun pracy: dr inż. Piotr Skulimowski

Dodatkowy opiekun: dr inż. Paweł Poryzała

Rodzaj pracy: praca dyplomowa magisterska

Data obrony: 2012-09-14

Streszczenie

Praca została poświęcona zagadnieniu syntezy mowy ludzkiej na urządzeniu wbudowanym.
W projekcie wykorzystano wydajny, 32-bitowy mikrokontroler z rdzeniem
ARM Cortex–M4. Zaprojektowany system umożliwia syntezę mowy na podstawie
dowolnego tekstu wprowadzonego przez użytkownika.
Budowa systemu konwersji tekstu na mowę od podstaw to relatywnie trudne zadanie
(wymagające m.in. szerokiej wiedzy z zakresu lingwistyki). W pracy zdecydowano
się wykorzystać gotowe rozwiązanie, a następnie podjąć probe przeniesienia go na platforme docelowa. Taka możliwość oferują darmowe projekty o otwartym źródle (ang. open-source), które na ogół bez przeszkód (po dokładnym przestudiowaniu licencji) można przebudowywać i dostosowywać do własnych potrzeb (w tym przenosić
na inne platformy sprzętowe). Jednym z takich projektów jest, rozwijany od
2006 roku, syntezator eSpeak. Program ten oferuje obsługę kilkudziesięciu języków (w tym jęz. polskiego) i jest przeznaczony głównie na platformy Windows oraz Linux.
Metoda syntezy, jaka w nim zastosowano, bazuje na parametrycznym generowaniu
dźwięków mowy w oparciu o formanty (częstotliwości charakterystyczne). Nie wymaga ona przechowywania dużych struktur danych, przez co możne być z powodzeniem stosowana w systemach wbudowanych, gdzie pamięć i możliwości obliczeniowe mikroprocesora są często bardzo ograniczone.
Osobny element projektu stanowi dodatkowe narzędzie w postaci oprogramowania działającego na komputerze osobistym. Umożliwiło ono łatwe włączenie do projektu plików danych programu eSpeak (wymagały one konwersji do postaci tablic wartości
oraz struktur danych), a także niezależna diagnostykę oraz weryfikacje działania każdego z elementów projektowanego systemu.
W pierwszej części pracy przybliżono teorie tworzenia dźwięków mowy oraz najbardziej istotne zagadnienia związane z technika syntezy mowy. Druga część poświęcona została opisowi zakresu dokonanych modyfikacji oraz udoskonaleń, a także sposobowi
weryfikacji poprawnego działania zaprojektowanego urządzenia.

Abstract

The subject of the presented thesis is speech synthesis for embedded applications.
The physical layer of the developed application is based on an efficient, 32-bit, ARM
Cortex–M4 based microcontroller. The designed system is capable of producing artificial
speech directly from any text entered by the user. Building of a Text-to-Speech
(TTS) system from scratch is a relatively difficult issue (mainly due to the required
knowledge of linguistics). When dealing with a new issue, it is always a good idea
to find an open-source project, which could be the starting point of our application.
Generally, many such projects (after checking license details) can be freely rearranged
and customized to one’s needs. The eSpeak project (developed since 2006 and
designed for Windows and Linux platforms) can be an example of such an application.
It supports many languages (including Polish). It uses formant synthesis, which does not require storage of large data structures and therefore, can be successfully used in embedded systems, where memory resources are often very limited.
Simultaneously with the process of porting and customizing the code for the embedded platform, an additional tool was created. It was very helpful during the early
stages of the design. The program allowed to convert eSpeak original data files to
an array of values and data structures. Later on it was used as a tool for parallel, independent
diagnostics and verification of parts of the system working on a personal
computer and on an embedded device.
The first part of the work focuses on the basics of speech synthesis and related issues.
The second part is devoted to the description of modifications and improvements
proposed by the author, as well as tests and verification of the designed device.