File size: 1,526 Bytes
4d86d36
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import gradio as gr
import shutil
import subprocess
# Функция, которая будет вызываться при отправке данных
def save_file(input_file):
    # Получаем путь к временному файлу
    temp_file_path = input_file.name
    
    # Указываем путь для сохранения файла
    saved_file_path = "audio/saved_file.wav"
    
    # Копируем временный файл в место сохранения
    shutil.copy(temp_file_path, saved_file_path)
    cmd = ["svc", "infer", f"/content/{saved_file_path}", "-m", "/content/models", "-c", "/content/models/config.json"]
    result = subprocess.run(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
    print("STDOUT:", result.stdout)
    print("STDERR:", result.stderr)
    # Получаем байтовый код финального файла
    with open(saved_file_path, "rb") as f:
        final_file_bytes = f.read()
    
    return final_file_bytes

# Создание интерфейса Gradio с кнопкой "Submit"
iface = gr.Interface(
    fn=save_file,
    inputs="file",  # Тип ввода - файл
    outputs="text",  # Тип вывода - текстовая строка
    live=False,  # Отключаем режим реального времени
    capture_session=True  # Захватывать сессию для удаленного доступа
)

# Добавляем кнопку "Submit"
iface.launch(share=True)