Приложение для транскрипции аудио с поддержкой различных форматов и моделей Whisper.
- Поддержка форматов: WAV, MP3, M4A
- Модели Whisper: small, medium, large
- Параллельная обработка для ускорения транскрипции
- Защита от дубликатов в транскрипции
- Автоматическая конвертация форматов
- Python 3.8+
- FFmpeg для обработки аудио
- whisper-cli для транскрипции
brew install ffmpeg
brew install whisper-cppsudo apt update
sudo apt install ffmpeg
# whisper-cpp нужно собрать отдельно- Скачайте FFmpeg с https://ffmpeg.org/
- Установите whisper.cpp
-
Клонируйте или скопируйте папку проекта
cd transcriber -
Создайте виртуальное окружение
python -m venv venv source venv/bin/activate # macOS/Linux # или venv\Scripts\activate # Windows
-
Установите зависимости
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 largepython anti_duplicate_transcribe.py --help| Модель | Размер | Скорость | Качество | Рекомендации |
|---|---|---|---|---|
| medium | ~1.5GB | Быстро | Хорошее | Баланс скорости/качества |
| large | ~3GB | Медленно | Отличное | Лучшее качество для важных записей |
Примечание: small модель не включена, но может быть добавлена при необходимости.
- Очистка - удаляются старые временные файлы
- Конвертация - аудио преобразуется в WAV (16kHz, mono)
- Сегментация - файл разбивается на 5-минутные сегменты
- Транскрипция - параллельная обработка сегментов
- Объединение - результаты собираются в итоговый файл
Результат сохраняется в формате:
output/transcription_{имя_файла}_{модель}.txt
Примеры:
output/transcription_meeting_medium.txtoutput/transcription_interview_large.txt
- Параллельная обработка: до 4 потоков одновременно
- Автоматическое масштабирование: количество потоков адаптируется
- Защита от зависания: таймаут 30 минут на сегмент
# Проверьте установку
which whisper-cli
# Переустановите whisper.cpp
brew reinstall whisper-cpp# Установите FFmpeg
brew install ffmpeg- Проверьте формат файла
- Убедитесь что файл не поврежден
- Попробуйте другой аудио файл
- Используйте модель
largeвместоmedium - Убедитесь что аудио хорошего качества
- Проверьте что язык установлен правильно (русский)
Смотрите USAGE_EXAMPLES.md для подробных примеров использования.
Для обновления скрипта:
- Замените
anti_duplicate_transcribe.py - Обновите
requirements.txtесли нужно - Перезапустите виртуальное окружение
Версия: 2.0
Последнее обновление: Июль 2024