Docker部署文本转语音工具Text-To-Speech

引言

OpenAI的文本转语音(Text-to-Speech,简称TTS)技术是一种先进的人工智能应用,它能够将文本转换为自然听起来的语音。这项技术基于深度学习和神经网络模型,能够模仿人类语音的各种特性,包括语调、节奏和情感。OpenAI的TTS技术主要有以下几个特点:

  • 高质量语音合成:
    OpenAI的TTS能够生成接近真人的语音,具有很高的自然度和可听性。

  • 多种语音选项:
    通常提供多种预设声音,用户可以根据需求选择不同的声音和风格。

  • 实时应用优化:
    某些模型变体(如tts-1)针对实时应用进行了优化,适用于需要快速响应的场景。

  • 高清晰度选项:
    例如tts-1-hd模型,专为高质量声音输出设计,适合对音质要求较高的应用场景。

  • 灵活性和易用性:
    通过API提供服务,可以轻松集成到各种应用程序中,包括客户服务系统、数字助手、内容朗读工具等。

  • 支持流式传输:
    允许音频文件分块传输,适用于长文本或实时音频流。

  • 成本效率:
    按使用量收费,每1000个输入字符大约0.015美元(大约相当于500个汉字话费0.1元人民币),使其适用于不同规模的项目和企业。

OpenAI的TTS技术广泛应用于各种领域,如自动客服电话系统、语音助手、电子书阅读、语言学习软件等。通过提供更加自然和流畅的语音体验,该技术正改变着人们与机器交互的方式。

支持的语言

TTS模型在语言支持方面总体上遵循Whisper模型。尽管当前语音针对英语进行了优化,但Whisper支持以下语言并且表现良好:

南非荷兰语、阿拉伯语、亚美尼亚语、阿塞拜疆语、白俄罗斯语、波斯尼亚语、保加利亚语、加泰罗尼亚语、中文、克罗地亚语、捷克语、丹麦语、荷兰语、英语、爱沙尼亚语、芬兰语、法语、加利西亚语、德语、希腊语、希伯来语、印地语、匈牙利语、冰岛语、印度尼西亚语、意大利语、日语、卡纳达语、哈萨克语、韩语、拉脱维亚语、立陶宛语、马其顿语、马来语、马拉地语、毛利语、尼泊尔语、挪威语、波斯语、波兰语、葡萄牙语、罗马尼亚语、俄语、塞尔维亚语、斯洛伐克语、斯洛文尼亚语、西班牙语、斯瓦希里语、瑞典语、他加禄语、泰米尔语、泰语、土耳其语、乌克兰语、乌尔都语、越南语和威尔士语。

您可以通过以您选择的语言提供输入文本来生成这些语言的口语音频。

示例截图

image-20240515223049061

安装步骤

1、准备条件

1)一台服务器(X86架构这个docker镜像不支持arm架构)
需要便宜VPS的可以找 racknerdvultr
2)一个OpenAI账号
用来获取免费的API
https://platform.openai.com/api-keys

image-20240515225743711

2、Docker环境部署

在vps安装docker和docker-compose,在这里就不再重复了,需要的参考以下文档:
Docker官方安装文档(英文):Get Docker | Docker Docs

使用root身份登录vps,执行以下命令安装docker软件

# docker安装脚本
bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/DockerInstallation.sh)

# docker-compose安装脚本
curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose

3、创建docker-compose.yml文件

创建软件安装的compose文件

# 创建一个目录,并进入此目录
mkdir openai-tts;cd openai-tts
vim docker-compose.yml
version: '3.8'
services:
tts-service:
image: registry.hf.space/ysharma-openai-tts-new:latest
platform: linux/amd64
command: python app.py
ports:
- "7860:7860" #:左侧的端口可以自定义
stdin_open: true
tty: true

4、执行容器运行命令

# 运行容器
docker-compose up -d
# 查看是否开启成功
docker-compose ps

正常启动见如下所示

          Name                Command      State                    Ports                  
-------------------------------------------------------------------------------------------
openai-tts_tts-service_1 python app.py Up 0.0.0.0:7860->7860/tcp,:::7860->7860/tcp

5、开web页面使用

成功以后需要打开自己相应的端口防火墙就可以web端访问了

http://vpsip:7860 #打开自己VPS的端口加ip进入web页面

6、更新软件版本

# 进入项目目录
cd openai-tts
# 停止容器
docker-compose down
# 拉取最新镜像
docker-compose pull
# 启动新容器
docker-compose up -d

绑定域名

绑定域名可以参考使用 NginxProxyManager 一体化的集成教程,或单独安装Nginx进行代理,这里就不再描述了。