@ganstar565

Почему код перестаёт работать?

Ниже представлен код взятый в основном из документации, установил все необходимое.
Смысл кода в том, чтобы озвучить строку переменной
text

но создание переменной
audio
ломает код и не вызывает никакой ошибки,
print(text)
- последний срабатывающий принт.

с помощью
sd.query_devices()
проверил, что на выводе нужный динамик. Кто знает в чем может быть проблема, поделитесь пожалуйста, заранее спасибо.

import time
import sounddevice as sd
import torch
print(sd.query_devices())
print(sd.default.device)
language = 'ru'
model_id = 'ru_v3'
sample_rate = 48000  
speaker = 'aidar'  # aidar, baya, kseniya, xenia, random
put_accent = True
put_yo = True
device = torch.device('cpu')  
text = "привет мир"
print("1")
model, _ = torch.hub.load(repo_or_dir='snakers4/silero-models',
                          model='silero_tts',
                          language=language,
                          speaker=model_id)
print("2")
model.to(device)
print("3")


print(text)

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


print("4")
sd.play(audio, sample_rate )
sd.stop()
  • Вопрос задан
  • 147 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Umys
Кажется, код содержит ошибку, связанную с неправильной передачей аргументов функции `apply_tts` для модели Silero. Проверьте соответствующие имена аргументов и обновите их. Ваш исправленный код должен выглядеть так:

import time
import sounddevice as sd
import torch
print(sd.query_devices())
print(sd.default.device)
language = 'ru'
model_id = 'ru_v3'
sample_rate = 48000
speaker = 'aidar' # aidar, baya, kseniya, xenia, random
put_accent = True
put_yo = True
device = torch.device('cpu')
text = "привет мир"
print("1")
model, _ = torch.hub.load(repo_or_dir='snakers4/silero-models',
model='silero_tts',
language=language,
speaker=model_id)
print("2")
model.to(device)
print("3")

print(text)

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

print("4")
sd.play(audio, sample_rate)
sd.wait()
```
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
SpectrumData Екатеринбург
от 150 000 до 200 000 ₽
Гринатом Москва
от 150 000 ₽
Greenway Global Новосибирск
от 150 000 ₽