作者简介:热爱跑步的恒川,致力于C/C++、Java、Python等多编程语言,热爱跑步,喜爱音乐、摄影的一位博主。
本文收录于论文复现系列,大家有兴趣的可以看一看。
相关专栏C语言初阶、C语言进阶系列、恒川的日常汇报系列等,大家有兴趣的可以看一看。
Python零基础入门系列,Java入门篇系列、docker技术篇系列、Apollo的学习录系列正在发展中,喜欢Python、Java、docker的朋友们可以关注一下。
VALL-E:语音合成的新里程
本文所涉及所有资源均在这里可获取。
1. 引言
语音合成技术在现代通信和娱乐领域扮演着愈发重要的角色,它不仅让我们能够与机器更自然地交流,还在无障碍技术和虚拟助手等方面发挥着关键作用。近期,一个引人注目的语音合成模型——VALL-E,突破性地采用了全新的方法,为语音合成技术的未来开启了新的里程碑。
1.1 语音合成技术的背景
随着人工智能和自然语言处理领域的迅猛发展,语音合成技术逐渐成为人们关注的焦点。起初,语音合成主要通过简单的文本到语音(TTS)模型实现,但随着技术的不断演进,如今的语音合成已经远非过去可比。这项技术的进步不仅在改善视觉障碍者的生活方面发挥着巨大作用,还推动了虚拟助手、智能客服等各种应用的广泛普及。
语音合成技术的演进为人机交互提供了更加自然、高效的手段。过去,TTS模型主要通过转换给定的文本为语音,但这往往缺乏自然流畅的音韵和抑扬顿挫。然而,随着深度学习和神经网络技术的发展,新一代的语音合成模型变得更加智能、灵活,能够更好地捕捉语音的细致差异,使得合成语音更加自然贴近真实。
1.2 VALL-E 模型的崭新方法
在语音合成领域,VALL-E 模型以其独特的方法引起了广泛关注。传统的语音合成方法主要集中在音频的生成和重建上,但VALL-E 模型摒弃了这种传统思路,引入了语音编解码技术,将语音信号转换成中间表示。这个全新的方法为语音合成的未来打开了新的方向。
VALL-E 模型的语音编解码技术具有创新性,它不仅能够更好地理解语音信号的特征,还能够在生成过程中更灵活地应对各种语音场景。这种崭新的方法为零样本学习提供了可能性,使得模型能够在未见过的说话者或语音情境下表现出色。在本文中,我们将深入剖析VALL-E 模型的工作原理,挖掘其独到之处,并详细探讨其在零样本学习和语音合成方面取得的显著成果。
2. VALL-E 模型概览
VALL-E X跨语音框架:个性合成他语音,无需同一说话者跨语音数据,实现零样本跨语音任务。
2.1 VALL-E 模型的核心思想
VALL-E 模型作为一种语音合成技术的创新,其核心思想在于摒弃传统的语音合成方法,大胆采用了语音编解码技术。这一突破性的思想源于对语音合成过程的全新思考,旨在通过更智能、更高效的方式实现文本到语音的转换。传统的语音合成方法常常依赖于基于文本的音素转换和声学特征生成的繁琐流程,而VALL-E 模型则以一种更直观的方式解决这一问题。
在采用语音编解码的核心思想下,VALL-E 模型将语音信号编码为中间表示,具有重要的抽象性和信息丰富性。这一中间表示不仅包含了语音的基本特征,还更为灵活地捕捉了文本中的各种语音信息,如音调、语速等。通过引入这个中间表示的概念,VALL-E 模型的语音合成过程更接近人类语音产生的方式,使得生成的语音更加自然、高质量。
2.2 VALL-E 如何利用语音编解码技术进行文本到语音的合成
VALL-E 模型的文本到语音合成过程主要经历两个关键步骤:编码和解码。
在编码阶段,模型接收文本输入并通过先进的神经网络结构将其转换为中间语音编码。这一编码过程的目标是将文本中的语音特征抽象为一种中间表示,以便后续解码器更好地理解和还原。通过深度学习的方式,VALL-E 模型能够在这个阶段捕获文本的丰富信息,为最终语音生成奠定基础。
在解码阶段,模型将中间语音编码还原为自然语音。解码器在这一过程中扮演着关键的角色,通过将中间表示解码为音频波形,完成了从文本到语音的转换。这一解码过程的精密性和准确性直接影响着最终语音的质量。通过优化解码器的设计,VALL-E 模型保证了生成语音在保持语义准确性的同时,能够表达文本所蕴含的各种语音细节。
通过紧密结合编码和解码的过程,VALL-E 模型以前所未有的方式利用语音编解码技术进行文本到语音的合成。这种新颖的方法不仅提高了合成的灵活性和表现力,还使模型能够更好地适应多样的语音合成任务和输入条件。这标志着语音合成技术在VALL-E 模型的引领下迈入了一个更加智能、自然的时代。
VALL-E X与先前跨语音TTS系统的比较
3. 训练和优化
3.1 VALL-E 模型的预训练过程
VALL-E 模型作为一项领先的语音合成技术,其预训练过程扮演着至关重要的角色。在这一阶段,模型通过学习大规模的语音数据,以无监督的方式获取语音的基本特征和结构。这一预训练的过程采用了 LibriLight 数据集,这个数据集包含了 60,000 小时的丰富语音素材,为模型提供了广泛的语音输入。
预训练的目标是将语音信号转换为中间表示,即语音编码。通过编码的方式,模型能够在不同说话人、语速、语调等情境下更好地捕捉语音的抽象特征。这种中间表示的引入是 VALL-E 模型设计的创新之一,为后续的任务提供了有力的基础。预训练过程中,VALL-E 利用了先进的神经网络结构,通过多层的注意力机制和嵌入层,提高了模型对语音信息的表征能力。
3.2 模型是如何在大规模语音数据上进行训练的
在预训练完成后,VALL-E 模型通过在大规模语音数据上进行进一步的训练,不断优化其参数,以更好地适应语音合成任务。训练数据来自 LibriLight 数据集,这个数据集的广泛覆盖确保了模型能够处理不同场景、说话人和语音特征。
在训练过程中,VALL-E 模型充分利用了计算资源,使用了 16 个 NVIDIA TESLA V100 32GB GPU 进行协同训练。每个 GPU 处理 6,000 个声学标记的批次,为了达到更好的泛化效果,模型总共进行了 800,000 次迭代。在这个过程中,采用了 AdamW 优化器,通过学习率的渐变升高和线性衰减,使模型能够更好地收敛到全局最优点。
在模型的训练中,引入了先进的神经网络结构,模型核心采用了语音编解码技术。这种技术的应用不仅提高了模型对语音信息的建模能力,也使得模型在不同输入条件下更加灵活。通过结合编码和解码的方式,模型能够更好地处理文本到语音的转换任务,使生成的语音更加自然。
3.3 突出 VALL-E 在零样本学习中的优化策略
采用两阶段解码策略,支持零样本跨语音合成和语音翻译任务。
VALL-E 模型在零样本学习方面取得显著的成果,这得益于其独特的优化策略。零样本学习的关键在于模型在未见过的情况下仍能够生成高质量的语音,这要求模型具有强大的泛化能力。为了实现这一目标,VALL-E 模型通过在预训练和微调阶段引入了多样的语音数据。
在预训练阶段,模型接触到大规模的语音数据,使其能够学习到更丰富的语音特征。预训练使用的 LibriLight 数据集不仅规模庞大,而且涵盖了不同说话人、语速和语调的语音素材。这使得模型在零样本学习时能够更好地适应不同的输入条件。
微调阶段的关键在于模型在少量的零样本数据上进行更新,以确保其在未知情境下能够生成符合要求的语音。通过精心设计的优化策略,VALL-E 模型保持了对未见过数据的敏感性,成功地实现了在零样本学习中的卓越表现。这包括 attention 机制的有效应用,以及中间表示的巧妙设计,使得模型在处理不同语音特征时更具灵活性和鲁棒性。VALL-E 在训练和优化阶段充分考虑了语音合成任务的独特性,通过大规模数据的预训练和巧妙的微调,展现出卓越的零样本学习性能。
多语言编解码语言模型,音频编码为多语言标记,实现无需相同说话者跨语音生成。
4. 实验结果
中英文EMIME数据集上,评估语言ID对效果的影响。通过合成语音和源提示语音之间的ASV分数来计算。最后一列列出了外语口音的主观评分(从1到5分)
4.1 VALL-E 在 LibriSpeech 数据集上的表现
VALL-E 模型在 LibriSpeech 数据集上展现出卓越的性能,这个数据集作为语音识别的标准测试集,广泛应用于评估语音合成模型的质量。通过预训练于 LibriLight 数据集,并在 LibriSpeech 上微调,VALL-E 在语音质量、语音多样性和说话者相似度等方面相较传统的 YourTTS 模型都实现了显著提升。
4.1.1 语音质量
VALL-E 在语音质量方面的卓越性是其突出特点之一。通过采用语音编解码技术,该模型能够更准确地捕捉语音信号的细微特征,从而实现更自然、更清晰的语音生成。这一优势在 LibriSpeech 数据集中的评测中得到了充分的体现,特别是在面对复杂的语音环境和口音较为浓重的情况下,VALL-E 的生成语音表现出更高的质量。
语音质量的提升主要得益于 VALL-E 采用的语音编解码技术,将语音信号转换为中间表示,通过对这一表示的学习和生成,使得模型能够更为高效地捕捉语音的特征,从而实现更加真实、清晰的语音合成。这一特性为语音合成领域带来了新的思路,突破了传统基于文本转音素再转换为声学特征的范式,使得合成语音更富有表现力。
4.1.2 语音多样性
VALL-E 在语音多样性方面表现出色,采用了采样式的生成方法,使得在同一输入下能够生成不同风格的语音。通过图4(a)和图4(b)的展示,我们可以看到同一句话的两个不同生成样本,在长度、语速和语调等方面都呈现出差异。这种多样性对于语音识别系统的训练等下游任务具有积极的意义,能够更好地适应多样化的语音场景,提高系统的鲁棒性。
采样式的生成方法为VALL-E带来了更灵活的语音合成策略,使得模型在不同风格和应用场景下都能够产生具有多样性的语音。这种生成方式对于用户体验的个性化需求具有积极的推动作用,使得合成语音更符合个体化的口味和需求。
4.1.3 说话者相似度
在说话者相似度方面,VALL-E 较 YourTTS 模型表现更出色。这一优势主要源于模型在预训练阶段接触到大量的语音数据,从而更好地学习和捕捉说话者的语音特征。在说话者相似度评价中,VALL-E 能够显著减小合成语音与原始说话者之间的差距,提高生成语音与原始语音之间的相似度。
VALL-E 的语音编解码技术为模型提供了更大的表达空间,使其能够更准确地保持原始语音中的说话者特征。这对于语音合成任务中要求保持说话者身份一致性的应用场景具有重要的实际意义。用户在使用语音合成服务时,更希望生成的语音既能够保持高质量,同时又能够还原原始说话者的独特风格,这正是 VALL-E 在说话者相似度方面取得成功的原因。
在综合评估这三个方面,VALL-E 在语音质量、语音多样性和说话者相似度上的出色表现使得其在语音合成领域脱颖而出,为未来的研究和应用奠定了坚实的基础。
4.2 VALL-E 在 VCTK 数据集上的表现
除了在 LibriSpeech 上的显著表现,VALL-E 模型在 VCTK 数据集上同样取得了重要的成果。VCTK 数据集包含 108 名说话者的语音素材,而YourTTS 模型在训练中已经见过其中 97 名说话者。为了全面评估两者在不同样本集上的性能,我们进行了全样本和零样本学习的对比。
4.2.1 全样本学习
全样本学习中,VALL-E 和 YourTTS 模型都使用了完整的训练数据进行训练,针对 108 名说话者的评估显示出显著的优势。在不同提示长度(3s、5s 和 10s)下,VALL-E 均取得了更高的相似度分数,进一步证明了其在说话者特征保持方面的卓越性。
这一结果意味着在已知说话者的情况下,VALL-E 能够更好地保持生成语音与原始说话者之间的相似度。即便是在较短的提示情况下,VALL-E 也能够有效地捕捉说话者的语音特征,生成更接近真实说话者的语音输出。这种对于全样本学习的良好适应性,使得 VALL-E 在已知数据集上的语音合成任务中更具优势。
4.2.2 零样本学习
在零样本学习中,VALL-E 展现出更强大的泛化能力。特别是在仅有 3s 的提示的情况下,VALL-E 相较于 YourTTS 模型表现更为出色。这说明 VALL-E 能够更好地适应未见过的说话者,生成更接近真实说话者的语音。
零样本学习是一个重要的评价指标,它衡量了模型对于未知数据的适应能力。VALL-E 通过在零样本学习中表现出色,展示了其在处理新的、未知说话者时具有更高的泛化性。这对于实际应用中可能涉及到大量未知说话者的场景具有重要意义,保证了模型在更广泛的应用领域中的实用性和鲁棒性。
4.3 与其他 TTS 模型的性能对比
为了全面评估 VALL-E 模型的性能,我们将其与其他 TTS 模型进行了对比,包括 YourTTS 模型、GSLM 和 AudioLM,其中 GSLM 使用 HuBERT code 作为输入,而 AudioLM 使用 Conformer Transducer 模型。
4.3.1 与 YourTTS 的对比
在 LibriSpeech 上的对比中,VALL-E 在说话者相似度方面表现优于 YourTTS 模型。详细的结果见表2,显示出 VALL-E 在多个方面都取得了更好的评价,特别是在语音质量和语音相似度方面的表现更为突出。
VALL-E 在说话者相似度方面的优势归功于其先进的语音编解码技术。通过在预训练阶段接触大量语音数据,VALL-E 能够更准确地捕捉和学习说话者的语音特征,使得生成的语音更加接近原始说话者。这一优势在语音相似度的评估中得以显著体现,为 VALL-E 在实际应用中提供了更好的可用性。
4.3.2 与 GSLM 和 AudioLM 的对比
在与 GSLM 和 AudioLM 的对比中,VALL-E 同样展现出色的性能。相对于采用不同输入编码方式的 GSLM 和 AudioLM,VALL-E 在多样性、保真性和说话者相似度等方面都取得了更为平衡的表现。
这一平衡的性能表现表明 VALL-E 模型的语音编解码技术具有更广泛的适用性,适用于不同应用场景。无论是关注语音多样性、保真性还是说话者相似度,VALL-E 都能够在各个方面保持卓越水平。这种全面的性能使得 VALL-E 在各类语音合成任务中都具备强大的竞争力。
4.4 强调 VALL-E 在合成语音时的多样性、保真性和说话者相似度
VALL-E 在合成语音时的多样性、保真性和说话者相似度是其突出的特点之一。通过引入语音编解码技术,VALL-E 不仅能够保持高质量的语音质量,同时能够生成多样性的输出。这对于满足用户多样化的需求和提高合成语音的真实感具有重要意义。
在语音合成中,VALL-E 的保真性得到了验证。通过与原始说话者的相似度评价,VALL-E 在多个数据集上都取得了显著的提升。这说明 VALL-E 能够在合成过程中有效地保持说话者的特征,生成更为真实、自然的语音。
VALL-E 在说话者相似度方面的卓越性进一步强调了其在不同场景下的通用性。无论是在全样本学习还是零样本学习中,VALL-E 都能够在保持语音相似度方面取得更好的效果。这为模型在不同应用场景下的灵活应用提供了坚实的基础。
5. 模型的局限性
尽管VALL-E在语音合成领域取得了显著的进展,但仍然存在一些局限性和问题需要进一步解决。这一小节将深入探讨VALL-E模型的特定问题,以及未来改进的方向。
5.1 合成韵律的不清晰、遗漏或重复的问题
在实际应用中,VALL-E模型在语音合成的过程中显示出一些值得关注的问题。其中一个显著的问题是合成的韵律不够清晰,同时可能会出现一些单词被遗漏或重复的情况。这主要源于VALL-E采用的基于文本的转音素,其语音合成部分是一个自回归模型。在自回归模型中,由于生成的依赖关系,往往存在注意力不集中、排列不当的问题,导致一些单词的合成并不准确,或者在语音流中出现了不必要的重复。
为了解决这一问题,可以借鉴其他Transformer-based TTS模型的成功经验,考虑采用非自回归模型或对注意力机制进行更细致的修改。非自回归模型能够并行生成输出,提高生成效率,同时减少重复和遗漏的问题。此外,优化注意力机制,使其更加关注重要的语音特征,有望进一步提高韵律的清晰度和语音合成的准确性。
为解决合成韵律不清晰、遗漏或重复的问题,针对VALL-E采用的基于文本的转音素和自回归模型的特点,可以考虑以下优化方向:
- 非自回归模型的引入: 采用非自回归模型作为语音合成的基础。相较于自回归模型,非自回归模型具有并行生成输出的能力,有效提高了生成效率。这样一来,可以减轻因依赖关系导致的注意力不集中、排列不当等问题,有望显著减少合成中出现的韵律不清晰和单词重复的情况。
- 注意力机制的改进: 对VALL-E模型的注意力机制进行更细致的调整。通过优化注意力机制,使其更加关注语音信号中的重要特征,提高对输入文本的准确理解。可能的优化方向包括引入多头注意力、加强对长距离依赖的建模等,以降低单词遗漏和重复的概率。
- 音素级别建模: 考虑将语音合成模型的建模层级调整到音素级别。这样做有助于更准确地捕捉语音信号中的元音、辅音等基本音素,提高合成语音的准确性。此外,对于韵律的表达也更加灵活,有助于改进生成的语音的流畅度。
5.2 数据覆盖范围有限的问题
尽管在VALL-E的训练过程中使用了大规模的语音数据,包括LibriLight数据集,但模型仍然面临着数据覆盖范围有限的挑战。特别是在涉及带口音的说话者时,VALL-E在VCTK数据集上的表现相对较差。这提示我们,当前的数据集可能没有足够覆盖不同口音和语音风格的说话者。
为了进一步提高VALL-E的性能,有必要通过扩大训练数据集的方式来增加样本的多样性。具体而言,可以加入更多带有口音的说话者的语音样本,丰富不同说话风格的语音数据。这种数据的增加将有助于提高VALL-E在不同语音特征上的泛化性能,使其更好地适应各种真实世界的语音合成任务。当前的局限性主要集中在以下几个方面:
- 口音样本的不足: VCTK数据集中关于带口音说话者的样本相对较少,这导致VALL-E在处理口音时性能相对较差。口音的多样性往往源自不同的地理位置、文化背景,而模型对于这些变化的适应性受到限制。
- 语音风格的有限涵盖: 数据集中的语音样本可能主要集中在一些特定的语音风格中,而对于其他风格的覆盖较少。例如,在涉及到正式演讲、卡拉OK演唱等不同风格的语音输入时,模型可能表现相对欠缺。
为了解决数据覆盖范围有限的问题,可以考虑以下改进方向:
- 多样性数据集的引入: 引入更多地来自不同地理位置、文化背景、社会群体的语音样本。这有助于模型更好地适应各种口音,提高在多样语音特征上的表现。
- 增加语音风格的样本: 通过引入更多不同语音风格的样本,涵盖正式、非正式、娱乐等多个方面,可以使模型更全面地理解和合成不同语音风格。
- 对特定问题的优化: 针对合成韵律的不清晰、遗漏或重复的问题,可以通过构建一个专门的小规模数据集,针对这些问题进行训练和优化,以提高模型在这方面的性能。
6. 模型的社会影响
语音合成技术的不断发展为社会带来了诸多便利,然而,随之而来的是模型可能引发的一系列社会影响。在探讨VALL-E模型的社会影响时,我们需要综合考虑其优势、潜在滥用风险以及在模型发展中遵循责任和伦理准则的重要性。
6.1 可能的社会影响
VALL-E 模型作为一种先进的语音合成技术,不仅在技术上实现了突破,还在多个领域带来了积极的社会影响:
6.1.1 提升用户体验
提升用户体验是VALL-E模型最显著的社会影响之一。其高性能和多样性特点使得语音合成更为自然、高质量,从而在虚拟助手、智能客服等领域提供更出色的服务。用户与机器之间的交互更加流畅、自然,用户体验得到有效提升。特别是对于那些依赖语音交流的场景,如语音搜索、语音导航等,VALL-E的优越性能将为用户创造更加智能、便捷的体验。
6.1.2 促进无障碍技术发展
VALL-E 在无障碍技术领域的发展上发挥着重要作用。语音合成技术一直是视觉障碍者的重要辅助工具,帮助他们更好地融入社会。VALL-E 的高效合成和真实语音能够为无障碍技术带来更多创新,为视觉障碍者提供更符合真实语音特征的辅助工具。通过提供更自然、贴近真实的语音导航、语音阅读等服务,VALL-E 为视觉障碍者创造了更为无障碍的信息获取和社交体验环境,提升了他们的日常生活质量。
6.1.3 拓宽语音应用领域
VALL-E 的多样性特点使得语音合成技术能够更广泛地应用于不同领域。除了在虚拟助手和智能客服领域的应用,VALL-E 还能够在广告、娱乐、语音留言等方面发挥作用。例如,在广告中,采用自然、引人入胜的语音广告更容易引起用户的注意。在娱乐领域,VALL-E 可以用于创作多样化的声音效果和语音角色。语音留言领域则可以通过更生动、真实的语音信息传递情感。这为创新和商业发展带来了新的机遇,同时也为用户提供了更加个性化、富有创意的语音服务,推动了语音技术在不同行业的深度融合和应用。这些积极的社会影响表明 VALL-E 模型的发展不仅仅是技术上的提升,更是为社会带来便利、创新和进步的推动力。
6.2 责任和伦理准则的重要性
尽管 VALL-E 的发展潜力巨大,我们必须认识到在其应用过程中可能引发的一些社会问题。在模型发展中遵循责任和伦理准则显得尤为重要:
6.2.1 透明度和解释性
确保 VALL-E 模型的透明度和解释性对于用户和相关利益方至关重要。开发团队应该提供清晰的文档和解释,使用户能够理解模型的运作原理,并知悉其应用的范围和限制。透明度有助于建立用户信任,降低信息不对称的风险。用户应该能够了解模型如何生成语音、数据来源以及模型可能的局限性。这有助于用户更明智地使用语音合成技术,同时促使开发者持续改进和优化模型。
6.2.2 公平性和多样性
在数据采集和模型训练过程中,要确保考虑到多样性和公平性。模型应该能够适应不同种族、文化和语音风格,避免对某些群体的偏见或歧视。公平性是确保技术普惠性的关键因素,而多样性则能够增强模型的适用性。开发团队需要审查训练数据,确保其中包含了来自不同社群的代表性样本,以避免模型在某些群体中的性能不足或不公平。这有助于构建一个更加包容和公正的语音合成技术,为全体用户提供更均等的服务。
通过强调透明度、解释性、公平性和多样性,可以最大程度地降低 VALL-E 模型在应用中可能带来的潜在风险,确保其在社会中的可持续发展。
6.3 潜在滥用风险和应对措施
6.3.1 声纹伪造和隐私问题
VALL-E 模型生成的高质量语音可能面临被滥用的风险,例如声纹伪造用于欺诈或滥用个人隐私。为了应对这一问题,开发团队应该加强模型的安全性,采取技术手段防止滥用,同时制定和推动合适的法规和政策。模型应该具备识别和防范声纹伪造的能力,确保生成的语音仅在合法、合理的场景中使用。同时,制定隐私保护措施,确保用户的语音数据不被滥用或非法获取。
6.3.2 误导性信息和不当使用
高度逼真的语音合成可能被用于传播误导性信息或进行不当使用,例如合成虚假的语音记录。这要求社会和科技界合作,建立监测机制,防范滥用情况的发生。通过技术手段,可以实现对合成语音的追踪和验证,确保语音信息的真实性。此外,宣传和教育也是预防误导性信息传播的关键,提高公众对合成语音的警惕性,加强社会舆论的监督。
通过全面考虑这些社会影响、遵循责任和伦理准则以及实施相应的应对措施,我们可以更好地引导 VALL-E 模型的应用,使其成为社会进步和人类福祉的积极助力。及时的技术和制度安排可以最大限度地减少潜在滥用的风险,确保语音合成技术在社会中的可持续发展。
部署过程:
这段代码是一个使用 Gradio(交互式界面构建工具)搭建的语音合成模型的部署脚本。它使用了 PyTorch、Whisper 模型、Vocos 模型等库和模型来进行语音合成。部署的过程需要以下步骤:
环境配置:
安装 Gradio、PyTorch、Whisper 等依赖库。
配置语言模型和其他模型的路径。
pip install gradio torch torchaudio
模型加载:
加载 VALL-E 模型和其他必要的模型,设置模型参数。
# 例如,加载 VALL-E 模型
model = VALLE(N_DIM, NUM_HEAD, NUM_LAYERS, norm_first=True)
用户交互界面:
使用 Gradio 创建交互式界面,设置文本输入框、语音输入框等组件。
定义处理用户输入的函数,例如 infer_from_audio、make_npz_prompt 等。
with gr.Block():
gr.TextArea(label="Text", placeholder="Type your sentence here", value="Welcome back, Master. What can I do for you today?")
gr.Dropdown(choices=['auto-detect', 'English', '中文', '日本語'], value='auto-detect', label='language')
# 添加其他交互组件
gr.Button("Generate!").click(infer_from_audio, inputs=[...], outputs=[...])
启动应用:
调用 app.launch() 启动 Gradio 应用,用户可以通过浏览器访问交互界面。
app.launch()
使用 Docker 部署(可选):
可以将应用容器化,方便部署和分享。
docker build -t my-tts-app .
docker run -p 7860:7860 my-tts-app
参考文献:
- https://arxiv.org/pdf/2209.03143v2.pdf
- https://arxiv.org/pdf/2301.02111.pdf
- https://arxiv.org/pdf/2303.03926.pdf
- https://github.com/plachtaa/vall-e-x?tab=readme-ov-file
- https://paperswithcode.com/paper/audiolm-a-language-modeling-approach-to-audio
详细复现过程的项目源码、数据和预训练好的模型可从该文章下方链接获取:https://www.aspiringcode.com/content。
如果这份博客对大家有帮助,希望各位给恒川一个免费的点赞作为鼓励,并评论收藏一下⭐,谢谢大家!!!
制作不易,如果大家有什么疑问或给恒川的意见,欢迎评论区留言。
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » 【论文复现】VALL-E:语音合成的新里程
发表评论 取消回复