Автоматический синтез речи. Компилятивный синтез
П. А. Холявин
p.kholyavin@spbu.ru
1
Типы единиц компилятивного синтеза
2
Аллофонный синтез
Согласные:
L \ R | Неогубл. гласный | Огубл. гласный | Глухой согл. | Сонант или /v/ | Звонкий согл. |
Абс. начало | | | | | |
Гласный | | | | | |
Согл. | | | | | |
Сочетания согласных: /b/, /p/, /m/, /d/, /t/ + /n/, /n’/
3
Аллофонный синтез
Гласные – левые контексты:
/f/, /v/, /p/, /b/ | | /n’/ |
/f’/, /v’/, /p’/, /b’/ | /l/ | |
/t/, /d/, /s/, /z/, /t͡s/ | /l’/ | |
/t’/, /d’/, /s’/, /z’/, /t͡ʃ/, /ʃ’/, /r’/ | /r/ | |
/ʃ/, /ʒ/ | /j/ | |
/k/, /g/, /x/ | /a/ | |
/k’/, /g’/, /x’/ | /o/ | |
Абс. начало | /u/ | |
/m/ | /e/ | |
/m’/ | /i/ | |
/n/ | /ɨ/ |
4
Аллофонный синтез
Гласные – правые контексты:
/p/, /b/, /m/, /f/, /v/ | | /j/ |
/t/, /d/, /s/, /z/, /t͡s/, /n/, /r/ | /a/ | |
/ʃ/, /ʒ/ | /o/ | |
/k/, /g/, /x/ | /u/ | |
Мягкие, кроме /j/ | /e/ | |
Абсолютный конец | /i/ | |
/l/ | /ɨ/ |
5
Аллофонный синтез
Гласные – степени редукции:
0 | Ударный гласный |
1 | Предударные гласные |
2 | /a/ во втором предударном слоге |
4 | Заударные гласные |
5 | Заударный неконечный /a/ |
вертолёт | [v’i1rta1l’o0t] |
барабан | [ba2ra1ba0n] |
подушка | [pa1du0ʃka4] |
подушках | [pa1du0ʃka5x] |
6
Корпус CORPRES
Skrelin, Pavel, et al. “CORPRES" International Conference on Text, Speech and Dialogue. Springer, Berlin, Heidelberg, 2010.
(CORpus of Professionally REad Speech)
7
Другие методы синтеза
Дифонный: вторая половина звука А + первая половина звука Б
+ лёгкость сегментации
Субаллофонный: половины звуков
Слоговой: слоги (количество единиц зависит от языка)
8
Unit Selection
Метод синтеза речи по тексту, в котором вся база данных потенциально может быть использована в качестве единиц синтеза.
Метод Unit Selection основан на принципе наименьшей модификации.
Используются два параметра:
9
Unit Selection
Единицы Unit Selection:
окна, субаллофоны, дифоны, аллофоны, полуслоги, дислоги, слоги, слова, фразы, …
Возможны системы, где используются несколько типов единиц.
10
Задание
написать функцию, которая принимает на вход последовательность транскрипционных знаков CORPRES (список), а возвращает список контекстных аллофонов (трифонов), каждый из которых - кортеж вида:
(“левый контекст”, “звук”, “правый контекст”)
Обозначения CORPRES: ш - sh, ж - zh, щ - sc, ц - c, ч - ch, х - h, ы - y
звонкие аллофоны глухих: C, H, CH, SC. Твёрдый аллофон: ch_
Например: j u0 r’ i4 j -> [(“#”, “j”, “rounded vowel”), (“j”, “u0”, “palatalized”), (“vowel”, “r’”, “unrounded vowel”), …]
11
Задание
Рекомендуемая архитектура:
vowels = “i0 e0 a0 o0 u0 y0”.split()
12
Спасибо за внимание!
13