Как сохранить аудиофайл (размером около 10 КБ) из текста в речь IBM Watson в Firebase Cloud Storage? Вот мой код, скопированный из документации IBM Watson :
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
var TextToSpeechV1 = require('watson-developer-cloud/text-to-speech/v1');
var fs = require('fs');
exports.TextToSpeech = functions.firestore.document('Test_Value').onUpdate((change, context) => {
var textToSpeech = new TextToSpeechV1({
username: 'groucho',
password: 'swordfish',
url: 'https://stream.watsonplatform.net/text-to-speech/api'
});
var synthesizeParams = {
text: 'Hello world',
accept: 'audio/wav',
voice: 'en-US_AllisonVoice'
};
textToSpeech.synthesize(synthesizeParams).on('error', function(error) {
console.log(error);
}).pipe(fs.createWriteStream('hello_world.wav')); // what goes here?
const file = ?????
file.download()
.then(function(data) {
console.log("File downloaded."
})
.catch(error => {
console.error(error);
});
});
Отсутствует код между
}).pipe(fs.createWriteStream('hello_world.wav'));
и
file.download()
Каким-то образом мне нужно преобразовать файл, предоставленный IBM Watson, в файл, который распознает Firebase Cloud Storage. fs
не разрешено в облачных функциях Google?
Кроме того, строка 6 не должна быть
var fs = require('fs-js');
не
var fs = require('fs');
Согласно NPM пакет fs
устарел.
Разрешено ли pipe
в облачных функциях Google? Если так, то к чему я передаю файл? Мне нужно что-то похожее на это:
}).pipe(file);
file.download()