OpenAI-Edge-TTS:本地化 OpenAI 兼容的文本转语音 API,免费高效!

文本转语音(TTS)技术已经成为人工智能领域的重要一环,无论是语音助手、教育内容生成,还是音频文章创作,TTS 工具都能显著提高效率。今天要为大家介绍的是 OpenAI-Edge-TTS,一款基于 Microsoft Edge 在线文本转语音服务的开源项目,它提供了一个与 OpenAI API 兼容的本地 TTS 端点,让你能够通过简单的配置轻松实现文本到语音的转换,而且完全免费!


一、什么是 OpenAI-Edge-TTS?

OpenAI-Edge-TTS 是一个模拟 OpenAI TTS 端点(/v1/audio/speech)的本地服务,使用 Microsoft Edge 在线 TTS 服务来生成语音。通过这款工具,用户无需访问 OpenAI 的官方 API,只需通过本地服务器即可实现文本转语音的功能,同时还支持多种语音和音频格式选项。

项目地址:https://github.com/travisvn/openai-edge-tts

核心特点
  1. OpenAI 兼容 API
    提供 /v1/audio/speech 端点,与 OpenAI API 端点结构一致,方便用户无缝切换到本地化服务。
  2. 支持丰富的语音类型
    将 OpenAI 的语音选项(如 alloy、echo、fable 等)映射到 Edge-TTS 的等效语音,同时支持直接指定任何 Microsoft Edge-TTS 语音。
  3. 多种音频格式支持
    支持输出多种音频格式,包括 mp3、opus、aac、flac、wav 和 pcm,适配不同使用场景。
  4. 灵活调整播放速度
    支持 0.25 倍到 4.0 倍的播放速度调整,满足特殊场景需求。
  5. 免费使用
    依赖 Microsoft Edge 的在线 TTS 服务,完全免费,降低使用门槛。
  6. 多语言支持
    除英语外,还支持其他语言和地区的语音生成,如日语、中文等。

在这里插入图片描述


二、OpenAI-Edge-TTS 的主要应用场景

1. 音频内容创作

快速将文本内容转换为自然流畅的语音,适用于音频文章、播客脚本或教育视频的音频配音。

2. 开发与测试环境

为需要 OpenAI TTS 的开发者提供本地替代方案,便于开发和测试,节省调用官方 API 的成本。

3. 多语言语音输出

支持多语言生成,无论是创建本地化内容,还是测试跨语言功能,OpenAI-Edge-TTS 都能满足需求。

4. 定制化服务

通过可调的播放速度和语音类型,提供更加灵活的语音定制能力,适配特定的项目需求。


三、快速上手 OpenAI-Edge-TTS

1. 环境准备

推荐使用 Docker 部署

  • 安装 Docker 和 Docker Compose,确保运行环境就绪。

可选使用 Python 本地运行

  • 需要 Python 3.8+ 和 FFMPEG(如果需要进行音频格式转换)。

2. 部署服务

(1)使用 Docker 一键部署

  1. 克隆项目:

    git clone https://github.com/travisvn/openai-edge-tts.git
    cd openai-edge-tts
    
  2. 配置环境变量:
    在根目录创建 .env 文件,填写以下内容:

    API_KEY=your_api_key_here
    PORT=5050
    DEFAULT_VOICE=en-US-AvaNeural
    DEFAULT_RESPONSE_FORMAT=mp3
    DEFAULT_SPEED=1.0
    DEFAULT_LANGUAGE=en-US
    REQUIRE_API_KEY=True
    REMOVE_FILTER=False
    EXPAND_API=True
    

    或者直接复制默认配置:

    cp .env.example .env
    
  3. 启动服务:
    使用 Docker Compose 启动服务:

    docker compose up --build
    

    在后台运行服务:

    docker compose up -d
    

(2)使用 Python 本地运行

  1. 克隆项目并进入目录:

    git clone https://github.com/travisvn/openai-edge-tts.git
    cd openai-edge-tts
    
  2. 创建虚拟环境并安装依赖:

    python3 -m venv venv
    source venv/bin/activate  # macOS/Linux
    # 或者
    venv\Scripts\activate  # Windows
    
    pip install -r requirements.txt
    
  3. 配置环境变量(参考 .env 文件)。

  4. 启动服务:

    python app/server.py
    

3. 测试 API

服务启动后,访问 API 端点:

http://localhost:5050/v1/audio/speech
示例请求

使用 curl 将文本转化为语音并保存为 MP3 文件:

curl -X POST http://localhost:5050/v1/audio/speech \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer your_api_key_here" \
  -d '{
    "input": "Hello, I am your AI assistant!",
    "voice": "alloy",
    "response_format": "mp3",
    "speed": 1.1
  }' \
  --output speech.mp3

支持其他语言:

curl -X POST http://localhost:5050/v1/audio/speech \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer your_api_key_here" \
  -d '{
    "input": "こんにちは、私はAIアシスタントです。",
    "voice": "ja-JP-KeitaNeural"
  }' \
  --output speech.mp3

四、与官方 OpenAI TTS 的对比

功能维度OpenAI-Edge-TTSOpenAI TTS API
成本完全免费需按调用量付费
多语音支持支持 Edge-TTS 全部语音支持官方指定语音
兼容性模拟 OpenAI API 端点官方支持
扩展能力可自行扩展语音类型与功能功能固定
部署方式本地化运行,支持 Docker 部署依赖云端

五、总结:文本转语音的本地化高效方案

OpenAI-Edge-TTS 通过模拟 OpenAI TTS API,结合 Microsoft Edge 在线 TTS 服务,为开发者提供了一款免费、高效且功能丰富的文本转语音解决方案。无论是用于本地开发、测试,还是构建音频内容创作平台,这款工具都能极大降低使用成本,同时提供出色的扩展能力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/961746.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

练习(复习)

大家好,今天我们来做几道简单的选择题目来巩固一下最近学习的知识,以便我们接下来更好的学习。 这道题比较简单,我们前面学过,在Java中,一个类只能继承一个父类,但是一个父类可以有多个子类,一个…

Meta推动虚拟现实:Facebook如何进入元宇宙时代

随着科技的不断进步,虚拟现实(VR)与增强现实(AR)技术的快速发展,世界正在逐步迈向一个全新的数字时代——元宇宙。而在这个革命性的转变中,Meta(前身为Facebook)作为全球…

go gin配置air

一、依赖下载 安装最新,且在你工作区下进行安装,我的是D:/GO是我的工作区,所有项目都在目录下的src, go install github.com/air-verse/airlatest 如果出现类似报错: 将图中第三行 github.com/air-verse/air 替换最…

Spring--SpringMVC使用(接收和响应数据、RESTFul风格设计、其他扩展)

SpringMVC使用 二.SpringMVC接收数据2.1访问路径设置2.2接收参数1.param和json2.param接收数据3 路径 参数接收4.json参数接收 2.3接收cookie数据2.4接收请求头数据2.5原生api获取2.6共享域对象 三.SringMVC响应数据3.1返回json数据ResponseBodyRestController 3.2返回静态资源…

FreeRTOS的任务创建和删除

1,任务创建和删除的API函数 任务的创建和删除本质就是调用FreeRTOS的API函数 动态创建任务: 任务的任务控制块以及任务的栈空间所需的内存,均由 FreeRTOS 从 FreeRTOS 管理的堆中分配。 静态创建任务: 任务的任务控制块以及任务的…

通过Ngrok实现内网穿透助力远程开发

在现代软件开发和网络应用的环境下,开发人员常常需要在本地搭建服务器进行调试、测试或演示。然而,传统的端口映射(如使用 NAT 或 SSH 隧道)配置繁琐,且并非所有环境都允许直接暴露本地服务。ngrok 作为一款强大的隧道…

Elasticsearch的索引生命周期管理

目录 说明零、参考一、ILM的基本概念二、ILM的实践步骤Elasticsearch ILM策略中的“最小年龄”是如何计算的?如何监控和调整Elasticsearch ILM策略的性能? 1. **监控性能**使用/_cat/thread_pool API基本请求格式请求特定线程池的信息响应内容 2. **调整…

wx043基于springboot+vue+uniapp的智慧物流小程序

开发语言:Java框架:springbootuniappJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包&#…

关于使用PHP时WordPress排错——“这意味着您在wp-config.php文件中指定的用户名和密码信息不正确”的解决办法

本来是看到一位好友的自己建站,所以突发奇想,在本地装个WordPress玩玩吧,就尝试着装了一下,因为之前电脑上就有MySQL,所以在自己使用PHP建立MySQL时报错了。 最开始是我的php启动mysql时有问题,也就是启动过…

批量卸载fnm中已经安装的所有版本

直接上代码 fnm list | awk -F NR>1 {print line} {line$2} | xargs -n 1 -I {} fnm uninstall {}原理 fnm list 列出 fnm 中所有已经安装的 node 版本 awk -F NR>1 {print line} {line$2} 以空格分隔-F {line$2},取从左到右第 2 段(v22.11…

gesp(C++六级)(7)洛谷:P10376:[GESP202403 六级] 游戏

gesp(C六级)(7)洛谷:P10376:[GESP202403 六级] 游戏 题目描述 你有四个正整数 n , a , b , c n,a,b,c n,a,b,c,并准备用它们玩一个简单的小游戏。 在一轮游戏操作中,你可以选择将 n n n 减去 a a a&am…

Microsoft Visual Studio 2022 主题修改(补充)

Microsoft Visual Studio 2022 透明背景修改这方面已经有很多佬介绍过了,今天闲来无事就补充几点细节。 具体的修改可以参考:Microsoft Visual Studio 2022 透明背景修改(快捷方法)_material studio怎么把背景弄成透明-CSDN博客文…

新时代架构SpringBoot+Vue的理解(含axios/ajax)

文章目录 引言SpringBootThymeleafVueSpringBootSpringBootVue(前端)axios/ajaxVue作用响应式动态绑定单页面应用SPA前端路由 前端路由URL和后端API URL的区别前端路由的数据从哪里来的 Vue和只用三件套axios区别 关于地址栏url和axios请求不一致VueJSPS…

【教学类-89-01】20250127新年篇01—— 蛇年红包(WORD模版)

祈愿在2025蛇年里, 伟大的祖国风调雨顺、国泰民安、每个人齐心协力,共同经历这百年未有之大变局时代(国际政治、AI技术……) 祝福亲友同事孩子们平安健康(安全、安全、安全)、巳巳如意! 背景需…

用XAMPP安装PHP环境(Window系统)

视频教程 BV1jA411v791 进入XAMPP官网 Download XAMPP 找到最新版本,64位的下载,一路安装,语言只有英语德语两个(不会德语) 安装好以后启动软件,点Apache,MySql,start 在C:\xampp\…

并发编程 - 线程同步(二)

经过前面对线程同步初步了解,相信大家对线程同步已经有了整体概念,今天我们就来一起看看线程同步的具体方案。 01、ThreadStatic 严格意义上来说这两个并不是实现线程同步方案,而是解决多线程资源安全问题,而我们研究线程同步最终…

回顾:Maven的环境搭建

1、下载apache-maven-3.6.0 **网址:**http://maven.apache.org 然后解压到指定的文件夹(记住文件路径) 2、配置Maven环境 复制bin文件夹 的路径D:\JavaTool\apache-maven-3.6.0\bin 环境配置成功 3、检查是否配置成功 winR 输入cmd 命令行输入mvn -v…

DRF开发避坑指南01

在当今快速发展的Web开发领域,Django REST Framework(DRF)以其强大的功能和灵活性成为了众多开发者的首选。然而,错误的使用方法不仅会导致项目进度延误,还可能影响性能和安全性。本文将从我个人本身遇到的相关坑来给大…

DeepSeek R1:中国AI黑马的崛起与挑战

文章目录 技术突破:从零开始的推理能力进化DeepSeek R1-Zero:纯RL训练的“自我觉醒”DeepSeek R1:冷启动与多阶段训练的平衡之道 实验验证:推理能力的全方位跃升基准测试:超越顶尖闭源模型蒸馏技术:小模型的…

电路研究9.2.4——合宙Air780EP中MQTT 相关命令使用方法研究

之前研究了FTP命令,这次研究一下MQTT命令了。 16.14 使用方法举例 9.5.3 MQTT 应用指南 4G 模块支持 MQTT 和 MQTT SSl 协议, MQTT 应用的基本流程如下: 1、如果要支持 SSL,配置 SSL 参数2、通过 TCP 连接到 MQTT 服务器 3、发送 …