IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Annoncer un nombre oralement


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 48
    Par défaut Annoncer un nombre oralement
    Bonjour à tous,

    J'aurais une petite question :

    J'aimerais réalisé dans un programme JAVA la lecture d'un nombre.

    Je m'explique, il s'agit d'un programme qui doit annoncer combien d'appels téléphonique il reste à l'utilisateur qui a contacté le serveur vocal concerné.

    Je ne peux évidement pas faire jouer un simple fichier audio, puisque la valeur du nombre à annoncer n'est pas quelque chose de "fixe" (le nombre diminue de -1 à chaque appel)

    Vous l'aurez donc compris, j'ai besoin d'une voix (type robot) qui va lire le nombre restant.

    Ma question est donc la suivante : existe-t-il une import java ou autre qui permet de réaliser cela...

    merci.

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    non, et dans ce cas précis, il serait plus utilise d'utiliser des fichiers audio je pense. C'est ce que fait mon opérateur téléphonique. Quand il me reste 67,43 cents sur mon compte, il me dit vocalement

    soixante - sept - euro - quarante - trois - cents. C'est une peu haché mais parfaitement compréhensible.


    Après, il reste des bibiliothèque de synthèse vocale, mais il faudra les payer, c'est un boulot de synthétiser une voix, faut des centaines d'heures d'enregistrement en studio, donc les voix synthétique, on ne les distribue pas pour rien. Tu as bien freeTTS, mais il nécessite des fichiers de voix qu'il te faudra probablement acheter (les fichiers de voix par défaut sont anglophones)
    http://freetts.sourceforge.net/docs/...ices_available


    edit: il documentent aussi comment créer tes propres voix http://freetts.sourceforge.net/tools...TS/README.html

  3. #3
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 48
    Par défaut
    Utiliser des fichiers audio me parait être un travail de fourmis et un vrai casse tête.

    De 0 à 500 (voire plus) cela fait beaucoup de combinaisons et de fichiers audio à enregistrer, et je parle même pas de la taille du code ensuite...

    Dans mon programme actuel il y a déjà une méthode qui permet d'annoncer la lecture du numéro de téléphone de l'appelant oralement (voix un peu hachée comme tu dis mais parfaitement compréhensible).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PLAYPHONENUMBER("N|" + recordedNumber + " S|null");
    recordedNumber étant défini comme une chaine de caractère (String) soit définie par l'utilisateur (en tapotant sur son clavier téléphonique) ou alors définie de façon automatique (si le numéro de l'utilisateur n'est pas "caché" évidement)

    La méthode PLAYPHONENUMBER() quand à elle renvoie à une importation de librairie propre au SVI (serveur vocal interactif) développée par la société qui gère le serveur biensur.

    Je pense que beaucoup de services vocaux utilisent des méthode comme PLAYPHONENUMBER.

    Je pensais trouver une documentation sur toutes les librairies, et ainsi trouver une méthode pour mon problème, mais quenini !!

    C'est pour cela que je désirais savoir s'il existait des méthode "tout public" en accès libre pour réaliser mon problème.

    Mais apparemment non ... Je vais jeter un coup d'œil sur tes liens

    merci,

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par miniRoshan Voir le message
    Utiliser des fichiers audio me parait être un travail de fourmis et un vrai casse tête.

    De 0 à 500 (voire plus) cela fait beaucoup de combinaisons et de fichiers audio à enregistrer, et je parle même pas de la taille du code ensuite...
    jusque 1.000.000, tu dois enregistrer
    10 unités
    10 dixaines + le "et" + "11 12 13 14 15 16 17 18 19"
    1 centaine (ben oui: "cent" "deux-cent" "trois-cent", tout termis en cent)
    1 millier (mille, deux-mille, ......, vingt-et-un-mille, deux-cent-trente-et-un-mille etc)

    Bien sur t'aura la voix hachée, ce sera pas naturel

    ca ne fait que 33 fichiers audio pour les chiffres de 1 à 999.999.....


    Quand au code, ce tiens sur moins de 50 ligne de construire la série de fichiers à enfiler....

    grosso modo: (prenons 421719 comme exemple)
    séparer le chiffre aux millier-> 421-mile-789
    Pour les centaine, séparer le chiffre aux dixaines "4 cent 21" "7 cent 19"
    Pour les dixaines >=20, séparer le chiffre en unité "20 - 1", rajouter pour les cas nécessaire la liaison "20 - et - 1", et prendre le fichier de dixaine "vingt et 1"
    Pour les dixaines <20, prendre directement la valeur fichier "dixneuf"
    Pour les unité, prendre la valeur fichier "quatre, sept, un"
    Le tout en récursif pour avancer progressivement dans le nombre on obtiens biens
    "quatre - cent - vingt - et - un - mile - sept - cent - dixneuf"

  5. #5
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 099
    Par défaut
    J'ai autrefois cherché des voix francaise pour FreeTTS mais il faut un peu chippoter (beaucoup pardon car ce n'est pas faire pour freetts a la base) . J'espere que cela te sera utile.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo