Bonjour à tous,
je suis en train d’explorer l’utilisation de whisper.cpp, dans une application Flutter.
Pour ceux qui ne connaissent pas, whisper est un programme créé par OpenAI, qui permet de transcrire un fichier audio vers un format text. Un programmeur (certainement venu d’une autre planète où il s’ennuyait…) Georgi Gerganov a réécrit whisper en C/C++, et publié sur GitHub.
Il y a déjà quelques packages sur pub.dev qui l’utilise et que j’ai commencé à regarder ainsi que quelques infos que je cherche sur internet sur l’utilisation des MethodChannels, EventChannels, FFI, ffigen et pigeon. Pour l’instant, je m’intéresse essentiellement à produire une appli qui fonctionne sous iOS/MacOS, je bricole avec tout cela, mais je ne suis pas encore très au point.
Dans le repos de Whisper.cpp, il y a des exemples natifs iOS qui utilisent de l’optimisation hardware en incluant notamment les librairies CoreML et Metal, ce qui se révèle très intéressant. Il y est aussi recommandé de ne compiler qu’en mode release et cela fonctionne pas mal tant qu’on utilise un modèle pas trop volumineux… (j’ai commencé à débugger un peu mais mis de côté faute de temps et parce que ma priorité est la version Flutter).
Ce que j’aimerais aborder, c’est d’une part comment spécifier les options de compilation (il me semble que pour iOS ca se passe dans le podspec), pour justement activer l’accélération hardware. Comment lui demander de compiler la librairie en release (tout en l’appelant depuis l’application en debug).
Tout cela n’est pas très clair, mais si quelqu’un a des idées plus précises sur la question, cela me plairait de pouvoir un peu échanger sur ces questions.
Denis