Konvertieren von Text in Sprache in Python

Manav Narula 13 Juli 2021
  1. Verwenden Sie das Modul gTTS, um Text in Sprache in Python umzuwandeln
  2. Verwenden Sie das Modul pyttsx3, um Text in Sprache in Python umzuwandeln
Konvertieren von Text in Sprache in Python

Aufgrund des technologischen Fortschritts in den letzten Jahrzehnten haben wir viele Geräte mit Spracherkennung ausgestattet. Python bietet eine Vielzahl von Modulen, die mit Audioobjekten arbeiten können. Einige Module können geschriebenen Text in Audio umwandeln.

In diesem Tutorial besprechen wir, wie man mit Python Text in Sprache umwandelt.

Verwenden Sie das Modul gTTS, um Text in Sprache in Python umzuwandeln

Google hat eine API namens Google Text-To-Speech erstellt, mit der sie einen Text lesen und eine Audioausgabe ausgeben. Diese API ist in ein Python-Modul namens gtts integriert, das Text in Sprache umwandeln, Audiomanipulationen durchführen kann, unter anderem durch das Speichern von Audio in einem Byte-großen Objekt, und sogar die endgültige Ausgabe speichern kann.

Mit der Funktion gTTS erstellen wir ein Objekt, das den Text liest und in ein Audio-Objekt umwandelt. Wir können viele Parameter mit dieser Funktion verwenden. Mit dem Argument slow können wir die Geschwindigkeit der Ausgabe reduzieren. Die Google API unterstützt verschiedene Sprachen und wir können unterstützte Sprachen mit dem Parameter lang erwähnen.

Wir werden diese Methode im folgenden Code implementieren.

from gtts import gTTS
from playsound import playsound

s = gTTS("Sample Text")
s.save("sample.mp3")
playsound("sample.mp3")

Im obigen Code erstellen wir ein Objekt, das den gewünschten Text liest. Dieses Objekt mit dem Sprachaudio speichern wir mit der Funktion save() und spielen es dann mit der Funktion playsound() ab. Die aus der Bibliothek playsound importierte Funktion playsound() kann eine Audiodatei abspielen.

Beachten Sie, dass dieses Modul eine aktive Internetverbindung benötigt, da dieses Modul die Google API verwendet, um Text in Sprache umzuwandeln. Sie können die unten beschriebene Methode in Betracht ziehen, wenn Sie möchten, dass sie offline ausgeführt wird.

Verwenden Sie das Modul pyttsx3, um Text in Sprache in Python umzuwandeln

Das pyttsx3 ist ein weiteres Modul, das solche Konvertierungen durchführen und ohne Internetverbindung arbeiten kann. Zuerst erstellen wir ein Objekt, das die pyttsx3.Engine mit dem init()-Konstruktor aus diesem Modul referenziert. Dann fügt die Funktion say() hier den gewünschten zu sprechenden Text in die Warteschlange ein. Dann verwenden wir die Funktion runAndWait(), um den Befehl aus der Warteschlange abzuspielen.

Beispielsweise,

import pyttsx3

s = pyttsx3.init()
data = "Sample Text"
s.say(data)
s.runAndWait()

Wir können die Eigenschaften wie die Wiedergaberate der endgültigen Ausgabe mit der Methode setProperty() festlegen. Dieses Modul ist kompatibel mit Python 2 und Python 3.

Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Verwandter Artikel - Python Audio