Finish es_latam Audiobook
⚠️ КРИТИЧЕСКИЕ ТРЕБОВАНИЯ
1. ПЕРЕВОДИТЬ НЕЛЬЗЯ!
code
❌ ЗАПРЕЩЕНО: Переводить предложения или слова ❌ ЗАПРЕЩЕНО: Изменять таблицы sentences/rare_words ✅ РАЗРЕШЕНО: Только чтение из БД + генерация audio/video
2. Предварительная проверка (ОБЯЗАТЕЛЬНО!)
Перед ЛЮБЫМИ действиями выполни:
python
import sqlite3
db = sqlite3.connect('projects/PROJECT_ru_es_latam/project.db')
# Проверить ВСЕ предложения переведены
missing = db.execute('''
SELECT COUNT(*) FROM sentences WHERE lang="ru"
AND sentence_idx NOT IN (SELECT sentence_idx FROM sentences WHERE lang="es_latam")
''').fetchone()[0]
# Проверить ВСЕ слова переведены
missing_words = db.execute('''
SELECT COUNT(*) FROM rare_words WHERE translation IS NULL
''').fetchone()[0]
if missing > 0 or missing_words > 0:
print(f"❌ СТОП! Переводы не завершены!")
print(f" Missing sentences: {missing}")
print(f" Missing words: {missing_words}")
print(" → Сначала завершить claude-translation-pipeline-es_latam")
# ОСТАНОВИТЬСЯ! НЕ ПРОДОЛЖАТЬ!
else:
print("✅ Все переводы готовы, можно продолжать")
Если есть missing → ОСТАНОВИТЬСЯ и сообщить пользователю!
Параметры
| Параметр | Значение |
|---|---|
| Source lang | ru |
| Target lang | es_latam |
| TTS locale | es-latam (Latin American Spanish) |
| Source speed | 1.5 |
| Target speed | 0.8 |
| Parallel workers | 16 (все процессы) |
Pipeline
Step 1: Проверка переводов
См. выше. Если не пройдена → СТОП.
Step 2: Поиск фоновой картинки
python
# Получить название книги из проекта
book_name = "asimov_profession" # из имени проекта или meta
# Поиск в интернете
search_query = f"{book_name} book cover art wallpaper"
# Использовать WebSearch для поиска
# Выбрать подходящую картинку (1920x1080 или больше)
# Скачать в projects/PROJECT/video/background.jpg
Критерии выбора картинки:
- •Разрешение минимум 1920x1080
- •Тематически связана с книгой
- •Без текста или с минимальным текстом
- •Подходит как фон (не слишком яркая/пёстрая)
Step 3: Генерация Audio + Video
bash
python3 main.py resume PROJECT_NAME \
--tts google_cloud \
--tts-target-locale es-latam \
--source-speed 1.5 \
--target-speed 0.8 \
--tts-parallel 16 \
--combine-workers 16 \
--video-workers 16 \
--background projects/PROJECT/video/background.jpg
Если background не поддерживается CLI:
bash
# Сначала audio
python3 main.py resume PROJECT_NAME \
--tts google_cloud \
--tts-target-locale es-latam \
--source-speed 1.5 \
--target-speed 0.8 \
--tts-parallel 16 \
--combine-workers 16
# Потом video с background (проверить CLI опции)
python3 main.py resume PROJECT_NAME \
--video-workers 16 \
--background projects/PROJECT/video/background.jpg
Workflow Summary
code
1. ✅ Проверить переводы (sentences + rare_words) ↓ Если missing → СТОП 2. 🔍 Найти фоновую картинку (WebSearch) ↓ Скачать в video/background.jpg 3. 🎙️ TTS генерация (16 параллелей) - Source: ru, speed 1.5 - Target: es-latam, speed 0.8 4. 🔊 Combine audio (16 параллелей) 5. 🎬 Generate video с background (16 параллелей) 6. ✅ Готово!
Проверка результата
После завершения:
bash
ls -la projects/PROJECT/ # Должно быть: # - audio/combined.mp3 # - video/output.mp4 # - video/subtitles.ass # - video/background.jpg # Проверить размер видео ffprobe projects/PROJECT/video/output.mp4
Troubleshooting
TTS квота исчерпана
bash
python3 main.py quota # Если Google Cloud квота закончилась - подождать или использовать другой провайдер
Video генерация падает
bash
# Уменьшить параллелизм --video-workers 8 # Или даже --video-workers 4
Background не подхватывается
Проверить что картинка:
- •Существует по пути
- •Формат JPG/PNG
- •Не битая
Self-Reminder
code
📌 CURRENT STATE:
- Project: {name}
- Translations: ✅ verified
- Background: {found/missing}
- Audio: {pending/in_progress/complete}
- Video: {pending/in_progress/complete}
- Next: {action}
Anti-Patterns
❌ НЕ ДЕЛАТЬ:
- •Запускать без проверки переводов
- •Переводить что-либо
- •Редактировать sentences/rare_words
- •Использовать es вместо es-latam для TTS
- •Забывать про background картинку
✅ ДЕЛАТЬ:
- •Проверка переводов ПЕРВЫМ шагом
- •Искать качественный background
- •16 параллелей везде
- •Скорости: source 1.5, target 0.8
- •TTS locale: es-latam