4

Je tâche de trouver un interprête vocal pour le français, soit sur Internet soit téléchargeable, qui fournit la prononciation en produisant du son, pas seulement pour tous les symboles phonétiques (tels que IPA), mais aussi pour des expressions entières. Je pose cette enquëte au sujet de l'anglais sur Linguistics SE.
Sans un tel outil, je ne saisis pas tout le contenu sur ce site


I'm seeking a vocal interpreter for French, either available on the internet or to download, that provides pronunciation not only for phonetic symbols (eg IPA) but also for full phrases. I ask this for English also on Linguistics SE.. I need such a tool to comprehend content that involves phonetics, like the following:

Comment prononce-t-on la fin des verbes à la troisième personne du pluriel du passé simple?,
Pronunciation of -ai(s) verbal endings / Prononciation des terminaisons en -ai(s),
Why are "an" and "en" pronounced the same? Pourquoi « an » et « en » ont-ils la même prononciation ?,
Quelle est la prononciation standard du « h » aspiré ?,
Is “ai” in "j'ai" and “finirai” pronounced exactly like “er” in infinitives?,
Pronunciation of “œuf” and “œufs”,
Pronunciation of “tous” — Prononciation de « tous »,
Prononciation de an, en, ain et in, Prononciation de « in » et « im »,
Où est le « h aspiré » dans « anse » ?,
How to differentiate pronunciation of 1 or 2 Rs in courir conjugation?,
When to pronounce “s” at the end of words?,
Pronouncing "re" and "le" at the end of words?,
Le son [æ] existe-t-il en français ?,
Why is “c'est un” pronounced /sɛ tœ̃ /, but “c'est une” /sɛ tʃyn/?,
Orthographe disparate d'« étiquette » et « étiquetage »,
When does one pronounce the 's' in plus?

  • What do you mean by “vocal interpreter”? Do you mean a speech synthetiser? For what operating system? How much are you prepared to pay? – Gilles Mar 14 '15 at 11:16
  • @Gilles Certes, merci. J'aurais dû préciser 'speech synthetiser', mais cette phrase m'avait échappé. Je vous prie de modifier mon OP si utile. J'utilise Windows 8. Pourrait-on détailler tous ces logicieux, aprèe quoi je penserai plus aux prix ? – Greek - Area 51 Proposal Mar 15 '15 at 3:29
3

Il y a une API fournie par Google qui fait ça, et si je ne m'abuse c'est une "shadow API", c'est-à-dire qu'elle est gratuite et libre d'utilisation (si raisonnable et non commerciale) mais qu'ils ne communiquent pas vraiment dessus. Il y a pas mal d'articles qui ressortent en revanche (termes utiles : google text-to-speech API translate_tts), qui détaillent son utilisation avec plus ou moins de succès, voire proposent des surcouches dans des contextes d'utilisation spécifiques.

Le principe est simple, rien à installer, il suffit de faire une requête HTTP (paramétrée) dans un navigateur, et google renvoie un mp3 directement.

Même sans l'automatiser dans une application web, tu peux saisir à la main le texte que tu veux dans la barre d'adresse du navigateur. Exemple à copier-coller dans un nouvel onglet (ou cliquer ici) :
http://translate.google.com/translate_tts?tl=fr&q=%22bonjour%22

Pour info, le "%22" n'a rien de mystique, ce n'est que la version URL-encodée d'un guillemet droit (qui est difficile à désigner comme caractère, je ne vais pas le mettre entre lui-même...) c'est-à-dire le caractère que j'ai utilisé pour encadrer "cette expression".

C'est assez facile à décomposer même sans être un expert web.
Souche de l'URL http://translate.google.com/translate_tts?
Paramètre tl=fr (translation language = french)
Paramètre q="blablabla" (query = "le texte à prononcer")

(un exemple d'automatisation du principe, malheureusement anglophone)

J'ai fait une recherche mais je n'arrive pas à remettre la main sur la documentation Google que j'avais trouvée à l'époque pour faire la version "parlante" de mon générateur de phrases, mais si ça peut t'aider, voici le bout de code avec lequel je construisais la chaine de paramètres, à envoyer à Google pour récupérer immédiatement en réponse un mp3 contenant le texte prononcé :

function prononcer() {
    var texte = document.getElementById("txt").value;
    var baseGoogleTTS = "http://translate.google.com/translate_tts?tl=fr&q=";
    baseGoogleTTS += encodeURIComponent("\"" + texte + "\"");
    if (encodeURIComponent(texte).length < 100) {
        var ifr = document.createElement("IFRAME");
        ifr.src = baseGoogleTTS;
        ifr.id = "ifr_" + new Date().getTime();
        ifr.style.position = "absolute";
        ifr.style.top = "-6000px";
        setTimeout("document.body.removeChild(document.getElementById(\"" + ifr.id + "\"));", 6000);
        setTimeout(function() { document.body.appendChild(ifr); }, 100);
    }
    else alert("Les phrases trop longues (plus de 100 caractères après encodage) ne peuvent pas encore être synthétisées par l'API Google TTS. A croire que tout fout le camp.");
    return false;
};

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .