Python gTTS, есть ли способ изменить скорость речи?

Кажется, что в gTTS нет возможности изменить речь из текста в речь, кроме медленного аргумента.

Я бы хотел ускорить звук на 5%. Любое предложение о том, как я могу это сделать?

Лучший.

tts_de = gTTS("Hallo, guten tag.", lang = 'de')
tts_de.save("s.mp3")

4 ответа

Ubuntu + Python + gTTS

1} Установить sox

$ sudo apt-get update
$ sudo apt-get install sox
$ sudo apt-get install libsox-fmt-all

2} используйте tempo 1.9 вариант в sox воспроизводить вывод gTTS в 1,9 раза быстрее

#! /usr/bin/python3.5

from gtts import gTTS
import os 

mytext='hello'

language = 'en'
myobj = gTTS(text=mytext, lang=language, slow=False)
myobj.save(mytext+".mp3")
os.system("play " + mytext + ".mp3"+" tempo 1.9")

На самом деле это невозможно. Согласно официальным документам gTTS, единственные аргументы, касающиеся скорости, которую принимает gTTS, это slow, логическое значение, указывающее, следует ли замедлить воспроизведение.

Если вы проигрываете файл через Python, я уверен, что есть модуль, который поддерживает ускоренное воспроизведение.

Вы можете использовать пакет pydub для ускорения звука.

      from pydub import AudioSegment

audio = AudioSegment.from_file("test.mp3", format="mp3")
# or
audio = AudioSegment.from_mp3("test.mp3")
        
audio.speedup(playback_speed=2.0) # speed up by 2x
    
# export to mp3
final.export("final.mp3", format="mp3")

Вы можете установить slow= False в скобках gTTS, и он будет работать. Как показано ниже.

      
    text = message.text
    lang = "en"
    aud = gTTS(text=text, lang=lang, slow=False tdl="co.in")
Другие вопросы по тегам