Skip to main content

Инструмент для автоматического создания субтитров для аниме

Project description

AnimeSub

Инструмент для автоматического создания субтитров из любого видео- или аудиофайла.
Оптимизирован для японского языка (подходит для аниме, интервью, и т.п.).


📦 Установка

Установите из PyPI:

pip install animesub

💡 Для использования CUDA рекомендуется установить torch и torchaudio с поддержкой вашей версии CUDA вручную:

pip install torch torchaudio --index-url https://download.pytorch.org/whl/cu126

Также требуется ffmpeg и demucs:

conda install ffmpeg -c conda-forge
pip install demucs

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

Создайте субтитры по умолчанию (с моделью kotoba-whisper-v2.2):

animesub input_file.mp4

Это создаст файл input_file.srt в текущей директории.

🔧 Параметры CLI

Аргумент Описание
input_file Путь к входному видео или аудио
-o, --output Путь к выходному .srt (по умолчанию: <имя_файла>.srt)
-m, --model Название модели Whisper: ↩
tiny, base, small, medium, large, ↩
kotoba-whisper, kotoba-faster, kotoba-whisper-v2.2
(по умолчанию: kotoba-whisper-v2.2)
-d, --device cpu или cuda (по умолчанию: определяется автоматически)
--demucs-model Модель вокальной сепарации: ↩
htdemucs или mdx_extra_q
(по умолчанию: htdemucs)
--merge-silence Максимальная пауза между VAD-сегментами для их объединения ↩
(только для kotoba-моделей), например: 0.6
(по умолчанию: 0.6)

📌 Примеры

С базовой моделью на CPU:

animesub input.mp3 -m base -d cpu

С моделью kotoba и кастомной паузой объединения:

animesub input.mkv -m kotoba-whisper-v2.2 --merge-silence 0.8 -d cuda

С сохранением результата в указанный файл:

animesub episode.mp4 -o subtitles.srt

🎯 Как это работает

Процесс состоит из 5 этапов:

  1. 🎵 Отделение вокала (Demucs)
  2. 🎙️ Обнаружение сегментов речи (Silero VAD)
  3. ✍️ Транскрипция аудио (Whisper или Kotoba)
  4. 🔡 Постобработка: японская пунктуация (XLM-RoBERTa)
  5. 📝 Экспорт в .srt (с форматированием и очисткой текста)

🧠 Поддерживаемые модели

  • Faster-Whisper (от OpenAI):

    • tiny, base, small, medium, large, large-v2, large-v3
  • Faster-Whisper (kotoba):

    • kotoba-faster (на основе kotoba-tech/kotoba-whisper-v2.0-faster)
  • Kotoba-Whisper (через transformers):

    • kotoba-whisper, kotoba-whisper-v2.2

🧪 Тестирование

Убедитесь, что установлены зависимости из pyproject.toml или вручную:

pip install torch torchaudio faster-whisper transformers demucs punctuators

🔗 Google Colab

Open In Colab


🛠️ Использование как библиотеки

Можно импортировать и использовать в своём Python-скрипте:

from AnimeSub.main_logic import process_audio

process_audio(
    input_path="video.mp4",
    output_path="subs.srt",
    model_name="kotoba-whisper-v2.2",
    device="cuda",
    merge_silence=0.6
)

📜 Лицензия

MIT


👤 Автор

Ivan Tyumentsev 📧 ivanfufa184@gmail.com 🔗 GitHub

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

animesub-0.4.0.tar.gz (11.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

animesub-0.4.0-py3-none-any.whl (15.9 kB view details)

Uploaded Python 3

File details

Details for the file animesub-0.4.0.tar.gz.

File metadata

  • Download URL: animesub-0.4.0.tar.gz
  • Upload date:
  • Size: 11.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.18

File hashes

Hashes for animesub-0.4.0.tar.gz
Algorithm Hash digest
SHA256 7c1cb6f5bddaff52dc0ecfdd05646c1df1e356ce1da4d0b032da9bd90dd01136
MD5 d9af0f2f9eeec507cc6f92c3c7c300f8
BLAKE2b-256 b7daba7c0da7e141f2c66522607acbac9d9a61e51203fd565d63571ece982acd

See more details on using hashes here.

File details

Details for the file animesub-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: animesub-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 15.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.18

File hashes

Hashes for animesub-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dd92c41699a3d286d510684cd8c8a0b6409c25144ba4617404f40fcb4527367e
MD5 1e867b8d2557a15bd1f60e86bf1a0058
BLAKE2b-256 e864a8322fa9e9229a8fb424d1bacab50d6688bc843a6ec99270d03910ff6baf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page