3.1 KiB
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:
- Прочитайте транскрипцию
- Создайте 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 &