whisper_test / app.py
blackeeee's picture
Update app.py
f12aa02 verified
import gradio as gr
import onnx_asr
import time
# Загружаем модели сразу при старте (чтобы не тупило на первом запросе)
# Используем E2E версию по дефолту - она ставит знаки препинания.
print("⏳ Загрузка GigaAM v3 ONNX...")
try:
# "gigaam-v3-e2e-ctc" - это версия с нормализацией и пунктуацией
model = onnx_asr.load_model("gigaam-v3-e2e-ctc")
print("✅ Модель готова!")
except Exception as e:
print(f"Ошибка загрузки: {e}")
model = None
def transcribe(audio_path):
if audio_path is None:
return "Ошибка: нет аудио", 0.0
if model is None:
return "Ошибка: модель не загрузилась", 0.0
start_time = time.time()
# Инференс одной строкой. Библиотека сама делает ресемплинг.
text = model.recognize(audio_path)
elapsed_time = time.time() - start_time
return text, f"{elapsed_time:.3f} сек"
# Интерфейс
iface = gr.Interface(
fn=transcribe,
inputs=gr.Audio(type="filepath", label="Микрофон"),
outputs=[
gr.Textbox(label="Результат (GigaAM v3 ONNX)"),
gr.Label(label="Время инференса")
],
title="🚀 GigaAM v3 (ONNX Int8)",
description="Самая быстрая версия GigaAM для CPU. Использует библиотеку onnx-asr."
)
iface.launch()