badassgi / app.py
openfree's picture
Update app.py
b74c419 verified
raw
history blame
1.86 kB
import spaces
import torch
import gradio as gr
from transformers import pipeline
import tempfile
import os
MODEL_NAME = "openai/whisper-large-v3-turbo"
BATCH_SIZE = 8
FILE_LIMIT_MB = 1000
device = 0 if torch.cuda.is_available() else "cpu"
pipe = pipeline(
task="automatic-speech-recognition",
model=MODEL_NAME,
chunk_length_s=30,
device=device,
)
@spaces.GPU
def transcribe(inputs, task):
if inputs is None:
raise gr.Error("μ˜€λ””μ˜€ 파일이 μ œμΆœλ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€! μš”μ²­μ„ μ œμΆœν•˜κΈ° 전에 μ˜€λ””μ˜€ νŒŒμΌμ„ μ—…λ‘œλ“œν•˜κ±°λ‚˜ λ…ΉμŒν•΄ μ£Όμ„Έμš”.")
text = pipe(inputs, batch_size=BATCH_SIZE, generate_kwargs={"task": task}, return_timestamps=True)["text"]
return text
css = """
footer {
visibility: hidden;
}
"""
mf_transcribe = gr.Interface(css=css,
fn=transcribe,
inputs=[
gr.Audio(sources="microphone", type="filepath"),
gr.Radio(["transcribe", "translate"], label="μž‘μ—…", value="transcribe"),
],
outputs="text",
title="Whisper Large V3 Turbo: μŒμ„±μ„ ν…μŠ€νŠΈλ‘œ λ³€ν™˜",
flagging_mode="never", # 더 이상 μ‚¬μš©λ˜μ§€ μ•ŠλŠ” allow_flagging을 flagging_mode둜 λ³€κ²½
)
file_transcribe = gr.Interface(
fn=transcribe,
inputs=[
gr.Audio(sources="upload", type="filepath", label="μ˜€λ””μ˜€ 파일"),
gr.Radio(["transcribe", "translate"], label="μž‘μ—…", value="transcribe"),
],
outputs="text",
title="Whisper Large V3 Turbo: μŒμ„±μ„ ν…μŠ€νŠΈλ‘œ λ³€ν™˜",
flagging_mode="never", # 더 이상 μ‚¬μš©λ˜μ§€ μ•ŠλŠ” allow_flagging을 flagging_mode둜 λ³€κ²½
)
# demo λ³€μˆ˜λ₯Ό Gradio Blocks μ»¨ν…Œμ΄λ„ˆλ‘œ μ •μ˜
demo = gr.Blocks(theme="Nymbo/Nymbo_Theme")
with demo:
gr.TabbedInterface([mf_transcribe, file_transcribe], ["마이크", "μ˜€λ””μ˜€ 파일"])
demo.queue().launch(ssr_mode=False)