基于python文案转语音并输出-自媒体等职业副业均可使用,不受他人限制

news2024/9/25 17:20:57

开发背景:
目前自媒体比较火爆,有很多书单、视频等推广方式可以作为副业盈利,之前每次搞的时候都需要不停的网上找一些在线文字转语音的平台将文案复制上去然后生成下载,好多还是付费的,挺无奈的,然后就想着自己能不能搞,然后的然后就有了下面的东西,
如果大家有此类需要,但是又不想运行代码及环境,请在该博客下回复 邮箱+文案,我生成后会单独发送到对应邮箱

先看效果:
在这里插入图片描述

# -*- coding: utf-8 -*-
import asyncio
import os
from edge_tts import Communicate
import time
# 调用合并视频和音频的函数
import mergeVideoAndVoice
from tqdm import tqdm  # 引入 tqdm 库用于显示进度条
#检测输入值
def get_non_empty_input(prompt):
    """
    获取用户输入的非空字符串,若输入为空则提示用户重新输入。
    """
    while True:
        value = input(prompt).strip()
        if value:
            return value
        else:
            print("输入不能为空,请重新输入。")
#文字转语音方法
async def text_to_speech(text, title, voice, voice_dir):
    try:
        beginTime = time.time()
        communicate = Communicate(text, voice)
        endTime = time.time()
        temp_audio_file = os.path.join(voice_dir, f"{title}.mp3.temp")
        # 计算耗时
        elapsedTime = endTime - beginTime
        # 打印耗时
        print(f"耗时: {elapsedTime} 秒")
        #进度条开始前记录下时间
        beginProceTime = time.time()
        formatted_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(beginProceTime))
        print(f"进度条开始: {formatted_time}")
        # 使用 tqdm 创建进度条
        with tqdm(total=100, desc="音频生成进度") as pbar:
            # 运行并等待语音合成完成并保存到临时文件
            await communicate.save(temp_audio_file)
            # 模拟进度更新
            for i in range(100):
                await asyncio.sleep(0.1)  # 模拟耗时操作
                pbar.update(1)
                # print(f"当前进度:{i}")
                if i == 99:
                    endProceTime = time.time()
                    formatted_time_end = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(endProceTime))
                    print(f"进度条结束: {formatted_time_end} 秒")
                    proceTime = endProceTime - beginProceTime
                    print(f"总耗时: {proceTime} 秒")

        final_audio_file = os.path.join(voice_dir, f"{title}.mp3")
        os.rename(temp_audio_file, final_audio_file)
        return final_audio_file
    except Exception as e:
        # 处理异常
        print(f"生成音频文件时发生错误: {e}")
        return None

async def main(videoRealPath, videoRealName, text):
    isNeedInput = get_non_empty_input("请确认音频保存路径是否需要输入 Y:需要 N:不需要 (不需要输入请确认脚本路径配置正确):  ")
    print("视频完整路径:" + videoRealPath + " 视频名称:" + videoRealName + "

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

文心智能体-梦想目标实现助手-实现你的老板梦

前言: 其实我从小就很羡慕小说里面的男主,从家境贫寒到后面成为天之骄子,在一路上都有很多好的机遇和贵人。用今天的话来说,男主好像都有一个“系统”,毫不意外,我也有这样的武侠梦,金庸的小说更…

波导阵列天线学习笔记6 用于K和Ka频段卫星通信的超宽带双圆极化波导阵列天线

摘要: 在本文中,设计了一种用于K和Ka双频段的宽带双圆极化波导天线阵列。一种多级方波导结构被利用(exploited)在辐射层内来实现双极化响应的激励。一种脊波导极化器被集成在内来实现左旋圆极化和右旋圆极化。为了馈网的更好设计,…

qtlinux

filezilla传 白色 权限不够 chmod x ./运行 source路径 qmake make 55可执行文件 nfs拷贝到开发版 ./运行 make j 核数 (加速编译过程)

【精选】推荐4款写作效率翻倍的AI论文写作助手

在当前的学术研究和写作领域,AI论文写作助手已经成为提高写作效率和质量的重要工具。这些工具利用先进的自然语言处理和机器学习技术,帮助研究人员和学生快速生成论文草稿、优化内容、进行查重和排版等操作。以下是四款高效且广受好评的AI论文写作助手&a…

迎来“成人礼”的良品铺子,蜕变了吗?

成立18年的良品铺子,正在迎来一场“成人礼”。 在这一关键节点,“苦”可能是其最先品尝到的味道。据良品铺子近日发布的财报,2024年上半年,公司实现营业收入38.86亿元,同比下滑2.52%;归属于上市公司股东的…

python脚本如何用sleep

Python 编程中使用 time 模块可以让程序休眠&#xff0c;具体方法是time.sleep(秒数)&#xff0c;其中“秒数”以秒为单位&#xff0c;可以是小数&#xff0c;0.1秒则代表休眠100毫秒。 代码如下&#xff1a; # 例1&#xff1a;循环输出休眠1秒 import time i 1 while i <…

Linux Debian12安装flameshot火焰截图工具

一、Linux Debian12安装flameshot 打开终端&#xff0c;运行&#xff1a; sudo apt install flameshot安装成功后&#xff0c;使用下面命令查看帮助信息&#xff1a; flameshot -h其中flameshot launcher命令可以打开启动器。 二、使用flameshot截图方法 打开终端&#x…

记录使用DevExpress的过程遇到问题

vs 2022 版本 DevExpress 版本 24.1 先参考这个网站去下载DevExpress和PatchDevExpress 24.1 版本使用 barManager1 使用过程&#xff1a; 1.菜单栏 默认经典样式 &#xff1a; 1.1 添加下拉菜单&#xff1a; 按照自己的需求去添加 如果有选择 barCheckItem1 复选框的控…

关于欧洲玩家的几个事实

欧洲游戏玩家是一个多元化和复杂的受众&#xff0c;受到广泛的文化、语言和社会因素的影响。他们的游戏偏好和行为在整个欧洲大陆上差异很大&#xff0c;反映了定义欧洲的丰富的民族认同和地区差异。 欧洲游戏玩家最显著的特征之一是他们对本地化内容的偏好。仅在欧盟就有二十…

5分钟部署Prometheus+Grafana批量监控Linux服务器

文章目录 一键安装Node Exporter安装prometheus创建数据存储目录创建配置文件下载运行Prometheus 安装Grafana创建数据目录下载运行Grafana配置Grafana监控Linux服务器登录首次登录后设置密码添加数据源选择prometheus填写prometheus地址导入模板 最近开始公众号文章也开始同步…

ArcGIS Pro技术应用

GIS是利用电子计算机及其外部设备&#xff0c;采集、存储、分析和描述整个或部分地球表面与空间信息系统。简单地讲&#xff0c;它是在一定的地域内&#xff0c;将地理空间信息和 一些与该地域地理信息相关的属性信息结合起来&#xff0c;达到对地理和属性信息的综合管理。GIS的…

IT/研发团队的秘密武器:9款协作工具盘点

本文将介绍的9款工具如下&#xff1a;1.Worktile&#xff1b;2.PingCode&#xff1b;3.企业微信&#xff1b;4.WPS协作&#xff1b;5.融洽&#xff1b;6.印象团队&#xff1b;7.ClickUp&#xff1b;8.Redbooth&#xff1b;9.Podio。 在管理IT或研发团队时&#xff0c;选择合适的…

kube-scheduler调度任务的执行过程分析与源码解读(二)

概述 摘要&#xff1a; 上文我们对Kube-scheduler的启动流程进行了分析&#xff0c;本文继续探究kube-scheduler执行pod的调度任务的过程。 正文 说明&#xff1a;基于 kubernetes v1.12.0 源码分析 上文讲到kube-scheduler组件通过sched.Run() 启动调度器实例。在sched.Run(…

贵州大数据实验室建设案例分享

贵州大数据实验室建设与学科建设紧密结合&#xff0c;旨在为高校提供教学资源和实训环境&#xff0c;以支持大数据技术人才的培养。高校在实验室规划过程中&#xff0c;第一要务就是从学科定位出发、结合学校的特色和行业优势&#xff0c;定义人才培养目标和方向&#xff0c;并…

栈——有效的括号

在这道题中给出一个字符串包含三种不同的括号&#xff0c;需要判断这三个括号是否能相互匹配。因为方向需要保证不出错&#xff0c;所以我们可以想到如果指向字符的指针为左括号时&#xff0c;可以将它拿出&#xff0c;与下一个字符进行匹配若能匹配则继续匹配&#xff0c;如果…

一文搞懂Window、PhoneWindow、DercorView、WindowManage

戳蓝字“牛晓伟”关注我哦&#xff01; 用心坚持输出易读、有趣、有深度、高质量、体系化的技术文章&#xff0c;技术文章也可以有温度。 本文摘要 通过本文您可以了解PhoneWindow&#xff0c;Window&#xff0c;DecorView&#xff0c;WindowManager&#xff0c;WindowManag…

虚拟机【linux】配置无线网络

虚拟机【linux】配置无线网络 在Linux系统中配置网卡是一个常见的任务&#xff0c;特别是当你需要手动设置IP地址、子网掩码、网关或DNS服务器等信息时。不同的Linux发行版可能有不同的配置方法&#xff0c;但以下是一些基本且通用的步骤来配置网卡。 1. 确定网卡名称 首先&…

【云原生】Kubernetes中如何通过Pod名称查询Docker容器ID,通过Docker容器ID查询Pod名称?

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全…

中秋节不容错过的送礼指南,除了月饼,还有五大科技好物助力团圆

中秋节&#xff0c;作为中华民族的传统节日&#xff0c;承载着深厚的文化内涵和家庭团聚的美好愿望。在这个月圆人圆的时刻&#xff0c;送礼成为了表达情感和祝福的重要方式。虽然月饼作为传统的象征&#xff0c;总是节日礼单上的首选&#xff0c;但随着科技的发展&#xff0c;…

SpringCloud乐尚代驾学习笔记:司机端登录(四)

SpringCloud乐尚代驾学习笔记&#xff1a;司机端登录&#xff08;四&#xff09; 文章目录 SpringCloud乐尚代驾学习笔记&#xff1a;司机端登录&#xff08;四&#xff09;1、司机端微信小程序登录1.1、准备工作1.2、接口开发1.2.1、service-driver模块1.2.2、openFeign远程调…