人工智能应用(一)使用 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 ""​​

参考

相关推荐
小鸡吃米…1 小时前
机器学习 - K - 中心聚类
人工智能·机器学习·聚类
好奇龙猫2 小时前
【AI学习-comfyUI学习-第三十节-第三十一节-FLUX-SD放大工作流+FLUX图生图工作流-各个部分学习】
人工智能·学习
沈浩(种子思维作者)2 小时前
真的能精准医疗吗?癌症能提前发现吗?
人工智能·python·网络安全·健康医疗·量子计算
minhuan2 小时前
大模型应用:大模型越大越好?模型参数量与效果的边际效益分析.51
人工智能·大模型参数评估·边际效益分析·大模型参数选择
Cherry的跨界思维2 小时前
28、AI测试环境搭建与全栈工具实战:从本地到云平台的完整指南
java·人工智能·vue3·ai测试·ai全栈·测试全栈·ai测试全栈
MM_MS2 小时前
Halcon变量控制类型、数据类型转换、字符串格式化、元组操作
开发语言·人工智能·深度学习·算法·目标检测·计算机视觉·视觉检测
ASF1231415sd3 小时前
【基于YOLOv10n-CSP-PTB的大豆花朵检测与识别系统详解】
人工智能·yolo·目标跟踪
水如烟3 小时前
孤能子视角:“意识“的阶段性回顾,“感质“假说
人工智能
Carl_奕然3 小时前
【数据挖掘】数据挖掘必会技能之:A/B测试
人工智能·python·数据挖掘·数据分析
旅途中的宽~3 小时前
《European Radiology》:2024血管瘤分割—基于MRI T1序列的分割算法
人工智能·计算机视觉·mri·sci一区top·血管瘤·t1