Abstract
文章提出了一个可控的端到端语音合成系统,将句子级别的语速值作为条件输入来控制合成语音的语速。 该系统采用输入音素数与输入语音长度之比的语音速率值来控制语音速度。并且, 提出的SCTTS系统不仅能控制语速, 并且能获取其他的声学属性, 例如音高等。所提出的SCTTS不需要任何额外训练好的模型或外部语音数据库来提取音素级的持续时间信息,可以以端到端的方式进行训练。并且经过听力测试显示, fast-,normal-,slow-的音频都能比其他使用音素时长信息的模型生成的音频更自然。
Introduction
previous work
工作一:
主要思想:从参考音频中提取出不同的声学属性(音高、韵律,语速), TTS系统生成一个和参考音频风格相似的音频。
无监督训练:由于很难客观地定义每个语音属性,TTS系统采用无监督的训练方式。
约束:
- 需要大量不同风格的音频来训练
- 难以从音频中将不同的声学属性解耦开来, 所以难以单独只控制一个属性。
工作二:
主要思想: 通过控制音素级别的持续时间来控制语速. 音素时长是作为TTS的条件输入。 在推理阶段, 通过调整音素的时长(由时长预测模型得到)来控制语速。
约束:
- 需要一个训练好的ASR或者TTS模型来获取音频信号中的音素时长信息
- 无法人为地控制语速, 只能将每个音素以相同的速率来提高或减小。
our work
为了解决这些约束, 我们提出了一个speed-controllable TTS (SCTTS), 将句子级别的语速(SR)作为输入。 SR为输入的音素数和输入音频长度的比例。 在训练过程中,通过提供SR值作为输入,该系统学习根据期望的语速预测同一文本的不同对齐方式。在推理阶段, 训练数据中所有音频的SR的平均值作为输入来生成normal speed的音频, 通过对该SR值进行增大或减小来生成fast speed 和 slow speed的音频。 并且我们引入了global style token(GST)来增强语速控制时语音的鲁棒性。我们发现TTS系统语速的控制还受到其他声学属性的影响, 然而 GST-adopted SCTTS 系统通过将其与包含在表达性语音中的多个语音属性分离,可以在控制语音速度的同时最小化其他语音属性的变化。在推理步骤中,通过提供正常风格的参考语音以及SR值,SCTT-GST可以在保持正常风格语音的其他语音属性的同时控制说话速度。
主要贡献:
- 不需要额外训练好的模型和信息, 能够端到端进行训练。
- 用SCTTS生成的音频比其他使用音素时长信息模型生成的音频更加地自然。
- SCTTS能够在保持正常风格语音的其他语音属性的同时控制语音速度, 即改变语速不改变其他语音属性。
Baseline Model
DCTTS
Baseline使用的框架是DCTTS[4],并做了一些调整。因为DCTTS是完全卷积的, 所以速度更快, 收敛更稳定。
调整: 用Postnet替代DCTTS中的SSRN。 DCTTS中SSRN和T2M是分开训练的,而这里使用了T2M和Postnet联合训练。 并修改损失为:
L
=
α
L
s
p
e
c
(
c
^
∣
c
)
+
L
s
p
e
c
(
m
^
∣
m
)
\mathcal L = \alpha \mathcal L_{spec}(\hat c|c) + \mathcal L_{spec}(\hat m |m)
L=αLspec(c^∣c)+Lspec(m^∣m), 其中
c
,
c
^c,c
c,c分别为重构之前的真实mel谱和预测的mel谱,
m
^
,
m
\hat m, m
m^,m为重构后预测的mel谱和真实mel谱
GST-based style encoder
GST-based style encoder 从参考音频中提取说话风格作为style embedding. 在训练阶段,gst被随机初始化并学习,以无监督的方式包含在训练数据集中占主导地位的语音风格。在推理阶段,合成语音的风格可以通过gst的权重来控制。它们可以通过输入参考语音信号获得,也可以直接给出。
Proposed Method
模型结构:
训练阶段:文本序列, mel谱还有SR值作为输入。 SR值复制到和文本序列相等的长度, 然后和文本序列进行拼接后, 作为text encoder的输入。
推理阶段:输入文本和期望的SR值, 生成相应的mel谱。
SR calculation
使用inverse mean duration(IMD)作为ST的测量方式。 输入的mel谱长度为T, 文本序列长度为P, 那么SR值的计算为:
r
=
λ
P
T
r = \lambda \frac{P}{T}
r=λTP
注: 需要将静音部分移除。
Disentanglement of speaking speed and other speech attribute
图2展示了不同数据集,基频F0和SR值之间的一个关系。 当数据集是中性的,即不带情感时, 随着SR的增加, F0几乎不发生改变, 但是当数据集带有情感时, F0发生了较大的变化。 因此在SCTTS中, 音频特征之间的关系会影响着速度的控制。 为了将SR值和其他音频特征解耦开来, 我们引入了GST-based style encoder。 因为GST-based style encoder 以无监督的形式学习了音频中的风格特征, 因此在SCTTS中, 希望该encoder 能够学习到风格特征而不是说话速度。 该模块为图1的虚线部分。 GST-based style encoder 输出style embedding, 和text encoder的输出进行拼接, 然后经过一个线性映射层。其他部分和SCTTS无差别。
Experiment and results
实验主要评估以下三个方面的:
- 控制语速
- 使用GST将语速和其他声学特征解耦开
- 在不同速度下, 合成的音频能达到一定的自然度
Datasets
- 中性语料:https://kaggle.com/bryanpark/korean-single-speaker-speechdataset
- 情感语料:【没写出来】
Model setup
S
R
s
c
a
l
i
n
g
f
a
c
t
o
r
:
λ
=
100
SR\ scaling\ factor: \lambda=100
SR scaling factor:λ=100
l
o
s
s
w
e
i
g
h
t
:
α
=
1
b
e
f
o
r
e
50
k
t
r
a
i
n
i
n
g
s
t
e
p
s
,
a
n
d
t
h
e
n
d
e
c
r
e
a
s
e
d
l
i
n
e
a
r
l
y
a
n
d
b
e
c
o
m
e
0
loss \ weight: \alpha = 1\ before\ 50k \ training \ steps, \\and\ then\ decreased\ linearly \ and \ become 0
loss weight:α=1 before 50k training steps,and then decreased linearly and become0
A
d
a
m
o
p
t
i
m
i
z
e
r
:
0.001
Adam optimizer:0.001
Adamoptimizer:0.001
speaking speed control
Disentanglement of speaking speed and other speech attribute
上图是SCTTS和SCTTS-GST模型合成的结果, 两个模型都是用情感语料进行训练的。 对于SCTTS-GST我们使用了两个不同的参考音频, N表示normal style(no expreesive; average F0), H表示excited style(high F0)。 从SCTTS-GST的bc图可以看出, 虽然语速变化了但是F0并没有改变, 而SCTTS的a图可以看出, 随着语速加快, F0也跟着改变。
图5是average F0和SR的一个关系图。 在测试集中, 给定相同的文本, 通过改变SR的值来合成样本。 可以看出在SCTTS中, F0随SR值变化是很大的,但在SCTTS-GST中, F0几乎不随着SR进行改变。在SCTTS-GST(H)中略微有所波动, 是因为在训练集中 语速和high-F0之间有更强的联系。
Naturalness of the Spedd-Controlled Speech
比较模型:SCTTS、SCTTS-GST、PDC-TTS(phonemic-level duration controllable TTS)、FastSpeech
PDC-TTS: 将PDC-TTS中Tacotron部分用DCTTS替代
【4】H. Tachibana, K. Uenoyama, and S. Aihara, “Efficiently Trainable Text-to-Speech System Based on Deep Convolutional Networks with Guided Attention,” in Proc. IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2018, pp. 4784–4788.