Язык / Language: Русский · English
Text to MP3 для Windows — desktop-приложение на Python для озвучивания текста системными голосами Microsoft SAPI и сохранения текста в MP3. Программа поддерживает несколько вкладок, глобальные горячие клавиши, восстановление прерванных заданий и работу с длинными текстами.
Проект рассчитан на повседневное использование: можно слушать текст прямо в приложении, захватывать выделенный текст из других программ и создавать аудиоверсии статей, заметок и документов.
Готовая Windows-сборка с Text-to-MP3-Windows.exe публикуется на странице GitHub Releases в portable-архиве Text-to-MP3-Windows-x64.zip.
Распакуйте архив целиком и запускайте Text-to-MP3-Windows.exe. Устанавливать Python, pywin32 и FFmpeg-зависимости проекта отдельно для готовой сборки не нужно. Рядом с ZIP публикуется SHA-256.
Не вынимайте один EXE из дистрибутива: packaged-программа использует соседнюю папку
runtime. Для озвучивания в Windows должен быть установлен хотя бы один системный голос Microsoft SAPI.
- интеграцию Python с Microsoft SAPI и COM через
pywin32; - работу с глобальными Windows hotkeys и передачей выделенного текста между приложениями;
- управление состоянием нескольких независимых вкладок;
- длительную генерацию MP3 с данными восстановления после прерывания;
- интеграцию синтеза речи с FFmpeg;
- хранение локального пользовательского состояния и отделение runtime-данных от репозитория;
- лёгкую CI-проверку Windows-зависимого проекта без попытки эмулировать SAPI и аудиоустройства.
- озвучивание текста через Microsoft SAPI;
- сохранение текста в MP3;
- несколько независимых текстовых вкладок;
- сохранение рабочего состояния между запусками;
- глобальные горячие клавиши для захвата выделенного текста;
- пауза и продолжение чтения с сохранением позиции;
- опциональное удаление уже прочитанных предложений;
- настройка голоса, скорости, высоты тона и громкости;
- выбор устройства воспроизведения;
- настройка битрейта MP3;
- восстановление прерванной MP3-конвертации;
- диагностические логи для анализа проблем;
- опциональный автозапуск Windows.
- Установите Python 3.11 или новее для Windows.
- Убедитесь, что в Windows установлен хотя бы один голос Microsoft SAPI.
- Скачайте проект через Code → Download ZIP либо Git:
git clone https://github.com/zeter1/Text-to-MP3-Windows.git
cd Text-to-MP3-Windows- Создайте виртуальное окружение и установите зависимости:
py -m venv .venv
.\.venv\Scripts\Activate.ps1
py -m pip install -r requirements.txtДля MP3 используется imageio-ffmpeg либо FFmpeg из системного PATH.
py text_to_mp3.py- Запустите программу.
- Вставьте или напечатайте текст во вкладке.
- Выберите голос, скорость, громкость и другие параметры.
- Нажмите кнопку чтения.
- Используйте паузу и продолжение, если нужно временно остановить озвучивание.
- Настройте глобальную горячую клавишу для нужной вкладки.
- Выделите текст в браузере, документе или другом приложении.
- Нажмите назначенную горячую клавишу.
- Выделенный текст будет передан в Text to MP3 для дальнейшего чтения или сохранения.
- Подготовьте текст во вкладке.
- Выберите голос и настройки синтеза.
- Укажите параметры MP3.
- Запустите сохранение.
- Для длинных заданий программа сохраняет данные восстановления, чтобы не начинать весь процесс заново после части сбоев.
Текущая версия приложения остаётся крупным single-file Windows-модулем text_to_mp3.py. Внутри него логически разделены несколько подсистем:
Tkinter UI / tabs
↓
text state + settings
↓
Microsoft SAPI / COM speech
↓
audio playback / MP3 pipeline
↓
FFmpeg
↓
recovery + backups + diagnostics
Отдельно работают Windows hotkeys, перенос выделенного текста, автозапуск и слой сохранения состояния. Такая структура отражает рабочее legacy-приложение; дальнейшая безопасная декомпозиция на модули остаётся отдельной инженерной задачей.
- прослушивание длинных текстов вместо чтения с экрана;
- подготовка аудиоверсий статей и заметок;
- создание MP3 из текста;
- быстрый голосовой просмотр выделенного текста;
- работа с несколькими текстами одновременно.
pywin32— Microsoft SAPI, COM и Windows-интеграция;imageio-ffmpeg— резервный источник FFmpeg.
Большая часть остальной логики использует стандартную библиотеку Python.
Программа может хранить рядом с приложением настройки, состояние вкладок, данные восстановления, резервные копии текста для длительной MP3-конвертации и диагностические логи. Рабочие данные исключены из Git через .gitignore.
python -m compileall -q text_to_mp3.py tests
python -m unittest discover -s tests -vGitHub Actions выполняет compile и offline repository-contract regression tests. Они проверяют синтаксис, обязательные runtime-data exclusions и ключевые зависимости без запуска SAPI/COM.
- приложение предназначено только для Windows 10/11;
- реальная работа SAPI, COM, глобальных hotkeys и аудиоустройств требует runtime-проверки Windows;
- MP3 pipeline зависит от доступного FFmpeg;
- качество и набор голосов зависят от установленных SAPI voices;
- CI не утверждает, что аппаратно- и Windows-зависимые сценарии полностью проверены.
Программа предназначена для Windows 10/11, поскольку использует Microsoft SAPI, COM, Win32 API и системные функции Windows.
Текущая версия в исходном коде: 4.2 FULL.
- Security / privacy
- Поддержка и диагностика
- форма bug report находится в
.github/ISSUE_TEMPLATE/bug_report.yml.
Открытая лицензия в настоящее время не предоставляется. Исходный код опубликован для портфолио и ознакомления с реализацией.