https://ieeexplore.ieee.org/document/8682298
Neural Source-filter-based Waveform Model for Statistical Parametric Speech Synthesis
Neural waveform models such as the WaveNet are used in many recent text-to-speech systems, but the original WaveNet is quite slow in waveform generation because of its autoregressive (AR) structure. Although faster non-AR models were recently reported, the
ieeexplore.ieee.org
해당 논문을 보고 작성했습니다.
Abstract
WaveNet과 같은 neural waveform model은 최근 많은 TTS system에서 사용되고 있지만, original WaveNet은 autoregressive (AR) structure이기 때문에 waveform generation 속도가 느리다는 단점이 있습니다. 빠른 non-AR model들도 최근에 등장했지만, distilling training method와 다른 복잡한 training criteria의 혼합 사용으로 인해 지나치게 복잡할 수 있습니다. 이 연구에서는 spectrum-based training criteria와 stochastic gradient descent method를 사용하여 바로 학습될 수 있는 non-AR neural source-filter waveform model을 제안합니다. input acoustic feature가 주어졌을 때, 제안된 model은 sine-based excitation signal을 생성하기 위해 source module을 사용하며, excitation signal을 output speech waveform으로 변환하기 위해 filter module을 사용합니다. 저자들의 실험을 통해 제안된 model이 AR WaveNet보다 적어도 100배 더 빠른 속도를 보여주며 합성된 speech의 quality가 AR WaveNet와 유사하다는 것을 보입니다.
Introduction
이 논문에서 저자들은 acoustic feature를 speech waveform으로 변환하는 neural source-filter waveform model을 제안합니다. classical speech modeling method에서 영감을 받아, 저자들은 fundamental frequency (F0)를 가지고 있는 sine-based excitation signal을 생성하는 source module을 사용합니다. 그다음 dilated-convolution-based filter module을 사용하여 sine-based excitation을 speech waveform으로 변환합니다. 제안된 model은 spectral amplitude와 phase distance를 minimize 하는 방식으로 학습됩니다. 저자들의 model은 non-AR model이기 때문에 AR WaveNet보다 훨씬 빠른 생성 속도를 보입니다.
Proposed Model and Training Criteria
Model structure
제안된 model은 B 길이 acoustic feature sequence c_{1:B}를 T 길이 speech waveform o^_{1:T}로 변환하며, 구조는 다음과 같습니다.
source module이 excitation signal e_{i:T}를 생성하고, filter module은 e_{1:T}를 speech waveform으로 변환하며 condition module은 source and filter module을 위해 acoustic feature를 처리합니다. module들은 이전에 생성된 waveform sample을 input으로 받지 않습니다. waveform은 real-value로 추정됩니다. 즉 o^_t ∈ R, 0 < t <= T 입니다.
- Condition module
condition module은 input으로 acoustic feature sequence c_{1:B} = {C_1, ... , c_B}를 받으며, 각 c_b = [f_b, s_b^T]^T는 F0인 f_b와 b번째 speech frame의 spectral feature s_b를 포함합니다. condition module은 F0를 upsample 하여 b번째 frame 내 모든 time step에 f_b를 복제하고, upsampled F_0 sequence f_{1:T}를 source module에 feed 합니다. c_{1:B}이 bi-directional recurrent layer with long-short-term memory (LSTM) unit과 convolutional (CONV) layer로 처리되고, 그 후 upsample 되어 filter module로 전해집니다. WaveNet-vocoder와 유사하게 LSTM과 CONV를 사용하여 실험을 진행했다고 합니다.
- Source module
input F0 sequence f_{1:T}가 주어졌을 때, source module은 sine-based excitation signal e_{1:T} = {e_1, ... , e_T}, e_t ∈ R을 생성합니다. t번째 time step의 F0 value f_t이고, f_t = 0이면 unvoice를 나타냅니다. f_t를 instantaneous frequecny로 처리하여 signal e_{1:T}^<0>을 다음과 같이 생성할 수 있습니다.
n_t ~ N(0, σ^2)는 Gaussian noise를 나타내고, Φ ∈ [-π, π]는 random initial phase를 나타내며 N_s는 waveform sampling rate와 동일합니다.
e_{1:T} = e_{1:T}^<0>으로 바로 설정할 수 있지만, 저자들은 2가지 추가적인 trick을 사용했습니다. 먼저 학습 과정에서 e_{1:T}^<0>와 natural waveform o_{1:T} 사이 correlation을 maximize 하여 best phase Φ*를 결정할 수 있습니다. 생성 과정에서는 Φ를 random 하게 생성합니다. 두 번째 method는 위 식에 있는 f_k를 증가시켜 harmonic을 생성하고, feedforward (FF) layer를 사용해 harmonic과 e_{1:T}^<0>를 병합합니다. 이 논문에서는 7개 harmonic을 사용하고 σ = 0.003, α = 0.1로 설정했습니다.
- Neural filter module
source module에서 얻은 excitation signal e_{1:T}가 주어지고 condition module을 통해 처리된 acoustic feature가 주어지면, filter module은 ClariNet처럼 dilated convolution의 여러 stage를 사용하고 affine transformation을 사용하여 e_{1:T}를 조절합니다. 예를 들어 first stage에서 e{1:T}를 받고 처리된 acoustic feature를 input으로 받아 dilated convolution을 사용하여 a{1:T}와 b{1:T}를 생성합니다. 그다음 e{1:T}는 e{1:T}⊙b{1:T} + a{1:T}를 사용하여 변환됩니다. ⊙는 element-wise multiplication을 의미합니다. 변환된 signal은 다음 stage를 거쳐 처리가 된 후 final stage의 output이 생성된 waveform o^_{1:T}가 됩니다.
dilated convolution block은 Parallel WaveNet에 있는 것과 유사합니다. 구체적으로 각 block은 multiple dilated convolution layer를 가지고 있으며, filter size는 3으로 사용했습니다. convolution layer의 output은 condition module의 feature와 gated activation function을 통해 merge 됩니다. 그 후 merged feature는 a_{1:T}와 b^{1:T}로 변환됩니다. b_{1:T}가 positive가 되도록 만들기 위해, b_{1:T}를 b_{1:T} = exp(b^_{1:T})로 parameterize 됩니다.
ClariNet과 Parallel WaveNet과 다르게, 저자들의 model은 distilling method를 사용하지 않습니다. 변환된 signal의 평균과 표준편차를 계산할 필요가 없습니다. 그리고 convolution과 transformation block을 inverse autoregressive flow로 구성할 필요도 없습니다.
Training criteria in frequency domain
speech perception은 frequency domain에서 acoustic cues에 매우 영향을 받기 때문에, 저자들은 spectral amplitude와 phase distance를 minimize 하도록 training criteria를 정의합니다. 이를 통해 model은 stochastic gradient descent (SGD) method로 최적화가 가능합니다.
- Spectral amplitude distance
short-time Fourier analysis를 통해, 저자들은 각 frame의 spectrum을 생성하기 전에 waveform framing과 windowing을 수행합니다. 생성된 waveform \hat{o}_{1:T}를 위해, 저자들은 M 길이 n번째 waveform frame을 나타내는 \hat{x}^(n)을 사용합니다. 그다음 \hay{y}^(n)을 사용하여 K-point DFT를 통해 구해진 \hat{x}^(n)의 spectrum을 나타냅니다.
waveform이 N 개 frame으로 나눠져 있다고 생각하면, log spectral amplitude distance는 다음과 같이 정의할 수 있습니다.
위 식에서 Re()는 복소수의 실수 부분, Im()는 허수 부분을 나타냅니다.
L_s가 복소수 값으로 정의되지만, SGD를 사용하여 학습할 때 구해지는 기울기는 효율적으로 계산될 수 있습니다. n번째 frame의 복소수 vector가 Hermitian symmetric이라면, inverse of DFT을 통해 병렬적으로 미분한 결과를 구할 수 있습니다.
- Phase distance
phase distance는 다음과 같이 구해집니다.
위 식에서 θ^는 y^_k의 phase를 나타내고, θ는 y_k의 phase를 나타냅니다. phase distance의 기울기는 spectral amplitude distance와 동일한 과정을 거쳐 구해집니다. 다양한 framing/windowing block을 사용하여 여러 종류의 L을 설정할 수 있으며, L_p와 L_s를 더해 최종 loss로 사용합니다.
Experiments
Comparison of proposed model, WaveNet and WORLD
model list는 위와 같습니다. WAD model은 condition module, post-processing module, and 40 dilated CONV block으로 구성되며, k번째 CONV block은 2^{modulo(k,10)} dilation size를 사용합니다. WAC는 WAD와 유사하지만, WAC는 Gaussian distribution을 사용하여 output layer에서 raw waveform을 modelling 합니다.
제안한 NSF는 dilated CONV와 transformation으로 구성된 5개 stage를 포함하며, 각 stage는 dilation size가 s^{modulo(k,10)}이고 filter size는 3인 10개 convolution layer로 이루어져 있습니다. condition module은 WAD, WAC와 동일합니다.
MOS score는 위와 같습니다. natural acoustic feature를 사용하거나, acoustic model을 통해 생성된 acoustic feature를 사용한 경우 모두 보여주고 있습니다. NSF가 WOR과 WAC보다 더 뛰어난 모습을 보여주지만, WAD보단 좋지 않은 모습을 보여줍니다. NSF와 WAD 사이 MOS 차이는 약 0.12 정도입니다. 이는 AR model과 non-AR model 구조 차이 때문이라고 생각한다 합니다.
Conclusion
이 논문에서 저자들은 source module과 filter module을 사용하는 neural waveform model을 제안합니다. source module은 F0를 사용하여 sine-wave excitation을 생성하고 filter module은 excitation을 waveform으로 변환하기 위해 dilated convolution을 사용합니다. 저자들은 실험을 통해 sine-wave exciatation이 harmonic structure를 사용하여 waveform을 생성하는데 필수적이라는 것을 입증했습니다. 그리고 multiple spectral-based training criteria와 filter module의 transformation이 model의 성능이 영향을 끼친다는 것도 입증했습니다.