我正在尝试使用 Watson Speech to Text API 在 react-native 应用程序中录制音频,然后将音频转换为文本。
我很难弄清楚这一点,任何帮助都将不胜感激。
我可以录制音频,但我无法弄清楚如何将文件发送到后端,或者直接发送到前端的 Watson API。
用于节点的 Watson API Cloud 库具有以下功能:
var SpeechToTextV1 = require('watson-developer-cloud/speech-to-text/v1');
var fs = require('fs');
var speech_to_text = new SpeechToTextV1({
username: '<username>',
password: '<password>'
});
var params = {
// From file
audio: fs.createReadStream('./resources/speech.wav'),
content_type: 'audio/l16; rate=44100'
};
speech_to_text.recognize(params, function(err, res) {
if (err)
console.log(err);
else
console.log(JSON.stringify(res, null, 2));
});
不幸的是,我无法在前端访问“fs”来创建 Streams。该文件保存在客户端前端的隐藏文件夹中(我也有路径)
最终我想以某种方式创建一个流,这样我就可以发送音频,以便自动转换为文本并降低速度。
像这样:
fs.createReadStream('./resources/speech.wav')
.pipe(speech_to_text.createRecognizeStream({ content_type: 'audio/l16; rate=44100' }))
.pipe(fs.createWriteStream('./transcription.txt'));
知道如何在前端使用录制的音频的路径来完成所有这些工作。有什么解决办法吗?谢谢!