Для этого вам необходимо использовать новый Text-to-Speech API , который находится в бета-версии на данный момент. Вы можете найти Python quickstart в разделе клиентской библиотеки документации. Образец является частью python-docs-sample repo . Добавляя соответствующую часть примера сюда для лучшей наглядности:
def synthesize_text(text):
"""Synthesizes speech from the input string of text."""
from google.cloud import texttospeech
client = texttospeech.TextToSpeechClient()
input_text = texttospeech.types.SynthesisInput(text=text)
# Note: the voice can also be specified by name.
# Names of voices can be retrieved with client.list_voices().
voice = texttospeech.types.VoiceSelectionParams(
language_code='en-US',
ssml_gender=texttospeech.enums.SsmlVoiceGender.FEMALE)
audio_config = texttospeech.types.AudioConfig(
audio_encoding=texttospeech.enums.AudioEncoding.MP3)
response = client.synthesize_speech(input_text, voice, audio_config)
# The response's audio_content is binary.
with open('output.mp3', 'wb') as out:
out.write(response.audio_content)
print('Audio content written to file "output.mp3"')
Обновление: настройка скорости и шага
Вы можете заключить текстовые элементы в тег <prosody>
, чтобы изменить rate
и pitch
. Например:
<prosody rate="slow" pitch="-2st">Can you hear me now?</prosody>
Возможные значения для них соответствуют спецификациям W3, которые можно найти здесь . Документ SSML для API преобразования текста в речь подробно описывает это, а также предоставляет некоторые примеры.
Кроме того, вы можете управлять общей скоростью воспроизведения звука с помощью параметра speed
в <audio>
, который в настоящее время принимает значения от 50 до 200% (с шагом 1%).