Make it possible to not rely on the recorder to send some audio to the feedback API but rather allow some arbitrary blob and make sure that it is send to the backend.
If so, dismiss sesnding progressed results (=intermediate feedback result). Collect them and return it combined with the so called final result.
An example:
// Call feedback
const result = await feedback.perform(challengeId, audioBlob);
console.log(result);
// Output example:
//{
// intermediate: [
// { sentence: 0, words: [ ... ] }
// { sentence: 1, words: [ ... ] }
// { sentence: 1, words: [ ... ] }
// { sentence: 2, words: [ ... ] }
// ],
// final: {
// audioUrl: 'http://download-the-file',
// sentences: [
// { sentence: 0, words: [ ... ] }
// { sentence: 1, words: [ ... ] }
// { sentence: 1, words: [ ... ] }
// { sentence: 2, words: [ ... ] }
// ]
// }
Make it possible to not rely on the recorder to send some audio to the feedback API but rather allow some arbitrary blob and make sure that it is send to the backend.
If so, dismiss sesnding progressed results (=intermediate feedback result). Collect them and return it combined with the so called final result.
An example: