podcast_tts -это библиотека Python для генерации подкастов и диалогов с использованием текста в речь (TTS). Он поддерживает несколько динамиков, фоновую музыку и точное микширование звука для результатов профессионального качества.
Вы можете послушать пример подкаста ниже:
voices для будущего использования. # 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 ())Метод Generate_podcast объединяет диалог и фоновую музыку для бесшовного производства подкастов.
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 ())Подкасты включают следующие готовые профили докладчиков:
Эти профили включены в каталог пакета default_voices и могут использоваться без дополнительной настройки.
Когда профиль динамика указан, но не существует, библиотека автоматически генерирует новый профиль динамика и сохраняет его в подпапке Voices. Это обеспечивает последовательные голосовые роли в разных поворотах в диалоге. Например:
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.Профили сохраняются в каталоге голосов сценария и автоматически повторно используются, если в будущем будет использоваться тот же динамик для последовательности.
Вы можете загрузить любой профиль динамика, указав его имя файла (без расширения .txt). Профили хранятся в подпапке Voices, поэтому вам не нужно указывать путь явно.
# 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" )Взносы приветствуются! Не стесняйтесь отправлять вопросы или привлекать запросы в репозитории GitHub.
Этот проект лицензирован по лицензии MIT. Смотрите файл лицензии для получения подробной информации.