podcast_tts es una biblioteca de Python para generar podcasts y diálogos utilizando texto a voz (TTS). Admite múltiples altavoces, música de fondo y una mezcla de audio precisa para resultados de calidad profesional.
Puede escuchar el podcast de ejemplo a continuación:
voices para uso futuro. # 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 ())El método Generate_Podcast combina el diálogo y la música de fondo para una producción de podcasts sin interrupciones.
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 incluye los siguientes perfiles de altavoces prefabricados:
Estos perfiles se incluyen en el directorio predeterminado del paquete y se pueden usar sin una configuración adicional.
Cuando se especifica un perfil de altavoz, pero no existe, la biblioteca generará automáticamente un nuevo perfil de altavoces y lo guardará en la subcarpeta Voices. Esto garantiza roles de voz consistentes en diferentes giros en un diálogo. Por ejemplo:
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.Los perfiles se guardan en el directorio Voces del script y se reutilizan automáticamente si el mismo altavoz se usa en el futuro para la consistencia.
Puede cargar cualquier perfil de altavoz especificando su nombre de archivo (sin la extensión .txt). Los perfiles se almacenan en la subcarpeta Voices, por lo que no necesita especificar la ruta explícitamente.
# 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" )¡Las contribuciones son bienvenidas! No dude en enviar problemas o extraer solicitudes en el repositorio de GitHub.
Este proyecto tiene licencia bajo la licencia MIT. Consulte el archivo de licencia para obtener más detalles.