Набор инструментов для транскрибации аудиозаписей с использование графических ускорителей через ROCm
  • HTML 91.9%
  • Python 8.1%
Find a file
2026-03-04 18:04:26 +03:00
.gitignore initial commit 2025-12-28 18:35:41 +01:00
App.py Исправил ворнинги и адаптирован сборку под внешние файлы страниц 2026-03-04 17:26:16 +03:00
form.html Вынес страницы в отдельные файлы 2026-03-04 17:25:47 +03:00
index.html Вынес страницы в отдельные файлы 2026-03-04 17:25:47 +03:00
LICENSE initial commit 2025-12-28 18:35:41 +01:00
README.md Мелкий фикс 2026-03-04 18:04:26 +03:00
requirements.txt initial commit 2025-12-28 18:35:41 +01:00

Original text

Перевод оригинального текста с комментариями

Whisper ROCm

Local speech-to-text with AMD ROCm GPU acceleration

Локальная транскрибация с применением ускорения на основе AMD ROCm

A browser-based voice transcription app powered by OpenAI's Whisper model, optimized for AMD GPUs using ROCm. Built specifically for the new AMD Ryzen AI processors with Radeon 800M series integrated graphics.

Транскрибация текста прямо в браузере, обеспечиваемая моделью Whisper от OpenAI. Применение этой модели оптимизировано для использования на графических ускорителях AMD с применением ROCm. Мануал ниже расчитан на устройства с ускорителями Radeon 880M и Radeon 890M.

Features - Функции и возможности

  • Real-time audio visualization with cyberpunk-themed UI
  • Press-and-hold recording (mouse or touch)
  • GPU-accelerated transcription via ROCm/CUDA
  • One-click copy to clipboard
  • Mobile-responsive design
  • Automatic language detection
  • Визуализация аудио во время записи в реальном времени (хз зачем, просто красиво)
  • Нажатие для начала записи, повторное нажатие для окончания записи и начала транскрибации (в оригинале несоответствие с текущей версии)
  • GPU-оптимизация через ROCm. CUDA также поддерживается стандартным torch
  • Кнопка для копирования полученного результата (если запись через браузер)
  • Адаптивный дизайн (стили отличаются от оригинала, чтобы выглядело поприятней)
  • Автоматическое определение языка (пока что так, дальше мб сделаю хардкод на русский)

Hardware - Аппаратное обеспечение

Tested on:

  • AMD Ryzen AI 9 HX 370 + Radeon 890M (Strix Point / gfx1150)
  • TUXEDO laptop running Ubuntu 24.04

Compatible with:

  • AMD GPUs with ROCm support (gfx1150, gfx1100, etc.)
  • NVIDIA GPUs (CUDA)
  • CPU fallback (slower, but works)

Если не понял -- иди учить английский и терминологию по теме.

Installation - Установка

1. Clone the repository - Клонирование репозитория

Оригинальный репозиторий:

git clone https://github.com/M64GitHub/whisper-rocm.git
cd whisper-rocm

Переделанный для себя:

git clone https://nekolab.catfellowship.ru/vkw2920/whisper-rocm.git
cd whisper-rocm

2. Create a virtual environment - Создание виртуального окружения

python -m venv .venv && \
source .venv/bin/activate || \
source .venv/bin/activate.ps1 || \
source .venv/bin/activate.fish

3. Install PyTorch with ROCm support - Установка torch с поддержкой ROCm

Используйте amdgpu_top для проверки версии GFX. В наименовании пакета версия содержит четыре цифры. Для интеграшек 880M и 890M это будет gfx1150

ВНИМАНИЕ БЛЭТ!!!

  • Используйте запрещённые технологии для скачивания этих пакетов
  • Не пытайтесь использовать российские IP для скачивания, иначе потом python будет использовать кэш, чтобы сказать, что там всё равно ничего нет
pip install --index-url https://repo.amd.com/rocm/whl/gfx1150/ torch

Другие GPU

For other AMD GPUs, check available builds at: https://repo.amd.com/rocm/whl/

For NVIDIA GPUs or CPU, see: https://pytorch.org/get-started/locally/

4. Install dependencies - Установка прочих зависимостей

pip install -r requirements.txt

Запуск

python App.py

Open http://localhost:8000 in your browser.

Откройте http://127.0.0.1:8000 в браузере и пользуйтесь.

Для транскрибации заранее подготовленной записи откройте http://127.0.0.1:8000/form и загрузите файл записи

How to use:

  1. Click and hold the "HOLD TO RECORD" button
  2. Speak clearly into your microphone
  3. Release the button to transcribe
  4. Click "COPY" or use the auto-selected text

Как применять:

  1. Нажать на кнопку записи
  2. Что-то говорить (или записывать лекцию)
  3. Повторно нажать на кнопку записи
  4. Дождаться завершения транскрибации
  5. Скопировать текст и использовать его там, где это нужно

Configuration - Настройки

Whisper Model Size - Выбор модели

Edit App.py line 20 to change the model:

Замените модель на строке 21 в файле App.py

model = whisper.load_model("medium", device=device)  # Options: tiny, base, small, medium, large
Model Parameters VRAM Speed Accuracy
tiny 39M ~1GB Fastest Basic
base 74M ~1GB Fast Good
small 244M ~2GB Medium Better
medium 769M ~5GB Slower Great
large 1550M ~10GB Slowest Best
Модель Параметров Память Скорость Точность
tiny 39M ~1GB Супербыстрая Супер-тупая
base 74M ~1GB Быстрая Просто тупая
small 244M ~2GB Средняя Средняя
medium 769M ~5GB Медленная Достояная
large 1550M ~10GB Самая долгая Самая точная

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

Tech Stack

  • Backend: FastAPI + Uvicorn
  • ML Model: OpenAI Whisper
  • GPU Acceleration: PyTorch + ROCm 7.10
  • Frontend: Vanilla HTML/CSS/JavaScript
  • Audio: Web Audio API + MediaRecorder

Troubleshooting

Check if ROCm detects your GPU

source venv/bin/activate
python -c "import torch; print(torch.cuda.is_available()); print(torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'No GPU')"

Microphone permissions

Make sure your browser has microphone access.

License

MIT License — see LICENSE for details.

Acknowledgments