Silero скорость воспроизведения как замедлить?

Рейтинг: 1Ответов: 1Опубликовано: 26.04.2023

Всем привет. Подскажите пожалуйста, как замедлить скорость голоса ? Слишком он быстрый, другие "speaker" тоже пробовал, они не меняют скорость. Нужно на английском (хотя если это возможно сделать, то будет работать и с русской моделью)

import torch
import sounddevice as sd

language = 'en'
model_id = 'v3_en'
sample_rate = 48000
speaker = 'en_5'
device = torch.device('cpu')

example_text = '''Today is the last day of school.
It is summer vacation.
Grace is very excited.
This summer will be fun.
Grace is going to visit her Grandparents.
They have a cottage.'''

model, _ = torch.hub.load(repo_or_dir='snakers4/silero-models',
                          model='silero_tts',
                          language=language,
                          speaker=model_id)
model.to(device)

audio = model.apply_tts(text=example_text,
                        speaker=speaker,
                        sample_rate=sample_rate,
                        )
sd.play(audio, sample_rate)
sd.wait()
sd.stop()

Ответы

▲ 1

Решил задачу таким способом: в audio нужно заменить 'text' на 'ssml_text':

audio = model.apply_tts(ssml_text=text, speaker=speaker, sample_rate=sample_rate)

И в самом тексте (который хочешь преобразовать) место которое хочешь замедлить обернуть в тег

<prosody rate="slow">Текст </prosody>

И обязательно весь текст обернуть в

<speak> </speak>