Seite 1 von 1

wie kann ich C++ Vosk Spracherkennung in Purebasic einbinden

Verfasst: 20.07.2024 12:40
von m3i1o
Moin Moin,
wie kann ich die C++ vosk Spracherennung in Purebasic einbinden. Oder wie sähe so ein Programm in Purebasic aus?
Es gab für mich zu wenige Beispiele um das sicher zu verstehen, falls es überhaupt möglich ist!?
Ich hoffe ihr könnt mir da weiter helfen?

grüße
m3i1o

folgender kurzer C++ Code:

Code: Alles auswählen

#include "vosk_api.h"
#include <stdio.h>

int main() {
    FILE *wavin;
    char buf[3200];
    int nread, final;

    VoskModel *model = vosk_model_new("model");
    VoskRecognizer *recognizer = vosk_recognizer_new(model, 16000.0);

    wavin = fopen("test.wav", "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));
         } else {
             printf("%s\n", vosk_recognizer_partial_result(recognizer));
         }
    }
    printf("%s\n", vosk_recognizer_final_result(recognizer));

    vosk_recognizer_free(recognizer);
    vosk_model_free(model);
    fclose(wavin);
    return 0;
}

Re: wie kann ich C++ Vosk Spracherkennung in Purebasic einbinden

Verfasst: 20.07.2024 14:08
von Axolotl
Moin,
möglich ist das sicherlich, fragt sich nur wie?
Ich habe Vosk noch nicht eingesetzt, deshalb nur so halbgar und schwammig.
Erstmal brauchst du die Bibliothek (.dll, .so) in der die eigentliche Logik steckt.
Um dann das Beispiel umzuschreiben musst du die wesentlichen Teile der "vosk_api.h" auch nach PB überführen......
Dann dürfte der Rest (also der gepostete Code) kein Problem mehr sein.
Tipp: Im englischen Forum wäre der Erfolg wohl größer. Aber Achtung. Wir reagieren SEHR allergisch auf doppelte Posts (de und en) :mrgreen: