Извините за мой английский, я бразилец. Я много искал, и единственное, что я нашел, это как отправить аудиофайл в Speech to Text.Я нашел идею, что я должен делать, но я не знаю в синтаксисе в nodejs, javascript.Звук похож на эти данные: audio / ogg;code = opus; base64, T2dnUwACAAAAAAAAAAC8IgAAAAAAAEyQvCMBE0 ... script.js
mediaRecorder.onstop=() =>{
const blob = new Blob(partesAudio,{type:'audio/ogg; code=opus'})
const reader = new window.FileReader()
reader.readAsDataURL(blob)
reader.onloadend= async () =>{
//
/*const audio = document.createElement('audio')
audio.src = reader.result
audio.controls = true
$('body').append(audio)*/
//
console.log(reader.result)
var resultado= await fetch('http://localhost:3000/fala/',{
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
fala:reader.result //'frase8.wav'
}),
});...
app.js
app.post('/fala/', async(req, res) => {
let falado=FALA(req.body.fala).then(frase=>{return frase}).catch(()=>{
console.log("erro")
});
falado.then(function(result){
res.json(result);
})
speechtotext.js
var SpeechToTextV1 = require('watson-developer-cloud/speech-to-text/v1');
var fs = require('fs');
var speechToText = new SpeechToTextV1({
iam_apikey: '**********************',
url: 'https://stream.watsonplatform.net/speech-to-text/api'
});
var fala= async function(nomeAudio){
return new Promise(async function(resolve,reject){
var params = {
audio: nomeAudio,//fs.createReadStream('audio.ogg')
content_type: 'audio/ogg',
model: 'pt-BR_BroadbandModel',
};
speechToText.recognize(params, function (error, transcript) {
console.log('chegou');
if (error || transcript.results.length === 0)
resolve(error);
else
resolve( transcript.results[0].alternatives[0].transcript);
});
})
}
module.exports=fala;