Консольное приложение на Java для парсинга экспортированных чатов Telegram и автоматической расшифровки голосовых сообщений.
Данный проект является открытым по лицензии MIT (Подробнее см. в файле LICENSE) в образовательных целях. Я не несу ответственности за согласие использовать мой код в рабочих целях. Образовательная разработка.
- Парсинг HTML: Читает
messages.htmlфайлы, экспортированные из Telegram. - Конвертация аудио: Автоматически конвертирует
.oggголосовые сообщения в формат.wav. - Распознавание речи: Использует локальную AI-модель Whisper (
large-v3-turbo) для транскрибации аудиофайлов. - Формирование отчёта: Собирает текстовые и расшифрованные сообщения в единый итоговый
.txtфайл. - Гибкий вывод: Поддерживает сохранение результата в форматах TXT и JSON.
- result.txt - требуется для внедрения в парсер общего вывода данных (OutputParse.txt/json) голосовых сообщений конвертированных в текстовый формат.
- custom_transcripts.txt - требуется для добавления/изменения голосовых сообщений (в виде текста) поверх result.txt.
custom_transcripts.txt позволяет удобно редактировать определённые ключ -> значения поверх result.txt!
- Формат result.txt:
audio_26@17-05-2025_20-51-05.ogg: ваш_текст
Ключ обязан соответствовать названию, которое было в html файле к нужному сообщению. Текст может быть любым.
- Формат custom_transcripts.txt:
Идентичен как для result.txt.
-
На этапе выбора языка голосовых сообщений требуется ввести название языка по стандарту ISO 639-1. К примеру:
ru -
На этапе выбора самой модели требуется обратиться к репозиторию и ввести название модели в соответствии с данным образцом:
ggml-large-v3-turbo.bin
Для работы приложения необходимо, чтобы в системе были установлены:
- Java 17 (JDK)
- Maven
- FFmpeg (для конвертации аудио)
- GCC 14
Сборка проекта: Для сборки исполняемого JAR-файла выполните в терминале в папке проекта:
bash mvn clean package
Запуск: Запустите собранный JAR-файл из командной строки:
bash java -jar target/telegram-analyzer-1.0-SNAPSHOT-jar-with-dependencies.jar
- Java 17
- Maven
- Jsoup - для парсинга HTML.
- JAVE2 - для конвертации аудио.
- whisper-jni - для интеграции с моделью Whisper.
- Logback - для логирования.
- Создание графического интерфейса (GUI) на JavaFX.
- Поддержка экспорта из других мессенджеров.
- Работа с мессенджерами через их официальные API.
- Внедрение различных ИИ моделей (для разных ресурсоёмких задач)
- Оптимизация кода