Voici comment utiliser CeedVocal SDK, étape par étape


1. Chargement du modèle acoustique

Vous devez charger le modèle acoustique dans la bonne langue avant de lancer la reconnaissance vocale. Ajoutez les 2 fichiers .enchmm et .fastied aux sources de votre application, et créez le moteur de reconnaissance par l'appel suivant:
    speechRecognizer = [[CVSpeechRecognizer alloc] initWithLanguage:CV_LANGUAGE_ENGLISH acousticModel:[[NSBundle mainBundle] pathForResource:@"ceedmodel-en" ofType:@"enchmm"]];


2. Choix du delegate

Afin d'être averti quand l'application reconnaît de la parole, vous devriez ajouter un "delegate" au moteur de reconnaissance. Voici comment faire (avec pour hypothèse que self est le delegate):
    speechRecognizer.delegate = self;
Afin d'être averti quand l'application reconnaît de la parole, vous devriez ajouter un delegate au moteur de reconnaissance. Voici comment faire (ayant pour hypothèse que self est le delegate):

    - (void)speechRecognizerDidRecognizeSpeech:(CVSpeechRecognizer*)recognizer
    {
      [result release];
      result = [NSMutableString new];

      int i=0;
      for(id res in [recognizer recognizedPhrases])
      {
      NSLog(@"%@ (score=%f)", res, [recognizer scoreForRecognizedPhrase:res]);

      [(NSMutableString*)result appendString:[NSString stringWithFormat:@"%d. %@ (score=%f)\n", ++i, res, [recognizer scoreForRecognizedPhrase:res]]];
      }

      // Call to UI on main thread only !!!
      [self performSelectorOnMainThread:@selector(updateResult:) withObject:nil waitUntilDone:YES];

      // If you need to stop the recognizer, do it on main thread
      //[self performSelectorOnMainThread:@selector(stopRecognition:) withObject:nil waitUntilDone:YES];
    }

Cette méthode est appelée à partir du thread du moteur de reconnaissance. Par conséquent, vous devriez éviter tout appel direct à l'interface graphique de ce thread mais plutôt ajouter une invocation par le thread principal. Cela vaut également si vous souhaitez arrêter le moteur de reconnaissance (uniquement à partir du thread principal).


3. Ajout des mots à reconnaître

L'étape suivante consiste à ajouter les mots qui doivent être reconnus. Ensuite, veillez à appeler prepareRecognizer.
    [speechRecognizer addPhrase:@"flower"]; [speechRecognizer addPhrase:@"sun"]; [speechRecognizer addPhrase:@"mountain"]; [speechRecognizer addPhrase:@"river"]; [speechRecognizer addPhrase:@"sky"]; [speechRecognizer addPhrase:@"clouds"]; [speechRecognizer prepareRecognizer];


4. Démarrage de la reconnaissance vocale

Voici comment démarrer le moteur de reconnaissance:
    [speechRecognizer startRecognition];
Et comment l'arrêter:
    [speechRecognizer stopRecognition];


En | Fr | De | Nl | Es | It