Closed byPashkevich closed 1 year ago
Здравствуйте! Мне необходимо использовать vosk-api в моём QT C++ проекте. Однако распознавание ничего не возвращает. Помогите решить данную проблему.
Блок кода, отвечающий за распознавание:
Переменная pchDir хранит в себе путь до модели. Переменная pchFile хранит в себе путь до входного .wav файла.
const char *pchDir = m_qstrDirFile.toLocal8Bit().data(); const char *pchFile = m_qstrFile.toLocal8Bit().data(); FILE *wavin; char buf[3200]; //char text[32768]; int nread, final; VoskModel *model = vosk_model_new(pchDir); VoskRecognizer *recognizer = vosk_recognizer_new(model, 16000.0); wavin = fopen(pchFile, "rb"); fseek(wavin, 44, SEEK_SET); while (!feof(wavin)) { nread = fread(buf, 1, sizeof(buf), wavin); final = vosk_recognizer_accept_waveform(recognizer, buf, nread); if (final) { //printf("%s\n", vosk_recognizer_result(recognizer)); std::cout << vosk_recognizer_result(recognizer) << endl; } else { //printf("%s\n", vosk_recognizer_result(recognizer)); std::cout << vosk_recognizer_partial_result(recognizer) << endl; } } //printf("%s \n", vosk_recognizer_result(recognizer)); std::cout << vosk_recognizer_result(recognizer) << endl; ui->text_output->insertPlainText(vosk_recognizer_final_result(recognizer)); vosk_recognizer_free(recognizer); vosk_model_free(model); fclose(wavin);
формат входных данных неправильный
@nshmyrev Объясните
Решено.
Здравствуйте! Мне необходимо использовать vosk-api в моём QT C++ проекте. Однако распознавание ничего не возвращает. Помогите решить данную проблему.
Блок кода, отвечающий за распознавание:
Переменная pchDir хранит в себе путь до модели. Переменная pchFile хранит в себе путь до входного .wav файла.