2017-10-04 4 views
1

Wie implementiere ich Watson Text in Sprache während der Ausführung eines Chatbot auf einem lokalen Host mit Nodejs?Watson Text zu Sprache mit Socket

Mein Chatbot läuft bereits auf einem localhost..Ich möchte Watson Text in den Sprachdienst einbetten. Ich habe gelesen, dass dies per Websocket-Interface möglich ist. Ich habe keine Ahnung davon

+0

Welche Programmiersprache brauchen Sie in zu tun? –

+0

Ich möchte nodejs verwenden – sajeet

Antwort

1

Angenommen, Sie haben das Conversation Simple-Beispiel von IBM Developers mit Node.js und Conversation Service erstellt, können Sie einfach eine HTTP REST-Anfrage senden, indem Sie diese tutorial mit Websocket oder Sie können ein sprachspezifisches SDK nutzen, das ich in die folgenden Links einfügen werde.

Also, vor ein paar Monaten die @kane gebaut ein Beispiel, das die Konversation einfaches Beispiel mit Text zu Sprache integriert, können Sie leicht in dieser link finden.

Sie können dies überprüfen commit für sah die Änderungen und folgen Sie der Logik, um Text in Sprache in Ihrer Anwendung zu implementieren. Sie werden diesen Code finden Sie in der Text-to-Speech-Dienst mit den Services-Anmeldeinformationen in der .env Datei über Aufruf, wie die Kommentare im Code:

const TextToSpeechV1 = require('watson-developer-cloud/text-to-speech/v1'); 

const textToSpeech = new TextToSpeechV1({ 
    // If unspecified here, the TEXT_TO_SPEECH_USERNAME and 
    // TEXT_TO_SPEECH_PASSWORD env properties will be checked 
    // After that, the SDK will fall back to the bluemix-provided VCAP_SERVICES environment property 
    // username: '<username>', 
    // password: '<password>', 
}); 

app.get('/api/synthesize', (req, res, next) => { 
    const transcript = textToSpeech.synthesize(req.query); 
    transcript.on('response', (response) => { 
    if (req.query.download) { 
     if (req.query.accept && req.query.accept === 'audio/wav') { 
     response.headers['content-disposition'] = 'attachment; filename=transcript.wav'; 
     } else { 
     response.headers['content-disposition'] = 'attachment; filename=transcript.ogg'; 
     } 
    } 
    }); 
    transcript.on('error', next); 
    transcript.pipe(res); 
}); 

// Return the list of voices 
app.get('/api/voices', (req, res, next) => { 
    textToSpeech.voices(null, (error, voices) => { 
    if (error) { 
     return next(error); 
    } 
    res.json(voices); 
    }); 
}); 

Obs .: Ich schlage vor, Sie die Commit sehen und Befolgen Sie die gleiche Logik, um Änderungen an Ihrer App vorzunehmen.

Verwandte Themen