По материалам:
Dennis H. Klatt Software for cascade/parallel synthesizer.
Локальная копия исходников синтезатора: klatt.7z. ~200 кБ.
В архиве исходники оригинала (осторожно - в нём баги!) и проект с исправленными багами под Visual Studio, которые нашел, чтобы заработал. Добавлено формирование wav файла, так что на выходе будет 2 файла sound.raw и sound.raw.wav, который можно сразу послушать.
В комплекте 2 оригинальных примера. В архив добавлены файлы example1.wav и example2.wav - результаты синтеза примеров.
Строка запуска:
test.exe -iexample1.par -osound.raw -f5 -s16000 -v2 -r2
test.exe -iexample2.par -osound.raw -f5 -s16000 -v2 -r2
Описание, которое приводится, является творческим осмыслением, а не конспектом книги Клатта.
Синтезатор содержит синтезатор источника звука, частота которого привязана к частоте основного тона голоса, имитатор передаточной функции речевого тракта, и выходную цепь, имитирующую характеристику излучения губ.
Блок-схема синтезатора Клатта
FD - дифференцирующее звено
Таблица управляющих параметров, сохранена оригинальная нумерация.
Номер
|
Величина постоянная (C)/переменная (V)
|
Символ на блок-схеме
|
Обозначение параметра
|
Расшифровка
|
Мин
|
Макс
|
Типичное значение
|
1
|
V
|
AV
|
|
Амплитуда голосового источника, дБ
|
0
|
80
|
0
|
2
|
V
|
AF
|
|
Амплитуда шума для шипящих, дБ
|
0
|
80
|
0
|
3
|
V
|
AH
|
|
Амплитуда аспиративных шумов, дБ
|
0
|
80
|
0
|
4
|
V
|
AVS
|
|
Амплитуда синусоидального источника голоса, дБ
|
0
|
80
|
0
|
5
|
V
|
F0
|
|
|
0
|
500
|
0
|
6
|
V
|
R1
|
F1
|
Частота 1-ой форманты
|
150
|
900
|
450
|
7
|
V
|
R2
|
F2
|
Частота 2-ой форманты
|
500
|
2500
|
1450
|
8
|
V
|
R3
|
F3
|
Частота 3-ей форманты
|
1300
|
3500
|
2450
|
9
|
V
|
R4
|
F4
|
Частота 4-ой форманты
|
2500
|
4500
|
3300
|
10
|
V
|
RNZ
|
FNZ
|
Частота назального режектора
|
200
|
700
|
250
|
11
|
C
|
AN
|
|
Амплитуда назальной форманты, дБ
|
0
|
80
|
0
|
12
|
C
|
A1
|
|
Амплитуда 1-ой форманты, дБ
|
0
|
80
|
0
|
13
|
V
|
A2
|
|
Амплитуда 2-ой форманты, дБ
|
0
|
80
|
0
|
14
|
V
|
A3
|
|
Амплитуда 3-ей форманты, дБ
|
0
|
80
|
0
|
15
|
V
|
A4
|
|
Амплитуда 4-ой форманты, дБ
|
0
|
80
|
0
|
16
|
V
|
A5
|
|
Амплитуда 5-ой форманты, дБ
|
0
|
80
|
0
|
17
|
V
|
A6
|
|
Амплитуда 6-ой форманты, дБ
|
0
|
80
|
0
|
18
|
V
|
AB
|
|
Амплитуда при обходе, дБ
|
0
|
80
|
0
|
19
|
V
|
R1
|
B1
|
Ширина полосы 1-го формантного фильтра
|
40
|
500
|
50
|
20
|
V
|
R2
|
B2
|
Ширина полосы 2-го формантного фильтра
|
40
|
500
|
70
|
21
|
V
|
R3
|
B3
|
Ширина полосы 3-го формантного фильтра
|
40
|
500
|
110
|
22
|
C
|
SW
|
|
Переключатель каскадного/параллельного соединения
|
0 (каскадная)
|
1 (параллельная)
|
0
|
23
|
C
|
RGP
|
FGP
|
Частота 1-го резонатора голосовой щели
|
0
|
600
|
0
|
24
|
C
|
RGP
|
BGP
|
Ширина полосы 1-го резонатора голосовой щели
|
100
|
2000
|
100
|
25
|
C
|
RGZ
|
FGZ
|
Частота режектора голосовой щели
|
0
|
5000
|
1500
|
26
|
C
|
RGZ
|
BGZ
|
Ширина полосы режектора голосовой щели
|
100
|
9000
|
6000
|
27
|
C
|
R4
|
B4
|
Ширина полосы 4-го формантного фильтра
|
100
|
500
|
250
|
28
|
V
|
R5
|
F5
|
Частота 5-ой форманты
|
3500
|
4900
|
3750
|
29
|
C
|
R5
|
B5
|
Ширина полосы 5-го формантного фильтра
|
150
|
700
|
200
|
30
|
C
|
R6
|
F6
|
Частота 6-ой форманты
|
4000
|
4999
|
4900
|
31
|
C
|
R6
|
B6
|
Ширина полосы 6-го формантного фильтра
|
200
|
2000
|
1000
|
32
|
C
|
RNP
|
FNP
|
Частота назального фильтра
|
200
|
500
|
250
|
33
|
C
|
RNP
|
BNP
|
Ширина полосы назального фильтра
|
50
|
500
|
100
|
34
|
C
|
RNZ
|
BNZ
|
Ширина полосы назального режектора
|
50
|
500
|
100
|
35
|
C
|
RGS
|
BGS
|
Ширина полосы 2-го резонатора голосовой щели
|
100
|
1000
|
200
|
36
|
C
|
|
SR
|
Частота дискретизации
|
5000
|
20000
|
10000
|
37
|
C
|
|
NWS
|
Число сэмплов на один отсчет входных параметров
|
1
|
200
|
50
|
38
|
C
|
|
G0
|
Общий контроль уровня (дБ)
|
0
|
80
|
47
|
39
|
C
|
|
NFC
|
Число формант при каскадном соединении
|
4
|
6
|
5
|
|