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.3.0.tar.gz (11.7 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.3.0-py3-none-any.whl (16.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for animesub-0.3.0.tar.gz
Algorithm Hash digest
SHA256 60e71a6800296e9f834d2ea624a07793cad6eaf6d8f5911f8982662c9734c9dc
MD5 386680c7dd4e1ebdf9735d7399e00201
BLAKE2b-256 40346e2ba919dab349eaf86b1aaa86da732727266c34b0199181f0540050db7e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: animesub-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 16.3 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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 29d3facad39b5a8327bd7fd56a56548132deb7d2dadc0aaae799040ff1c7eee7
MD5 d91b33448dbde92c6ca06bbde30a9314
BLAKE2b-256 762dcd90636d604f91dfe9e6b761bc75b3eacf2ad1d1ed33555cf9fe1b257b49

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