Skip to content

naumovthecoder/transcriber

Repository files navigation

Audio Transcriber

Приложение для транскрипции аудио с поддержкой различных форматов и моделей Whisper.

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

  • Поддержка форматов: WAV, MP3, M4A
  • Модели Whisper: small, medium, large
  • Параллельная обработка для ускорения транскрипции
  • Защита от дубликатов в транскрипции
  • Автоматическая конвертация форматов

📋 Требования

Системные зависимости

  1. Python 3.8+
  2. FFmpeg для обработки аудио
  3. whisper-cli для транскрипции

Установка системных зависимостей

macOS (через Homebrew)

brew install ffmpeg
brew install whisper-cpp

Ubuntu/Debian

sudo apt update
sudo apt install ffmpeg
# whisper-cpp нужно собрать отдельно

Windows

🚀 Установка

  1. Клонируйте или скопируйте папку проекта

    cd transcriber
  2. Создайте виртуальное окружение

    python -m venv venv
    source venv/bin/activate  # macOS/Linux
    # или
    venv\Scripts\activate     # Windows
  3. Установите зависимости

    pip install -r requirements.txt

📁 Структура проекта

transcriber/
├── anti_duplicate_transcribe.py  # Основной скрипт
├── requirements.txt               # Python зависимости
├── USAGE_EXAMPLES.md             # Примеры использования
├── README.md                     # Это руководство
├── input/                        # Папка для исходных аудио файлов
├── output/                       # Папка для результатов
└── models/                       # Модели Whisper
    ├── ggml-medium.bin           # Средняя модель (баланс скорости/качества)
    └── ggml-large-v3.bin         # Большая модель (лучшее качество)

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

Основные команды

# Активируйте виртуальное окружение
source venv/bin/activate

# Базовое использование (средняя модель)
python anti_duplicate_transcribe.py -f "input/audio.m4a"

# Выбор модели
python anti_duplicate_transcribe.py -f "input/audio.mp3" -m large
python anti_duplicate_transcribe.py -f "input/audio.wav" -m medium

# Полный синтаксис
python anti_duplicate_transcribe.py --file "path/to/audio.m4a" --model large

Справка

python anti_duplicate_transcribe.py --help

📊 Модели

Модель Размер Скорость Качество Рекомендации
medium ~1.5GB Быстро Хорошее Баланс скорости/качества
large ~3GB Медленно Отличное Лучшее качество для важных записей

Примечание: small модель не включена, но может быть добавлена при необходимости.

📈 Процесс работы

  1. Очистка - удаляются старые временные файлы
  2. Конвертация - аудио преобразуется в WAV (16kHz, mono)
  3. Сегментация - файл разбивается на 5-минутные сегменты
  4. Транскрипция - параллельная обработка сегментов
  5. Объединение - результаты собираются в итоговый файл

📄 Результаты

Результат сохраняется в формате:

output/transcription_{имя_файла}_{модель}.txt

Примеры:

  • output/transcription_meeting_medium.txt
  • output/transcription_interview_large.txt

⚡ Производительность

  • Параллельная обработка: до 4 потоков одновременно
  • Автоматическое масштабирование: количество потоков адаптируется
  • Защита от зависания: таймаут 30 минут на сегмент

🛠️ Устранение неполадок

Ошибка "whisper-cli not found"

# Проверьте установку
which whisper-cli

# Переустановите whisper.cpp
brew reinstall whisper-cpp

Ошибка "ffmpeg not found"

# Установите FFmpeg
brew install ffmpeg

Ошибка конвертации аудио

  • Проверьте формат файла
  • Убедитесь что файл не поврежден
  • Попробуйте другой аудио файл

Низкое качество транскрипции

  • Используйте модель large вместо medium
  • Убедитесь что аудио хорошего качества
  • Проверьте что язык установлен правильно (русский)

📚 Дополнительная информация

Смотрите USAGE_EXAMPLES.md для подробных примеров использования.

🔄 Обновление

Для обновления скрипта:

  1. Замените anti_duplicate_transcribe.py
  2. Обновите requirements.txt если нужно
  3. Перезапустите виртуальное окружение

Версия: 2.0
Последнее обновление: Июль 2024

About

Работает на Whisper

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published