Мне нужно передать куски аудиоданных в механизм распознавания голоса.На данный момент моя программа считывает и буферизует порции данных из необработанного файла с кодировкой ulaw 8k, используя этот код:
unsigned char buf[MAX_AUDIO_BUF_LEN];
FILE *fp;
int len;
AudioSamples epSamplesStruct;
/* Read in Audio File */
fopen_s(&fp, FILE_NAME, "rb");
if (fp == NULL) {
printf("AUDIO THREAD=> ERROR. Cannot open prompt file %s\n", FILE_NAME);
return 1;
}
/* loop while there are still buffers to be picked up from file */
while((len = fread(buf, 1, MAX_AUDIO_BUF_LEN, fp)) > 0) {
epSamplesStruct.samples = (void *) buf;
epSamplesStruct.len = len;
epSamplesStruct.type = L"audio/basic";
num_samples_read += len;
// Processing the audio...
}
epSampleStruct
- структура, переданная в механизм распознавания.1006 * Я хотел бы преобразовать этот код так, чтобы он читался с микрофона, а не из файла.Я не могу адаптировать так много типов аудиоданных: они должны оставаться в кодировке ulaw и со скоростью 8k.
Как бы вы это сделали?Спасибо за любую конструктивную помощь.