pyttsx3 - 语音朗读,文本转语音

pyttsx3 - 语音朗读,文本转语音

TTS(Text To Speech) 译为从文本到语音,TTS是人工智能AI的一个模组,是人机对话的一部分,即让机器能够说话。

TTS是语音合成技术应用的一种,首先采集语音波形,然后进行优化处理,最后存储在数据库中,合成语音是提取波形转换成自然语音输出。

TTS 有哪些应用场景

  1. TTS 能帮助有视觉障碍的人阅读计算机上的信息
  2. 懒人听书,很多人没有时间读书,我们可以通过TTS将书中的内容朗读出来
  3. 与声音识别程序一起使用,实现人机交互,例如客服系统的对话脚本
  4. 不方便视觉交互场景,例如驾驶汽车,我们可以将短信朗读出来,来电电话号码朗读出来
  5. 公交车报站

安装 pyttsx3

pip install pyttsx3

演示

#coding=utf-8
import pyttsx3
pyttsx3.speak("Hello World!")	

方法详解

say() 方法,speak() 实际上是下面代码的封装

#coding=utf-8 
import pyttsx3 
engine = pyttsx3.init() 
engine.say("Hello World!") 
engine.runAndWait()				

保存到MP3文件

save_to_file()
		
engine.save_to_file(text, 'test.mp3')

调整人声类型

男性(voices[0].id)、女性(voices[1].id)

voices = engine.getProperty('voices')  
engine.setProperty('voice', voices[0].id)

调整语速

一般范围一般在0~500之间

rate = engine.getProperty('rate')
engine.setProperty('rate', 200)  

调整声量

范围在0~1之间

volume = engine.getProperty('volume')                         
engine.setProperty('volume',0.8) 

查看语音引擎

voices = engine.getProperty('voices') 
for item in voices:
    print(item)	

例子

import pyttsx3
engine = pyttsx3.init() # object creation

""" RATE"""
rate = engine.getProperty('rate')   # getting details of current speaking rate
print (rate)                        #printing current voice rate
engine.setProperty('rate', 125)     # setting up new voice rate


"""VOLUME"""
volume = engine.getProperty('volume')   #getting to know current volume level (min=0 and max=1)
print (volume)                          #printing current volume level
engine.setProperty('volume',1.0)    # setting up volume level  between 0 and 1

"""VOICE"""
voices = engine.getProperty('voices')       #getting details of current voice
#engine.setProperty('voice', voices[0].id)  #changing index, changes voices. o for male
engine.setProperty('voice', voices[1].id)   #changing index, changes voices. 1 for female

engine.say("Hello World!")
engine.say('My current speaking rate is ' + str(rate))
engine.runAndWait()
engine.stop()

"""Saving Voice to a file"""
# On linux make sure that 'espeak' and 'ffmpeg' are installed
engine.save_to_file('Hello World', 'test.mp3')
engine.runAndWait()	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

netkiller-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值