人工智能应用(一)使用 Spark-TTS 生成语音

Spark-TTS 是一款由多所高校与企业联合开源的文本转语音模型,支持中英文双语的TTS。 相比传统AI语音,它更自然、更可控,且支持低配电脑CPU推理。

安装 Spark-TTS

Spark-TTS 支持 Mac、Windows。Mac 的安装教程为 Mac 的安装流程,Windows 的安装流程为 Windows 的安装流程。这里以 windows 的安装流程为例:

安装 Conda

Conda 是一个开源的包管理和环境管理工具,用于安装和管理 Spark-TTS-0.5B 的依赖项。下载地址为 Anaconda Documentation - Anaconda,下载完成后,双击安装程序(.exe 文件),按照安装向导的提示进行操作,在安装过程中务必勾选 "Add Conda to PATH" 选项,这样才能在命令提示符中方便地使用 Conda。安装完成后,打开命令提示符,输入conda --version,若显示版本号,则说明安装成功。

下载 Spark-TTS 项目文件

有两种方式下载 Spark-TTS 项目文件,一种是使用 git 下载。代码示例如下:

bash 复制代码
git clone https://github.com/SparkAudio/Spark-TTS.git

第二种是下载项目的 zip 包,然后解压缩。

创建 Conda 环境

进入 Spark-TTS 项目文件夹,打开命令提示符,运行 conda create -n sparktts -y python=3.12,这将创建一个名为sparktts的 Conda 环境,并安装 Python 3.12 版本。创建完成后,运行conda activate sparktts激活该环境,此时命令提示符的前缀会变为(sparktts),表示你已成功进入该环境。

安装依赖项

在 Spark-TTS 项目文件夹中,使用命令行运行 pip install -r requirements.txt,该命令会自动安装项目所需的各种依赖项,如 torch、torchvision、torchaudio 等

安装 PyTorch

PyTorch 是由 Facebook 于 2016 年发布的开源深度学习框架,专门用于机器学习和深度学习。Spark-TTS-0.5B 是基于 PyTorch 开发的,所以需要安装 PyTorch。

在 Spark-TTS 项目文件夹中,运行pip install torch torchvision torchaudio --index-url https://pytorch.org/get-started/previous-versions/,PyTorch 会根据你的系统配置自动检测并安装合适的 CUDA 版本(如果你的机器支持 CUDA)。

若安装过程中出现问题,或者你的机器没有 GPU 卡,需要切换为 CPU 模式,可访问 https://pytorch.org/get-started/previous-versions/ ,根据自己机器的实际情况选择合适的安装命令。

下载模型

获取 Spark-TTS-0.5B 模型文件有两种方式。一是使用 Python 代码下载,在 Spark-TTS 项目文件夹中创建一个名为download_model.py的新文件,将以下代码粘贴到其中:

python 复制代码
from huggingface_hub import snapshot_download
import os

# Set download path
model_dir = "pretrained_models/Spark-TTS-0.5B"

# Check if model already exists
if os.path.exists(model_dir) and len(os.listdir(model_dir)) > 0:
    print("Model files already exist. Skipping download.")
else:
    print("Downloading model files...")
    snapshot_download(
        repo_id="SparkAudio/Spark-TTS-0.5B",
        local_dir=model_dir,
        resume_download=True  # Resumes partial downloads
    )
    print("Download complete!")

然后运行 python download_model.py即可开始下载模型文件。

其次是使用 Git 下载(前提是已安装 Git 和 git-lfs),运行 mkdir -p pretrained_models创建模型文件存放目录,再运行git lfs install安装 git-lfs,最后运行git clone https://huggingface.co/SparkAudio/Spark-TTS-0.5B pretrained_models/Spark-TTS-0.5B下载模型文件。

使用

WebUI 使用

运行 python webui.py 会启动本地的TTS服务,启动完成后可以http://localhost:7860/来访问 Web UI,如下图所示:

命令行使用

命令行使用方式:进入example目录,运行bash infer.sh可以进行简单的语音合成演示。也可以直接在命令行中进行推理,使用以下命令:

css 复制代码
python -m cli.inference \​
    --text "要合成的文本内容" \​
    --device 0 \​
    --save_dir "音频保存路径" \​
    --model_dir pretrained_models/Spark-TTS-0.5B \​
    --prompt_text "参考音频的文本转录内容" \​
    --prompt_speech_path "参考音频路径"​​

其中,--text指定要合成语音的文本内容;--device指定使用的设备,0 表示使用第一块 GPU,若没有 GPU 可改为cpu;--save_dir指定合成音频的保存路径;--model_dir指定模型文件所在目录;--prompt_text和--prompt_speech_path用于零样本语音克隆,分别指定参考音频的文本转录内容和参考音频路径。例如,运行以下命令可以将 "你好,欢迎使用 Spark-TTS-0.5B!" 合成为语音并保存到output目录下:​

css 复制代码
python -m cli.inference \​
    --text "你好,欢迎使用Spark-TTS-0.5B!" \​
    --device 0 \​
    --save_dir "output" \​
    --model_dir pretrained_models/Spark-TTS-0.5B \​
    --prompt_text "" \​
    --prompt_speech_path ""​​

参考

相关推荐
jndingxin1 小时前
OpenCV CUDA模块设备层-----高效地计算两个 uint 类型值的带权重平均值
人工智能·opencv·计算机视觉
Sweet锦1 小时前
零基础保姆级本地化部署文心大模型4.5开源系列
人工智能·语言模型·文心一言
hie988942 小时前
MATLAB锂离子电池伪二维(P2D)模型实现
人工智能·算法·matlab
晨同学03272 小时前
opencv的颜色通道问题 & rgb & bgr
人工智能·opencv·计算机视觉
蓝婷儿2 小时前
Python 机器学习核心入门与实战进阶 Day 3 - 决策树 & 随机森林模型实战
人工智能·python·机器学习
大千AI助手2 小时前
PageRank:互联网的马尔可夫链平衡态
人工智能·机器学习·贝叶斯·mc·pagerank·条件概率·马尔科夫链
小和尚同志3 小时前
Cline | Cline + Grok3 免费 AI 编程新体验
人工智能·aigc
我就是全世界3 小时前
TensorRT-LLM:大模型推理加速的核心技术与实践优势
人工智能·机器学习·性能优化·大模型·tensorrt-llm
.30-06Springfield3 小时前
决策树(Decision tree)算法详解(ID3、C4.5、CART)
人工智能·python·算法·决策树·机器学习
我不是哆啦A梦3 小时前
破解风电运维“百模大战”困局,机械版ChatGPT诞生?
运维·人工智能·python·算法·chatgpt