2016-12-17 1 views
0

J'utilise un module npm pour travailler avec IBM Watson pour faire de la parole au texte. J'utilise ce paquet ici: https://github.com/watson-developer-cloud/speech-javascript-sdk.IBM Watson Voice to Text API avec nœud. Comment sortir en DOM?

Je peux m'authentifier correctement, mais à part ça rien ne se passe. Je veux prendre le texte de la réponse et l'insérer dans le DOM. J'ai essayé le suivant juste pour l'essayer et je ne reçois aucune sorte de rétroaction.

WatsonSpeech.SpeechToText.recognizeMicrophone({token: token, keepmic: true, ouputElement: "body"}).promise().then(function() { 
    console.log("talking"); 
    }) 

Les documents disent ce qui suit pour cette méthode:

Autres options passées à WritableElementStream si options.outputElement est réglé.

Et

Pipes résultats par une FormatStream par défaut, définissez options.format = false> pour désactiver.

Je pense que le WatsonSpeech.SpeechToText.recognizeMicrophone prendrait une fonction de rappel afin que je puisse gérer la réponse et de mettre l'insérer dans mon DOM, mais je ne peux pas comprendre cela. En outre, je ne suis pas vraiment un gars JS, donc je ne sais pas ce que la promesse fait.

Répondre

1

Le chapitre 3 de "Zéro à Cognitif" a exactement ce code appliqué.

https://github.com/rddill-IBM/ZeroToCognitive

je vous recommande de jeter un coup d'œil à ses leçons sur youtube, mais voici le code que j'ai trouvé.

function initPage() 
{ 
    var _mic = $('#microphone'); var _stop = $("#stop"); 
_mic.addClass("mic_enabled"); 
_stop.addClass("mic_disabled"); 

    _mic.on("click", function() 
    { 
     var _className = this.className; 
     if(this.className == "mic_enabled") 
     { 
     _mic.addClass("mic_disabled"); 
    _mic.removeClass("mic_enabled"); 
    _stop.addClass("mic_enabled"); 
    _stop.removeClass("mic_disabled"); 
    $.when($.get('/api/speech-to-text/token')).done(
     function (token) { 
     stream = WatsonSpeech.SpeechToText.recognizeMicrophone({ 
      token: token, 
      outputElement: '#speech' // CSS selector or DOM Element 
     }); 
     stream.on('error', function(err) { console.log(err); }); 
     }); 
    } 
    }); 

    _stop.on("click", function() { 
     console.log("Stopping text-to-speech service..."); 
     if (stream != undefined) {stream.stop(); } 
     _mic.addClass("mic_enabled"); 
     _mic.removeClass("mic_disabled"); 
     _stop.addClass("mic_disabled"); 
     _stop.removeClass("mic_enabled"); 
    }); 

}