Spaces:
Runtime error
Runtime error
| import os | |
| from typing import Tuple | |
| import gradio as gr | |
| import numpy as np | |
| import torch | |
| from transformers import AutoProcessor | |
| from inference import EnClap | |
| def input_toggle(choice: str): | |
| if choice == "file": | |
| return gr.update(visible=True), gr.update(visible=False) | |
| return gr.update(visible=False), gr.update(visible=True) | |
| if __name__ == "__main__": | |
| import logging | |
| logging.getLogger().setLevel(logging.INFO) | |
| ckpt_path = "./ckpt" # os.getenv("ckpt_path") | |
| device = "cpu" # os.getenv("device") | |
| enclap = EnClap(ckpt_path=ckpt_path, device=device) | |
| def run_enclap( | |
| input_type: str, | |
| file_input: Tuple[int, np.ndarray], | |
| mic_input: Tuple[int, np.ndarray], | |
| seed: int, | |
| ) -> str: | |
| print(input_type, file_input, mic_input) | |
| input = file_input if input_type == "file" else mic_input | |
| if input is None: | |
| raise gr.Error("Input audio was not provided.") | |
| res, audio = input | |
| torch.manual_seed(seed) | |
| return enclap.infer_from_audio(torch.from_numpy(audio), res)[0] | |
| with gr.Blocks() as demo: | |
| with gr.Row(): | |
| with gr.Column(): | |
| radio = gr.Radio( | |
| ["file", "mic"], | |
| value="file", | |
| label="Choose the input method of the audio.", | |
| ) | |
| file = gr.Audio(label="Input", visible=True) | |
| mic = gr.Mic(label="Input", visible=False) | |
| slider = gr.Slider(minimum=0, maximum=100, label="Seed") | |
| radio.change(fn=input_toggle, inputs=radio, outputs=[file, mic]) | |
| button = gr.Button("Run", label="run") | |
| with gr.Column(): | |
| output = gr.Text(label="Output") | |
| button.click( | |
| fn=run_enclap, inputs=[radio, file, mic, slider], outputs=output | |
| ) | |
| demo.launch() | |