Skip to content

LastHope777/Transcriber

Repository files navigation

🎙️ Transcriber

Python 3.10+ License: MIT Code style: black

Transcriber — это современный инструмент для транскрибации видео и аудио файлов в текст с использованием передовой AI-модели Whisper. Приложение поддерживает множество форматов, предоставляет удобный графический интерфейс и позволяет экспортировать результаты в различных форматах.

✨ Возможности

  • 🎯 Высокая точность — поддержка двух движков транскрибации:
    • AssemblyAI — облачный сервис с максимальной точностью (рекомендуется)
    • Whisper — локальная модель от OpenAI (полная конфиденциальность)
  • 🎨 Современный UI — интуитивно понятный графический интерфейс на CustomTkinter
  • 📝 Множество форматов — экспорт в DOCX, TXT, SRT (субтитры)
  • 🌍 Мультиязычность — поддержка более 50 языков, включая русский
  • GPU ускорение — автоматическое использование видеокарты при наличии (для Whisper)
  • 🎬 Поддержка видео — работа с MP4, AVI, MOV, MKV и другими форматами
  • 🔊 Поддержка аудио — работа с WAV, MP3, M4A, FLAC и другими форматами

📸 Скриншоты

GUI Interface GUI Interface

🚀 Быстрый старт

Установка

# Клонируйте репозиторий
git clone https://github.com/yourusername/transcriber.git
cd transcriber

# Создайте виртуальное окружение
python -m venv .venv

# Активируйте виртуальное окружение
# Windows:
.venv\Scripts\activate
# Linux/Mac:
source .venv/bin/activate

# Установите зависимости
pip install -r requirements.txt

Использование

Графический интерфейс

python main.py --gui

или просто:

python main.py

Командная строка

# Через AssemblyAI (рекомендуется, лучшее качество)
python main.py video.mp4 --assemblyai --api-key "your_api_key"

# Через Whisper (локально)
python main.py video.mp4

# С указанием параметров
python main.py audio.wav -m base -f txt -o result.txt

# Создание субтитров
python main.py lecture.mp4 --format srt

# Автоопределение языка
python main.py interview.mp4 -l auto

Переменные окружения

Для удобства можно установить API ключ AssemblyAI в переменную окружения:

# Windows (PowerShell)
$env:ASSEMBLYAI_API_KEY="your_api_key"

# Windows (cmd)
set ASSEMBLYAI_API_KEY=your_api_key

# Linux/Mac
export ASSEMBLYAI_API_KEY=your_api_key

📖 Документация

Параметры командной строки

Параметр Описание По умолчанию
input_file Видео или аудио файл для транскрибации
--gui Запустить графический интерфейс
--assemblyai Использовать AssemblyAI API Whisper
--api-key API ключ для AssemblyAI из env ASSEMBLYAI_API_KEY
-o, --output Путь к выходному файлу output/transcription.docx
-m, --model Размер модели Whisper large-v3
-l, --language Язык аудио ru
-f, --format Формат экспорта docx
--output-dir Папка для выходных файлов output
-v, --verbose Подробный вывод

Модели Whisper

Модель Параметры Скорость Точность
tiny ~32M Очень быстро Базовая
base ~74M Быстро Средняя
small ~244M Средне Хорошая
medium ~769M Медленно Высокая
large-v2 ~1.5B Очень медленно Отличная
large-v3 ~1.5B Очень медленно Лучшая

Поддерживаемые форматы

Видео: MP4, AVI, MOV, MKV, WebM, FLV, WMV, M4V

Аудио: WAV, MP3, M4A, FLAC, OGG, WMA, AAC

Экспорт: DOCX (Word), TXT (текст), SRT (субтитры)

🏗️ Структура проекта

Transcriber/
├── main.py              # Точка входа (CLI + GUI)
├── requirements.txt     # Зависимости
├── README.md           # Документация
├── .gitignore          # Git ignore файл
├── src/
│   ├── __init__.py     # Пакет src
│   ├── transcriber.py  # Основная логика транскрибации
│   └── exporter.py     # Экспорт в различные форматы
├── ui/
│   ├── __init__.py     # Пакет ui
│   └── app.py          # Графический интерфейс
├── utils/
│   ├── __init__.py     # Пакет utils
│   └── helpers.py      # Вспомогательные функции
├── output/             # Выходные файлы
├── temp/               # Временные файлы
└── assets/             # Ресурсы (скриншоты, иконки)

🔧 Настройка

Использование GPU

Для ускорения транскрибации с помощью NVIDIA GPU:

# Установите CUDA-версию PyTorch
pip install torch --index-url https://download.pytorch.org/whl/cu118

# Установите faster-whisper с поддержкой GPU
pip install faster-whisper[gpu]

📄 Лицензия

Этот проект распространяется под лицензией MIT. См. файл LICENSE для деталей.

About

Транскрибация видео/аудио в текст с помощью AI. Поддержка AssemblyAI (облако) и Whisper (локально).

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages