Как обработать несколько файлов одним скриптом?
Здравствуйте! Я использую Nuance, чтобы провести несколько экспериментов по преобразованию речи в текст. Для этого я использую узел, чтобы создать запрос следующим образом:
Мои учетные данные:
var Nuance = require("nuance");
var nuance = new Nuance("mycredentials", "mypass");
Затем я отправляю запрос следующим образом:
nuance.sendDictationRequest({
"identifier": "randomIdentifierStringHere", //The user identifier (please refer to Nuance's documentation for more info).
"language": "es_MX", //The language code (please refer to Nuance's documentation for more info).
"path": "12min.amr", //The path to the file you would like to send to Nuance.
"additionalHeaders": {}, //If you'd like to supply more headers or replace the default headers, supply them here.
"success": function(resp){ //The success callback function.
console.log(resp);
},
"error": function(resp){ //The error callback function - returns the response from Nuance that you can debug.
console.log("An error was occurred.");
console.log(resp);
}
});
Проблема для этого способа состоит в том, что мне нужно использовать несколько вызовов, изменяющих эту часть:
"path": "12min.amr", //The path to the file you would like to send to Nuance.
Так как я выполняю запрос в терминале следующим образом:
node call12.js
И тогда я получаю результат на терминале.
Я старался:
nuance.sendDictationRequest({
"identifier": "randomIdentifierStringHere", //The user identifier (please refer to Nuance's documentation for more info).
"language": "es_MX", //The language code (please refer to Nuance's documentation for more info).
"path": "4min.amr", //The path to the file you would like to send to Nuance.
"additionalHeaders": {}, //If you'd like to supply more headers or replace the default headers, supply them here.
"success": function(resp){ //The success callback function.
console.log(resp);
},
"error": function(resp){ //The error callback function - returns the response from Nuance that you can debug.
console.log("An error was occurred.");
console.log(resp);
}
});
nuance.sendDictationRequest({
"identifier": "randomIdentifierStringHere", //The user identifier (please refer to Nuance's documentation for more info).
"language": "es_MX", //The language code (please refer to Nuance's documentation for more info).
"path": "2min.amr ", //The path to the file you would like to send to Nuance.
"additionalHeaders": {}, //If you'd like to supply more headers or replace the default headers, supply them here.
"success": function(resp){ //The success callback function.
console.log(resp);
},
"error": function(resp){ //The error callback function - returns the response from Nuance that you can debug.
console.log("An error was occurred.");
console.log(resp);
}
});
для обработки только двух разговоров я повторяю код, так как не верю, что это оптимальный путь. Чтобы обработать все мои файлы:
2min.amr 4min.amr 8min.amr
Я хотел бы знать, как создать for, чтобы обрабатывать больше файлов в одном скрипте, поэтому я действительно хотел бы поблагодарить за поддержку в преодолении этой задачи.
1 ответ
Решение
const fs = require('fs');
var fileNames = ['2min.amr', '4min.amr', '8min.amr'];
fileNames.forEach((item) => {
nuance.sendDictationRequest({
"identifier": "randomIdentifierStringHere", //The user identifier (please refer to Nuance's documentation for more info).
"language": "es_MX", //The language code (please refer to Nuance's documentation for more info).
"path": item, //The path to the file you would like to send to Nuance.
"additionalHeaders": {}, //If you'd like to supply more headers or replace the default headers, supply them here.
"success": function(resp){ //The success callback function.
fs.writeFile("my_text.txt", resp, err => {
if (err) throw err;
console.log('The file has been saved!');
});
},
"error": function(resp){ //The error callback function - returns the response from Nuance that you can debug.
console.log("An error was occurred.");
console.log(resp);
}
})
});