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

150 lines
4.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Генерация аудио для Благаявести
## Описание
Скрипты для генерации аудиоверсий книги с **умной фильтрацией** и голосом **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)
**Качество**: Естественная интонация, плавное чтение