Snippet #21 ~ PHP: dicter du texte sous n’importe quel OS

Tant qu’on est dans nos projets de domotiques, autant en profiter pour alimenter aussi les snippets avec de la synthèse vocale Rire.

Ce petit snippet vous permettra de faire du text-to-speech très simplement, que votre serveur php soit sous linux, windows, ou mac.

Pour rappel, le text-to-speech (TTS) permet de transformer une phrase écrite en phrase prononcée, votre ordinateur dictera le texte que vous lui fournissez

Le code utilise la librairie open source espeak et une petite classe PHP de votre serviteur (un peu vite fait la classe, mais c’est pour l’exemple).

Installation

  1. Téléchargez et installez la librairie Espeak sur : http://espeak.sourceforge.net/download.html
    Téléchargez la classe PHP et Configurez le chemin vers la librairie espeak dans la variable CHEMIN_ESPEAK
    Lancez la page PHP (n’oubliez pas d’enclencher le son de vos écouteurs)

Utilisation

Lancez tout simplement la page synth.php via un navigateur, cette page contient la classe d’utilisation ainsi qu’un court exemple de dialogue (les fans reconnaitrons, les autres je vous encourage a parfaire votre éducation devant la “cité de la peur”)

personnalisation

Toutes les voix doivent être initialisée comme ça :

$nouvelleVoix = new Voix();

Vous pouvez définir que c’est une voix masculine ou féminine comme ça :

$nouvelleVoix ->sexe = ‘Femme’;

Pour un homme ou

$nouvelleVoix ->sexe = ‘Homme’;

Pour une femme

Vous pouvez également définir l’aigu de la voie comme ça

$nouvelleVoix ->aigu = 40;

Ainsi que la vitesse de parole comme ça  :

$nouvelleVoix ->vitesse = 150;

Enfin, pour prononcer un texte avec la voix configurée :

$nouvelleVoix ->dis(‘Ceci est mon texte’);

Vous pouvez également chuchoter un texte de la manière suivante :

$nouvelleVoix ->chuchote(‘Ceci est mon texte’);

Merci à nerkdesign pour le tuyau sur espeak.

Article rédigé par Idleman

14 réflexions au sujet de « Snippet #21 ~ PHP: dicter du texte sous n’importe quel OS »

  1. qwerty

    Il faut absolument que je trouve la voix de Doc ! Pour la domotique, ça serai fun !

    Répondre
    1. Idleman Auteur de l’article

      Si tu la trouve, fait moi signe ça m’intéresse :D, j’ignore si on peux créer nos propres voies avec cette lib mais ya peut être moyen de jouer avec les aigus :)

      Répondre
    1. Idleman Auteur de l’article

      Nice, décidément elle est de plus en plus sympa cette librairie :)

      Répondre
  2. FoX

    Hey!

    Ca pourrais marcher sur l’ordinateur windows qui envoie et recupere les ordres sur le serveur de la Rasp? (Au lieu d’utiliser les voix de windows? qui sont, soit dit en passant, bordéliques à installer sur un Seven 64bits…)

    HS: Je viens de recevoir l’émetteur et le récepteur, je fais ma semaine de partiels et on reparle de la radio freq ;)

    Répondre
    1. Idleman Auteur de l’article

      Oui ça peut même marcher directement sur le raspberry, comme ça il n’y aurais plus qu’a trouver une bonne lib de reconnaissance vocale et on pourrait se passer de windows.

      Seulement ça risque d’être tendu à trouver :), pour les voix de windows, ya des voix qu’on peut télécharger qui sont plus sympa genre hortense etc.. :p

      Répondre
      1. FoX

        Bah ecoute j’ai téléchargé hortense et tout le bins pour la faire fonctionner « TTspeech abracadbra serveur wondows XXX bsjdifdkds  » des trucs du genres. Impossible de la trouver dans sapi.cpl … Y a que virginie que j’ai pu installer avec un exe…

        Je serais curieux de savoir comment tu as installé Hortense (si cest un un Seven 64bits biensur :p)

        Répondre
        1. Idleman Auteur de l’article

          Tu as essayé d’installer ms reader puis de réinstaller hortense, de redémarrer et enfin de retenter la modif par le chemin sapi etc.. ?

          Répondre
  3. Bronco

    « Vous pouvez définir que c’est une voix masculine ou féminine comme ça :

    $nouvelleVoix ->sexe = ‘Homme’;

    Pour un homme ou

    $nouvelleVoix ->sexe = ‘Homme’;

    Pour une femme »

    hinhin… et sinon, pour un enfant c’est $nouvelleVoix ->sexe = ‘Homme’;
    c’est ça ? ^^

    A tester en tout cas, ça peut être utile, surtout que tu l’as rendue simple à utiliser…

    Répondre
    1. Idleman Auteur de l’article

      Ha oui merde, la fatigue (ou la drogue on ne sais pas) c’est corrigé merci :)

      Répondre
  4. raffi

    Bonjour,

    Cet article est super! Mais est ce que vous pourriez remettre dispo le lien « Téléchargez la classe PHP » ?

    Merci d’avance

    Répondre
  5. raffi

    Ce tuto est super, est ce que vous pourriez remettre le lien Téléchargez la classe PHP ?
    Merci

    Répondre
  6. Anthony Maurin

    Salut, ça m’intérésse beaucoup, mais « Téléchargez la classe PHP  » retourne un 404, et je ne le trouve pas ailleurs, pourrai tu le remetre stp? Merci :)

    Répondre
    1. Idleman Auteur de l’article

      Je me suis planté dans le lien, mea culpa ^^, ça devrait re-fonctionner toutes mes excuses

      Répondre

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Xo ^_^ :siffle: :p :-( :evil: oO :) T_T <3 :D more »