首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

如何调用openai的TTS模型

编程知识
2024年09月04日 20:22

这是24年1月份写的了,调用代码大概率有变动,仅供参考。

1 什么是OpenAI的TTS模型

OpenAI的TTS模型是一种文本到语音(Text-to-Speech)模型,它可以将给定的文本转换为自然语音音频。TTS代表Text-to-Speech,是一种人工智能技术,它使计算机能够模拟自然语言的声音,从而实现文本的朗读。

在OpenAI的TTS模型中,用户可以选择不同的声音(Voice)和模型类型(Model),以定制生成语音的效果。声音可以是男声或女声,而模型类型可以选择不同的版本,如"tts-1"或"tts-1-hd",以满足不同的需求。

  1. "tts-1":

    • "tts-1"是OpenAI TTS的基本版本。
    • 相对较小的模型,适用于一般的文本到语音转换任务。
    • 生成的语音质量较好,但可能在某些情况下缺少一些细节。
  2. "tts-1-hd":

    • "tts-1-hd"是"tts-1"的高清版本,具有更高的模型容量和更多的参数。
    • 更大的模型容量通常意味着能够更好地捕捉文本中的复杂结构和音频细节。
    • 适用于对语音质量有更高要求的场景,如音频合成、语音应用等。

选择使用哪个版本通常取决于任务的要求和对语音质量的期望。如果对生成语音的质量要求较高,可能会选择使用"tts-1-hd",而对于一般应用,"tts-1"也提供了良好的性能。在实际使用中,可以尝试两个版本并比较它们在特定任务上的效果。

2 api收费情况

  • $0.015/0.03 per 1,000 input characters,即1000字符0.015美元。

3 如何使用OpenAI的TTS模型

使用OpenAI的TTS模型需要通过API进行调用。以下是使用OpenAI的TTS模型的基本步骤:
该库需要在全局魔法上网环境下使用,若出现connect error类报错,就是节点问题

3.1 步骤:

3.1.1 获取OpenAI API密钥

在使用TTS模型之前,需要获得OpenAI的API密钥。API密钥是用于身份验证的关键信息。具体获取方式请自行查阅。

3.1.2 安装OpenAI Python库

使用Python脚本调用OpenAI的API,需要安装OpenAI的Python库。可以使用以下命令进行安装:

pip install openai
pip install openai -i https://pypi.tuna.tsinghua.edu.cn/simple  # 清华镜像安装,二者任选其一即可。

3.1.3 编写Python脚本

编写Python脚本,导入所需的库(如openaipathlib等),并配置OpenAI的API密钥。

from pathlib import Path
from openai import OpenAI  # 要求openai库版本1.0以上

# 配置OpenAI的API密钥
client = OpenAI(api_key="your_api_key")

# 设置文件路径
speech_file_path = Path(__file__).parent / "speech.mp3"  

3.1.4 使用TTS模型生成语音

在脚本中调用OpenAI的TTS模型,指定模型类型、声音类型和输入文本,然后将生成的语音保存到文件。

# 调用OpenAI的TTS模型
response = client.audio.speech.create(
    model="tts-1-hd", # 模型选择
    voice="echo",  # 不同语音模式选择
    input="你好,世界!"  # 生成内容选择
)

# 将生成的语音保存到文件
response.stream_to_file(speech_file_path)

3.1.5 不同的语音模式(voice option)

ChatGPT 在OpenAI的TTS-1模型中,Alloy、Echo、Fable、Onyx、Nova和Shimmer代表不同的语音模式或声音类型。每种语音模式都具有独特的音质、音调和语音特点。以下是对这六种语音模式的简要介绍:

  1. Alloy(合金):

    • Alloy 是一种女声语音模式。
    • 声音可能具有音乐感,适用于一般性的语音合成任务。
  2. Echo(回声):

    • Echo 是一种男声语音模式。
    • 可能具有较深的音调,适用于需要男声的场景。
  3. Fable(寓言):

    • Fable 是一种语音模式,具有独特的声音特点。
    • 可能呈现出富有魅力和讲故事感的音质。
  4. Onyx(黑玛瑙):

    • Onyx 是一种语音模式,可能具有深沉和富有表现力的音质。
    • 适用于需要更加庄重和深情的场景。
  5. Nova(新星):

    • Nova 是一种语音模式,可能呈现出明亮、清晰和生动的音质。
    • 适用于需要更加活泼和清晰的语音的场景。
  6. Shimmer(闪光):

    • Shimmer 是一种语音模式,可能具有更加明亮和闪耀的音质。
    • 适用于需要更加活泼和轻松的场景。

3.1.6 配置

3.1.6.1 法一 配置代理后,再开代理软件

  • _base_client.py ps:这个文件我忘了在哪了,应该在opneai这个包里。
    • image.png
proxies = {
    'http://':'http://127.0.0.1:端口',
    'https://': 'http://127.0.0.1:端口'
}

3.1.6.2 法二 开全局代理(必须是tun模式,i.e 改网卡的那种)

3.1.7 运行脚本

运行编写好的Python脚本,根据需要提供相应的命令行参数,如API密钥、模型类型、声音类型和输入文本。
也可以在ide中直接运行,不用按照如下方式

python your_script.py --api_key="your_api_key" --model="tts-1-hd" --voice="echo" --input_text="你好,世界!"

3.1.8 完整代码

from pathlib import Path
from openai import OpenAI
client = OpenAI(api_key="your_api_key")  # 此处属于你的api

speech_file_path = Path(__file__).parent / "speech.mp3"  # 设置文件路径
response = client.audio.speech.create(
  model="tts-1",
  voice="alloy",
  input="Today is a wonderful day to build something people love!"
)  # 生成的文本内容,支持中文

response.stream_to_file(speech_file_path)
From:https://www.cnblogs.com/DanielSong/p/18397362
本文地址: http://www.shuzixingkong.net/article/1738
0评论
提交 加载更多评论
其他文章 每天5分钟复习OpenStack(十五)Ceph与Bcache结合
上一章我们成功部署了bcache,这一章我们将Ceph与Bcache结合来使用,使用Bcache来为ceph的数据盘提速。 1 ceph 架构 一个标准的ceph集群可能是如下的架构,SSD/NVME 存储元数据,而SATA盘存储数据。这样的架构下,物理介质的SATA盘读写速率上限决定了存储集群Ce
每天5分钟复习OpenStack(十五)Ceph与Bcache结合 每天5分钟复习OpenStack(十五)Ceph与Bcache结合 每天5分钟复习OpenStack(十五)Ceph与Bcache结合
【Azure Policy】使用deployIfNotExists 把 Azure Activity logs 导出保存在Storage Account
问题描述 使用Azure Policy,对订阅下的全部Activity Log配置Diagnostic Setting,要求: 在Subscription或Management Group级别,针对未启用Activity Log功能的订阅,启用Activity Log功能; 对已经启用了Activi
【Azure Policy】使用deployIfNotExists 把 Azure Activity logs 导出保存在Storage Account 【Azure Policy】使用deployIfNotExists 把 Azure Activity logs 导出保存在Storage Account 【Azure Policy】使用deployIfNotExists 把 Azure Activity logs 导出保存在Storage Account
一个开源、跨平台的.NET UI框架 - Avalonia UI
前言 今天大姚给大家分享一个开源、免费(MIT License)、跨平台的.NET UI框架:Avalonia UI。 Avalonia是一个成熟稳定的平台,用于构建桌面、嵌入式、移动的和Web应用程序。一个代码库,无限可能!!! 项目介绍 Avalonia是一个强大的框架,使开发人员能够使用.NE
一个开源、跨平台的.NET UI框架 - Avalonia UI 一个开源、跨平台的.NET UI框架 - Avalonia UI 一个开源、跨平台的.NET UI框架 - Avalonia UI
C# WebSocket高并发通信阻塞问题
项目上遇到使用WebSocket超时问题,具体情况是这样的,OTA升级过程中,解压zip文件会有解压进度事件,将解压进度通过进程通信传给另一进程,通信提示超时异常 小伙伴堂园发现大文件使用Zip解压,解压进度事件间隔竟然是1ms,简直超大频率啊 但是,解压事件超频也不应该通信异常啊,于是我通过1ms
C# WebSocket高并发通信阻塞问题 C# WebSocket高并发通信阻塞问题 C# WebSocket高并发通信阻塞问题
C#自定义控件—仪表盘
C#用户控件之仪表盘 如何让温度、湿度、压力等有量程的监控值如仪表盘(DashBoard)一样显示? 思路(GDI绘图): 定义属性:(仪表盘的半径、颜色、间隙;刻度圆的半径、颜色、字体;指针的颜色、占比;文本的字体、占比;) 绘制图形:(半圆、刻度、指针、中心、文本) 定义属性(将以上属性挨个敲完
C#自定义控件—仪表盘 C#自定义控件—仪表盘 C#自定义控件—仪表盘
代码整洁之道--读书笔记(1)
代码整洁之道 简介: 本书是编程大师“Bob 大叔”40余年编程生涯的心得体会的总结,讲解要成为真正专业的程序员需要具备什么样的态度,需要遵循什么样的原则,需要采取什么样的行动。作者以自己以及身边的同事走过的弯路、犯过的错误为例,意在为后来者引路,助其职业生涯迈上更高台阶。 本书适合所有程序员阅读,
代码整洁之道--读书笔记(1)
基于 GoFrame 框架的 Go 项目打包成镜像,并上传至 Harbor 镜像库
〇、前言 在云服务时代最流行的部署方式就是容器部署,这也是最推荐的部署方式。 对于 GoFrame 框架就不多介绍了,直接来初始化一个 demo,备用。 // 初始化一个项目:gf-demo gf init gf-demo -u // -u 参数,是否将现有 goframe 框架更新为最新版本 //
基于 GoFrame 框架的 Go 项目打包成镜像,并上传至 Harbor 镜像库 基于 GoFrame 框架的 Go 项目打包成镜像,并上传至 Harbor 镜像库 基于 GoFrame 框架的 Go 项目打包成镜像,并上传至 Harbor 镜像库
全网最适合入门的面向对象编程教程:45 Python 实现常见数据结构-链表、树、哈希表、图和堆
数据结构是计算机科学中的一种组织和存储数据的方式,它决定了数据的访问方式和操作效率,数据结构的选择和实现对程序的性能和设计至关重要。本文主要讲述了如何使用Python语言和内置库实现常见数据结构。
全网最适合入门的面向对象编程教程:45 Python 实现常见数据结构-链表、树、哈希表、图和堆 全网最适合入门的面向对象编程教程:45 Python 实现常见数据结构-链表、树、哈希表、图和堆 全网最适合入门的面向对象编程教程:45 Python 实现常见数据结构-链表、树、哈希表、图和堆