英文

SpeechT5 (TTS任务)

SpeechT5模型在LibriTTS上进行语音合成(文本到语音)的微调。

该模型于 SpeechT5: Unified-Modal Encoder-Decoder Pre-Training for Spoken Language Processing 年由Junyi Ao,Rui Wang,Long Zhou,Chengyi Wang,Shuo Ren,Yu Wu,Shujie Liu,Tom Ko,Qing Li,Yu Zhang,Zhihua Wei,Yao Qian,Jinyu Li,Furu Wei等人提出。

SpeechT5首次发布于 this repository , original weights 。使用的许可证是 MIT

模型描述

受T5(Text-To-Text Transfer Transformer)在预训练自然语言处理模型中的成功启发,我们提出了统一的SpeechT5框架,该框架探索编码器-解码器的预训练,用于自监督语音/文本表示学习。 SpeechT5框架由一个共享的编码器-解码器网络和六个模态特定(语音/文本)的预/后处理网络组成。通过预处理输入的语音/文本,共享的编码器-解码器网络对序列到序列的转换进行建模,然后后处理网络基于解码器的输出生成语音/文本模态的输出。

通过利用大规模的无标签语音和文本数据,我们预训练SpeechT5来学习统一的语音/文本表示,希望提高对语音和文本的建模能力。为了将文本和语音信息对齐到统一的语义空间中,我们提出了一种跨模态向量量化方法,将语音/文本状态与潜在单元随机混合作为编码器和解码器之间的接口。

广泛的评估显示了所提出的SpeechT5框架在各种口语语言处理任务上的优越性,包括自动语音识别、语音合成、语音翻译、语音转换、语音增强和说话人识别。

  • 开发者:Junyi Ao,Rui Wang,Long Zhou,Chengyi Wang,Shuo Ren,Yu Wu,Shujie Liu,Tom Ko,Qing Li,Yu Zhang,Zhihua Wei,Yao Qian,Jinyu Li,Furu Wei。
  • 共享者[可选]: Matthijs Hollemans
  • 模型类型:文本到语音
  • 语言(NLP):[需要更多信息]
  • 许可证: MIT
  • 从模型[可选]微调:[需要更多信息]

模型来源[可选]

用途

直接使用

您可以将此模型用于语音合成。查看 model hub 以查找您感兴趣的任务的微调版本。

下游使用[可选]

[需要更多信息]

超出范围的使用

[需要更多信息]

偏见、风险和局限性

[需要更多信息]

建议

用户(直接和下游)应当意识到模型的风险、偏见和局限性,需要更多的信息以进行进一步的建议。

如何开始使用该模型

使用下面的代码将文本转换为16 kHz单声道语音波形。

# Following pip packages need to be installed:
# !pip install git+https://github.com/huggingface/transformers sentencepiece datasets

from transformers import SpeechT5Processor, SpeechT5ForTextToSpeech, SpeechT5HifiGan
from datasets import load_dataset
import torch
import soundfile as sf
from datasets import load_dataset

processor = SpeechT5Processor.from_pretrained("microsoft/speecht5_tts")
model = SpeechT5ForTextToSpeech.from_pretrained("microsoft/speecht5_tts")
vocoder = SpeechT5HifiGan.from_pretrained("microsoft/speecht5_hifigan")

inputs = processor(text="Hello, my dog is cute", return_tensors="pt")

# load xvector containing speaker's voice characteristics from a dataset
embeddings_dataset = load_dataset("Matthijs/cmu-arctic-xvectors", split="validation")
speaker_embeddings = torch.tensor(embeddings_dataset[7306]["xvector"]).unsqueeze(0)

speech = model.generate_speech(inputs["input_ids"], speaker_embeddings, vocoder=vocoder)

sf.write("speech.wav", speech.numpy(), samplerate=16000)

微调模型

有关如何在不同数据集或新语言上对SpeechT5进行TTS的微调的示例,请参考 this Colab notebook

培训详情

培训数据

LibriTTS

培训过程

预处理[可选]

通过利用大规模的无标签语音和文本数据,我们预先训练SpeechT5以学习统一的语音/文本表示,以期提高对语音和文本的建模能力。

培训超参数

  • 精度:[需要更多信息]
  • 方案:[需要更多信息]

速度、大小、时间[可选]

[需要更多信息]

评估

测试数据、因素和指标

测试数据

[需要更多信息]

因素

[需要更多信息]

指标

[需要更多信息]

结果

[需要更多信息]

概要

模型检查[可选]

广泛的评估显示了所提出的SpeechT5框架在各种口语语言处理任务上的优越性,包括自动语音识别、语音合成、语音翻译、语音转换、语音增强和说话人识别。

环境影响

可以使用 Machine Learning Impact calculator 中提供的 Lacoste et al. (2019) 来估算碳排放量。

  • 硬件类型:[需要更多信息]
  • 使用小时数:[需要更多信息]
  • 云提供商:[需要更多信息]
  • 计算区域:[需要更多信息]
  • 排放碳量:[需要更多信息]

技术规格[可选]

模型架构和目标

SpeechT5框架由一个共享的编码器-解码器网络和六个模态特定(语音/文本)的预/后处理网络组成。

通过预处理输入的语音/文本,共享的编码器-解码器网络对序列到序列的转换进行建模,然后后处理网络基于解码器的输出生成语音/文本模态的输出。

计算基础设施

[需要更多信息]

硬件

[需要更多信息]

软件

[需要更多信息]

引文[可选]

BibTeX:

@inproceedings{ao-etal-2022-speecht5,
    title = {{S}peech{T}5: Unified-Modal Encoder-Decoder Pre-Training for Spoken Language Processing},
    author = {Ao, Junyi and Wang, Rui and Zhou, Long and Wang, Chengyi and Ren, Shuo and Wu, Yu and Liu, Shujie and Ko, Tom and Li, Qing and Zhang, Yu and Wei, Zhihua and Qian, Yao and Li, Jinyu and Wei, Furu},
    booktitle = {Proceedings of the 60th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers)},
    month = {May},
    year = {2022},
    pages={5723--5738},
}

术语表[可选]

  • 文本到语音:用于合成音频的过程

更多信息[可选]

[需要更多信息]

模型卡片作者[可选]

免责声明:发布SpeechT5的团队并未为此模型编写模型卡片,因此此模型卡片是由Hugging Face团队编写的。

模型卡片联系人

[需要更多信息]