首页 > 其他分享 >用edge_tts和Flask写一个语音生成接口

用edge_tts和Flask写一个语音生成接口

时间:2024-04-23 16:14:09浏览次数:16  
标签:__ tts timestamp filename Flask edge audio data

1、安装Flask和edge_tts

pip install edge-tts

pip install flask[async]

2、接口调用用application/json,POST参数:例子

{"text":"现在是11:30分=,小爱提醒您,现在要出发了,请注意时间","lang":"zh-CN-YunxiNeural"}

3、完整代码

from flask import Flask, request
import edge_tts
import os
import time


app = Flask(__name__)

@app.route('/generate-audio', methods=['POST'])
async def generate_audio():
    data = request.json
    text = data['text']
    lang = data.get('lang', 'zh-CN-XiaoyiNeural')
    speed = data.get('speed', '-4%')
    volume = data.get('volume', '+0%')
    timestamp = int(time.time())
    
    audio_data = edge_tts.Communicate(text, voice=lang, rate=speed, volume=volume)
    filename = f".\mp3\{timestamp}.mp3"
    await audio_data.save(filename)

    return {'filename': f"{timestamp}.mp3"}

@app.route('/download-audio/<filename>', methods=['GET'])
def download_audio(filename):
    file_path = f".\mp3\{filename}"
    if os.path.exists(file_path):
        return send_file(file_path, as_attachment=True, attachment_filename=file_path)
    else:
        return {'error': 'File not found'}

@app.route('/delete-audio/<filename>', methods=['GET'])
def delete_audio(filename):
    timestamp=f".\mp3\{filename}"
    print(timestamp)
    if os.path.exists(timestamp):
        os.remove(timestamp)
        return {'message': f'{filename} has been deleted'}
    else:
        return {'message': 'File not found'}

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=7860)

 

标签:__,tts,timestamp,filename,Flask,edge,audio,data
From: https://www.cnblogs.com/zhangzhijian/p/18153068

相关文章

  • Flask基本用法
    Flask基本结构#引入Flask包,使得我们可以创建Flask应用实例fromflaskimportFlask#创建一个Flask应用实例。`__name__`是Python内置变量,它表示当前模块的名称。#在这里,`__name__`被传递给Flask构造函数,用于确定应用程序的基本目录(如静态文件和模板的查找路径),尤其是在......
  • 卸载Microsoft EdgeWebView2
    电脑有些年头了最近感觉有点卡,打开任务管理器发现EdgeWebView2占用了不少内存,我就想把它卸掉行不行,打开“应用和功能”发现微软把卸载都给禁止了,找了一圈找到一个方法记录如下系统信息如下版本Windows10专业版版本号 22H2安装日期 ‎2020/‎10/‎15操作系统内部版本 19045.42......
  • Flask环境搭建
    下载并安装pthon3.7.4按下win+r,输入sysdm.cpl,高级——》环境变量——》path——》编辑——》将Python目录和Python里的scripts目录添加并置顶创建.env文件夹在工作文件夹内创建env文件夹env文件夹通常用于存放环境变量配置。在工作文件夹内创建env文件夹,以我的项目为......
  • 关于Windows 10 LTSC 2019无法安装Edge的解决方案
    最近新换了Windows10LTSC2019系统,使用体验干净且流畅,但是在更新Edge时遇到了问题:系统内装的是9x版本的Edge浏览器,并且提示更新错误,有systemlevel方面的问题,查询多方后,最终在MicrosoftCommunity中找到了解决方案,在任意地方创建一个名为edge.reg的注册表文件,具体名称随意,然后用......
  • Flask数据交互
    1)使用flask处理表单传统的前端通用表单,需要前后端共同完成操作,前端需要使用form标签来定义表单,而后端则需要使用request.form来获取post请求中的表单数据:#判断请求方式ifrequest.method=='POST': #获取表单中name为username的文本域提交的数据 name=request.form.get('user......
  • Flask框架基础入门
    Flask是一个非常小的PythonWeb框架,被称为微型框架;只提供了一个稳健的核心,其他功能全部是通过扩展实现的;意思就是我们可以根据项目的需要量身定制,也意味着我们需要学习各种扩展库的使用。1)路由route的创建通过创建路由并关联函数,实现一个基本的网页:fromflaskimportFlask#用当......
  • Java+Selenium+edge自动化测试环境搭建
    查看edge版本:​​下载edge驱动:MicrosoftEdgeWebDriver|MicrosoftEdge开发人员​​在官网下载依赖包:Downloads|Selenium​​​​安装edge扩展:​​​​解压下载到的jar到一个文件夹,添加jar包:​​写一个自动化测试类:importorg.openqa.selenium.edge.EdgeDriv......
  • 记录:Flask 框架中,g对象的生命周期
    在Flask框架中,g对象是一个特殊的全局对象,它的设计目的是为了在不同的请求处理函数之间共享数据,但不需要将数据存储在session或数据库中。g对象的生命周期与当前的请求/响应周期紧密相关。以下是g对象生命周期的要点:创建:当一个请求到达Flask应用时,g对象会被创建并初始......
  • Flask路由和蓝图
    Flask路由和蓝图目录Flask路由和蓝图路由定义查看路由信息url_map对象路径参数设置和获取add_url_rule的参数执行流程分析重定向蓝图概述基本使用内部静态文件内部模板目录参考资料路由定义在Flask中,路由用于将HTTP请求与特定的Python函数相匹配。通过定义路由,Flask应用程序可......
  • Flask请求和响应
    Flask请求和响应目录Flask请求和响应flask请求对象request参数args-Get参数获取form-POST请求参数JSONrequest.values路径属性路由转化器自定义转换器flask响应返回返回json自定义响应对象重定向Cookies对象Cookie的特点Session会话对象Session的特点参考资料flask请求对象使用......