Bien le bonsoir,
Dans un de mes projets en Java, j'envisage d'utiliser un système de reconnaissance vocale.
Savez-vous s'il existe un moyen d'utiliser ceci simplement dans mon programme?
Quelle API dois-je utiliser?
Bien cordialement,
Nico
Bien le bonsoir,
Dans un de mes projets en Java, j'envisage d'utiliser un système de reconnaissance vocale.
Savez-vous s'il existe un moyen d'utiliser ceci simplement dans mon programme?
Quelle API dois-je utiliser?
Bien cordialement,
Nico
Salut,
Mon ami moteur de recherche me donne en première réponse cette page...
Et plus particulièrement ici qui conduit là
Regarde si ça peut combler tes besoins...
A plus
Bonjour,
Merci pour ses liens mais je suis déjà passé dessus.
N'empêche ça ne me coûte rien d'y repartir ^^
Par contre, depuis, j'ai un peu avancé sur mes recherches et j'ai réussit à trouver la librairie javax.speech mais elle contient uniquement des .class (pas de .jar). Mon dossier est organisé de la manière suivante :
- des classes à la racine
- dossier "synthesis" contenant des classes
- dossier "recognition" contenant des classes
J'ai trouvé un code basique sur le net utilisant cette librairie mais j'ai des erreurs de compilation car il ne reconnait pas les classes...
Le voici :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 import javax.speech.*; import javax.speech.synthesis.*; import java.util.Locale; public class main { public static void main(String args[]) { try { // Récupérer le synthétiseur francais Synthesizer synth = Central.createSynthesizer( new SynthesizerModeDesc(Locale.FRENCH)); // Prepare le synthétiseur prêt à parler synth.allocate(); synth.resume(); // Prononce une phrase "Exemple de synthèse de la parole" String phraseAPrononcer = "Exemple de synthèse de la parole"; synth.speakPlainText(phraseAPrononcer, null); // Attend jusqu'à la fin de la lecture synth.waitEngineState(Synthesizer.QUEUE_EMPTY); // Désalloue le synthétiseur synth.deallocate(); } catch (Exception e) { e.printStackTrace(); } } }
Notamment, il ne connait pas le constructeur "Synthesizer".
Merci pour votre aide.
salut
j'ai pas essayé mais je suppose que le problée est ici
essayer de changer par Locale.US et sa va marché ; si c'est le cas ,alors c'est que "la bibliothèque système" pour la langue française n'existe pas sur ton OS
Code : Sélectionner tout - Visualiser dans une fenêtre à part new SynthesizerModeDesc(Locale.FRENCH));
Salut à toi,
Finalement je n'ai plus d'erreur dans mon code, sans rien avoir changé.
Donc mon premier problème venait des classes incluses.
Par contre, j'ai une erreur ligne13 à la compilation :
"java.lang.NullPointerException
at main.main(main.java:13)"
ps : ligne 13 : synth.allocate();
Je ne sais pas pourquoi j'ai cette erreur...
comme je t'es dis ,il s'agit d'une libraire du systéme d'exploitation qui permet de faire la reconnaissence de la langue et avec laquel en crée un objet synthétiseur avec
puisque cette BIB n'existe pas donc on peut pas créer le synthétiseur et c'est pourquoi tu obtient cette erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 synth.allocate();cette bib est payante mais sous vista en peut reconnaire l'anglais avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part java.lang.NullPointerException
j'ai pas cherché ,mais tu peut voir dans le site d'IBM peut étre tu trouvera quelque chose ,sinon il y'a le logiciel ViaVoice qui contient les bibliothéques et les API nécessaires.. bonne chane
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 new SynthesizerModeDesc(Locale.US));
ViaVoice est un logiciel payant, fermé. IBM ne met plus le SDK / API à disposition du grand public.
Nicotendo, je suppose que c'est toi qui m'avait contactée par mail pour te renseigner sur la reconnaissance vocale.
Pour résumer mon mail : si tu veux continuer à travailler en Java, y'a Sphinx-4, une surcouche libre de la Java Speech API.
Sinon y'a la Speech API de windows, les derniers moteurs sont dans les librairies de Vista (en français même), mais c'est pour du C# ou du VB .NET.
Bon courage.
Partager