**Короткий опис завдання:**
Розробити Python-скрипт для автоматичного об’єднання **двох дорожок із Audacity-проекту** (англійської та польської) у єдиний файл, дотримуючись умов:
1. Польські сегменти йдуть строго після англійських.
2. Пауза між сегментами має бути однаковою.
3. Перекриття між польськими та англійськими сегментами заборонені.
---
### **Основні кроки:**
1. **Експорт дорожок із Audacity**
- Завантажити Audacity-проект (*.aup), експортувати обидві дорожки у синхронізовані аудіофайли (формат на вибір).
2. **Виявлення речових сегментів**
- Визначити часові мітки початку/кінця сегментів у обох дорожках (алгоритм на вибір: VAD, ML-модель, енергетичний аналіз).
3. **Сопоставлення сегментів**
- Для кожного англійського сегмента `E_N` знайти польський сегмент `P_M`, який починається **після закінчення** `E_N`.
- Якщо `P_M` занадто довгий і перетинається з `E_{N+1}`:
- **Зсунути** початок `E_{N+1}` (та всіх наступних сегментів) так, щоб між `P_M` і `E_{N+1}` залишилася фіксована пауза (наприклад, 500 мс).
4. **Генерація фінального аудіо**
- Об’єднати сегменти у порядку: `E_1` → `P_1` → пауза → `E_2` → `P_2` → пауза → і так далі.
- Зберегти вихідний вміст усіх сегментів без змін.
---
### **Уточнення:**
- **Вихідні дані**: Audacity-проект із двома дорожками.
- **Ключові правила**:
- Порядок англійських сегментів не змінюється.
- Всі сегменти зберігаються у повному обсязі.
- Пауза між `P_M` і `E_{N+1}` однакова для всіх сегментів.
- **Технології**:
- Виявлення сегментів — на розсуд розробника.
- Алгоритм зсуву сегментів — динамічний (наприклад, рекурсивна корекція часових міток).
- **Обробка конфліктів**:
- Якщо зсунути неможливо (наприклад, недостатньо місця), вивести попередження у лог.
---
**Приклад реалізації логіки зсуву:**
- Якщо `P_M` закінчується в `t=5.0`, а `E_{N+1}` починається в `t=4.5`:
1. Обчислити перекриття: `4.5 - 5.0 = -0.5 сек`.
2. Зсунути `E_{N+1}` на `0.5 сек + X` (де `X` — фіксована пауза).
3. Оновити часові мітки всіх наступних сегментів.
**Мета:** Повна автоматизація без втрат даних, з збереженням природного порядку сегментів і пауз.
В додатку приклад бажаного результату (Efezjan 6 - D12_done.mp3),
приклад вихідного файлу (Efezjan 6 - D12.aup3):
https://drive.google.com/file/d/1YQ1h95bzXD4M3EXCdNaFLADJUeQw1zTY/view?usp=sharing