Спектральні фічі
Фіча
Розмір
Алгоритми
Спектральна густина:
$\mathbb{R}^{513}$
NMF, FW
MCEP (Mel-cepstrum envelope):
$\mathbb{R}^{24}$
GMM, Kernel, DNN
Паралельний корпус
Спектральний мапінг
Наївне застосування регресії призводить до незадовільних результатів
JDGMM: Joint Density Gaussian Mixture Models
[Toda et al. 2007]
Join Density GMM
GMM - метод кластеризації
Акустичний простір має природнє розділення на кластери
JDGMM дозволяє моделювати локальну функцію перетворення для кожного кластера
$\{\mathbf{x}_t\}_1^T$ та $\{\mathbf{y}_t\}_1^T$ початковий та цільовий голоси та $\mathbf{z}_t := (\mathbf{x}_t, \mathbf{y}_t)$
$P(\mathbf{x}_t, \mathbf{y}_t) = P(\mathbf{z}_t) = \color{green}{w_1\mathcal{N}(\mathbf{z}_t; \mathbf{\mu}_1^{(z)}, \mathbf{C}_1^{(zz)}}) + \color{red}{w_2\mathcal{N}(\mathbf{z}_t; \mathbf{\mu}_2^{(z)}, \mathbf{C}_2^{(zz)})}$
$\mathbf{\mu}_m^{(z)} = \begin{bmatrix}
\mathbf{\mu}_m^{(x)}\\
\mathbf{\mu}_m^{(y)}\end{bmatrix};
\mathbf{C}_m^{(z)} = \begin{bmatrix}
\mathbf{C}_m^{(xx)} & \mathbf{C}_m^{(xy)}\\
\mathbf{C}_m^{(yx)} & \mathbf{C}_m^{(yy)}\end{bmatrix}$
$\color{purple}{P(\mathbf{y}_t | \mathbf{x}_t)} = \color{green}{P(m=1|\mathbf{x}_t)P(\mathbf{y}|\mathbf{x}_t, m=1)} + \color{red}{P(m=2|\mathbf{x}_t)P(\mathbf{y}|\mathbf{x}_t, m=2)}$
$\color{blue}{\hat{\mathbf{y}}_t(\mathbf{x}_t)} = E_y[\color{purple}{P(\mathbf{y}_t | \mathbf{x}_t)}]$
Недоліки
Не враховується динамічна природа сигналу
Надмірне згладжування $\hat{\mathbf{y}}_t$
Динамічні фічі
Замість $\mathbf{y}_t \in \mathbb{R}^{D}$ використовуємо $\mathbf{Y}_t = (\mathbf{y}_t, \Delta\mathbf{y}_t) \in \mathbb{R}^{2D}$, де $$\Delta\mathbf{y}_t := 0.5 \cdot (\mathbf{y}_{t-1} - \mathbf{y}_{t+1})$$
Тренуємо JDGMM $\implies P(\mathbf{Y}_t|\mathbf{X}_t)$
Збираємо послідовності у один вектор:
$\mathbf{y} = (\mathbf{y}_1, \dots, \mathbf{y}_{T_{tst}}) \in \mathbb{R}^{DT_{tst}}$
$\mathbf{Y} = (\mathbf{Y}_1, \dots, \mathbf{Y}_{T_{tst}}) = (\mathbf{y}_1, \Delta\mathbf{y}_1, \dots, \mathbf{y}_{T_{tst}}, \Delta\mathbf{y}_{T_{tst}}) \in \mathbb{R}^{2DT_{tst}}$
Можна записати: $\mathbf{Y} = \mathbf{W}\mathbf{y}$
Знаходимо найкращу (maximum likelihood) послідовність для цільового голосу:
$$\hat{\mathbf{y}} = \underset{\mathbf{y}}{\operatorname{argmax}}P(\mathbf{W}\mathbf{y}|\mathbf{X}_{tst}) = (\mathbf{W}^T\mathbf{D}\mathbf{W})^{-1}\mathbf{W}^T\mathbf{D}\color{blue}{\mathbf{e}}$$
Недоліки
Не враховується динамічна природа сигналу
Надмірне згладжування $\hat{\mathbf{y}}_t$
Приклад звуку:
Приклад звуку (ДФ):
Глобальна дисперсія
Моделюємо розподіл дисперсій цільового спікера простим нормальним розподілом:
$P(\mathbf{v})$
Враховуємо дисперсію під час оптимізації:
$$\hat{\mathbf{y}} = \underset{\mathbf{y}}{\operatorname{argmax}}P(\mathbf{W}\mathbf{y}|\mathbf{X})\cdot P(var(\mathbf{y}))$$
На жаль, немає аналітичного рішення для максимуму ¯\_(ツ)_/¯
Приклад звуку:
Приклад звуку (DF):
Приклад звуку (DF + GV):
Інші підходи
Non-negative Matrix Factorization (NMF) - кожен
новий фрейм моделюється як лінійна комбінація фреймів з
тренувальної вибірки
Frequency warping (FW) - кожен новий цільовий фрейм
моделюється як викривлення відповідного фрейму
початкового спікера
Kernel Partial Least Squares - Лінійна регресія з
нелінійним ядром
Neural Networks
Take home message:
Use domain knowledge, Luke!
Скрябін
$\mathbf{x}_{train}$
$\mathbf{y}_{train}$
$\hat{\mathbf{y}}$
Thanks!
bielievtsov@ibdi.pro