首先让我解释一下我们将在本文中使用的一些缩写和一些基本术语。 对于那些不知道 TTS 是什么意思的人,它的意思是文本到语音。 我们想要做的是给我们的程序一些文本,它会将文本转换成语音并读给我们听。 换句话说,就是让计算机读给我们听。 现在有很多方法可以做这个TTS,但是这里我们将讨论一个库,我个人使用过并且取得了很好的效果。 我们将使用 。 pyttsx3 什么是 pyttsx3 pyttsx3 是一个 Python 库,它允许我们将文本转换为语音。所以我们将向它提供我们的文本,它会将文本转换为音频。 它是几个文本到语音引擎的包装器,包括 Microsoft 的文本到语音 (TTS) 引擎。 有趣的东西 现在让我们看看如何将这个库用于 TTS。 我们需要做的第一件也是最重要的事情是安装这个库,我们可以使用 来安装,它与 python 安装捆绑在一起。 pip 此安装的语法类似于所有 。 pip installs pip install pyttsx3 如果万一此安装为您提供错误 ,请尝试使用 而不是 ,例如: cmd not found pip3 pip pip3 install pyttsx3 安装完成后,让我们通过运行以下命令检查它是否安装成功: pip3 freeze 它将返回我们环境中安装的所有包的列表。如果你在这个列表中找到 ,那么我们就成功安装了 ,我们就可以在我们的项目中使用它了。 pyttsx3 pyttsx3 安装完成后,我们需要将这个库导入到我们的项目中,然后我们要初始化文本转语音引擎。这个引擎是最重要的部分,就是这个引擎要为我们做TTS。 Importing pyttsx3 and initializing the text-to-speech engine: import pyttsx3 engine = pyttsx3.init() 是需要调用以初始化引擎的方法。 .init() 现在,当我们的引擎被初始化时,我们可以通过调用 方法将它用于我们的 TTS。 say(text) engine.say(text) engine.runAndWait() 此语音文本的速度和音量将是默认值,我们可以通过以下方式更改它们。 我们所需要的只是为我们的引擎设置一些值。这就像告诉引擎使用什么。 因此,我们必须按以下方式执行此操作: 首先,我们将使用 获取该属性 getProperty(name) 然后我们将使用 设置该属性 setProperty(name, value) 我们将设置速率和引擎的音量。 设置语音的速率和音量: rate = engine.getProperty('rate') engine.setProperty('rate', rate-100) 默认情况下,rate是200,所以我们将它降低到100。rate就是说话的 ,200对我们来说已经很高了。所以我们降低了它。 rate 速率很简单,就是说话者说出文本的速度。 设置速率后,我们将通过首先获取音量属性然后设置它来更改或设置音量。 volume = engine.getProperty('volume') engine.setProperty('volume', volume+0.50) 默认音量为 1,即 100%,我们将通过将 .50 添加到从读取音量属性接收到的值来将其增加到 150%。 现在我们完成了这两个属性的设置,我们将调用 并且语音现在将具有我们的参数,即 速度和 音量。 say() 1x 1.50 engine.say("Hello, This is the test for the pyttsx3") engine.runAndWait() 现在这个 对我们很重要。我们要运行这个引擎,一直运行到它完成传递文本的 TTS。 runAndWait 此外,改变音量,我们也可以改变说话的声音。现在这里有2个声音。一种用于女声,一种用于男声。 我们将使用与之前相同的语法来设置我们的属性。 记住: 是男声。 voices[0] 是女声。 voices[1] 让我们改变声音: voices = engine.getProperty('voices') engine.setProperty('voice', voices[1].id) 我们需要调用所选语音的 属性,然后一切就绪。 id 我们可以复制上面的代码,这次声音将是女性,而不是默认的男性。 完成参数设置和 TTS 测试后,我们现在可以保存生成的 TTS 的音频文件。 这次我们将调用 而不是调用 并传递文本和输出文件的名称,我们希望将 TTS 音频保存到该文件中。 .save_to_file .say() 这一次,它不会大声朗读文本,而是将其保存到我们传递的名称的文件中。 engine.save_to_file("Hello, this is test for pyttsx3.", "test.mp3") engine.runAndWait() 运行后,我们将有一个名为 的文件,其中包含生成的 TTS。 test.mp3 此外,pyttsx3 还有其他几种方法和属性,可用于自定义文本到语音输出,例如设置音高、语言等。您可以在 文档中找到有关这些的更多信息。 pyttsx3 最后的话 看,从文本甚至包含文本的文件生成 TTS 有多容易? 我们可以将这些生成的 TTS 用于各种目的,这是给你的。 我知道,现在您将能够轻松地执行此 TTS,并且您将使用它制作很棒的项目。 现在,做一件事,如果您喜欢我的内容并想保持联系,请在 关注我。 Twitter 上 感谢您阅读,享受内容。