Meta开源多模式模型,轻松混合文本和语音
传统的生成语音方法通常是先使用ASR将输入语音转录为文本,再使用纯文本的大语言模型生成文本,最后通过TTS将生成的文本合成为语音。但这种方式在建模和生成表达性语音方面有很大技术局限性。
例如,当我们想要生成一段带有特定情感的语音时,这种多步骤的方法可能无法很好地捕捉情感信息,导致生成的语音在表达上不够自然。
为了解决这些难题,Meta开源了多模式模型SPIRIT – LM,可以轻松混合文本和语音使生成的效果更逼真、拟人化。
开源地址:https://github.com/facebookresearch/spiritlm
SPIRIT-LM的架构很特殊,它的基础模型是一个大语言模型,再通过词级交错方法扩展到语音模式。在训练的过程中,语音和文本序列被连接为单一的标记集,利用了一个小型自动策划的语音-文本平行语料库,使得模型能够在训练过程中同时学习语音和文本的特征。
对于文本数据,SPIRIT-LM使用了子词BPE标记进行编码,这是一种高效的文本编码方式,能够处理任意词汇包括未知词。而对于语音数据,则采用了HuBERT模型作为语音编码器,将语音转换为语义语音标记,能够在没有标签的情况下从大量语音数据中学习到有用的表示。
特殊标记则是另外一个技术创新,SPIRIT-LM使用了“TEXT”和“SPEECH”特殊标记来区分文本和语音标记。在训练过程中,这些特殊标记帮助模型识别输入数据的模态,从而正确地处理文本或语音输入。
当模型在对齐的语音-文本语料库中进行训练时,它会在单词边界随机触发模态变化,使得语音标记和文本标记在模态变化边界处交错。这种交错训练方法有助于模型学习语音和文本之间的对应关系,从而提高跨模态的理解和生成能力。
SPIRIT-LM一共有基础和表现力两个版本:基础版专注于使用语音语义单元来处理语音数据,而表现力版则在语义单元的基础上增加了音高和风格单元来模拟表达性。音高标记是通过VQ-VAE模型在输入语音的基频上训练得到的,这种方法能够捕捉语音的音高特征,从而使得模型能够理解和生成具有特定音高的语音。
风格标记则是通过提取语音的风格特征并进行聚类得到的,这些标记能够帮助模型捕捉语音的风格特征,例如,说话人的情感和语气,使得合成的语音更加逼真。
此外,SPIRIT-LM模型还使用了HifiGAN声码器,这是一种高质量的语音合成技术。HifiGAN声码器基于HuBERT语音标记和Expresso数据集中的1-hot说话人嵌入进行训练以实现高质量的语音合成,进一步提高了模型在生成语音时的自然度和清晰度。
为了评估SPIRIT-LM性能,Meta在sWUGGY、sBLIMP、StoryCloze等任务中对SPIRIT-LM进行了语音和文本理解综合测试,都能够准确地生成正确的序列。而在跨模态任务上也展现了良好的性能,在自动语音识别和文本到语音任务中,SPIRIT-LM能够根据少量示例进行特定任务的建模。
本文转自 AIGC开放社区 ,作者:AIGC开放社区