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.1.tar.gz (12.2 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.1-py3-none-any.whl (16.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: animesub-0.4.1.tar.gz
  • Upload date:
  • Size: 12.2 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.1.tar.gz
Algorithm Hash digest
SHA256 b9eb013d1b089f654fea18281897da147a5a9b35e410eba1662056dd6f1b91b6
MD5 32a7e1354039ce12b93fd64dcad08335
BLAKE2b-256 8c3b61494cf38b824345610530e5918ab8da8927a4b2ceeec6bc44e07ccadffe

See more details on using hashes here.

File details

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

File metadata

  • Download URL: animesub-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 16.6 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ddb066dade02b2a81f5d59d671d8290da479ae6665e172b93dd5ba87631f630e
MD5 c881f9b5c2718db12be80d87306b7222
BLAKE2b-256 cf16fefb0011c1ee3aa9dbb323e4ceba2001af2a89b5a400721b07e9fcdbd10d

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