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")