/ Модель

Характеристики

Контекст
1 024 токена
Параметры
153 млн
Лицензия
Apache 2.0
Архитектура
whisper · dense
Базовая модель
whisper-small
Библиотека
transformers
Опубликована
24 окт 2025

whisper-small-si

Распознавание речиАудио → текст5 профессий

Дообученная модель Whisper Small для преобразования синхальской речи в текст.

81скачиваний за 30 дней0лайковвеса обновлены24 окт 2025

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Распознавание речи» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Модель seniruk/whisper-small-si разработана Seniru Epasinghe и представляет собой дообученную версию Whisper Small от OpenAI для распознавания синхальской речи и преобразования её в текст. Она построена на архитектуре Whisper и содержит 153,1 млн параметров; для запуска используется библиотека Transformers, веса представлены в формате safetensors.

Модель обучена на наборе seniruk/sinscribe-sinhala-stt. В README приведён результат оценки на тестовой выборке: WER 29,1387 и loss 0,0829. Автор рекомендует подавать аудио с низким уровнем шума для получения лучших результатов.

Модель рассчитана на транскрибирование синхальской речи. Лицензия Apache-2.0 разрешает её использование на условиях этой лицензии.

Сценарии применения

  • транскрибирование записей на синхальском языке
  • распознавание синхальской речи в аудиофайлах
  • создание текстовых расшифровок синхальских аудиозаписей

Ограничения

Качество распознавания зависит от уровня шума: автор рекомендует использовать аудио с низким уровнем шума. На тестовой выборке указана ошибка WER 29,1387.

Для каких профессий подходит5

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Hi, I’m Seniru Epasinghe 👋

I’m a AI undergraduate and an AI enthusiast, working on machine learning projects and open-source contributions.
I enjoy exploring AI pipelines, natural language processing, and building tools that make development easier.


🌐 Connect with me

Hugging Face    Medium    LinkedIn    GitHub

Sinscribe

This model is a fine-tuned version of openai/whisper-small on the Sinhala CSV + FLACs dataset. It achieves the following results on the evaluation set:

  • Loss: 0.0829
  • Wer: 29.1387

Intended uses & limitations

Can be used for Sinhala speech to text conversions. Make sure to input noise low audio to the model, to get the best outcome.

Training and evaluation data

Trained on the custom dataset - seniruk/sinscribe-sinhala-stt

Trained on above final dataset with 2 epochs on a device with below spec for 41:00:59 hours

  • 16GB RAM
  • NVIDIA GeForce RTX 4060 Ti 16GB
  • 12th Gen Intel(R) Core(TM) i5-12400F (2.50 GHz) - 64-bit

Training results

Training LossEpochStepValidation LossWer
0.18710.110210000.183451.9170
0.14290.220420000.151744.7541
0.13450.330730000.133641.0627
0.11830.440940000.123738.6625
0.1140.551150000.115136.9654
0.10560.661360000.108035.2670
0.09680.771570000.103734.4457
0.10110.881780000.098633.2741
0.09710.992090000.096132.7147
0.07131.1022100000.094732.0250
0.07061.2124110000.094032.0766
0.06911.3226120000.090731.2485
0.06841.4328130000.089330.9512
0.07181.5430140000.087530.3592
0.06421.6533150000.085930.0388
0.06671.7635160000.084229.5840
0.06671.8737170000.083529.3193
0.06771.9839180000.082929.1387

Inferencing

import torchaudio
from transformers import pipeline
import torch

device = 0 if torch.cuda.is_available() else -1

from transformers import pipeline

pipe = pipeline("automatic-speech-recognition", model="seniruk/whisper-small-si",device=device)

def transcribe(audio_path):
    if audio_path is None:
        return "No audio received. Please record something."

    waveform, sample_rate = torchaudio.load(audio_path)

    if waveform.shape[0] > 1:
        waveform = waveform.mean(dim=0, keepdim=True)

    array = waveform.squeeze().numpy()

    result = pipe({"array": array, "sampling_rate": sample_rate})
    return result["text"]

result= transcribe("audio.wav")
print(result)

Gradio UI

import torchaudio
from transformers import pipeline
import gradio as gr
import torch

# === Setup ===
device = 0 if torch.cuda.is_available() else -1
MAX_DURATION_SECONDS = 30  # Limit audio length to 30 seconds

# Load fine-tuned Whisper pipeline
pipe = pipeline(
    "automatic-speech-recognition",
    model="seniruk/whisper-small-si",
    device=device
)

def transcribe(audio_path):
    try:
        if audio_path is None:
            return "No audio received. Please record or upload a file."

        # Load and prepare audio
        waveform, sample_rate = torchaudio.load(audio_path)

        # Convert to mono
        if waveform.shape[0] > 1:
            waveform = waveform.mean(dim=0, keepdim=True)

        # Duration check
        duration = waveform.shape[1] / sample_rate
        if duration > MAX_DURATION_SECONDS:
            return f"Audio too long ({duration:.1f}s). Please use a clip shorter than {MAX_DURATION_SECONDS}s."

        # Convert to numpy array
        array = waveform.squeeze().numpy()

        # Run inference
        result = pipe({"array": array, "sampling_rate": sample_rate})

        return result.get("text", "No transcription returned.")

    except Exception as e:
        return f"Error during transcription: {e}"


# === Gradio Interface ===
iface = gr.Interface(
    fn=transcribe,
    inputs=gr.Audio(sources=["microphone", "upload"], type="filepath", label="Record or Upload Audio"),
    outputs=gr.Textbox(label="Transcription"),
    title="Whisper Small Sinhala (GPU/CPU)",
    description=(
        "Sinhala speech-to-text demo using a fine-tuned Whisper Small model(Sinscribe) "
        "Supports microphone recording or file upload (max 30 seconds)"
    ),
)

iface.launch()

CPU runnable version of above model is below

Framework versions

  • Transformers 4.48.0
  • Pytorch 2.5.1+cu121
  • Datasets 3.6.0
  • Tokenizers 0.21.4

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers

Можно запустить

Подбираем GPU…

Класс архитектуры
WhisperForConditionalGeneration
Ревизия весов
fbd3747

0 моделей