LPCNET: 通过线性预测改进神经语音合成

article/2025/9/26 1:32:16

LPCNET: 通过线性预测改进神经语音合成

  • 摘要
            • 索引词 -- 神经音频合成 参数编码 WaveRNN
  • 1.导言
  • 2.WAVERNN
  • 3.LPCNET
    • 3.1条件参数
    • 3.2 预加重和量化
    • 3.3 线性预测
    • 3.4 输出层
    • 3.5 稀疏矩阵
    • 3.6 嵌入和代数简化
    • 3.7 从概率分布中抽取样本
    • 3.8 训练噪声注入
  • 4. 评估
    • 4.1 复杂度
    • 4.2 实验设置
    • 4.3 质量评估
  • 5.总结
  • 6.引用

摘要

  神经语音合成模型最近已经证明了为文本到语音合成高质量语音的能力和压缩应用。这些新的模型通常需要强大的GPU来实现实时操作,因此能够减少它们的复杂度将为许多新的应用程序打开道路。我们提出了一种将线性预测与递归神经网络相结合的wavernn变种lpcnet,以显著提高语音合成的效率。我们证明,在相同的网络规模下,lpcnet可以达到比wavernn明显更高的质量,并且在3个gflops复杂度下可以实现高质量的lpcnet语音合成。这使得在低功耗设备(如嵌入式系统和移动电话)上部署神经同步应用程序更加容易。

索引词 – 神经音频合成 参数编码 WaveRNN

1.导言

  神经语音合成算法最近使合成高质量语音[1,2,3]和编码非常低比特率的高质量语音成为可能[4]。这些算法的第一代通常基于WaveNet[5]等算法,通过一个高端GPU实时给出了提示结果,以提供每秒数百亿次浮点运算(gFlops)。我们希望在诸如移动电话之类的终端用户设备上执行合成,这些设备没有强大的GPU,并且电池容量有限。
  最近的工作[6,7]集中在寻找更有效的模型,以降低语音合成的复杂性。在这项工作中,我们继续朝着这个方向发展,提供了更多的效率改进,使合成语音更容易,即使是在较慢的CPU上,对电池寿命的影响也有限。
  低比特率声码器等低复杂度参数合成模型已经存在了很长一段时间[8,9],但其质量一直受到严重限制。虽然它们通常能有效地利用线性预测来模拟语音的频谱包络(声道响应),但对于激励而言,没有这样简单的模型存在。尽管取得了一些进展[10,11],模拟激励信号仍然是一个挑战。
  在本文中,我们提出了lpcnet模型,它将谱包络建模的负担从神经合成网络中去掉,这样它的大部分能力就可以用来模拟特定的平坦激励。这使得将最先进的神经合成系统的质量与更少的神经元相匹配成为可能,这意味着降低了复杂性。从第2节总结的wavernn算法开始,我们进行了改进,以降低模型的复杂性,如第3节所述。在第四节中,我们基于所提出的模型,评估了在与说话人无关的语音合成环境中lpcnet的质量和复杂性。我们将在第5节总结并结束本文。

2.WAVERNN

  在[7]中提出的wavernn结构将前一个时间步骤的音频样本 s t − 1 s_{t-1} st1以及条件参数f作为输入,并为输出样本生成离散概率分布 p ( s t ) p(s_t) p(st)。尽管它被提出来为16位模型(拆分为8个粗位和8个细位),但为了清晰起见,我们在介绍中省略了粗/细拆分,因为我们在本工作中不使用它。Wavernn模型主要由一个门限循环单元(GRU)[12]层组成,接着连个全连接层,最后是一个softmax。它计算方式如下
         x t = [ s t − 1 ; f ] x_t = [s_{t-1};f] xt=[st1;f]
         u t = σ ( W u h t − 1 + U u x t ) u_t = \sigma(W^uh_{t-1} + U^ux_t) ut=σ(Wuht1+Uuxt)
         r t = σ ( W r h t − 1 + U r x t ) r_t = \sigma(W^rh_{t-1} + U^rx_t) rt=σ(Wrht1+Urxt)
         h t ~ = t a n h ( r t ∗ ( W h h t − 1 ) + U h x t ) ( 1 ) \tilde{h_t} = tanh(r_t*(W^hh_{t-1})+U^hx_t) \qquad \qquad (1) ht~=tanh(rt(Whht1)+Uhxt)(1)
         h t = u t ∗ h t − 1 + ( 1 − u t ) ∗ h t ~ h_t = u_t * h_{t-1} + (1 - u_t) * \tilde{h_t} ht=utht1+(1ut)ht~
         p ( s t ) = s o f t m a x ( W 2    r e l u ( W 1 h t ) ) p(s_t) = softmax(W_2\; relu(W_1h_t)) p(st)=softmax(W2relu(W1ht))
其中W和U矩阵是GRU权重, σ ( x ) = 1 1 + e − x \sigma(x)=\frac{1}{1+e^{-x}} σ(x)=1+ex1是sigmoid函数,*表示矢量的逐个元素相乘。在本文中,为了清晰起见,省略了偏差项(bias)。合成输出样本 s t s_t st是通过概率分布 p ( s t ) p(s_t) p(st)抽样得到的。作为一种降低复杂性的方法,GRU使用的矩阵可以变得稀疏(人为控制),并且[7]建议我们使用大小为4x4或16x1的非零块,以确保矢量化仍然是可能和有效的。

3.LPCNET

  本节介绍了LPCNET模型,以及我们对Wavernn的改进。图1显示了它的体系结构的概述,这在本节中有更详细的解释。它包括一个在16kHz下工作的采样率网络和一个处理10ms帧(160个采样)的帧速率网络。在这项工作中,我们将合成的输入限制为20个特征:18个Bark尺度[13]倒谱系数和2个pitch参数(周期、相关性)。对于低比特率编码应用,倒谱和pitch参数将被量化[4],而对于文本到语音,则将使用另一个神经网络[1]从文本中计算出来。

在这里插入图片描述

  • 图1 lpcnet算法概述。每帧计算一次网络的左侧部分(黄色),其结果在右侧采样率网络的整个帧中保持不变(蓝色)。计算预测块根据以前的样本和线性预测系数预测时间t处的样本。为了清晰起见,省略了μ定律和线性之间的转换。去加重滤波器应用于输出 s t s_t st

3.1条件参数

  作为帧速率网络的一部分,20维特征首先通过两个filter尺寸为3的卷积层(conv 3x1),从而产生5帧的感受野(两帧前,两帧后)。将两个卷积层的输出添加到残差连接,然后后面接两个全连接层。帧速率网络输出一个128维条件向量f,然后由采样速率网络使用。向量f在每帧的持续时间内保持不变。

3.2 预加重和量化

  WaveNet[5]等一些合成模型使用8位μ-law量化[14]将可能的输出采样值减少到256。由于语音信号的能量往往集中在低频,因此μ-law白量化噪声在高频时通常可以听到,特别是对于频谱倾斜度较高的16 kHz信号。为了避免这个问题,一些方法将输出扩展到16位[7]。相反,我们建议简单地将一阶预加重滤波器 E ( z ) = 1 − α z − 1 E(z)=1-\alpha z^{-1} E(z)=1αz1应用于训练数据, α = 0.85 \alpha=0.85 α=0.85提供了良好的结果。然后可以使用反向(去加重)滤波器 D ( z ) D(z) D(z)对合成输出进行滤波,有效地对噪声进行整形,从而使其在奈奎斯特速率下的功率降低16分贝。
D ( z ) = 1 1 − α z − 1 , ( 2 ) D(z) = \frac{1}{1-\alpha z^{-1}}, \qquad \qquad \qquad(2) D(z)=1αz11,(2)
这显著降低了感知到的噪声(见第4.3节),并使8位μ-law输出对于高质量合成是可行的。

3.3 线性预测

  许多神经语音合成方法中的神经网络[4、5、6、7、15]必须模拟整个语音生成过程,包括声门脉冲、噪声激励以及声道响应。虽然其中一些确实很难建模,但我们知道,声道响应可以用一个简单的全极点线性滤波器很好地表示[16]。设 s t s_t st为时间 t t t时的信号,其基于以前样本的线性预测为
p t = ∑ k = 1 M a k s t − k , ( 3 ) p_t = \sum_{k=1}^M a_k s_{t-k}, \qquad \qquad (3) pt=k=1Makstk,(3)
其中, a k a_k ak是当前帧的 M t h M^{th} Mth阶线性预测系数(LPC)。

  预测系数 a k a_k ak的计算可以通过将18带宽的Bark频率倒谱转换为线性频率功率谱密度(PSD)。然后,利用一个逆FFT将PSD转换为一个自相关。从自相关出发,采用Levinson-Durbin算法计算预测因子。从倒谱计算预测因子可确保无需传输(在语音编码上下文中)或合成(在文本到语音上下文中)其他信息。尽管用这种方法计算的LPC分析不如用输入信号计算的分析准确(由于倒谱的分辨率较低),但对输出的影响很小,因为网络能够学会补偿。

  作为使用线性预测帮助神经网络的一个明显扩展,我们也可以让网络直接预测激励(预测残差),而不是样本值。这不仅对网络来说是一个稍微容易一点的任务,而且也稍微降低了μ-law量化噪声,因为激励通常比预强调信号的振幅小。神经网络将先前采样的激励 e t − 1 e_{t-1} et1,以及过去的信号 s t − 1 s_{t-1} st1和当前预测 p t p_t pt作为输入。我们仍然包括 s t − 1 s_{t-1} st1 p t p_t pt,因为我们发现仅基于ET−1的开环合成会产生质量较差的语音(见第3.8节)。

3.4 输出层

  为了在不显著增加前一层大小的情况下更容易计算输出概率,我们用逐元素加权和的方式将两个全连接层结合起来。我们称之为对偶全连接(或DualFC)的层被定义为
d u a l f c ( x ) = a 1 ∗ t a n h ( W 1 x ) + a 2 ∗ t a n h ( W 2 x ) , ( 4 ) dual_fc(x) = a_1*tanh(W_1 x) + a_2*tanh(W_2 x), \qquad \qquad (4) dualfc(x)=a1tanh(W1x)+a2tanh(W2x),(4)
其中, W 1 W_1 W1 W 2 W_2 W2是权重矩阵, a 1 a_1 a1 a 2 a_2 a2是权重向量。虽然对于所提出的工作方法并非严格必要,但我们发现,与具有同等复杂性的普通全连接层相比,DualFC层稍微提高了质量。DualFC层的直觉是,确定一个值是否在某个范围内(在本例中是μ-law量化区间)需要两个比较,每个全连接的tanh层实现一个比较的等效性。在经过训练的网络上可视化权重可以在学费中支持这一点。Dualfc层的输出作为softmax激活使用来计算 e t e_t et的每个可能激励值的概率 p ( e t ) p(e_t) p(et)

3.5 稀疏矩阵

  与[7]类似,我们使用稀疏矩阵表示第一个最大的GRU(图1中的 G R U A GRU_A GRUA)。我们发现16x1块提供了良好的性能,同时使点积易于矢量化。作为变量,我们在稀疏矩阵中也包含了所有的对角项,因为它们最有可能是非零的。即使它们没有水平或垂直对齐,对角线项仍然容易向量化,因为它们会导致元素与向量操作数相乘。包含对角线项可以避免仅对对角线上的单个元素强制16x1非零块。

3.6 嵌入和代数简化

  我们使用μ-law值的离散性质来学习嵌入矩阵E,而不是在将标量样本值输入网络之前将其缩放到一个固定的范围。嵌入将每个μ-law层次映射到一个向量上,本质上学习一组非线性函数来应用于μ-law值。可视化经过训练的网络的嵌入矩阵,我们已经能够确认嵌入已经学习了将μ-law尺度转换为线性的函数。
  由于嵌入直接喂给GRU,可以通过预先计算嵌入矩阵与GRU的非循环权重 U ( ⋅ ) U^{(·)} U的相应子矩阵的乘积来避免增加复杂性。设 U ( u , s ) U^{(u,s)} U(u,s) U u U^u Uu的子矩阵,由运用于 s t − 1 s_{t-1} st1输入样本嵌入的列组成,我们可以导出一个新的嵌入矩阵 V ( u , s ) = U ( u , s ) E V^{(u,s)} = U^{(u,s)}E V(u,s)=U(u,s)E,它直接将样本 s t − 1 s_{t-1} st1映射到更新门计算的非循环项。同样的转换适用于所有的门 ( u , r , h ) (u,r,h) (u,r,h)和所有的嵌入输入 ( s , p , e ) (s,p,e) (s,p,e),总共9个预先计算的 V ( . , . ) V^{(.,.)} V(.,.)矩阵。通过这种方式,嵌入贡献可以简化为每个门、每个嵌入输入仅添加一个加操作。由于每个嵌入矩阵只对每个样本使用一个条目,因此这些矩阵的大尺寸不是问题,即使它们没命中缓存。
  与嵌入类似,帧调节向量f在整个帧上是常量,因此也可以简化它的贡献。每帧一次,我们可以计算 g ( . ) = U ( . ) f g^{(.)} = U^{(.)}f g(.)=U(.)f f f f对每个GRU门的贡献。
  上述简化实质上使GRU所有非循环输入的计算成本可以忽略不计,因此公式(1)中的计算变成
         u t = σ ( W u h t − 1 + v s t − 1 ( u , s ) + v p t − 1 ( u , p ) + v e t − 1 ( u , e ) + g ( u ) ) u_t = \sigma(W^uh_{t-1} + v_{s_{t-1}}^{(u,s)} + v_{p_{t-1}}^{(u,p)} + v_{e_{t-1}}^{(u,e)} + g^{(u)}) ut=σ(Wuht1+vst1(u,s)+vpt1(u,p)+vet1(u,e)+g(u))
         r t = σ ( W r h t − 1 + v s t − 1 ( r , s ) + v p t − 1 ( r , p ) + v e t − 1 ( r , e ) + g ( r ) ) r_t = \sigma(W^rh_{t-1} + v_{s_{t-1}}^{(r,s)} + v_{p_{t-1}}^{(r,p)} + v_{e_{t-1}}^{(r,e)} + g^{(r)}) rt=σ(Wrht1+vst1(r,s)+vpt1(r,p)+vet1(r,e)+g(r))
         h t ~ = t a n h ( r t ∗ ( W h h t − 1 ) + v s t − 1 ( h , s ) + v p t − 1 ( h , p ) + v e t − 1 ( h , e ) + g ( h ) ) ( 5 ) \tilde{h_t} = tanh(r_t*(W^hh_{t-1})+v_{s_{t-1}}^{(h,s)} + v_{p_{t-1}}^{(h,p)} + v_{e_{t-1}}^{(h,e)} + g^{(h)}) \qquad \qquad (5) ht~=tanh(rt(Whht1)+vst1(h,s)+vpt1(h,p)+vet1(h,e)+g(h))(5)
         h t = u t ∗ h t − 1 + ( 1 − u t ) ∗ h t ~ h_t = u_t * h_{t-1} + (1 - u_t) * \tilde{h_t} ht=utht1+(1ut)ht~
         p ( s t ) = s o f t m a x ( d u a l _ f c ( G R U B ( h t ) ) ) p(s_t) = softmax(dual\_fc (GRU_B(h_t))) p(st)=softmax(dual_fc(GRUB(ht)))
其中 v i ( . , . ) v_i^{(.,.)} vi(.,.) 向量是将列向量i查找到相应的 V ( . , . ) V^{(.,.)} V(.,.)矩阵中,而 G R U B ( . ) GRU_B(.) GRUB(.)是一个正常的、非稀疏的GRU,用于替代(1)中具有ReLU激活的全连接层。

3.7 从概率分布中抽取样本

  直接从输出分布中采样有时会导致过大的噪声。这在[6]中通过将logits乘以语音的常数c=2来解决,这相当于降低采样过程的“温度”。我们不做二元语音决策,而是设置
c = 1 + m a x ( 0 , 1.5 g p − 0.5 ) , ( 6 ) c = 1+max(0,1.5g_p-0.5), \qquad \qquad (6) c=1+max(0,1.5gp0.5),(6)
其中, g p g_p gp是节距相关性 ( 0 &lt; g p &lt; 1 ) (0&lt;g_p&lt;1) 0<gp<1。作为第二步,我们从分布中减去一个常数,以确保低于该常数阈值T的任何概率都变为零。这可以防止由低概率引起的脉冲噪声。修正的概率分布变成
p ˋ ( e t ) = R ( m a x [ R ( [ p ( e t ) ] c ) − T , 0 ] ) , ( 7 ) \grave p(e_t) = R(max[R([p(e_t)]^c)-T,0]),\qquad \qquad (7) pˋ(et)=R(max[R([p(et)]c)T,0]),(7)
其中, R ( . ) R(.) R(.)运算符将分布重新规范化为统一分布,包括两个步骤之间的分布和结果上的分布。我们发现T=0.002在降低脉冲噪声和预保留语音自然性之间提供了一个很好的权衡。

3.8 训练噪声注入

  合成语音时,网络在不同于训练的条件下运行,因为生成的样本与训练中使用的样本不同(更不完善)。这种失配会放大合成过程,并导致合成过程中的过度失真。为了使网络对不匹配更加健壮,我们在训练期间向输入添加噪声,如[6]所建议那样。
  线性预测的使用使得噪声注入的细节特别重要。当在信号中注入噪声,但对网络进行干净的激励训练时,我们发现系统产生的合成效果与合成声码器时代的预分析相似,其中噪声与合成滤波器 1 1 − p ( z ) \frac{1}{1-p(z)} 1p(z)1形状相同。相反,我们发现,通过添加图2中所示的噪声,网络可以有效地学习最小化信号域中的误差,因为即使其输出是预测残差,其输入之一也是用于计算残差的相同预测。这类似于CELP[17,18]中合成分析的效果,大大减少了合成语音中的瑕疵。
  为了使噪声与信号振幅成正比,我们将其直接注入μ-law域。我们改变了它在整个训练数据中的分布,从无噪音到[-3,3]范围内的均匀分布。

在这里插入图片描述

  • 图2。训练过程中的噪声注入, Q Q Q表示μ-law量化, Q − 1 Q^{-1} Q1表示从μ-law到线性的转换。预测滤波器 P ( z ) = ∑ k = 1 M a k z − k P(z) = \sum_{k=1}^{M} a_k z^{-k} P(z)=k=1Makzk,应用于噪声的量化输入。激励计算作为干净、未量化输入和预测之间的差异。值得注意的是,噪声是在μ-law域中添加的。

4. 评估

  这项工作的源代码可以在https://github.com/mozilla/lpcnet/上的开源许可证下获得。本节中的评估提交tag版本为0ddcda0。

4.1 复杂度

  LPCNET模型的复杂性主要来自于两个GRU以及对偶全连接层。它每个权重对应两个操作(一个加法,一个乘法),对于每个产生的样本,由下式给出复杂度
C = ( 3 d N A 2 + 3 N B ( N A + N B ) + 2 N B Q ) . 2 F s , ( 8 ) C = (3dN_A^2 + 3N_B(N_A + N_B ) + 2N_BQ).2F_s,\qquad \qquad (8) C=(3dNA2+3NB(NA+NB)+2NBQ).2Fs,(8)
其中, N A N_A NA N B N_B NB是两个GRU的大小,d是稀疏GRU的密度,Q是μ-law层次的数量, F s F_s Fs是采样率。对于宽带语音( F s = 16000 F_s=16000 Fs=16000),使用 N A N_A NA=384、 N B N_B NB=16和Q=256,并考虑被忽略项(偏差、条件网络、激活函数等)的0.5 GFLOPS复杂性,我们得到了大约2.8 GFLOPS的总复杂性。

  相比之下,依赖于说话人的FFTNet模型(声称其复杂性低于原始wavenet[5]算法)的复杂性约为16 GFLOPS[6]。原始WaveRNN的复杂性(评估为与说话人相关的模型)并未明确说明,但我们对WaveRNN[7]论文中提供的数据的解释表明,稀疏移动版本的复杂性约为10 gflps。SampleRNN的复杂性也没有明确说明,但是从本文中我们估计大约50个GFLOPS(主要是由于1024个单元MLP层)。

4.2 实验设置

  虽然所提出的系统既可以是说话人相关的,也可以是说话人独立的,但我们在更具挑战性的说话人独立环境中对其进行评估。为了隔离声码器本身的质量,我们直接从记录的语音样本中计算特征。倒谱采用与[19]相同的频带布局,基音估计量基于开环互相关搜索。

  训练数据仅包括来自NTT电话多语言语音数据库(21种语言)的4小时语音,我们从中排除了测试中使用的说话人的所有样本。每个网络都接受了120个轮(230k个最新版本)的训练,批量大小为64,每个序列由15个10毫秒帧组成。使用CuDNN GRU实现和AMSGrad[20]优化方法(Adam变种)对Nvidia GPU进行了训练,用的平台是keras/tensorflow。步长大小 α = α 0 1 + δ . b \alpha = \frac{\alpha_0}{1+\delta.b} α=1+δ.bα0 ,其中 α 0 = 0.001 , δ = 5 × 1 0 − 5 \alpha_0 = 0.001, \delta = 5\times10^{-5} α0=0.001,δ=5×105 ,b为批量。

  我们将LPCNet与WaveRNN(表示WaveRNN+)的改进版本进行比较,其中包括第3节中除LPC部分之外的所有改进,即WaveRNN+仅从 s t − 1 s_{t-1} st1和条件参数预测样本 s t s_t st。每个模型的GRU大小 N A N_A NA等于192、384和640个单位,非零密度d=0.1。这些GRU的非零权重数量分别与61、122和203尺寸的等效致密GRU相同(这些GRU的尺寸与[7]中的“等效”尺寸相匹配)。在所有情况下,第二个GRU的大小为 N B = 16 N_B=16 NB=16。对于每个测试样本,我们从原始音频计算特征,然后用每个测试模型合成新的音频。我们还评估了预加重μ-law量化的效果,作为使用该模型可以达到的质量上限。

4.3 质量评估

  如[4]所述,客观质量指标,如PESQ和POLQA不能充分评估非波形、神经声码器。我们采用MUSHRA驱动的方法[21]进行了一项主观听力测试,其中8句话(2位男性和2位女性说话人)由100名参与者进行评估。图3的结果表明,在相同的复杂度下,LPCNet的质量明显超过WaveRNN+。另外,它也表明同样的质量在显著降低复杂性的情况下是可能的。结果也验证了我们的假设,即预加重使得μ-law量化噪声的影响与合成瑕疵相比可以忽略不计。与原来的16位WaveRNN相比,只计算单个256值分布也降低了复杂性。
  从WaveRNN+和LPCNet生成的样本中,主要的音频瑕疵是由于基音谐波之间的噪声而产生的一些粗糙度。一种可能的补救方法-我们还没有研究-包括使用后去噪技术,如[6]所示。听力测试中使用的样本子集可在https://people.xiph.org/~jm/lpcnet_samples/上找到。

在这里插入图片描述

  • 图3。主观质量(MUSHRA)是 G R U A GRU_A GRUA中密度等效神经网络单元数的函数。

5.总结

  本文工作表明,将新的神经合成技术与旧得多的线性预测技术相结合,可以提高与说话人无关的语音合成效率。除了线性预测与WaveRNN相结合的主要贡献外,我们还做了其他贡献,如信号值的嵌入、改进的采样以及μ-law量化前的预加重。我们认为该模型等同有效的适用于语音合成和低比特率语音编码。
  关于LPCNet的未来工作包括调查长期(音高)预测是否可以作为进一步降低复杂性的一种方法。

6.引用

[1] J. Shen, R. Pang, R. J. Weiss, M. Schuster, N. Jaitly, Z. Yang, Z. Chen, Y. Zhang, Y. Wang, R. Skerrv-Ryan, et al., “Natu- ral tts synthesis by conditioning wavenet on mel spectrogram predictions,” in Proc. International Conference on Acoustics, Speech, and Signal Processing (ICASSP), 2018, pp. 4779– 4783.
[2] S.Arik,G.Diamos,A.Gibiansky,J.Miller,K.Peng,W.Ping, J. Raiman, and Y. Zhou, “Deep voice 2: Multi-speaker neural text-to-speech,” arXiv:1705.08947, 2017.
[3] J. Sotelo, S. Mehri, K. Kumar, J. F. Santos, K. Kastner, A. Courville, and Y. Bengio, “Char2wav: End-to-end speech synthesis,” in Proc. ICLR Workshop, 2017.
[4] W. B. Kleijn, F. SC Lim, A. Luebs, J. Skoglund, F. Stim- berg, Q. Wang, and T. C. Walters, “Wavenet based low rate speech coding,” in Proc. International Conference on Acous- tics, Speech, and Signal Processing (ICASSP), 2018, pp. 676– 680.
[5] A. van den Oord, S. Dieleman, H. Zen, K. Simonyan, O. Vinyals, A. Graves, N. Kalchbrenner, A. Senior, and K. Kavukcuoglu, “WaveNet: A generative model for raw au- dio,” arXiv:1609.03499, 2016.
[6] Z. Jin, A. Finkelstein, G. J. Mysore, and J. Lu, “Fftnet: A real-time speaker-dependent neural vocoder,” in Proc. Interna- tional Conference on Acoustics, Speech, and Signal Processing (ICASSP), 2018, pp. 2251–2255.
[7] N. Kalchbrenner, E. Elsen, K. Simonyan, S. Noury, N. Casagrande, E. Lockhart, F. Stimberg, A. van den Oord, S. Dieleman, and K. Kavukcuoglu, “Efficient neural audio syn- thesis,” arXiv:1802.08435, 2018.
[8] B. S. Atal and S. L. Hanauer, “Speech analysis and synthesis by linear prediction of the speech wave,” The journal of the acoustical society of America, vol. 50, no. 2B, pp. 637–655, 1971.
[9] J.MarkelandA.Gray,“Alinearpredictionvocodersimulation based upon the autocorrelation method,” IEEE Transactions on Acoustics, Speech, and Signal Processing, vol. 22, no. 2, pp. 124–134, 1974.
[10] D. Griffin and J. Lim, “A new model-based speech analy- sis/synthesis system,” in Proc. International Conference on Acoustics, Speech, and Signal Processing (ICASSP), 1985, vol. 10, pp. 513–516.
[11] A. McCree, K. Truong, E. B. George, T. P. Barnwell, and V. Viswanathan, “A 2.4 kbit/s melp coder candidate for the new us federal standard,” in Proc. International Conference on Acoustics, Speech, and Signal Processing (ICASSP), 1996, vol. 1, pp. 200–203.
[12] K.Cho,B.VanMerriënboer,D.Bahdanau,andY.Bengio,“On the properties of neural machine translation: Encoder-decoder approaches,” in Proc. Eighth Workshop on Syntax, Semantics and Structure in Statistical Translation (SSST-8), 2014.
[13] B.C.J. Moore, An introduction to the psychology of hearing, Brill, fifth edition, 2012.
[14] ITU-T, Recommendation G.711: Pulse Code Modulation (PCM) of voice frequencies, International Telecommunications Union, 1988.
[15] S. Mehri, K. Kumar, I. Gulrajani, R. Kumar, S. Jain, J. Sotelo, A. Courville, and Y. Bengio, “SampleRNN: An unconditional end-to-end neural audio generation model,” arXiv:1612.07837, 2016.
[16] J. Makhoul, “Linear prediction: A tutorial review,” Proc. IEEE, vol. 63, no. 4, pp. 561–580, 1975.
[17] B. S. Atal and J. Remde, “A new model of LPC excitation for producing natural-sounding speech at low bit rates,” in Proc. International Conference on Acoustics, Speech, and Sig- nal Processing (ICASSP), 1982, vol. 7, pp. 614–617.
[18] M. Schroeder and B.S. Atal, “Code-excited linear prediction (CELP): High-quality speech at very low bit rates,” in Proc. In- ternational Conference on Acoustics, Speech, and Signal Pro- cessing (ICASSP), 1985, vol. 10, pp. 937–940.
[19] J.-M. Valin, “A hybrid DSP/deep learning approach to real- time full-band speech enhancement,” in Proc. Multimedia Sig- nal Processing Workshop (MMSP), 2018.
[20] S. J. Reddi, S. Kale, and S. Kumar, “On the convergence of adam and beyond,” in Proc. ICLR, 2018.
[21] ITU-R, Recommendation BS.1534-1: Method for the subjec- tive assessment of intermediate quality level of coding systems, International Telecommunications Union, 2001.
[15] S. Mehri, K. Kumar, I. Gulrajani, R. Kumar, S. Jain, J. Sotelo, A. Courville, and Y. Bengio, “SampleRNN: An unconditional end-to-end neural audio generation model,” arXiv:1612.07837, 2016.
[16] J. Makhoul, “Linear prediction: A tutorial review,” Proc. IEEE, vol. 63, no. 4, pp. 561–580, 1975.
[17] B. S. Atal and J. Remde, “A new model of LPC excitation for producing natural-sounding speech at low bit rates,” in Proc. International Conference on Acoustics, Speech, and Sig- nal Processing (ICASSP), 1982, vol. 7, pp. 614–617.
[18] M. Schroeder and B.S. Atal, “Code-excited linear prediction (CELP): High-quality speech at very low bit rates,” in Proc. In- ternational Conference on Acoustics, Speech, and Signal Pro- cessing (ICASSP), 1985, vol. 10, pp. 937–940.
[19] J.-M. Valin, “A hybrid DSP/deep learning approach to real- time full-band speech enhancement,” in Proc. Multimedia Sig- nal Processing Workshop (MMSP), 2018.
[20] S. J. Reddi, S. Kale, and S. Kumar, “On the convergence of adam and beyond,” in Proc. ICLR, 2018.
[21] ITU-R, Recommendation BS.1534-1: Method for the subjec- tive assessment of intermediate quality level of coding systems, International Telecommunications Union, 2001.


http://chatgpt.dhexx.cn/article/VS4Vtljw.shtml

相关文章

TCP拥塞机制学习

TCP拥塞机制学习 写在前面 很早就想总结一下tcp方面的知识了&#xff0c;心动不如行动&#xff0c;这一块面试重点&#xff0c;而其也是coder的必修课。 一、TCP头部报文格式 了解任何一个协议都要从它的协议报文开始&#xff0c;我们先看一下他的格式和一些基本概念。 TC…

3 万字 + 100 张图带你彻底搞懂 TCP 面试题(强烈建议收藏)

大家好&#xff0c;我是小林&#xff0c;一个专为大家图解的工具人。 不管面试 Java 、C/C、Python 等开发岗位&#xff0c; TCP 的知识点可以说是必问的了。 任 TCP 虐我千百遍&#xff0c;我仍待 TCP 如初恋。 过去不会没关系&#xff0c;今天就让我们来消除这份恐惧&…

计算机网络常见知识点总结

网络 1.IP地址分类 网络为全为1的是广播地址&#xff0c;所以要减一&#xff0c;因此127减一为126 A类IP地址 地址范围1.0.0.0到127.255.255.255。可用的A类网络有126个 B类IP地址地址范围128.0.0.0到191.255.255.255。可用的B类网络有16382个 C类IP地址范围从192.0.0.0到223.…

手撸架构,网络 面试36问

TCP 链接 三次握手&#xff1a; 首先服务器端处于LISTEN状态。当客户端想要建立连接时&#xff0c;他将发送一个SYN包&#xff0c;序列号假如为u。客户端进入SYN_SENT状态。当服务器端收到了这个SYN包&#xff0c;如果服务器同意建立连接&#xff0c;他将发送一个SYN&#xf…

Java面试必背八股文[11]:计算机网络

OSI与TCP/IP各层的结构&#xff1f; 答:OSI分层 &#xff08;7层&#xff09;&#xff1a;物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。 TCP/IP分层&#xff08;4层&#xff09;&#xff1a;网络接口层、 网际层、运输层、 应用层。 五层协议 &#xff08;…

深入理解Linux网络——内核是如何发送网络包的

文章目录 一、相关实际问题二、网络包发送过程总览三、网卡启动准备四、数据从用户进程到网卡的详细过程1&#xff09;系统调用实现2&#xff09;传输层处理1. 传输层拷贝2. 传输层发送 3&#xff09;网络层发送处理4&#xff09;邻居子系统5&#xff09;网络设备子系统6&#…

TCP的重传机制、滑动窗口、流量控制、拥塞控制,这一篇就够了

对于TCP 的重传机制、滑动窗口、流量控制、拥塞控制这几个知识点&#xff0c;做了详细介绍&#xff0c;图解形式快速理解。 重传机制 TCP 实现可靠传输的方式之一&#xff0c;是通过序列号与确认应答。 在 TCP 中&#xff0c;当发送端的数据到达接收主机时&#xff0c;接收端…

Symmetric diffeomorphic image registration with cross-correlation

Symmetric diffeomorphic image registration with cross-correlation: Evaluating automated labeling of elderly and neurodegenerative brain 摘要 现代神经影像学最具挑战性的问题之一是对神经变性的详细描述&#xff0c;量化空间和纵向萎缩模式是这一过程的重要组成部分…

非科班秋招面试总结

目录 javaSE方面 HashMap与ConcurrentHashMap(hash冲突&#xff0c;扩容机制&#xff0c;1.7与1.8的区别&#xff0c;锁) 面向对象特点 泛型 String StringBuffer StringBuilder Overload 与Override abstract 与interface final finally finalize 1.8的新特性 JVM方面 类加载机…

TCP详解(WireShark抓包分析TCP三次握手和TCP四次挥手)

TCP和UDP TCP报文格式 TCP首部的报文格式如下&#xff1a; 宏观上来看如下&#xff1a; 此图来源于&#xff1a;https://zhuanlan.zhihu.com/p/144273871 知乎-腾讯技术-TCP拥塞控制详解 来源连接端口&#xff08;16位长&#xff09;&#xff0d;识别发送连接端口 目的连接端…

tcp协议抓包详解

三次握手 握手的目标 抓包 序列号client 和server 是不一样的&#xff0c;也没从0开始 网络报文中报文可能会延迟&#xff0c;会重发&#xff0c;丢失。 为了不影响其他链接&#xff0c;所以是不同的而且是随机的 三次握手中的性能优化与安全问题 超时时间与缓冲队列 fast op…

快速穷举TCP连接欺骗攻击-利用SYN Cookies

TCP 利用 32比特的 Seq/Ack 序列号来确认每一个连接的可靠性. 此外, 这些32位的序列号还能保证服务器不会被会话劫持&#xff0c;伪造一个服务器发出的初始序列号(ISN) 是个难以实现的技术. 因为暴力破解的话需要穷举这个32比特的序列号&#xff0c;在一个千兆比特级别的网卡上…

php7中的构造函数

2019独角兽企业重金招聘Python工程师标准>>> 在用php7进行开发的时候&#xff0c;遇到了&#xff1a; Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; index has a deprecated constructor 这个提示…

PHP之析构函数

随着面向对象编程的普遍展开&#xff0c;面向对象展现了其中很多有趣的问题。相信很多初学者学习php面向对象时会接触两个函数&#xff0c;构造函数与析构函数。构造函数似乎用的更多&#xff0c;析构函数用的较少&#xff08;相对初学者有限编程经验而言&#xff0c;笔者也是如…

PHP构造函数(方法)的使用

什么是构造方法&#xff08;函数&#xff09;&#xff1f; 构造&#xff08;函数&#xff09;方法是类中的一个特殊方法。当使用 new 操作符创建一个类的实例时&#xff0c;构造方法将会自动调用&#xff0c;其名称必须是 __construct(&#xff09;。 在一个类中只能声明一个构…

构造函数

构造函数在类体里的声明形式&#xff1a; 类名&#xff08;形参一&#xff0c;形参二&#xff0c;…&#xff09;&#xff1b;//也可以没有形参 构造函数的定义形式&#xff1a; 假设数据成员为x1&#xff0c;x2&#xff0c;…x&#xff0c;类外定义构造函数时通常有3种形式&am…

php类中的构造函数与析构函数

1.php类中的构造函数a.构造函数的定义及创建 构造函数的英文是constructor&#xff0c;通常是和析构函数配合使用的。 所谓构造函数&#xff0c;就是在我们这个类运行之初需要初始的东东&#xff0c;执行类中所有方法之前&#xff0c;无需首先执行的方法。看个例子&#xff0c;…

PHP笔记-PHP中构造函数要注意的地方

背景 这里记录下PHP中构造函数的注意点。 这里和C/C、Java不一样&#xff0c;比较灵活&#xff0c;估计是有隐式调用&#xff0c;在此不研究了&#xff0c;记录下注意的地方。 演示 如下项目&#xff1a; Base.php <?phpclass Base{public function __construct(){ech…

php构造方法(函数)基础

什么是构造函数呢?在回答这个问题之前&#xff0c;我们来看一个需求&#xff1a;我们在创建人类的对象时&#xff0c;是先把一个对象创建好后&#xff0c;再给他的年龄和姓名属性赋值&#xff0c;如果现在我要求&#xff0c;在创建人类的对象时&#xff0c;就指定这个对象的年…

ffmpeg编译安装

ffmpeg编译安装 前言一、下载ffmpeg二、编译安装2.1 Linux编译ffmpeg2.2 Windows编译ffmpeg 总结 前言 Fmpeg是一套可以用来记录、转换数字音频、视频&#xff0c;并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它…