一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于world-tacotron的语音合成方法、系统及服务器与流程

2021-07-16 19:06:00 来源:中国专利 TAG:服务器 方法 语音合成 系统 人工智能

一种基于world

tacotron的语音合成方法、系统及服务器
技术领域
1.本发明涉及一种人工智能技术领域,特别是涉及一种基于world

tacotron的语音合成方法、系统及服务器。


背景技术:

2.语音合成也叫文本转语音,是将文本转化成自然语音的技术,在人机沟通之间扮演着重要角色。
3.深度学习中常见的语音合成方法是端到端语音合成,其直接建立起从文本到语音的合成,简化了人为对中间环节的干预,降低了语音合成的研究难度。
4.目前的端到端语音合成模型是基于编码器

解码器框架所建立的带有注意力机制的seq2seq模型,2017年google推出的tacotron模型是第一个真正意义上实现端到端的语音合成模型,可以实现输入文本或注音串,输出线性频谱,再经过griffin

lim算法将线性频谱转换为音频;但是,tacotron模型采用了griffin

lim算法,该算法要求具有高维度的声学特征并合成低质量的语音
5.2018年谷歌又推出tacotron2模型,该模型是对tacotron模型进行了改进,去掉了复杂的cbhg结构和gru单元,转而用lstm和卷积层来替代,模型输出梅尔语谱,然后通过wavenet将梅尔语谱转换为音频。tacotron 2采用wavenet代替了griffin

lim算法,大大提高了语音合成的质量,但是wavenet需接受大量数据的训练,并且合成速度较慢。
6.此外,各种研究项目都表明,上述模型能够生成类似于英语和其他语言的人类声音的语音,但是,对于像汉语这样的语言,则存在严重的韵律短语错误,虽然最近有针对端到端tts模型的韵律建模研究,如利用上下文信息和句法特征来改进韵律短语。但是它们被合并在文本预处理阶段,没有作为合成处理的一部分进行优化,导致最终合成的语音质量较差。


技术实现要素:

7.鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于world

tacotron的语音合成方法、系统及服务器,用于解决现有技术中语音合成质量不高、合成速度慢以及韵律短语错误的问题。
8.本发明的第一方面提供一种基于world

tacotron的语音合成方法,其特征在于,包括:
9.获取样本文本,将所述样本文本分别转化为单词序列和字符序列;
10.对所述字符序列进行编码,得到编码表示;
11.对所述单词序列进行短语中断预测,得到韵律向量;
12.将所述韵律向量和所述编码表示连接成一个联合向量,对所述联合向量进行解码,得到第一声学特征序列;
13.根据所述韵律向量计算韵律参数预测损失,根据所述第一声学特征序列计算声学
特征损失,对所述韵律参数预测损失和所述声学特征损失进行训练,得到语音合成模型;
14.将待处理文本输入所述语音合成模型进行处理,并将处理后得到的第二声学特征序列合成声音波形。
15.于本发明的一实施例中,所述将所述样本文本分别转化为单词序列和字符序列的步骤包括:
16.对所述样本文本进行分词,得到单词序列;
17.将所述样本文本转化为带声调的拼音形式序列,将所述拼音形式序列转化为字符序列。
18.于本发明的一实施例中,所述对所述字符序列进行编码,得到编码表示的步骤包括:
19.将所述字符序列输入编码器,在所述编码器的输出端得到编码表示;其中,所述编码器为基于tacotron模型的编码器。
20.于本发明的一实施例中,所述对所述单词序列进行短语中断预测,得到韵律向量的步骤包括:
21.将所述单词序列输入韵律生成器中,在所述韵律生成器的输出端得到韵律向量。
22.于本发明的一实施例中,所述将所述韵律向量和所述编码表示连接成一个联合向量的步骤包括:
23.将单词序列中的每个单词对应的韵律向量分配到每个单词的所有字符,得到字符级别韵律向量;
24.将所述编码表示与所述字符级别韵律向量进行拼接,得到联合向量。
25.于本发明的一实施例中,所述对所述联合向量进行解码,得到声学特征序列的步骤包括:
26.将所述联合向量输入解码器中,在所述解码器的输出端得到声学特征序列;其中,所述解码器为基于tacotron模型的具有注意机制的解码器。
27.于本发明的一实施例中,所述根据所述韵律向量计算韵律参数预测损失,根据所述第一声学特征序列计算声学特征损失,对所述韵律参数预测损失和所述声学特征损失进行训练,得到语音合成模型的步骤包括:
28.以真实韵律向量为标签,计算韵律参数预测损失;所述真实韵律为根据所述样本文本对应的语音音频,对所述单词序列进行独热编码获得;
29.将所述第一声学特征序列与多维声学特征的均方误差记为声学特征损失;其中,所述多维声学特征是从所述语音音频提取所得;
30.将韵律参数预测损失和声学特征损失加权求和作为全局损失,利用全局损失进行反向传播训练,得到训练好的语音合成模型。
31.于本发明的一实施例中,所述将第二声学特征序列合成声音波形的步骤包括:
32.将所述第二声学特征序列输入声码器中,在所述声码器的输出端得到相应的声音波形;其中,所述声码器为world声码器。
33.本发明的第二方面提供一种基于world

tacotron的语音合成系统,包括:
34.输入模块,用于获取样本文本和待处理文本;
35.文本预处理模块,用于将所述样本文本或待处理文本转化为单词序列和字符序
列;
36.编码器,用于对所述字符序列进行编码,得到编码表示;
37.韵律生成器,用于对所述单词序列进行短语中断预测,得到韵律向量;
38.处理模块,用于将所述韵律向量和所述编码表示连接成一个联合向量;
39.还用于根据所述韵律向量计算韵律参数预测损失,根据第一声学特征序列计算声学特征损失,对所述韵律参数预测损失和所述声学特征损失进行训练,得到语音合成模型;
40.解码器,用于对所述联合向量进行解码,得到第一声学特征序列或第二声学特征序列;
41.声码器,用于将所述第二声学特征序列合成声音波形。
42.本发明的第三方面提供一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明第一方面的一种基于world

tacotron的语音合成方法中任意一项所述的方法。
43.如上所述,本发明的一种基于world

tacotron的语音合成方法、系统及服务器,具有以下有益效果:
44.本发明在现有的tacotron模型基础上,将韵律信息融入端到端声学建模过程,引入双任务学习框架,主任务为改进的tacotron模型,学习基于字符级嵌入表示的声学特征参数预测;辅助任务为韵律生成模型,即韵律生成器,学习基于词级嵌入的韵律预测。本发明在训练阶段,通过双任务的联合训练,在模型训练中可以学习到更加显示的韵律知识,从而优化了输出语音的质量。
附图说明
45.图1显示为本发明第一实施方式中的基于world

tacotron的语音合成方法的流程图。
46.图2显示为本发明第二实施方式中的基于world

tacotron的语音合成系统的结构框图。
47.图3显示为本发明第三实施方式中的服务器的示意图。
具体实施方式
48.以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
49.需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
50.请参阅图1,本发明的第一实施方式涉及一种基于world

tacotron的语音合成方法,具体如下:
51.步骤101,获取样本文本,将样本文本分别转化为单词序列和字符序列。
52.具体的说,将样本文本分别转化为单词序列和字符序列的步骤包括:
53.将样本文本作为训练数据,对样本文本进行分词,得到单词序列;对单词序列进行人工标注,根据说话人的停顿方式,提取由说话者引入的中断的位置,将样本文本中的单词标注为中断(break)和非中断(non

break),这取决于某一单词之后是否出现中断。空格、标点符号和停止符号标签自然地出现在样本文本中。
54.需要说明的是,本实施例中的样本文本携带有对应的语音音频。
55.进一步的,将样本文本转化为带声调的拼音形式序列,将拼音形式序列转化为字符序列。
56.具体的说,将中文文本转化为带声调的拼音形式。如:“你好的”,转换成“ni3hao3de5”的拼音形式,其中拼音后的数字1-4表示第一、二、三、四声的声调,清音用数字5进行标注。之后再将拼音形式转化为字符序列。
57.可选的,在对样本文本进行分词前还包括对样本文本进行正则化处理,在真实使用过程中,样本文本中包含大量的非标准词,如阿拉伯数字、英文字符及各种符号等,文本正则化就是将这些非汉字字符转换成对应的汉字。
58.应理解,样本文本和与其对应的语音音频均可从已公开的语音数据库中获得,实际应用中,用户可根据需要选择合适的数据库。
59.步骤102,对字符序列进行编码,得到编码表示。
60.具体的说,是将字符序列c=[c1,c2,...,c
m
]输入编码器进行编码,在编码器的输出端得到隐状态序列h,即本实施例中的编码表示,该编码表示作为高层次的字符向量表示,记为ce'=[ce1',ce2',...,ce
m
'],其公式表示为ce'=h=encoder(c)。
[0061]
可选的,本实施例中所采用的编码器为基于tacotron模型的编码器,包括依次连接的一个字符嵌入层(character embedding)、一个预网络(pre

net)和一个cbhg模块。
[0062]
进一步说明,以字符序列作为字符嵌入层的输入,其中的每个字符均表示为一个独热编码one

hot向量,设置一个初始参数且可训练的嵌入矩阵,将one

hot向量映射为字符嵌入向量,即将输入的每个字符表示为256维的字符嵌入向量。模型训练中与其他网络层参数一样,通过反向传播训练嵌入矩阵,获得能表征各个字符集文本的嵌入矩阵。
[0063]
字符嵌入向量经过预网络进行一系列的非线性变换,其中,预网络包括两个全连接层,每个全连接层后都使用了relu激活函数,且每个全连接层的神经元失活率(dropout)设置为0.5,以增强模型的泛化能力;第一个全连接层的输出通道个数设为256,第二个全连接层的输出通道个数设为128。
[0064]
将经过非线性变换的字符嵌入向量输入cbhg模块中,从而可以在输出端得到字符序列的编码表示。其中,cbhg模块由一个一维卷积滤波器组、一层池化层、一个高速公路网络、和一个双向门控循环单元(gated recurrent unit,gru)的循环神经网络(recurrent neural network,rnn)组成。
[0065]
一维卷积滤波器组,可以对当前以及上下文信息有效建模。输入的序列首先会经过一个卷积层,这个卷积层有k个大小不同的1维的滤波器,其中滤波器的大小为1,2,3

k;这些大小不同的卷积核提取了长度不同的上下文信息。cbhg模块使用的一维卷积窗口的长度kernel_size为[1,2,3,...,16],卷积操作时设置padding=

same’。为了保证对齐,将经
过不同大小的k个卷积核的输出堆积在一起,每个一维卷积层的结果按照axis=

1拼接起来后为128*16维。
[0066]
下一层为最大池化层,池化的目的是增加局部不变性,设置stride为1,width为2。经过池化之后,会再经过两层一维的卷积层。第一个卷积层的filter大小为3,stride为1,采用relu激活函数,输出通道为128;第二个卷积层的filter大小为3,stride为1,没有采用激活函数,输出通道为128,在这两个一维的卷积层之间都会进行bn(batch normalization,批标准化)。
[0067]
经过卷积层之后,再进行残差连接,即把卷积层的输出和嵌入层(embedding)之后的序列相加起来,然后输入一个多层的高速公路网络来提取高层特征。高速公路网络为4层全连接层,采用线性整流函数作为激活函数,输出特征的维度为128维;最后将高速公路网络的输出输入到双向rnn当中,其包括128个gru单元,来提取前向和后向的上下文中的序列特征,双向拼接后为256,最终获得字符序列的编码表示。
[0068]
步骤103,对单词序列进行短语中断预测,得到韵律向量;
[0069]
具体的说,是将单词序列输入韵律生成器中进行短语中断预测,在韵律生成器的输出端得到韵律向量pe=[pe1,pe2,...,pe
t
]。
[0070]
可选的,韵律生成器包含输入层、双向的lstm层和输出层。
[0071]
进一步说明,输入层将输入的单词序列转换为词向量表示作为其特征表示,假设输入的单词序列w=[w1,...,w
t
,...,w
t
]的长度为t,根据预先训练好的词向量,通过查找词表将其转换为对应的特征向量v=[v1,...,v
t
,...,v
t
]。
[0072]
双向的lstm层读取特征向量v,将其转换为高层特征表示。使用前向lstm和后向lstm读取特征向量序列后分别输出隐状态向量,再对前向隐状态向量和后向隐状态向量进行拼接,得到最终的隐状态h,送入输出层解码得到最终的单词对应的韵律标签。
[0073]
输出层使用softmax函数将bilstm层输出的隐状态h进行解码,输出每个单词对应的韵律向量pe=[pe1,...,pe
t
,...,pe
t
],其中,pe
t
为5维向量,pe
t
=[p
t
[1],...,p
t
[k],...,p
t
[5]];t∈[1,t],表示k发生的概率;k代表目标短语中断模式。
[0074]
需要说明的是,本实施例将pe(prosody embedding,韵律向量)定义为一个由五个元素组成的向量,即中断(break)、非中断(non

break)、空格(blank)、标点符号(punctuation)和停止符号(stop token),它们代表五个中断短语模式。
[0075]
步骤104,将韵律向量和编码表示连接成一个联合向量,对联合向量进行解码,得到第一声学特征序列。
[0076]
具体的说,由于单词序列和字符序列长度不相等,本实施例将韵律向量进行上采样,即将单词序列中的每个单词对应的韵律向量分配到每个单词的所有字符,得到字符级别韵律向量pe’,将上述编码器输出的编码表示ce’与字符级别韵律向量pe’进行拼接得到最终的联合向量je',其表达式为:
[0077]
je'=[pe';ce']。
[0078]
继续说明,将联合向量je'输入解码器中,在解码器的输出端得到声学特征序列y,其表达式为y=decoder(je')。
[0079]
可选的,解码器为基于tacotron模型的具有注意机制的解码器,包括注意力机制、预处理网络、长短时记忆神经网络、线性映射层。
[0080]
进一步说明,解码器是一个自回归的循环神经网络。在解码过程中,上一步的解码结果作为输入经过2层全连接组成的预网络,每层由256个隐藏relu单元组成。预网络作为一个信息瓶颈层(boottleneck),对于学习注意力是必要的。
[0081]
预网络的输出与注意力机制计算的注意力上下文向量拼接起来,一起输入到2层lstm中进行解码,每个lstm层包含1024个单位。
[0082]
具体地,本实施例使用了模型tacotron2中位置敏感注意力机制,对基于内容的注意力机制进行了扩展,位置特征用32个长度为31的1维卷积核卷积得出,然后把输入序列和为位置特征投影到128维隐层表征,计算出注意力权重,具体公式为:
[0083][0084]
f
i
=f*cα
i
‑1[0085][0086]
其中,s
i
是当前解码器隐状态,h
j
是当前编码器隐状态,w、v、u分别是对应状态的权重矩阵,b是偏置值,初始为0向量。f
i,j
是之前的注意力权重矩阵通过卷积而得的位置特征。位置特征f
i
来自累加注意力权重cα
i
的卷积。
[0087]
lstm层的输出再次和注意力上下文向量拼接在一起,然后经过一个线性变换投影来预测声学特征序列,lstm层使用概率为0.1的zoneout进行正则化处理。
[0088]
步骤105,根据韵律向量计算韵律参数预测损失,根据第一声学特征序列计算声学特征损失,对韵律参数预测损失和声学特征损失进行训练,得到语音合成模型。
[0089]
具体的说,以真实韵律向量为标签,计算韵律参数预测损失;其中,真实韵律为根据多维声学特征,对单词序列进行人工标注,再进行独热编码而获得;多维声学特征是从样本文本对应的语音音频中提取获得,具体的说,该多维声学特征为38维,包括:1维基频参数、32维频谱包络参数和5维非周期参数;提取步骤如下:
[0090]
1、输入波形,通过dio算法估计出基频(f0 contour);
[0091]
2、f0和波形作为输入,由cheap trick估计出513维频谱包络(spectral envelope);
[0092]
3、输入f0、sp和波形,用d4c算法将提取出来的信号进行估计,得到513维非周期参数(aperiodic parameter);
[0093]
4、采用dct算法对频谱包络和非周期参数进行降维处理,将频谱包络和非周期参数分别压缩为32维和5维。
[0094]
继续说明,以训练过程中交叉熵损失作为韵律参数预测的损失函数,且损失函数的计算方式如下:
[0095]
k代表目标短语中断模式。
[0096]
将第一声学特征序列与多维声学特征的均方误差记为声学特征损失;其中,多维声学特征是从语音音频提取所得;声学特征损失计算方式如下:
[0097][0098]
其中,loss
wav
表示音频的声学特征损失;y表示真实声学特征;y
t
'表示预测得到的
声学特征。
[0099]
将韵律参数预测损失和声学特征损失加权求和作为全局损失,利用全局损失进行反向传播训练,得到训练好的语音合成模型;具体计算方式如下:
[0100]
loss
total
=loss
wav
w*loss
pe
[0101]
其中,loss
total
表示全局损失;ω表示权重参数;loss
pe
表示韵律参数预测损失。
[0102]
训练数据样本数(batch_size)设置为32,使用带有学习率衰减的adam优化器训练模型,令β1=0.9,β2=0.999,其中学习率自50k步开始,从10
‑3动态衰减到10
‑5,声学模型和韵律生成模型联合训练200k步后作为最终的语音合成模型。
[0103]
采用上述方案,根据全局损失函数进行反向传播训练更新网络参数,采用多任务学习的框架进行两个任务同时训练,韵律发生器与其他tacotron模块一起训练更新,将韵律信息融入端到端声学建模的过程,在模型训练过程中相互优化,在端到端声学模型的帮助下最终提升韵律生成模型的精度,从而得到更加准确的韵律向量,并最终提升语音合成的表现。
[0104]
步骤106,将待处理文本输入语音合成模型进行处理,并将处理后得到的第二声学特征序列合成声音波形。
[0105]
具体的说,待处理文本可以是样本文本,也可以是其它文本,将待处理文本输入语音合成模型,经过上述步骤的处理,最终得到对应的第二声学特征序列。
[0106]
第二声学特征序列输入声码器中,在声码器的输出端得到对应的声音波形。
[0107]
可选的,声码器为world声码器。
[0108]
可见,本实施方式在现有的tacotron模型基础上,将韵律信息融入端到端声学建模过程,引入双任务学习框架,主任务为改进的tacotron模型,学习基于字符级嵌入表示的声学特征参数预测;辅助任务为韵律生成模型,即韵律生成器,学习基于词级嵌入的韵律预测。本发明在训练阶段,通过双任务的联合训练,在模型训练中可以学习到更加显示的韵律知识,从而优化了输出语音的质量;同时在输出端使用world声码器,大大降低了模型尺寸,提高了语音合成速度。
[0109]
本发明的第二实施方式涉及一种基于world

tacotron的语音合成系统。
[0110]
请参阅图2,具体包括:
[0111]
输入模块,用于获取样本文本及获取待处理文本;其中,所述样本文本携带有对应的语音音频。
[0112]
文本预处理模块,用于将样本文本转化为单词序列和字符序列。
[0113]
编码器,用于对字符序列进行编码,得到编码表示。
[0114]
可选的,本实施例中所采用的编码器为基于tacotron模型的编码器,包括依次连接的一个字符嵌入层(character embedding)、一个预网络(pre

net)和一个cbhg模块。
[0115]
具体的说,输入的字符序列通过字符嵌入层,输出为固定维度大小的字符嵌入向量;预网络对字符嵌入向量进行一系列的非线性变换;cbhg模块将非线性变换后的字符嵌入向量转化为字符嵌入向量的编码表示。
[0116]
韵律生成器,用于对单词序列进行短语中断预测,得到韵律向量;
[0117]
可选的,韵律生成器包含输入层、双向的lstm层和输出层。
[0118]
具体的说,输入层将输入的单词序列转换为词向量,将其作为特征表示;双向的
lstm层读取输入的词向量,将其转换为高层特征表示;输出层使用softmax函数将双向的lstm层输出的隐状态进行解码,输出每个单词对应的韵律向量。
[0119]
处理模块,用于将韵律向量和编码表示连接成一个联合向量;还用于根据韵律向量计算韵律参数预测损失,根据第一声学特征序列计算声学特征损失,对韵律参数预测损失和声学特征损失进行训练,得到语音合成模型;
[0120]
解码器,用于对联合向量进行解码,得到第一声学特征序列或第二声学特征序列。
[0121]
可选的,解码器为基于tacotron模型的具有注意机制的解码器,包括注意力机制、预处理网络、长短时记忆神经网络、线性映射层。
[0122]
具体的说,解码器是一个自回归的循环神经网络。长短期记忆神经网络用于将预处理网络的输出与注意力机制计算的注意力上下文向量拼接,输出新的上下文向量至线性映射层。线性映射层将新的上下文向量进行线性投影,输出声学特征序列。
[0123]
声码器,用于将第二声学特征序列合成声音波形。
[0124]
可选的,声码器为world声码器。
[0125]
需要说明的是,处理模块通常是整个微电脑数显传感处理器系统的中央处理器(central processing unit,cpu),可以配置相应的操作系统,以及控制接口等,具体地,可以是单片机、dsp(digital signal processing,数字信号处理)、arm(advanced riscmachines,arm处理器)等能够用于自动化控制的数字逻辑处理器,可以将控制指令随时加载到内存进行储存与执行,同时,可以内置cpu指令及资料内存、输入输出单元、电源模组、数字模拟等单元,具体可以根据实际使用情况进行设置,本方案对此不进行限制。
[0126]
可见,本实施方式在现有的tacotron模型基础上,将韵律生成器和world声码器与优化的tacotron模型相结合,不参与wavenet的丰富训练和较长的合成周期,具有较低的声学特征尺寸,不仅提高了语音合成速度既,也提高了tacotron模型的语音合成质量。
[0127]
请参阅图3,本发明的第三实施方式涉及一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行所述程序时实现上述第一实施方式中所述方法的任意一项。
[0128]
其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。
[0129]
处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
[0130]
综上所述,本发明的一种基于world

tacotron的语音合成方法、系统及服务器,在现有的tacotron模型基础上,将韵律信息融入端到端声学建模过程,引入双任务学习框架,主任务为改进的tacotron模型,学习基于字符级嵌入表示的声学特征参数预测;辅助任务为韵律生成模型,即韵律生成器,学习基于词级嵌入的韵律预测。本发明在训练阶段,通过
双任务的联合训练,在模型训练中可以学习到更加显示的韵律知识,从而优化了输出语音的质量。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
[0131]
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文章

  • 日榜
  • 周榜
  • 月榜