@kvellou

Как можно оптимизировать silero tts?

Вот код:
lang = "cyrillic"
model_id = 'v4_cyrillic'
sample_rate = 48000
speaker = "kz_M1"
put_accent = True
put_yo = True
device = torch.device('cpu')
text = "Сәлем , достар"

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

audio = model.apply_tts(text=text,
                        speaker=speaker,
                        sample_rate=sample_rate,
                        put_accent=put_accent,
                        put_yo=put_yo)

print(text)

sd.play(audio , sample_rate)
time.sleep(len(audio) / sample_rate)
sd.stop()


audio = model.apply_tts(text="Сәлем!",
                        speaker=speaker,
                        sample_rate=sample_rate,
                        put_accent=put_accent,
                        put_yo=put_yo)

print(text)

sd.play(audio , sample_rate)
time.sleep(len(audio) / sample_rate)
sd.stop()


Вот время выполнения:
64fc08889dd74572827104.png

Как можно исправить это?
  • Вопрос задан
  • 162 просмотра
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
Я не вижу, что за время ты измеряешь, и что пытаешься оптимизировать.
Всё, что выше вызова model.apply_tts(), по-хорошему должно выполняться только один раз при запуске программы, а не для каждой генерируемой фразы.
Последовательность sd.play()-sd.stop() вообще не поддаётся оптимизации, это воспроизведения звука.
Так что замерять стоит только model.apply_tts().
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы