Overseas access: www.kdjingpai.com
Bookmark Us

VibeVoice-1.5B是微软研究院发布的一款前沿的开源文本转语音(Text-to-Speech, TTS)模型。 它专门用于生成富有表现力的、长篇幅的、多角色对话音频,例如播客或有声读物。 VibeVoice的核心创新在于它使用了以7.5 Hz超低帧率运行的连续语音分词器(声学和语义),这在有效保留音频保真度的同时,极大地提升了处理长序列的计算效率。 该模型基于一个大型语言模型(LLM)来理解文本上下文和对话流程,并结合扩散模型(diffusion model)生成高保真度的声音细节。 VibeVoice能够一次性合成长达90分钟的音频,并且可以在一段音频中支持多达4个不同的说话人,这突破了以往许多模型仅支持1到2个说话人的限制。 该模型主要使用英文和中文数据进行训练,同时支持跨语言合成和基础的歌唱合成功能。

Function List

  • 超长音频合成:支持在单次任务中生成最长90分钟的连贯语音音频。
  • 多说话人支持:能够在同一段音频中模拟多达4个不同的说话人进行自然对话。
  • 富有表现力的语音:生成的语音在情感和表达上更加自然,摆脱了传统TTS模型的机械感。
  • 跨语言与歌唱合成:虽然主要训练数据为中文和英文,但模型具备一定的跨语言合成能力(例如,输入英文生成中文语音)和基础的歌唱能力。
  • 开源和可访问:模型以MIT许可证开源,对研究社区友好,并提供了相应的代码库和技术报告供开发者使用。
  • 高效率架构:采用创新的声学和语义分词器,以极低的帧率运行,有效处理长序列音频的生成任务。
  • security measure:为防止滥用,模型会在生成的音频中自动嵌入“由AI生成”的可听声明和不可感知的水印。

Using Help

VibeVoice-1.5B主要面向研究和开发人员,普通用户可以通过Hugging Face上的Gradio演示程序进行体验。对于开发者,可以按照以下步骤在本地环境中部署和使用该模型。

Environment Preparation and Installation

首先,需要确保你的环境中安装了Python和PyTorch。由于模型需要一定的计算资源,建议在配备有NVIDIA GPU(显存建议不低于10GB)的Linux或Windows(通过WSL2)环境中使用。

  1. Clone Code Repository::
    从GitHub克隆VibeVoice的代码仓库。

    git clone https://github.com/microsoft/VibeVoice-Code.git
    cd VibeVoice-Code
    
  2. Installation of dependencies::
    代码库中通常会提供一个requirements.txt文件,包含了所有必要的Python依赖库。

    pip install -r requirements.txt
    

Model Download

VibeVoice-1.5B模型文件托管在Hugging Face上。你需要在代码中指定模型路径microsoft/VibeVoice-1.5B,Hugging Face的transformers库会自动下载所需的模型文件。

如何使用(代码示例)

VibeVoice的核心功能是通过编写脚本调用模型来完成文本到语音的转换。以下是一个基本的使用流程和代码片段,演示如何生成一段多人对话音频。

  1. 准备输入文本::
    VibeVoice使用一种简单的格式来区分不同的说话人。你需要在文本中标注每个说话人的身份,例如 [speaker 0] maybe [speaker 1]The

    text = """
    [speaker 0] 你好,欢迎收听我们的AI播客。今天我们来聊聊最新的语音合成技术。
    [speaker 1] 没错,特别是像VibeVoice这样的模型,它能生成长达90分钟的对话,真是太惊人了。
    [speaker 0] 是的,而且它还支持最多4个不同的声音。这意味着我们可以制作更复杂的广播剧或者多人有声书了。
    [speaker 1] 让我们来听听效果吧!
    """
    
  2. Writing reasoning scripts::
    你需要加载模型和处理器(tokenizer),然后将准备好的文本输入模型以生成音频。

    import torch
    from transformers import AutoProcessor, AutoModelForTextToWaveform
    import scipy.io.wavfile
    # 确定设备
    device = "cuda" if torch.cuda.is_available() else "cpu"
    # 加载模型和处理器
    processor = AutoProcessor.from_pretrained("microsoft/VibeVoice-1.5B")
    model = AutoModelForTextToWaveform.from_pretrained("microsoft/VibeVoice-1.5B").to(device)
    # 准备输入
    inputs = processor(text=text, return_tensors="pt").to(device)
    # 生成语音波形
    with torch.no_grad():
    waveform = model.generate(**inputs, do_sample=True, temperature=0.9)
    # 保存音频文件
    # 注意:采样率需要从模型配置中获取,这里以24000为例
    sampling_rate = model.config.sampling_rate 
    scipy.io.wavfile.write("output_dialogue.wav", rate=sampling_rate, data=waveform[0].cpu().numpy())
    print("音频文件已生成:output_dialogue.wav")
    

    这个脚本会生成一个名为 output_dialogue.wav 的音频文件,其中包含了两个说话人的对话。

特色功能操作:单样本声音克隆(One-shot Voice Cloning)

在一些社区提供的演示(Demo)中,VibeVoice展示了单样本声音克隆的能力。 用户只需提供一小段目标声音的音频样本,模型就可以模仿该声音的音色来朗读新的文本。

在Gradio演示界面中,通常会有一个上传音频文件的区域。

  1. 上传一个包含你想要克隆的声音的清晰、无背景噪音的音频文件(例如WAV或MP3格式)。
  2. 在文本输入框中,输入你希望模型用这个声音朗读的文字。
  3. 点击“生成”按钮,模型就会使用上传的音频音色来合成新的语音。

caveat

  • 仅限研究用途:官方强调该模型目前仅供研究使用,不建议用于商业或生产环境。
  • language restriction:模型主要针对英文和中文进行优化,在其他语言上可能会产生无法预料或质量不佳的输出。
  • 无背景音:模型只生成纯净的人声,不会添加背景音乐或环境噪音。
  • 无语音重叠:目前的版本不支持模拟多人对话中常见的抢话或语音重叠现象,说话人之间的转换是顺序的。

application scenario

  1. 播客和有声书制作
    利用VibeVoice能够生成长达90分钟且支持多达4个角色的能力,内容创作者可以高效地将剧本或书籍转换为多人对话形式的音频内容,极大地降低了录制成本。
  2. Game Character Voiceover
    游戏开发者可以使用该模型为非玩家角色(NPC)生成大量对话。其富有表现力的特点可以使角色声音听起来更自然,增强游戏的沉浸感。
  3. 内容可访问性
    为视力障碍用户将长篇文章、新闻或报告转换为自然的语音。多说话人功能可以用来区分引述和他人的评论,使内容更易于理解。
  4. language learning
    模型可以用来创建模拟真实对话场景的语言学习材料。通过调整不同角色的声音,可以帮助学习者更好地适应不同口音和语速。

QA

  1. VibeVoice-1.5B支持哪些语言?
    该模型主要使用英文和中文数据进行训练和优化。 虽然它具备一定的跨语言合成能力,但在处理其他语言时,效果可能不稳定或不理想。
  2. 使用VibeVoice-1.5B有硬件要求吗?
    是的,为了获得较好的推理速度,建议在配备NVIDIA GPU的设备上运行,显存至少需要10GB。 在仅有CPU的环境中运行可能会非常缓慢。
  3. 生成的音频可以用于商业项目吗?
    不可以。根据官方说明,该模型的发布版本仅限于研究目的,不建议用于任何商业应用。 任何使用都必须遵守MIT许可证和模型卡中的使用限制,例如禁止用于语音冒充或虚假信息传播。
  4. VibeVoice能实时生成语音吗?
    当前版本不适用于实时或低延迟的语音转换应用,例如电话或视频会议中的“实时深度伪造”。 它的设计重点是高质量的长音频离线生成。
  5. 模型生成的语音是否带有水印?
    是的,为了防止恶意使用,所有通过该模型合成的音频都会自动嵌入一个可听见的AI声明(例如“This segment was generated by AI”)和一个不可感知的数字水印,以便于溯源。
0Bookmarked
0kudos

Can't find AI tools? Try here!

Just type in the keyword Accessibility Bing SearchYou can quickly find all the AI tools on this site.

Top

en_USEnglish