72 lines
3.1 KiB
Markdown
72 lines
3.1 KiB
Markdown
# meeting-report — генерация отчётов по аудиозаписям встреч
|
||
|
||
## Функционал
|
||
- Транскрипция WAV аудио через faster-whisper
|
||
- Генерация аналитического отчёта в Markdown
|
||
- Экспорт в PDF (через pandoc или weasyprint)
|
||
|
||
## Установка зависимостей (Docker/Debian-based)
|
||
apt-get update && apt-get install -y ffmpeg pandoc texlive-xetex texlive-lang-cyrillic fonts-noto
|
||
pip install faster-whisper weasyprint
|
||
|
||
## Быстрый старт
|
||
|
||
### Шаг 0. Подготовка аудио
|
||
Положите WAV файл(ы) в папку встречи:
|
||
/app/hermes_data/meetings/YYYY-MM-DD/
|
||
|
||
### Шаг 1. Установка переменных окружения (КРИТИЧНО!)
|
||
Перед запуском транскрипции НУЖНО установить:
|
||
export MKL_SERVICE_FORCE_INTEL=1
|
||
export OMP_NUM_THREADS=2
|
||
|
||
Без этого скрипт упадёт на втором чанке с ошибкой:
|
||
Intel oneMKL FATAL ERROR: Cannot load libctranslate2.so
|
||
|
||
### Шаг 2. Запуск транскрипции
|
||
bash /app/hermes_data/skills/meeting-report/scripts/generate_report.sh /app/hermes_data/meetings/2026-03-18
|
||
|
||
Для длительных файлов (>30 мин) используется автоматическое разбиение на чанки.
|
||
|
||
### Шаг 3. Создание аналитического отчёта
|
||
После получения transcription/merged_plain.txt:
|
||
1. Прочитайте транскрипцию
|
||
2. Создайте report.md со структурой:
|
||
- Краткая выжимка (1-2 абзаца)
|
||
- Ход совещания (подробно)
|
||
- Ключевые решения (список)
|
||
- Задачи и ответственные
|
||
- Итоги и следующие шаги
|
||
|
||
### Шаг 4. Генерация PDF
|
||
|
||
Вариант A: Через pandoc (требует texlive)
|
||
pandoc report.md -o report.pdf --pdf-engine=xelatex -V mainfont="Noto Sans CJK SC"
|
||
|
||
Вариант B: Через weasyprint (проще)
|
||
pip install weasyprint
|
||
python3 generate_pdf.py report.md report.pdf
|
||
|
||
## Результаты
|
||
- transcription/merged_plain.txt — полная транскрипция
|
||
- report.md — аналитический отчёт Markdown
|
||
- report.pdf — финальный PDF документ
|
||
|
||
## Типичные ошибки
|
||
|
||
Ошибка: Intel oneMKL FATAL ERROR
|
||
Решение: Установите MKL_SERVICE_FORCE_INTEL=1 OMP_NUM_THREADS=2
|
||
|
||
Ошибка: pandoc command not found
|
||
Решение: apt-get install pandoc texlive-xetex texlive-lang-cyrillic
|
||
|
||
Ошибка: weasyprint command not found
|
||
Решение: pip install weasyprint
|
||
|
||
Ошибка: Нет кириллицы в PDF
|
||
Решение: Используйте fonts-noto или weasyprint
|
||
|
||
## Время обработки
|
||
- Модель small: 5-10 мин на 10 мин аудио
|
||
- 1 час аудио = 30-60 минут обработки
|
||
- Длительные процессы запускайте в фоне: nohup script.sh &
|