python silero tts импорт после попытки запуска другого .py
у меня есть tts часть кода, которую использую в main части tts.py:
import os
import shutil
import torch
from playsound import playsound
import colorful as cf`
cache_dir = "tts_cache"
def generate_audio(model, text, speaker, sample_rate,):
audio_paths = model.save_wav(text=text, speaker=speaker, sample_rate=sample_rate,put_accent=1,put_yo=1)
file_name = f"{text}.wav"
os.rename(audio_paths, file_name)
shutil.copy(file_name, cache_dir)
os.remove(file_name)
cached_path = os.path.join(cache_dir, file_name)
return cached_path`
def get_cached_audio(text):
cached_path = os.path.join(cache_dir, f"{text}.wav")
if os.path.exists(cached_path):
return cached_path
return None
def generate_or_get_cached_audio(model, text, speaker, sample_rate):
cached_audio = get_cached_audio(text)
if cached_audio:
print(cf.orange("Нашли кэш"))
return cached_audio
else:
print(1)
def play_voice(text:str):
device = torch.device('cpu')
torch.set_num_threads(6)
local_file = 'models/v3_1_ru.pt'
model = torch.package.PackageImporter(local_file).load_pickle("tts_models", "model")
model.to(device)
sample_rate = 24000
speaker='baya'
audio = generate_or_get_cached_audio(model, text, speaker, sample_rate)
playsound(f"tts_cache/{text}.wav")
Но для того чтобы она заимпортилась, нужна попытка запуска, другого py вот так: /bin/python3 "/home/fd/Рабочий стол/voice_assistant/main.py" /bin/python3 "/home/fd/Рабочий стол/voice_assistant/test.py"
При этом остальное, все нормально, работает
Источник: Stack Overflow на русском