import sys import pandas as pd import argparse import base64 from flask import send_file, Response from flask_socketio import emit from piedemo.fields.ajax_group import AjaxChatField, AjaxGroup from piedemo.fields.grid import VStack, HStack, SpaceField from piedemo.fields.inputs.hidden import InputHiddenField from piedemo.fields.outputs.colored_text import ptext, OutputColoredTextField from piedemo.fields.outputs.json import OutputJSONField from piedemo.fields.outputs.progress import ProgressField from piedemo.fields.outputs.video import OutputVideoField from piedemo.web import Web from piedemo.page import Page from piedemo.hub.svgpil import SVGImage from piedemo.fields.outputs.table import OutputTableField from piedemo.fields.inputs.int_list import InputIntListField from piedemo.fields.navigation import Navigation from piedemo.fields.inputs.chat import ChatField import librosa import uuid import numpy as np import redis import argparse from scipy.signal import savgol_filter import torch import random import os, subprocess import shlex from tqdm import tqdm class MainPage(Page): def __init__(self, model_name: str): super(MainPage, self).__init__() web = Web({ "": "simple", "simple": MainPage("render"), # "nice": MainPage("FemAdv_b350_V2_050523"), }, use_socketio_support=True) host = '0.0.0.0' port = 8011 debug = False app = web.get_app() io = web.get_socketio(app) @io.on("io_set_text") def io_set_text(data): sid = None if "text" not in data: emit("io_error", {"message": "Text not found"}, to=sid) encode_string = base64.b64encode(open("../feeling_good.wav", "rb").read()) for i in range(10): j = random.randint(0, 2) emit("io_set_coef", [{ "index": j, "value": i / 10, }], to=sid) emit("io_push_audio_blob", { "dataURL": f"base64,{encode_string}" }, to=sid) emit("io_finish", {}, to=sid) io.run(app, host=host, port=port, debug=debug, allow_unsafe_werkzeug=True)