Skip to content

About

Программа для преобразования текста в речь и конвертации в MP3 в среде Windows, разработанная на Python с использованием Microsoft SAPI и FFmpeg; поддерживает вкладки, горячие клавиши, а также функции восстановления и диагностики.

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Язык / Language: Русский · English

Text to MP3 для Windows

Text to MP3 для Windows — desktop-приложение на Python для озвучивания текста системными голосами Microsoft SAPI и сохранения текста в MP3. Программа поддерживает несколько вкладок, глобальные горячие клавиши, восстановление прерванных заданий и работу с длинными текстами.

Проект рассчитан на повседневное использование: можно слушать текст прямо в приложении, захватывать выделенный текст из других программ и создавать аудиоверсии статей, заметок и документов.

Скачать готовую Windows-версию

Готовая 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.

Установка

  1. Установите Python 3.11 или новее для Windows.
  2. Убедитесь, что в Windows установлен хотя бы один голос Microsoft SAPI.
  3. Скачайте проект через Code → Download ZIP либо Git:
git clone https://github.com/zeter1/Text-to-MP3-Windows.git
cd Text-to-MP3-Windows
  1. Создайте виртуальное окружение и установите зависимости:
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

Как пользоваться

Озвучивание текста

  1. Запустите программу.
  2. Вставьте или напечатайте текст во вкладке.
  3. Выберите голос, скорость, громкость и другие параметры.
  4. Нажмите кнопку чтения.
  5. Используйте паузу и продолжение, если нужно временно остановить озвучивание.

Захват текста из другой программы

  1. Настройте глобальную горячую клавишу для нужной вкладки.
  2. Выделите текст в браузере, документе или другом приложении.
  3. Нажмите назначенную горячую клавишу.
  4. Выделенный текст будет передан в Text to MP3 для дальнейшего чтения или сохранения.

Создание MP3

  1. Подготовьте текст во вкладке.
  2. Выберите голос и настройки синтеза.
  3. Укажите параметры MP3.
  4. Запустите сохранение.
  5. Для длинных заданий программа сохраняет данные восстановления, чтобы не начинать весь процесс заново после части сбоев.

Архитектура

Текущая версия приложения остаётся крупным 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 -v

GitHub 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.

Документация и поддержка

Лицензия

Открытая лицензия в настоящее время не предоставляется. Исходный код опубликован для портфолио и ознакомления с реализацией.

About

Программа для преобразования текста в речь и конвертации в MP3 в среде Windows, разработанная на Python с использованием Microsoft SAPI и FFmpeg; поддерживает вкладки, горячие клавиши, а также функции восстановления и диагностики.

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages