I am using DialogFlow chatbot to detect text and audio inputs ,text is working fine, but audio doesn't, I am reading audio files I generate (.mp3 and .wav) and read it in nodejs and sending it but there is no response, I get an empty intent, its not even logged in DialogFlow History, but when I provide it with a sample audio from DialogFlow it works fine, Here is my code I, am following the documentation provided by DialogFlow:
const sessionId = uuid.v4();
const sessionClient = new dialogflow.SessionsClient({
projectId,
keyFilename,
});
const readFile = util.promisify(fs.readFile);
const inputAudio = await readFile('myfilepath.mp3');
const sessionPath = sessionClient.projectAgentSessionPath(projectId, sessionId);
const request = {
session: sessionPath,
queryInput: {
audioConfig: {
audioEncoding: 'AUDIO_ENCODING_LINEAR_16',
sampleRateHertz: 16000,
languageCode: 'en-US',
},
},
inputAudio,
};
const [response] = await sessionClient.detectIntent(request);
console.log('Detected intent:');
console.log(response);
const result = response.queryResult;
console.log(` Query: ${result.queryText}`);
console.log(` Response: ${result.fulfillmentText}`);
The response is always
{
responseId: '',
queryResult: {
fulfillmentMessages: [],
outputContexts: [],
queryText: '',
speechRecognitionConfidence: 0,
action: '',
parameters: null,
allRequiredParamsPresent: false,
fulfillmentText: '',
webhookSource: '',
webhookPayload: null,
intent: null,
intentDetectionConfidence: 0,
diagnosticInfo: null,
languageCode: 'en-US',
sentimentAnalysisResult: null
},
webhookStatus: null,
outputAudio: <Buffer >,
outputAudioConfig: null
}
Is there a specific way to generate audio file I have to follow or what?
Thank you.