montana/Русский/Благаявесть/README/ПРОЧТИ_МЕНЯ_АУДИО.md

150 lines
4.5 KiB
Markdown
Raw Normal View History

# Генерация аудио для Благаявести
## Описание
Скрипты для генерации аудиоверсий книги с **умной фильтрацией** и голосом **Svetlana (Microsoft)**.
### Что делает умная фильтрация:
1.**Римские нумерации** → текст (I → первая, II → вторая)
2.**Цифры** → текст где нужно (9 января 2026 → девятого января две тысячи двадцать шестого)
3.**Ссылки** → "ссылка из текстовой книги"
4.**Markdown разметка** → чистый текст (убирает \*\*, \*, \`, #)
5.**Единый поток** → без лишних пауз между предложениями
## Использование
### Один файл
```bash
python3 generate_audio_smart.py "00. ПРЕЛЮДИЯ.md"
```
### Все файлы разом
```bash
python3 generate_all_audio.py
```
## Настройки голоса
В файле `generate_audio_smart.py`:
- **Голос**: `ru-RU-SvetlanaNeural` (Microsoft Svetlana - бесплатный)
- **Скорость**: `-5%` (чуть медленнее для вдумчивого чтения)
- **Высота**: `+0Hz` (нормальная)
### Изменить скорость
```python
RATE = "-10%" # Медленнее
RATE = "+5%" # Быстрее
```
### Изменить голос
Доступные русские голоса Microsoft:
```python
VOICE = "ru-RU-SvetlanaNeural" # Светлана (женский, спокойный)
VOICE = "ru-RU-DmitryNeural" # Дмитрий (мужской)
```
Полный список голосов:
```bash
edge-tts --list-voices | grep ru-RU
```
## Выходные файлы
Аудио сохраняется в:
```
audio_smart/
├── 00. ПРЕЛЮДИЯ.mp3
├── 01. Симуляция.mp3
├── 02. Унижение.mp3
└── ...
```
## Проверка
Воспроизвести аудио:
```bash
afplay "audio_smart/00. ПРЕЛЮДИЯ.mp3"
```
## Если edge-tts не подключается (Connection timeout)
Microsoft `speech.platform.bing.com` иногда недоступен локально — блокировка провайдером, VPN, firewall. TLS handshake зависает, все попытки дают timeout.
### Решение: генерация через удалённый сервер
1. Проверь какой сервер видит Microsoft:
```bash
ssh montana-moscow "curl -s --max-time 5 -o /dev/null -w '%{http_code}' https://speech.platform.bing.com"
# 400 = сервер доступен (это нормальный ответ)
```
2. Установи edge-tts на сервере (один раз):
```bash
ssh montana-moscow "python3 -m pip install --break-system-packages edge-tts"
```
3. Загрузи файлы, сгенерируй, скачай обратно:
```bash
# Загрузить
scp "Книга Монтана 📕/51. Время.md" montana-moscow:/tmp/chapter.md
scp generate_audio_smart.py montana-moscow:/tmp/generate_audio_smart.py
# Сгенерировать
ssh montana-moscow "cd /tmp && python3 generate_audio_smart.py chapter.md"
# Скачать
scp montana-moscow:/tmp/chapter.mp3 "Книга Монтана 📕/51. Время.mp3"
# Почистить
ssh montana-moscow "rm /tmp/chapter.md /tmp/chapter.mp3 /tmp/generate_audio_smart.py"
```
### Доступные серверы
| Сервер | Команда | Статус |
|--------|---------|--------|
| Moscow | `montana-moscow` | Проверен, работает |
| Frankfurt | `montana-frankfurt` | Проверен, работает |
| Amsterdam | `montana-ams` | Не проверен |
### Диагностика проблемы
```bash
# Проверить DNS
nslookup speech.platform.bing.com 8.8.8.8
# Проверить TCP-соединение
curl -v --max-time 10 https://speech.platform.bing.com
# Если TLS handshake зависает — проблема на уровне сети, используй удалённый сервер
```
---
## Требования
- Python 3.7+
- edge-tts (установлен)
```bash
pip3 install edge-tts
```
---
**Голос**: Microsoft Svetlana Neural (бесплатный через edge-tts)
**Качество**: Естественная интонация, плавное чтение