IEEE SPL | StreamVoice+:端到端流式零样本语音转换

文摘   科技   2024-10-23 09:30   陕西  
流式零样本语音转换(streaming zero-shot voice conversion)是指能够实时的将输入语音转换成任意说话人的语音,且仅需要该说话人一句语音作为参考,无需额外的模型更新。现有基于语言模型(langauge model)的零样本语音转换方法通常是为离线应用设计,难以满足实时语音转换应用对于流式能力的需求。近期,实验室联合抖音集团提出的StreamVoice的提出填补了这一空白,但是其级联设计及对流式ASR依赖关系使得系统的部署复杂度、优化灵活度和效果稳定性受到较大的考验。

近期,西工大音频语音与语言处理研究组(ASLP@NPU)与抖音集团合作的论文 “StreamVoice+: Evolving into End-to-end Streaming Zero-shot Voice Conversion” 被旗舰期刊IEEE Signal Processing Letter(SPL)接收,该论文针对流式零样本语音转换任务上StreamVoice的局限进行进一步改进。在之前的基础上提出了StreamVoice+,一种能够独立于流式ASR运行的基于LM的端到端流式转换框架。StreamVoice+总体上是将语义编码器和连接器集成到在非流式ASR训练的StreamVoice中。该模型采用两阶段的训练过程:首先,基座StreamVoice进行语音转换的预训练,语义编码器用于流式的语义提取;随后,系统通过端到端的微调,结合LoRA解锁流式功能。此外,StreamVoice+主要引入了两个策略来提升转换质量:在连接器中加入残差补偿机制,以确保语义传输的有效性;并利用自优化策略通过使用转换基座模型生成的伪平行语音对来提升语音解耦能力。StreamVoice+在简单修改后也能够同时支持流式和非流式转换场景。现对该论文进行简要的解读和分享。

论文题目:StreamVoice+: Evolving into End-to-end Streaming Zero-shot Voice Conversion

作者列表:王智超,陈远哲,王新升,谢磊,王玉平
发表期刊:IEEE Signal Processing Letters (SPL)
合作单位:抖音集团

预印版:https://arxiv.org/pdf/2408.02178v1

发表论文截图

扫码直接看论文

背景动机

语音转换(Voice Conversion,VC)是一个在不改变语音内容的前提下,改变语音中说话人音色的一项技术,通常需要目标说话人的大量语音进行系统构建。仅使用目标说话人的一句话作为参考来实现语音转换,即零样本 VC(Zero-shot VC),在近年来获得了极大关注。然而,大多数零样本 VC 都是针对离线应用设计的,难以满足实时 VC 应用中对流式能力的需求。本工作主要关注于流式的零样本语音转换。

流式化(streaming)的关键就是因果处理和可流式框架。然而流式模型中常常面临由于缺乏未来信息导致的性能下降,常用的方法是增强模型输入特征的语义质量[1]或者通过指导训练、参数共享等方式蒸馏非流式模型能力[2]。实现零样本语音转换的关键是将语音分解成不同的成分,比如语义内容和说话人音色等[3]。最近的工作[4]-[6]将流式与零样本转换进行结合,通过流式化零样本框架或者使用流式ASR等预训练模型。

遵循识别-合成(Recognition-Synthesis)框架,借助于LM的模型结构和流式上下文的增强策略,StreamVoice[6]在流式零样本语音转换上取得了良好的效果。但是它对级联流式的上下游模型有很强的依赖性导致存在一些不足。1)复杂性:采用多个具有不同架构的模型使优化和部署变得复杂。2)灵活性:流式ASR的选择影响着VC模型本身设计和性能,限制了实现和扩展灵活性。3)稳定性:来自流式ASR的低质量语义信息可能包含不需要的说话人音色和特征噪声,导致不同输入下转换的不稳定。

ACL2024 | StreamVoice:基于流式上下文感知语言建模的实时零样本语音转换

为了解决提到的问题,本文提出了StreamVoice+,一种端到端(end to end)基于语言模型的零样本语音转换。受到通过基座预训练和任务导向微调范式实现模态或嵌入对齐的启发[7],StreamVoice+的核心想法是利用一个高性能的StreamVoice作为基础模型,该模型最初是在非流式ASR上训练,然后通过端到端微调附加一个语义编码器和连接器来扩展这个基座的流式能力。最终完成无需借助ASR的端到端流式推理。具体来说,StreamVoice+采用两阶段训练过程:首先,预训练StreamVoice基座实现转换和语义编码器提取语义信息,这个过程使用非流式ASR提供高质量语义信息,然后配合额外的LoRA适配器对整个模型进行微调以解锁端到端转换能力。为了增强解耦和转换质量,主要引入了两个策略:1)在连接器引入带有瓶颈的残差补偿,称为R (esidual)-B (ottleneck) Connector,旨在最小源说话人音色影响的同时保留完整语义内容;2)自优化策略,使用基座模型生成的伪平行语音对来辅助解耦训练。实验结果表明StreamVoice+实现了端到端流式转换,并具有更优越的性能。在A100 GPU上,在不考虑工程优化的情况下整个流式系统仅需112ms的首包延迟。同时,StreamVoice+进行简单扩展,可以同时支持非流式和流式转换。

提出的方案

如图1所示,StreamVoice+由语义编码器、连接器和内置LoRA适配器的StreamVoice组成。在该框架中,语音通过语音编解码器被表示为声学特征  。在给定目标说话人参考语音的声学特征  ,StreamVoice+ 因果地将源声学特征  转换为输出  。具体而言,目标说话人语音  和输入语音  首先通过语义编码器和连接器进行处理,以提取连续的语义信息  和  。说话者提示  提供目标音色信息,StreamVoice模块将源语音语义  转换为最终声学特征输出  。

图1 StreamVoice+框架

  • 语义编码器(Semantic Encoder):语义编码器从声学输入中提取语义信息,从而产生隐藏的语义输出   。为了满足流式要求,由N层采用单向注意力机制Transformer 块组成。为了平衡延迟和语义提取性能,语义编码器引入了k步输出延迟行为。即当接收到t+k步的声学输入时,编码器输出第t步结果。

  • 带有 LoRA 的 StreamVoice基座: StreamVoice+采用预训练的 StreamVoice[6]承担转换功能,在此基础上通过增加LoRA适配器来进行端到端的能力扩展。其中,预训练时StreamVoice保持流式框架但是采用高质量的非流式ASR语义作为输入。LoRA 适配器仅插入到自注意力机制的K、Q和V投影层中。

  • R (esidual)-B (ottleneck) Connector:主要负责将语义编码器的输出  转换为与StreamVoice骨干模型兼容的连续嵌入形式  。它在整个架构中起到了桥梁的作用,确保语义信息能够在不同模块之间有效传递。为了防止  中音色信息的泄露,softmax用于连接器中压缩信息。在此基础上引入了带有瓶颈的残差结构,来补偿损失的语义信息同时有效的防止额外的音色信息。
两阶段训练过程
  • 预训练:在这个阶段,分别对StreamVoice以及对语义编码器进行训练以实现转换和语义提取。训练过程中使用来自非流式ASR的高质量语义信息作为输入或监督信息。StreamVoice采用原始配置和损失函数,同时也增加了离散语义预测以提高性能。语义编码器使用CE损失进行优化,并通过均方误差使用连续语义特征监督中间层输出,鼓励中间层学习语义知识。

  • 带有自优化策略的微调: 在这个过程中,语义编码器和基座模型被冻结,主要由连接器和LoRA负责端到端参数更新。同时为了提高性能,语义编码器中最后线性层也参与优化。在语音转换中,单一语音同时作为源和目标语音可能会导致模型只关注重建,而忽略语音解耦,从而影响转换稳定性,在端到端训练中这个问题更加突出。为了解决这个问题,引入了自优化策略。该策略利用预训练的转换基座模型对训练数据进行转换,创建具有相同内容但不同说话人音色的平行语音对。在训练中以一定概率随机用合成语音替换源或目标语音,采用转换加重建共同对 StreamVoice+进行优化。

实验验证

实验设置:实验中使用8700小时的中文数据进行训练,包含Wenetspeech4TTS[8]、AISHELL3和内部中文数据。其中非流式ASR使用的是WeNet开源模型[9], 流式Codec采用的是Audiodec[10]。

INTERSPEECH2024 | WenetSpeech4TTS: 12800小时中文大规模语音生成模型训练数据集

实验结果:表1展示了StreamVoice+在零样本语音转换中的结果。相较于上一版本StreamVoice,SteamVoice+在相似度上取得明显提升同时保持了近似的自然度。而双模下非流式的StreamVoice+性能跟其他非流式topline具有可比的结果。这些结果表明了StreamVoice+设计的有效性,同时StreamVoice+能支持端到端的流式转换。

  表1 零样本转换验证

我们进一步针对模型组件和一些关键设计进行了消融验证,如表2所示。

表2 消融结果

语义编码器:我们观察到设计的 k 步延迟和 网络层数对于转换性能存在较大影响,如表2所示。对于k-step延迟,较高的等待延迟设计有利于更低的预训练损失和更好的转换性能。相反,去掉延迟 (k=0) 会导致快速的性能下降。此外,在语义编码器中更多的网络层会取得更好的转换性能,但相应的会增加RTF。

R-B连接器:与常用的线性连接器相比,我们使用具有残差补偿的连接器来更好地语义保持和音色解耦。当去除残差路径(dim=0)时,SSIM 略有改善,但CER显著变差。相反,由于瓶颈过大(dim=64),输入语音说话人音色和噪声会导致说话人相似度和语音质量降低。

训练步骤:当取消语义编码器预训练时,StreamVoice+难以实现高质量的转换。当通过预训练中学习到了语义知识,在端到端微调阶段完全冻结编码器会阻碍了端到端联合训练的优化。使用自优化策略可以有效地提示语音解耦并在训练期间创建转换模拟。对于 LoRA 适配器,去除LoRA之后冻结的基座难以对齐语义编码器获得的语义信息,从而导致CER和PCC变差。此外,完全调整主干会导致它与原始参数显着漂移,损害转换能力。这些结果表明,LoRA 的使用在不影响其性能的情况下在微调方面是有效的。这种可插拔模块也有利于扩展双模转换并促进部署。

数据集大小:除了 8700 小时数据,我们还验证了1500 小时和 5500 小时两个版本的模型效果。如表2所示,一个明显的趋势是,随着更多的训练数据,StreamVoice+性能有非常显著的提升,尤其是在 CER 和 SSIM 指标上。对于端到端框架,训练数据的规模对其性能和鲁棒性至关重要。我们相信 StreamVoice+可以通过使用更多的训练数据来提高语音可懂度和说话人相似性,从而实现更强大的转换能力。

样例展示

第1组
输入语音
目标说话人语音
StreamVoice+转换语音

第2组

输入语音
目标说话人语音
StreamVoice+转换语音

参考文献

[1] Y. Chen, M. Tu, T. Li, X. Li, Q. Kong, J. Li, Z. Wang, Q. Tian, Y. Wang, and Y. Wang, "Streaming voice conversion via intermediate bottleneck features and non-streaming teacher guidance," in International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2023, pp. 1–5.

[2] Z. Ning, Y. Jiang, P. Zhu, J. Yao, S. Wang, L. Xie, and M. Bi, "Dualvc: Dual-mode voice conversion using intra-model knowledge distillation and hybrid predictive coding," in International Speech Communication Association (Interspeech), 2023, pp. 2063–2067.
[3] K. Qian, Y. Zhang, S. Chang, X. Yang, and M. Hasegawa-Johnson, "Autovc: Zero-shot voice style transfer with only autoencoder loss," in International Conference on Machine Learning (ICML), 2019, pp. 5210– 5219.
[4] H. Yang, L. Deng, Y. T. Yeung, N. Zheng, and Y. Xu, "Streamable speech representation disentanglement and multi-level prosody modeling for live one-shot voice conversion," in International Speech Communication Association (Interspeech), 2022, pp. 2578–2582.
[5] B. Wang, D. Ronssin, and M. Cernak, "Alo-vc: Any-to-any low-latency one-shot voice conversion," in International Speech Communication Association (Interspeech), 2023, pp. 2073–2077.
[6] Z. Wang, Y. Chen, X. Wang, L. Xie, and Y. Wang, "StreamVoice: Streamable context-aware language modeling for real-time zero-shot voice conversion," in Proceedings of the 62nd Annual Meeting of the Association for Computational Linguistics (ACL), 2024, pp. 7328–7338.
[7] C. Tang, W. Yu, G. Sun, X. Chen, T. Tan, W. Li, L. Lu, Z. MA, and C. Zhang, "SALMONN: Towards generic hearing abilities for large language models," in International Conference on Learning Representations (ICLR), 2024.
[8] L. Ma, D. Guo, K. Song, Y. Jiang, S. Wang, L. Xue, W. Xu, H. Zhao, B. Zhang, and L. Xie, “Wenetspeech4tts: A 12,800-hour mandarin tts corpus for large speech generation model benchmark,” in International Speech Communication Association (Interspeech), 2024, pp. 1840–1844.
[9] Z. Yao, D. Wu, X. Wang, B. Zhang, F. Yu, C. Yang, Z. Peng, X. Chen, L. Xie, and X. Lei, “Wenet: Production oriented streaming and non-streaming end-to-end speech recognition toolkit,” in International Speech Communication Association (Interspeech), 2021, pp. 4054-4058.
[10] Yi-Chiao Wu, Israel D Gebru, Dejan Markovi ́c, and Alexander Richard,"Audiodec: An open-source streaming high-fidelity neural audio codec,"in International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2023, pp.1–5.




欢迎关注ASLP实验室微信公众号,获取更多语音研究相关资讯!

“打造最开放、最前沿、最落地的人工智能实验室”


音频语音与语言处理研究组
发布关于音频语音与语言处理研究组的最新研究成果、技术分享、新闻动态和活动等。
 最新文章