podcast_tts ist eine Python-Bibliothek zum Generieren von Podcasts und Dialogen mithilfe von Text-to-Speech (TTS). Es unterstützt mehrere Lautsprecher, Hintergrundmusik und präzises Audio-Mischen für die Ergebnisse professioneller Qualität.
Sie können den Beispielpodcast unten anhören:
voices -Unterordner für die zukünftige Verwendung. # ensure to have sox, or ffmpeg installed
brew install sox
# install the package
pip install podcast_tts import asyncio
from podcast_tts import PodcastTTS
async def main ():
tts = PodcastTTS ( speed = 5 )
await tts . generate_tts (
text = "Hello! Welcome to our podcast." ,
speaker = "male1" ,
filename = "output_audio.wav" ,
channel = "both"
)
if __name__ == "__main__" :
asyncio . run ( main ())Die Methode generate_podcast kombiniert Dialog- und Hintergrundmusik für eine nahtlose Podcast -Produktion.
import asyncio
from podcast_tts import PodcastTTS
async def main ():
tts = PodcastTTS ( speed = 5 )
# Define speakers and text
texts = [
{ "male1" : [ "Welcome to the podcast!" , "both" ]},
{ "female2" : [ "Today, we discuss AI advancements." , "left" ]},
{ "male2" : [ "Don't miss our exciting updates." , "right" ]},
]
# Define background music (local file or URL)
music_config = [ "https://example.com/background_music.mp3" , 10 , 3 , 0.3 ]
# Generate the podcast
output_file = await tts . generate_podcast (
texts = texts ,
music = music_config ,
filename = "podcast_with_music.mp3" ,
pause_duration = 0.5 ,
normalize = True
)
print ( f"Podcast saved to: { output_file } " )
if __name__ == "__main__" :
asyncio . run ( main ())Podcasttts enthält die folgenden vorgefertigten Lautsprecherprofile:
Diese Profile sind im Verzeichnis Standard_voices des Pakets enthalten und können ohne zusätzliche Einrichtung verwendet werden.
Wenn ein Sprecherprofil angegeben ist, aber nicht vorhanden ist, generiert die Bibliothek automatisch ein neues Lautsprecherprofil und speichert es im Voices -Unterordner. Dies gewährleistet eine konsistente Sprachrollen in verschiedenen Kurven in einem Dialog. Zum Beispiel:
texts = [
{ "Narrator" : [ "Welcome to this exciting episode." , "left" ]},
{ "Expert" : [ "Today, we'll explore AI's impact on healthcare." , "right" ]},
]
# If "Narrator" or "Expert" profiles do not exist, they will be generated dynamically.Die Profile werden im Voices -Verzeichnis des Skripts gespeichert und automatisch wiederverwendet, wenn derselbe Sprecher in Zukunft für die Konsistenz verwendet wird.
Sie können jedes Lautsprecherprofil laden, indem Sie seinen Dateinamen angeben (ohne die .txt -Erweiterung). Profile werden im Voices -Unterordner gespeichert, sodass Sie den Pfad nicht explizit angeben müssen.
# Assuming a speaker profile "Host.txt" exists in the voices subfolder
await tts . generate_tts ( "This is a test for an existing speaker." , "Host" , "existing_speaker.wav" )Beiträge sind willkommen! Fühlen Sie sich frei, Probleme zu senden oder Anfragen im Github -Repository zu ziehen.
Dieses Projekt ist unter der MIT -Lizenz lizenziert. Weitere Informationen finden Sie in der Lizenzdatei.