今天带来的是百度AI的一个语音合成接口,它的主要功能是将接收到的文本内容,转换为音频数据返回。

我实现的大致流程为:

1 - 爬取小说文本内容(本篇不涉及)

2 - 调用百度AI语音合成接口,将文本内容转换为音频数据,并保存到本地文件夹

3 - 获取该文件夹内的文件名

4 - 将所有音频文件合并为一个output音频文件

使用工具:python环境、aip(百度AI)、pydub、os

环境准备:

1. 百度AI语音合成接口的应用创建

- 使用语音合成

- 领取免费试用权益

- 创建语音合成应用

2. 在你的python环境中安装第三方库

- 安装百度AI的一个python库 -- aip:pip install baidu-aip

- 安装合并音频文件时,需要用到的库 -- pydub:pip instal pydub

- 下载安装pydub所需要软件依赖 -- FFMPEG官网

- 安装FFMPEG后,将FFMPEG的 bin 目录加入系统的环境变量

源码讲解环节

好的,环境都准备好后,下面就是喜闻乐见的源码讲解环节了(´◔౪◔)

百度AI语音合成-小说文字转音频.py

from aip import AipSpeech

""" 你的 APPID AK SK """

APP_ID = '' # 你的APPID

API_KEY = '' # 你的API_KEY

SECRET_KEY = '' # 你的SECRET_KEY

client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)

with open('1.txt', 'r', encoding='utf-8')as file:

flag = 0

while True:

flag += 1

string = file.read(1023)

if not string:

break

# string为需要转化的文字,但最大长度需要小于1024个字节,且编码需要为utf-8

result = client.synthesis(string, 'zh', 1, {

'vol': 7, #音量,取值0-15,默认为5中音量

'spd': 4, #语速,取值0-9,默认为5中语速

'pit': 7, #音调,取值0-9,默认为5中语调

'per': 1, #发声人,0为女声,1为男声,3为情感合成-度逍遥,4为情感合成-度丫丫,默认为普通女

})

# 识别正确返回语音二进制 错误则返回dict 参照下面错误码

if not isinstance(result, dict):

with open(r'video/{}.mp3'.format(str(flag)), 'wb') as f:

f.write(result)

print('第{}段已转化完成....'.format(flag))

# // 成功返回二进制文件流

# // 失败返回

# {

# "err_no":500,

# "err_msg":"notsupport.",

# "sn":"abcdefgh",

# "idx":1

# }

音频拼接.py

from pydub import AudioSegment

import zzzzzz常用方法.获取文件夹下的所有文件名 as a

# 路径

root_files_list = a.file_name(r"F:\桌面\6-python车间\029-百度AI语音合成-小说文字转音频\video")

print(root_files_list)

files_list = []

for i,j in root_files_list.items():

# print(i) # .\\video\\

# print(j) # ['1.mp3', '2.mp3', '3.mp3']

for k in j:

files_list.append(i + '\\' + k)

print(files_list)

# locals() 函数会以字典类型返回当前位置的全部局部变量,相当于就是存放所有变量的表吧,我们可以在这个表里面创建一个字典的key,然后再把他声明为对象

prepare_data = locals()

# 但这里如果导入的文件名有不是mp3后缀的,则会报错,测试时应保证仅有需要拼接的mp3,或者在前面文件名获取的模块进行过滤

# 使用AudioSegment时,需要先设置好ffmpeg的环境变量

output_music = 0

for i in range(len(files_list)):

prepare_data['input_music_' + str(i)] = AudioSegment.from_mp3(files_list[i])

output_music += prepare_data['input_music_' + str(i)]

output_music.export(".\\output_video\\output_music.mp3", format="mp3")

获取文件夹下的所有文件名.py

import os

def file_name(file_dir):

# files_list = []

root_files_list = {}

for root, dirs, files in os.walk(file_dir):

#print(root) # 当前目录路径

#print(dirs) # 当前路径下所有子目录

#print(files) # 当前路径下所有非目录子文件

root_files_list['{}'.format(root)] = files

#返回地址与地址所对应的非目录子文件关系的字典

return root_files_list

# 类似于:{'F:\\桌面\\6-python车间\\029-百度AI语音合成-小说文字转音频\\video': ['1.mp3', '2.mp3', '3.mp3']}

效果展示

蔬菜包我也放到了我的百度云了:蔬菜包

链接:https://pan.baidu.com/s/1Mrwe9AognHgqKURNztwtzQ

提取码:a9xv

那么本次的分享就到这里了,喜欢的话麻烦点赞关注一下;不喜欢的话可以去看下小编的其他文章,肯定有喜欢的;都不喜欢的话可以点个关注,万一以后有喜欢的呢(๑•̀ㅂ•́)و✧

你点了吗◔ ‸◔?

php文本转语音mp3api源代码,小说文本转音频(百度AI语音合成接口)相关推荐

  1. MS-TTS/Edge-TTS免费文本转语音,一键合成导出MP3音频

    原文:MS-TTS/Edge-TTS免费文本转语音,一键合成导出MP3音频_治廷君 注意:本工具完全免费,所以不提供任何售后服务及咨询,有问题请看教程或阅读下方文档自行解决,关于BUG,公众号后台回复 ...

  2. 基于百度AI语音合成,使用python编写的语音朗读工具

    最近要考研,要阅读大量的书籍,希望读PDF文档的时候,能滑动一段文字后,电脑能自动读出声,这样就懒得自己读了. 因为电脑上的各种软件太过拉胯,所以自己写了一个在电脑上滑动取词的有声阅读. 如果需要的话 ...

  3. 【百度AI语音合成】会员到访门店语音提醒

    每次会员到访都需要.会员自主结账或找导购才能被发现.或者需要一个人员站在门口,并且对会员都全部了解,才能对会员到访进行更好服务的接待. 小帅为了免去这些操作呢.就想到了百度AI.语音合成.再结合第三方 ...

  4. html识别文字转语音,万能君工具箱v1.8 - 基于百度AI实现语音转文字/文字转语音/文字识别OCR/翻译...

    一.需求分析 1.音频转文字:目前市面上的音频转文字大多收费.音频转文字的需求是:上传一段音频,直接识别成文字,对于会议记录的比较好使,注意不是实时的语音识别. 2.文字转语音:转的语音不要太生硬. ...

  5. 基于 Azure 的认知服务将文本合成语音

    基于 Azure 的认知服务将文本合成语音 Intro 前几天发了一个 .NET 20 周年祝福视频,语音是通过 Azure 的认知服务合成的, 下面就来介绍一下如何将使用 Azure 的认识服务实现 ...

  6. cordova语音通话_如何在Cordova中将文本转换为语音(语音合成)

    本文概述 语音合成是计算机生成的人类语音模拟.它用于将书面信息转换为更方便的听觉信息, 尤其是对于移动应用程序(如启用语音的电子邮件和统一消息传递).作为使用Javascript创建混合应用程序的开发 ...

  7. 免费文本转语音的方法

    这里我们使用的微软的文本转语音服务,它完全免费.免费.免费,重要的事情说三遍.而且声音非常像真人,还有很多种声音可以选择,甚至可以配置情绪.话不多说,上方法: 打开chrome应用商店,下载油猴插件, ...

  8. python 科大讯飞 文本转语音接口 + QT简单界面

    文本转语音 前提 源码 解释 缺陷 打包 由于是实验做的,且有点赶,也就没有怎么整理和疏通,只要能运行就行了.所以仅供借鉴,问题肯定很多,在这只是记录一下所学. 前提 首先你需要注册科大讯飞AI开放平 ...

  9. 基于百度AI的内容审核平台+Jsoup网络爬虫开发的一个自动审核小说程序(以纵横中文网为例)

    这个程序是我的毕业设计所设计的一个程序,由于时间原因,可能有些地方或者细节没有考虑清楚,请各位多多包涵 最后的源代码工程我已经上传,有需要的可以自取,希望可以帮助到大家 程序简介 此程序使用Java语 ...

最新文章

  1. 【Android 应用开发】 ActionBar 样式详解 -- 样式 主题 简介 Actionbar 的 icon logo 标题 菜单样式修改
  2. 浅谈Java的Fork/Join并发框架
  3. Linux检查镜像,Shell脚本实现检测Cygwin最快的镜像站点
  4. Taro+react开发(60) 第三方icon使用
  5. cogs1799 [国家集训队2012]tree(伍一鸣)
  6. attilax.java 注解的本质and 使用最佳实践(3)O7
  7. 在Kali中安装foremost
  8. 科学计算机壁纸,Nature大盘点:2020年最佳科学影像,每一张都是壁纸,每一张都是历史...
  9. 网站、手机验证码开发(手机注册验证)
  10. ADL平台上传数据前的准备工作
  11. ubuntu 更换桌面为 KDE
  12. python 实现usn读取记录
  13. 电子计算机的加减乘除叫做什么,计算机中加减乘除叫什么键
  14. javascript getElementByID,getElementsByName,getElementsByTagName的区别
  15. 英语不好,能不能学软件编程?不懂英文能学编程吗
  16. 网易服务器修改权限等级,网易七鱼客服管理_七鱼客服管理人员权限设置_企业服务汇...
  17. python提取word表格里的内容_python读取word表格 python中如何将word表格内的内容进行替换...
  18. 语音及多模态语音数据集总结
  19. 前端七十二变之vue单页面项目实战
  20. java毕业设计宠物之家Mybatis+系统+数据库+调试部署

热门文章

  1. ExternalInterface.addCallBack 在TT浏览器 IETester等浏览器上的问题
  2. 二分图(超详细!!!)
  3. 君正X2000/X1500主控CPU芯片应用场景推荐
  4. 有关html,css的实用知识点总结(一)
  5. Bugku where is flag 番外篇 详解 MISC
  6. 微信小程序 - 引入第三方字体(使用网络字体)
  7. PostGreSQL教程_postgis教程
  8. 互联网竞争,本质是渠道之争
  9. 浙江理工大学数字电子技术课程设计
  10. android studio 查看jar包依赖关系 依赖树