深度学习系列83:使用outetts

1. 介绍

模型采用 LLaMa 架构基础,结合 WavTokenizer 音频标记化技术,将连续音频波形转换为离散令牌序列,每秒处理 150 个令牌。v2版本通过 CTC 强制对齐技术,实现文本与音频的精确映射,无需预处理即可生成时间戳对齐的语音流;v3版本使用whisper进行文本对齐。窗口化重复惩罚机制的引入,显著提升了语音输出的连贯性和自然度,尤其在长文本合成中表现稳定。

多语言支持是其核心亮点之一。模型直接支持英语、中文、阿拉伯语等 20 余种语言的文本输入,无需罗马化处理。训练数据覆盖高资源语言(如英语、中文)和中等资源语言(如葡萄牙语、波斯语),未训练语言也可生成语音但效果有限。

2. 中文使用方式

目前outetts不支持中文,所以要做些特别处理:

  1. 首先安装whisper-timestamped:pip3 install whisper-timestamped
  2. 然后安装outetts:pip3 install outetts==0.4.4
  3. 打开site-package里面的outetts/whisper/transcribe.py,将第一行改为:
    import whisper_timestamped as whisper
    将第17行改为text = whisper.transcribe(model, audio_path, language='zh',initial_prompt='普通话')
  4. 打开site-package里面的outetts/version/v3/audio_processor.py,将第226行改为:
    words.extend([{'word': i['text'].strip(), 'start': float(i['start']), 'end': float(i['end'])} for i in s['words']])

3. 测试代码

首先出啊给你家爱你一个interface

复制代码
import outetts
interface = outetts.Interface(
    config=outetts.ModelConfig.auto_config(
        model=outetts.Models.VERSION_1_0_SIZE_1B,
        backend=outetts.Backend.LLAMACPP,
        quantization=outetts.LlamaCppQuantization.Q8_0,      
    )
)

如果没有speaker文件,则使用语音片段新建一个:

复制代码
speaker = interface.create_speaker("2.wav",whisper_model="base")
interface.save_speaker(speaker,path="zh.json")

然后生成语音:

复制代码
from outetts import GenerationConfig
output = interface.generate(
	config=GenerationConfig(
		text="要确保回答简洁明了,不使用复杂的术语。同时,保持语气友好,让用户感到舒适",
    		speaker= interface.load_speaker("zh.json")
    	)
)
output.save("output.wav")
相关推荐
superxxd几秒前
基于rust的多平台原生GIS引擎
人工智能·物联网·实时音视频
就叫你天选之人啦2 分钟前
安装torch+vllm+flash_attn的prompt
人工智能·pytorch·python
音视频牛哥8 分钟前
从 LLM、VLA、LLA、SLIM 到实时音视频感知底座:具身智能真正需要的不只是大模型
人工智能·llm·机器人视觉·slam·vla·多模态感知·机器人音视频
code2cat17 分钟前
【随笔】从聊天到调用工具:理解MCP在AI应用中的位置
java·人工智能
东离与糖宝20 分钟前
元数据知识库
人工智能
我是小邵29 分钟前
长对话先收口:用“工作记忆 vs 长期记忆“管理 AI 上下文
人工智能·ai·llm·长期记忆·中间迷失·上下文收口
广州宏帝箱包31 分钟前
出口背包的包装有没有防潮、防摔的加固处理
大数据·人工智能
jimmyleeee32 分钟前
大模型安全之二十八:Agent 权限与策略控制:从最小权限到多层监督
人工智能·安全
仙魁XAN37 分钟前
【WorkBuddy·基础入门】第 8 篇 :从材料到汇报:用 WorkBuddy 制作第一份 PPT
人工智能·workbuddy·workbuddy 基础入门·ppt 自动生成
船厂电气自动化ai大模型1 小时前
AI大模型与数学|第81天 课程:正交向量、正交基、格拉姆‑施密特(Gram‑Schmidt)正交化
开发语言·数据结构·人工智能·线性代数·机器学习