当前位置: 首页 > news >正文

语言合成模型Spark-TTS-0.5B学习笔记

语言合成模型Spark-TTS-0.5B学习笔记

语言合成是通过计算机技术将文字信息转换为自然流畅的语音输出,模拟人类语音。

一、下载Spark-TTS-0.5B项目

下载链接: https://github.com/SparkAudio/Spark-TTS.git
注:需要科学网络。

进入Spark-TTS文件夹,启动命令行窗口。

创建 Conda 环境:

conda create -n sparktts -y python=3.12

激活虚拟环境

conda activate sparktts

安装依赖

pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com

在这里插入图片描述

显示一个报错

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
numba 0.61.0 requires numpy<2.2,>=1.24, but you have numpy 2.2.3 which is incompatible.

这是numpy版本不兼容的问题,强制安装兼容版本即可。

二、预训练模型下载

git指令下载

mkdir -p pretrained_models

# Make sure you have git-lfs installed (https://git-lfs.com)
git lfs install

git clone https://huggingface.co/SparkAudio/Spark-TTS-0.5B pretrained_models/Spark-TTS-0.5B

三、启用脚本实现语音克隆

语音克隆:根据参考声音和指定文本,生成参考声音的说话声音(内容为指定文本)。

cd example
bash infer.sh

这里的example就是项目中的example目录。
infer.sh是一个脚本。

可以通过修改脚本内的内容,来修改参考声音、指定文本、模型等等。
打开infer.sh,以下为infer.sh内容:

# Get the absolute path of the script's directory
script_dir=$(dirname "$(realpath "$0")")

# Get the root directory
root_dir=$(dirname "$script_dir")

# Set default parameters
device=0
save_dir='example/results'
model_dir="pretrained_models/Spark-TTS-0.5B"
text="身临其境,换新体验。塑造开源语音合成新范式,让智能语音更自然。"
prompt_text="吃燕窝就选燕之屋,本节目由26年专注高品质燕窝的燕之屋冠名播出。豆奶牛奶换着喝,营养更均衡,本节目由豆本豆豆奶特约播出。"
prompt_speech_path="example/prompt_audio.wav"

# Change directory to the root directory
cd "$root_dir" || exit

source sparktts/utils/parse_options.sh

# Run inference
python -m cli.inference \
    --text "${text}" \
    --device "${device}" \
    --save_dir "${save_dir}" \
    --model_dir "${model_dir}" \
    --prompt_text "${prompt_text}" \
    --prompt_speech_path "${prompt_speech_path}"
    

其中需要关注的点在于:

  1. text变量中的内容,为你想生成的声音,说的是什么内容。
  2. prompt_speech_path变量中的内容,存放的是参考音频的地址
  3. prompt_text变量是,参考音频说话的文本内容是什么。
  4. save_dir变量中的内容为最终生成的声音文件存放在什么地址。
  5. model_dir变量中的内容为使用的模型存放在什么地址。

根据自己的需求进行更改,即可很好地实现声音克隆。

相关文章:

  • Java为什么要使用线程池?
  • 【深度学习与实战】2.3、线性回归模型与梯度下降法先导案例--最小二乘法(向量形式求解)
  • 用Python和Stable Diffusion生成AI动画:从图像到视频的全流程指南
  • MYSQL基本语法使用
  • java八股文之JVM
  • 【Mysql】深入理解 MySQL 索引:原理、类型与实践
  • leetcode每日一题:酿造药水需要的最少总时间
  • Ant Design Vue 中的table表格高度塌陷,造成行与行不齐的问题
  • 测试用例生成平台通过大模型升级查询功能,生成智能测试用例
  • 为AI聊天工具添加一个知识系统 之150 设计重审 之15 完整方案及评估 之2
  • 搭建一套正版上门按摩小程序需要具备哪些功能?
  • 预编译能否 100%防 sql 注入?
  • 解锁智能制造新体验:兰亭妙微 UE/UI 设计赋能行业变革
  • How to connect Internet wifi on vmware for Win11 installation?
  • 蓝桥杯题型分布2
  • 【Gobuster 详细使用教程】
  • 力扣hot100_二分查找
  • 如何 编译 px4
  • 乐仓VUE常用点
  • 工具介绍《WireShark》
  • 金科股份:去年营收约275亿元,今年确保所有项目“零烂尾”
  • 书业观察|一本书的颜值革命:从毛边皮面到爆火的刷边书
  • 纪录电影《中国有戏:天幕计划》启动,有望太空播放
  • 洗冤录·巴县档案|道咸年间一起家暴案
  • 如何做大中国拳击产业的蛋糕?这项赛事给出办赛新思考
  • 快捷公寓单间不足5平方米?公寓方:预订平台图片只是参考,已退房款