Files
wiki/tasks/karaoke/PROJECT.md
2026-04-30 00:30:01 +03:00

3.9 KiB
Raw Blame History

Караоке-генератор — Бизнес требования

Что делаем

Пользователь загружает аудиофайл песни → получает видео-караоке с анимированным текстом, синхронизированным с аудио.


Вход

Обязательно

  • Аудиофайл: mp3, wav, ogg, m4a (любая длина)

Опционально

  • Текст песни: если пользователь хочет конкретный текст
    • Ручной ввод (textarea)
    • Загрузка файла: txt, lrc, srt, vtt
    • Без текста → автоматическая транскрипция через Whisper

Выход

  • Видеофайл: mp4 (H.264), с встроенным аудио
  • Разрешение: 720p / 1080p
  • Фреймрейт: 30fps
  • Текст синхронизирован с аудио
  • Стилизация: шрифт, цвет, анимации

Основной функционал

1. Транскрипция и тайминги

  • Автоматическая транскрипция через Whisper API (если текст не загружен)
  • Поддержка LRC, SRT, WebVTT
  • Ручная подгонка таймингов (если автомат не попал)

2. Анализ смысла песни (для видео-фона)

  • Извлечение ключевых слов и тем из текста (NLP через GigaChat)
  • Классификация настроения: грусть, радость, любовь, природа, город, ночь и т.д.
  • Определение тематических сцен: «закат», «дождь в городе», «горы», «лес»

3. Автоматический подбор видео-фона

  • Поиск по стоковым видео: Pexels Video, Pixabay Video (бесплатно, CC0)
  • Соответствие настроение/сцена → видео-клип
  • Зацикливание коротких клипов для длинных песен
  • Плавные переходы между клипами (crossfade)
  • Опционально: ручная замена фона

4. Сборка финального видео

  • Текст поверх видео-фона
  • Подсветка текущей строки
  • Fade-in/out анимации
  • Аудио встраивается в видео

Технические детали

Стек

  • Транскрипция: OpenAI Whisper API
  • Анализ текста: GigaChat (через наш прокси)
  • Поиск видео: Pexels API / Pixabay API
  • Рендер видео: FFmpeg + MoviePy / PyAV

Ограничения

  • Автоматический подбор фона не идеален — может потребовать ручной корректировки
  • Длинные песни (>10 мин) рендерятся дольше
  • Качество транскрипции зависит от чистоты аудио
  • API сток-видео имеют лимиты запросов

Roadmap

v0.1 — MVP

  • Загрузка аудио + текст (или транскрипция)
  • Ручной выбор видео-фона
  • Рендер в 720p
  • Тайминги через Whisper

v0.2 — Авто-фон

  • NLP анализ смысла
  • Автоматический подбор видео из стоков
  • 1080p

v0.3 — Улучшения

  • Ручная коррекция таймингов в UI
  • Дуэт (два текста разными цветами)
  • Экспорт SRT/LRC
  • Предпросмотр перед рендером

Задача

  • Проект: karaoke
  • Слаг: karaoke
  • Папка: tasks/karaoke/