NTTS 项目介绍
什么是NTTS?
NTTS,全称为神经语音合成(Neural Text To Speech),是一种用于生成逼真语音的库,基于Dart编程语言开发。它的独特之处在于可以无需互联网,只需依赖CPU即可运行。
项目迁移
NTTS项目已经迁移至另一个仓库,名为 AZKADEV PIPER。
项目演示
项目提供了一个视频演示,展示了NTTS的实际效果。观看视频
继续更新和功能拓展?
项目的开发者因为缺乏网络和计算资源,目前无法继续对项目进行维护和更新。如果有兴趣支持这个项目的发展,可以通过 GitHub 赞助开发者 的方式进行捐赠。
测试环境
NTTS已在以下操作系统和硬件环境下通过测试:
- Ubuntu 22.04 & 23.10,CPU为AMD RYZEN 5500U,8GB内存
- Ubuntu Server 22.04,CPU为Intel Celeron n2940,4GB内存
资源依赖
项目采用的语音模型可以从以下链接下载:TTS 英文模型。
依赖安装
要使用NTTS,你需要安装以下软件包:
sudo apt-get install espeak-ng mpv
此外,还需要手动安装特定版本的glibc:
sudo apt-get install gawk bison gcc make -y
wget -c https://ftp.gnu.org/gnu/glibc/glibc-2.33.tar.gz
tar -zxvf glibc-2.33.tar.gz && cd glibc-2.33
mkdir glibc-build && cd glibc-build
../configure --prefix=/opt/glibc
make
sudo make install
安装指南
以下是下载和安装NTTS的步骤:
# 下载模型文件
wget https://huggingface.co/rhasspy/piper-voices/resolve/main/en/en_US/libritts/high/en_US-libritts-high.onnx
wget https://huggingface.co/rhasspy/piper-voices/resolve/main/en/en_US/libritts/high/en_US-libritts-high.onnx.json
# 下载NTTS程序包
wget https://github.com/azkadev/ntts/releases/download/latest/ntts_dart.deb
# 安装NTTS
sudo dpkg --force-all -i ./ntts_dart.deb
# 尝试运行NTTS
ntts_dart -m "en_US-libritts-high.onnx" -t "Hello World"
开发与编译
要参与开发或编译NTTS库,您可以克隆项目源码并进行编译:
git clone https://github.com/azkadev/ntts_dart.git
cd ntts_dart
编译库的步骤如下:
cd native_lib
mkdir -p build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build .
Dart中使用库
在您的Dart项目中添加和导入NTTS库:
dart pub add ntts_dart
import 'package:ntts_dart/ntts_dart.dart';
快速入门
在运行之前,请确保已编译库并准备好模型:
import 'dart:io';
import 'dart:isolate';
import 'package:ntts_dart/ntts_dart.dart';
void main(List<String> arguments) async {
var res = await Isolate.run<Map>(() {
Ntts ntts = Ntts(
pathLib: "libntts.so",
);
var res = ntts.invokeRaw(
data: CreateVoice.create(
text: "Hello World",
model_path: "./path_to_model.onnx",
output_file: "./file_output.wav",
speaker_id: 0,
).toJson(),
);
return res;
});
print(res);
exit(0);
}