File size: 1,363 Bytes
c7f5530
 
 
 
 
 
 
 
 
 
 
9e2c1d3
c7f5530
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
39c82ba
c7f5530
39c82ba
 
 
 
c7f5530
 
 
 
 
 
 
 
39c82ba
 
 
 
c7f5530
39c82ba
c7f5530
 
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import os
import sys
import time
import signal
import io

from fastapi import FastAPI, Request, status, Form, UploadFile
from fastapi.staticfiles import StaticFiles
from fastapi.middleware.cors import CORSMiddleware
from pydantic import BaseModel, Field
from fastapi.exceptions import RequestValidationError
from fastapi.responses import JSONResponse, Response

import fn
import gradio as gr
from app import demo

app = FastAPI()

app.add_middleware(
    CORSMiddleware,
    allow_origins=['*'],
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
)

gr.mount_gradio_app(app, demo, path="/gradio")

fn.load_model()

@app.post("/raw1")
async def api_raw1(file: UploadFile = Form(...)):
    try:
        file_content = await file.read()

        raw1, raw2 = fn.raw(file_content)

        with open(raw1, 'rb') as f:
            content = f.read()

        return Response(content=content, media_type="audio/wav")
    except Exception as e:
        return {"error": str(e)}

@app.post("/raw2")
async def api_raw2(file: UploadFile = Form(...)):
    try:
        file_content = await file.read()

        raw1, raw2 = fn.raw(file_content)
        
        with open(raw2, 'rb') as f:
            content = f.read()

        return Response(content=content, media_type="audio/wav")
    except Exception as e:
        return {"error": str(e)}