Spaces:
Sleeping
Sleeping
File size: 1,593 Bytes
7722c13 f12aa02 3c06631 7722c13 f12aa02 3c06631 f12aa02 3c06631 f12aa02 3c06631 cd42252 f12aa02 3c06631 f12aa02 3c06631 f12aa02 3c06631 7722c13 cd42252 7722c13 f12aa02 3c06631 f12aa02 aceaffc f12aa02 7722c13 | 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 | 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() |