浅谈盘点5种基于Python生成的个性化语音方法
小编在很小的时候就特别喜欢搞怪,模仿别人的声音,尤其是老头老太太模仿的那是一个出神入化。
今天小编就带大家模仿一下个性化的声音,不过不是用小编的嘴,而是用程序,看它们都是怎么被模仿出来的。
1、gtts模块
这是一款语音模块,它可以将任意文字转换为音频文件,格式为mp3。下面我们一起来看看它的用法:
一、安装并导入:
pip install gtts from gtts import gTTS
二、配置gtts客户端
tts = gTTS(text=text, lang='zh-tw')
text:音频内容
lang: 音频语言
三、保存音频文件
tts.save("XXX.mp3")
2、baidu-aip
通过在百度开放开发者平台申请语音合成账号来生成音频文件。
# 下载baidu-aip模块并导入 from aip import AipSpeech """ 你的 APPID AK SK """ APP_ID = '你的 App ID' API_KEY = '你的 Api Key' SECRET_KEY = '你的 Secret Key' client = AipSpeech(APP_ID, API_KEY, SECRET_KEY) #配置百度语音客户端 res=client.synthesis(text,lang,1,options={ spd:语速,取值0-9,默认为5中语速, pit:音调,取值0-9,默认为5中语调, vol:音量,取值0-15,默认为5中音量, per:发音人选择, 0为女声,1为男声, 3为情感合成-度逍遥,4为情感合成-度丫丫,默认为普通女 }) #配置个性化语音 with open('XX.mp3','wb') as f: #打开文件流 f.write(res) #写入文件
3、pyttsx3
这也是一款优秀的文字转语音的模块,它生成的音频文件也比较具有个性化。
下载pyttsx3模块并导入:
pip install pyttsx3 import pyttsx3
初始化:
pp = pyttsx3.init()
添加语音文本:
pp.say('Hello World')
运行:
pp.runAndWait()
当然它还可以调整声音的音量,频率,变声,当然设置方法都差不多,都是先拿到它对应功能的值然后在进行加减。
比如说音量调节:
vol=pp.getProperty('volume') pp.setProperty('vol',vol+0.5)
对于发音,频率,变声则为 vioce,rate,vioces,是不是很好理解了?当然,如果你想让它循环播放,只需加一个事件驱动循环即可:
pp.startLoop()
4、pywin32
操作window dll的库,它可以实现很多功能,十分强大。
安装并且导入:
pip install pywin32 import win32com.client
配置客户端接口:
speaker = win32com.client.Dispatch("SAPI.SpVoice")
生成音频:
speaker.Speak("hello")
由于对中文支持不友好,所以基本用的不多。
5、speech
也是一款强大的语音模块,依赖于pywin32,而且它最适合做语音启动程序了。
下载并导入:
pip install speech import speech
生成音频:
speech.say('hello')
这么多音频模块,你了解多少了,到底哪一个才是你的菜呢?
到此这篇关于浅谈盘点5种基于Python生成的个性化语音方法的文章就介绍到这了,更多相关Python生成个性化语音内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
python 实现语音聊天机器人的示例代码
前言 在不远的将来,实现一定程度上的语音支持将成为日常科技的基本要求,整合了语音识别的python程序提供了其他技术无法比拟的交互性和可访问性.最重要的是,在python程序中实现语音识别非常简单.整个代码实现下来还不到150行. 原理简介 许多现代语音识别系统会在HMM识别之前使用神经网络,通过特征变换和降维技术来简化语音信号,也可以使用语音活动检测器将音频信号减少到可能包含语音的部分. 幸运的是,对于python来讲,一些语音识别的服务可通过API在线使用,且其中大部分也提供了Python
-
Python实现简单的语音识别系统
最近认识了一个做Python语音识别的朋友,聊天时候说到,未来五到十年,Python人工智能会在国内掀起一股狂潮,对各种应用的冲击,不下于淘宝对实体经济的冲击.在本地(江苏某三线城市)做这一行,短期可能显不出效果,但从长远来看,绝对是一个高明的选择.朋友老家山东的,毕业来这里创业,也是十分有想法啊. 将AI课上学习的知识进行简单的整理,可以识别简单的0-9的单个语音.基本方法就是利用库函数提取mfcc,然后计算误差矩阵,再利用动态规划计算累积矩阵.并且限制了匹配路径的范围.具体的技术网上很多,不
-
Python如何实现文本转语音
准备 我测试使用的Python版本为2.7.10,如果你的版本是Python3.5的话,这里就不太适合了. 使用Speech API 原理 我们的想法是借助微软的语音接口,所以我们肯定是要进行调用 相关的接口.所以我们需要安装pywin32来帮助我们完成这一个底层的交互. 示例代码 import win32com.client speaker = win32com.client.Dispatch("SAPI.SpVoice") speaker.Speak("Hello, it
-
用Python编程实现语音控制电脑
电脑面前的你,是否也希望能让电脑听命于你? 当你累的时候,只需说一声"我累了",电脑就会放着优雅的轻音乐来让你放松. 或许你希望你在百忙之中,能让电脑郎读最新的NBA比分赛况-.一切都是那么惬意. 在此告诉你,不要灰心,我们真的可以做一个.做一个语音识别? 我相信很多人到这里会有两个心态,一是好奇,二是避之千里. 其实不然,你可以不用懂太多的编程技能,你甚至也可以不用懂自然语言处理技术,这篇文章虽然实现了语音操控但是绝没有你们想象的那么复杂. 如果仅仅把语音识别作为一个实现了的接口
-
python实现百度语音识别api
本文实例为大家分享了ython实现百度语音识别的具体代码,供大家参考,具体内容如下 详细百度语音识别api文档 先下载python用SDK,可以用python setup.py install安装 # 引入Speech SDK from aip import AipSpeech # 定义常量 APP_ID = '你的 App ID' API_KEY = '你的 API Key' SECRET_KEY = '你的 Secret Key' # 初始化AipSpeech对象 aipSpeech = A
-
python实现将文本转换成语音的方法
本文实例讲述了python将文本转换成语音的方法.分享给大家供大家参考.具体实现方法如下: # Text To Speech using SAPI (Windows) and Python module pyTTS by Peter Parente # download installer file pyTTS-3.0.win32-py2.4.exe # from: http://sourceforge.net/projects/uncassist # also needs: http://ww
-
Python实现语音识别和语音合成功能
声音的本质是震动,震动的本质是位移关于时间的函数,波形文件(.wav)中记录了不同采样时刻的位移. 通过傅里叶变换,可以将时间域的声音函数分解为一系列不同频率的正弦函数的叠加,通过频率谱线的特殊分布,建立音频内容和文本的对应关系,以此作为模型训练的基础. 案例:画出语音信号的波形和频率分布,(freq.wav数据地址) # -*- encoding:utf-8 -*- import numpy as np import numpy.fft as nf import scipy.io.wavfil
-
使用python实现语音文件的特征提取方法
概述 语音识别是当前人工智能的比较热门的方向,技术也比较成熟,各大公司也相继推出了各自的语音助手机器人,如百度的小度机器人.阿里的天猫精灵等.语音识别算法当前主要是由RNN.LSTM.DNN-HMM等机器学习和深度学习技术做支撑.但训练这些模型的第一步就是将音频文件数据化,提取当中的语音特征. MP3文件转化为WAV文件 录制音频文件的软件大多数都是以mp3格式输出的,但mp3格式文件对语音的压缩比例较重,因此首先利用ffmpeg将转化为wav原始文件有利于语音特征的提取.其转化代码如下: fr
-
Python将文字转成语音并读出来的实例详解
前言 本篇文章主要介绍,如何利用Python来实现将文字转成语音.将文字转成语音主要有两种不同的实现方法:先将文字转成语音,然后再通过读取语音实现发音.直接调用系统内置的语音引擎实现发音,后一种方法的实现主要利用第三方库. 环境 Python版本:Anaconda 4.4.10 操作系统:win10 注意:在使用第三方库的时候,不同的操作系统和Python版本代码可能有所差别. 调用api 可以调用第三方的语音合成api生成音频文件,然后再播放音频文件即可,这里我使用的是百度语音合成api. 1
-
浅谈盘点5种基于Python生成的个性化语音方法
小编在很小的时候就特别喜欢搞怪,模仿别人的声音,尤其是老头老太太模仿的那是一个出神入化. 今天小编就带大家模仿一下个性化的声音,不过不是用小编的嘴,而是用程序,看它们都是怎么被模仿出来的. 1.gtts模块 这是一款语音模块,它可以将任意文字转换为音频文件,格式为mp3.下面我们一起来看看它的用法: 一.安装并导入: pip install gtts from gtts import gTTS 二.配置gtts客户端 tts = gTTS(text=text, lang='zh-tw') tex
-
浅谈Tomcat三种运行模式
tomcat的运行模式有3种 一.bio(blocking I/O) 即阻塞式I/O操作,表示Tomcat使用的是传统的Java I/O操作(即java.io包及其子包).是基于JAVA的HTTP/1.1连接器,Tomcat7以下版本在默认情况下是以bio模式运行的.一般而言,bio模式是三种运行模式中性能最低的一种.我们可以通过Tomcat Manager来查看服务器的当前状态.(Tomcat7 或以下,在 Linux 系统中默认使用这种方式) 二.nio(new I/O) 是Java SE
-
浅谈在Vue-cli里基于axios封装复用请求
本文介绍了浅谈在Vue-cli里基于axios封装复用请求,分享给大家,具体如下: 安装 只用安装一个axios就可以了. npm install axios --save 接口代理设置 为了请求可以正常发送,我们一般要进行一个接口代理的配置,这样可以避免请求跨域,项目打包之后,后端一般也要搭建一个nginx之类的东西进行转发请求,不然请求会因为跨域问题失败的. //文件位置:config/index.js proxyTable: { '/api': { target: 'http://47.9
-
浅谈javascript:两种注释,声明变量,定义函数
JavaScript:单行注释用//呵呵呵呵:多行注释用/*hdhdhdh*/ javascript中区别大小写,定义变量使用关键字var,语法如下:var 变量名,其中变量从编程角度讲,变量是用于存储某种/某些数值的存储器. javascript函数调用: 以上就是小编为大家带来的浅谈javascript:两种注释,声明变量,定义函数全部内容了,希望大家多多支持我们~
-
浅谈MySQL在cmd和python下的常用操作
环境配置1:安装mysql,环境变量添加mysql的bin目录 环境配置2:python安装MySQL-Python 请根据自身操作系统下载安装,否则会报c ++ compile 9.0,import _mysql等错误 windows10 64位操作系统可到 http://www.lfd.uci.edu/~gohlke/pythonlibs/ 下载安装MySQL-Python包,至于whl和tar.gz在windows和Linux下的安装方法可查看我的上一篇文章 一 .cmd命令下的操作: 连
-
浅谈linux几种定时函数的使用
在程序开发过程中,我们时不时要用到一些定时器,通常如果时间精度要求不高,可以使用sleep,uslepp函数让进程睡眠一段时间来实现定时, 前者单位为秒(s),后者为微妙(us):但有时候我们又不想让进程睡眠阻塞在哪儿,我们需要进程正常执行,当到达规定的时间时再去执行相应的操作, 在linux下面我们一般使用alarm函数跟setitimer函数来实现定时功能: 下面对这两个函数进行详细分析: (1)alarm函数 alarm也称为闹钟函数,它可以在进程中设置一个定时器,当定时器指定的时间到时,
-
如何基于python生成list的所有的子集
这篇文章主要介绍了如何基于python生成list的所有的子集,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 不使用递归且不引入标准库,单纯用两个for循环即可得出一个list的所有子集 L = [1, 2, 3, 4] List = [[]] for i in range(len(L)): # 定长 for j in range(len(List)): # 变长 sub_List = List[j] + [L[i]] if sub_List
-
浅谈pytorch、cuda、python的版本对齐问题
在使用深度学习模型训练的过程中,工具的准备也算是一个良好的开端吧.熟话说完事开头难,磨刀不误砍柴工,先把前期的问题搞通了,能为后期节省不少精力. 以pytorch工具为例: pytorch版本为1.0.1,自带python版本为3.6.2 服务器上GPU的CUDA_VERSION=9000 注意:由于GPU上的CUDA_VERSION为9000,所以至少要安装cuda版本>=9.0,虽然cuda=7.0~8.0也能跑,但是一开始可能会遇到各种各样的问题,本人cuda版本为10.0,安装cuda的
-
浅谈web上存漏洞及原理分析、防范方法(文件名检测漏洞)
我们通过前篇:<浅谈web上存漏洞及原理分析.防范方法(安全文件上存方法)>,已经知道后端获取服务器变量,很多来自客户端传入的.跟普通的get,post没有什么不同.下面我们看看,常见出现漏洞代码.1.检测文件类型,并且用用户上存文件名保存 复制代码 代码如下: if(isset($_FILES['img'])){ $file = save_file($_FILES['img']); if($file===false) exit('上存失败!'); echo "上存成功!&qu
-
基于Phantomjs生成PDF的实现方法
本文实例讲述了基于Phantomjs生成PDF的实现方法.分享给大家供大家参考,具体如下: 最近在node.js项目开发中,遇见生成PDF的需求,当然生成PDF不是一个新意的需求:我可以选择利用开源的pdfkit或者其他node pdf模块,或者通过edge.js调用.net/python下的pdf库去做生成pdf.但是在我看来对于这些东西不管如何也需要花费我们太多的时间(pdf报表的内容报表很复杂),不如把所有的画图实现逻辑推向大家所熟悉的html+css来的简洁,快速,这样对于pdf格式变化
随机推荐
- AngularJS的表单使用详解
- ThinkPHP结合AjaxFileUploader实现无刷新文件上传的方法
- jquery判断RadioButtonList和RadioButton中是否有选中项示例
- JS获取鼠标坐标、获取鼠标像素点示例
- 学java得这样学,学习确实也得这样
- Excel数据导入Mysql数据库的实现代码
- Python 网络编程起步(Socket发送消息)
- Python中使用ConfigParser解析ini配置文件实例
- mysql常用函数汇总(分享)
- PHP中遇到的时区问题解决方法
- node.js中的fs.mkdir方法使用说明
- Python多线程下载文件的方法
- Javascript函数中的arguments.callee用法实例分析
- JS实现简单的Canvas画图实例
- 详解C# Socket异步通信实例
- 详解微信小程序入门五: wxml文件引用、模版、生命周期
- 办公文档大全、办公文档下载
- Mybatis的详细使用教程
- Centos7安装和卸载Mongodb数据库的方法
- Android使用View Animation实现动画加载界面