lp177
Clipboard To Speech

Clipboard To Speech

Icône de zone de notification KDE qui lit le presse-papiers à voix haute

Utilitaire de bureaunovembre 2024PythonPyQt5PiperDockerBash

Code source Piper Voix Piper

Un clic gauche sur l’icône et le contenu du presse-papiers est prononcé par la synthèse vocale Piper, qui tourne dans un conteneur Docker. La lecture peut aussi être pilotée en déposant des fichiers dans un dossier.

But du projet

Faire lire n’importe quel texte copié, en local, sans service en ligne. Piper exigeant alors Python 3.11 ou antérieur, le moteur est isolé dans un conteneur pour rester portable.

Fonctionnement

  • ClipboardToSpeech.py (PyQt5) affiche l’icône : clic gauche ou Read my clipboard écrit le presse-papiers dans input/ ; Stop reading dépose un fichier stop dans action/ ; Quit arrête tout.
  • Dans le conteneur, scripts/init.sh surveille input/ avec inotifywait, envoie le texte à Piper et joue le son avec aplay via le socket PulseAudio de l’hôte.
  • scripts/action.sh surveille action/ et interrompt la lecture en cours.

Le démon fonctionne aussi sans l’icône : tout fichier écrit dans input/ est lu.

Utilisation

Prérequis : PyQt5 et Docker.

./start.sh   # construit l’image, lance le conteneur et l’icône
./stop.sh    # ou clic droit → Quit

La voix par défaut est française (fr_FR-upmc-medium, fournie dans langs/). Pour changer de voix ou de langue, ajouter les fichiers de voix dans langs/ et modifier scripts/init.sh.