使用pyttsx3实现简单tts服务

注册回调函数用于订阅事件。

[En]

The registration callback function is used to subscribe to events.

入参及出参

connect(topic : string, cb : callable) → dict

topic :订阅事件的名称,有效的名称

cb : 回调函数

返回token信息,可用于后续取消订阅。

可用事件如下:

started-utterance

引擎开始说话时触发,回调函数定义如下:

[En]

Triggered when the engine starts to speak, and the callback function is defined as follows:

onStartUtterance(name : string) -> None

started-word

引擎说单词时触发,回调函数定义如下:

[En]

Triggered when the engine says words, and the callback function is defined as follows:

onStartWord(name : string, location : integer, length : integer) -> None

finished-utterance

当发动机停止说话时触发。回调函数定义如下:

[En]

Triggered when the engine ends speaking. The callback function is defined as follows:

onFinishUtterance(name : string, completed : bool) -> None

error

引擎遇到错误时触发。回调函数定义如下:

[En]

Triggered when the engine encounters an error. The callback function is defined as follows:

onError(name : string, exception : Exception) -> None

反注册回调函数。

disconnect(token : dict)

token是connect函数返回的数据。

结束正在运行的事件循环。

[En]

Ends the running event loop.

获取tts的属性,比如语速、嗓音、音量等。

getProperty(name : string) -> object

参数:

name – 属性名称

object – 属性对象

属性列表:

rate – 语速

voice – 嗓音

voices – 嗓音集,列出 pyttsx3.voice.Voice 里面定义的所有嗓音

volume – 音量

确定当前引擎是否正在执行文本到语音转换。

[En]

Determine whether the current engine is performing text-to-speech.

isBusy() -> bool

返回值:

True – 正在执行文本转语音

False – 未执行

使用外部事件循环时需要调用此方法。

[En]

This method needs to be called when an external event loop is used.

runAndWait() -> None

执行缓存的命令并等待其完成。

[En]

Execute the cached command and wait for it to complete.

进行语音转文字操作,生成音频文件。

[En]

Perform voice-to-text operation and generate audio files.

save_to_file(text : unicode, filename : string, name : string)

参数:

text – 要执行转语音的文本

filename – 文件名称

name – 可选,注册需要通知的关键字

示例:

engine.save_to_file(‘Hello World’ , ‘test.mp3’)

进行语音转文字操作,播放文字内容。

[En]

Perform voice-to-text operation and play the text content.

say(text : unicode, name : string) -> None

参数:

text – 要执行转语音的文本

name – 可选,注册需要通知的关键字

示例:

engine.say(‘I will speak this text!’, ‘speak’)

设置tts的属性,比如语速、嗓音、音量等。

setProperty(name, value) -> None

参数:

name – 属性名称

value – 属性值

属性列表:

rate – 语速,设置每分钟说几个字

voice – 嗓音,可以设置不同嗓音的说话人

volume – 音量,介于0到1的小数

开始事件循环。

startLoop([useDriverLoop : bool]) -> None

停止当前正在运行的文本语音转换并清理命令队列。

[En]

Stop the currently running text to speech and clean up the command queue.

Original: https://www.cnblogs.com/MikeZhang/p/pyttsx3test20220404.html
Author: Mike_Zhang
Title: 使用pyttsx3实现简单tts服务

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/500112/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球