PeriodWave: Multi-Period Flow Matching for High-Fidelity Waveform Generation

本文主要是介绍PeriodWave: Multi-Period Flow Matching for High-Fidelity Waveform Generation,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  • preprint
  • Korea Seoul, Korea

    文章目录

    • abstract
    • method
      • Flow Matching for Waveform Generation
      • High-frequency Information Modeling for Flow Matching
  • demo page,
    PeriodWave 三者最好,而且能把原声中的噪声去掉,GAN一类声码器做不到的。
    PeriodWave + FreeU (step 16) 有白噪声
    MB-PeriodWave (step 16) 有电音
  • abstract

    • PeriodWave,第一个基于周期信息用于高分辨音频生成的结构。
    • 使用生成能力强大的flow-matching,结合优化器路径进行快速采样。探讨不同的ODE对于音频生成的效果。
    • 使用多周期估计器【使用质数prime number避免重叠】可以显著提升语音质量,但是会增大计算量导致infer 变慢。本文提出一个period-conditional universal estimator ,可以在推理阶段并行的推理多个周期路径。
    • 此外,还使用DWT变换,用以建模高频低频信息。用FreeU 降低高频噪声。

    method

    在这里插入图片描述

    • 加速infer:(1)多个不同周期的估计器并行推理预测,sum,然后由final block 预测波形;(2)mel-Encoder 编码time-shared conditional 用于flow-base estimators;

    Flow Matching for Waveform Generation

    1. wav 的范围【-1,1】,因此正态分布的噪声对于优化路径是比较大的值,会导致高频信息损失;因此噪声 x 0 ∗ 0.5 x_0 * 0.5 x00.5
    2. 做了1之后还有轻微白噪声,从mel中得到一个时间相关的energy condition;

    High-frequency Information Modeling for Flow Matching

    • flow-matching 重建波形,会有高频损失;【Roman,From discrete tokens to high-fidelity audio using multi-band diffusion】,解决方法:Roman提出multi-band diffusion,每个band使用特定的降噪器,还提出frequency equlizer 通过正则每个band 噪声energy scale来减少白噪声;
    • 本文用DWT,将频带分成 [0-3, 3-6, 6-9, 9-12 kHz],首先生成低频结构,加在 x 0 x_0 x0上,生成更高的频带,这样做显著的提升了生成音质(even in small sampling steps);将mel 按照band平均,得到先验,[0-61, 60-81, 80-93, 91-100 bins]. ----- 各个band 是wav -dwt 变换之后的;infer时候,第一个band idwt 得到波形;
    • FreeU证明skip connection会包含很多高频信息,从而让模型忽视语义信息【Freeu: Free lunch in diffusion u-net.】
    • 本文实验也发现skip connection会包含很多高频信息,导致噪声。因此在skip阶段,对信息进行加权 x = α ⋅ z s k i p + β ⋅ x x=α⋅zskip +β⋅x x=αzskip+βx,增大backbone特征(x)可以改善听感质量,降低噪声。

这篇关于PeriodWave: Multi-Period Flow Matching for High-Fidelity Waveform Generation的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1109720

相关文章

2014 Multi-University Training Contest 8小记

1002 计算几何 最大的速度才可能拥有无限的面积。 最大的速度的点 求凸包, 凸包上的点( 注意不是端点 ) 才拥有无限的面积 注意 :  凸包上如果有重点则不满足。 另外最大的速度为0也不行的。 int cmp(double x){if(fabs(x) < 1e-8) return 0 ;if(x > 0) return 1 ;return -1 ;}struct poin

2014 Multi-University Training Contest 7小记

1003   数学 , 先暴力再解方程。 在b进制下是个2 , 3 位数的 大概是10000进制以上 。这部分解方程 2-10000 直接暴力 typedef long long LL ;LL n ;int ok(int b){LL m = n ;int c ;while(m){c = m % b ;if(c == 3 || c == 4 || c == 5 ||

2014 Multi-University Training Contest 6小记

1003  贪心 对于111...10....000 这样的序列,  a 为1的个数,b为0的个数,易得当 x= a / (a + b) 时 f最小。 讲串分成若干段  1..10..0   ,  1..10..0 ,  要满足x非递减 。  对于 xi > xi+1  这样的合并 即可。 const int maxn = 100008 ;struct Node{int

GNSS CTS GNSS Start and Location Flow of Android15

目录 1. 本文概述2.CTS 测试3.Gnss Flow3.1 Gnss Start Flow3.2 Gnss Location Output Flow 1. 本文概述 本来是为了做Android 14 Gnss CTS 的相关环境的搭建和测试,然后在测试中遇到了一些问题,去寻找CTS源码(/cts/tests/tests/location/src/android/locat

LLVM入门2:如何基于自己的代码生成IR-LLVM IR code generation实例介绍

概述 本节将通过一个简单的例子来介绍如何生成llvm IR,以Kaleidoscope IR中的例子为例,我们基于LLVM接口构建一个简单的编译器,实现简单的语句解析并转化为LLVM IR,生成对应的LLVM IR部分,代码如下,文件名为toy.cpp,先给出代码,后面会详细介绍每一步分代码: #include "llvm/ADT/APFloat.h"#include "llvm/ADT/S

Python安装llama库出错“metadata-generation-failed”

Python安装llama库出错“metadata-generation-failed” 1. 安装llama库时出错2. 定位问题1. 去官网下载llama包 2.修改配置文件2.1 解压文件2.2 修改配置文件 3. 本地安装文件 1. 安装llama库时出错 2. 定位问题 根据查到的资料,发现时llama包中的execfile函数已经被下线了,需要我们手动修改代码后

leetcode#10. Regular Expression Matching

题目 Implement regular expression matching with support for ‘.’ and ‘*’. '.' Matches any single character.'*' Matches zero or more of the preceding element.The matching should cover the entire input

Understanding the GitHub Flow

这里看下Github的入门介绍    --链接 GitHub Flow is a lightweight, branch-based workflow that supports teams and projects where deployments are made regularly. This guide explains how and why GitHub Flow works

jmeter线程组的ramp-up period 设置

Ramp-Up period(in seconds):用于告知JMeter 要在多长时间内建立全部的线程。默认值是0。如果未指定ramp-up period ,也就是说ramp-up period 为零, JMeter 将立即建立所有线程,假设ramp-up period 设置成1秒, 全部线程数设置成2个, JMeter 将每隔0.5秒建立一个线程(即ramp-up period时间内执行完所有

Versioned Staged Flow-Sensitive Pointer Analysis

VSFS 1.Introduction2.Approach2.1.相关概念2.2.VSFS 3.Evaluation参考文献 1.Introduction 上一篇blog我介绍了目前flow-sensitive pointer analysis常用的SFS算法。相比IFDS-based方法,SFS显著通过稀疏分析提升了效率,但是其内部依旧有许多冗余计算,留下了很大优化空间。 以