Logo
Accueil
Projets
Blog

Prêt à créer
quelque chose d'incroyable ?

Company logo

Ali Benkarrouch

Étudiant en génie logiciel à l'ETS

Get upTélécharger mon CV
LinkedInGithubEmail

Contactez-moi

© 2026 Ali Benkarrouch. Tous droits réservés.
0%
Tous les projets
Genie Optiroll
mars 2026

Genie Optiroll

En tant que pianiste, je trouve souvent la lecture de partitions traditionnelles chronophage et je préfère de loin les représentations visuelles de type "piano roll". Comme toutes les chansons ne disposent pas de ce genre de tutoriel en ligne, j'ai voulu créer un outil capable de convertir instantanément n'importe quelle partition en un piano roll interactif. L'intégration de contrôles de vitesse me permet de ralentir les passages complexes, ce qui facilite grandement l'apprentissage de nouveaux morceaux directement à mon piano. Par ailleurs, cela faisait un moment que je voulais reprendre mon projet "Genies" de 2024 pour en créer une "v2". J'ai donc décidé de lancer une nouvelle série de projets indépendants sous l'appellation "Genie", qui regroupera toutes mes applications liées à l'IA et à la vision par ordinateur. C'est la raison pour laquelle le nom du projet commence par "Genie:", tandis que "Optiroll" est la contraction de "Optique" (pour la reconnaissance optique de musique) et "Roll" (pour le piano roll).

Ma contribution

J'ai décidé de réaliser ce projet entièrement seul. En tant qu'unique développeur, j'ai géré l'intégralité du cycle de développement, de la conception de l'interface utilisateur et du codage du frontend React, jusqu'à la création du backend FastAPI et l'intégration du pipeline de vision par ordinateur.

Project Gallery

Visual Overview

Genie Optiroll screenshot 1

Approche

M'appuyant sur mes expériences passées en vision par ordinateur, j'avais initialement prévu de créer un algorithme de détection de notes à partir de zéro en utilisant OpenCV. J'ai cependant vite réalisé l'immense complexité, les cas particuliers et les règles strictes liés à la notation musicale standard. J'ai donc revu ma stratégie et fait des recherches sur la reconnaissance optique de musique (OMR), pour finalement opter pour oemer, un modèle pré-entraîné performant. J'ai configuré un backend FastAPI qui exécute oemer sur les images téléchargées pour générer un fichier MusicXML, puis utilise muspy pour extraire les événements MIDI précis (hauteur, temps, durée). Côté frontend, j'ai développé un visualiseur sur mesure avec HTML Canvas pour afficher les barres défilantes et intégré la bibliothèque Web Audio smplr pour offrir un rendu sonore réaliste et contrôlable directement dans le navigateur.

Fonctionnalités

  • Téléchargement de partitions
  • Rouleau piano interactif
  • Vitesse de lecture
  • Plusieurs instruments audio
  • Transposition de hauteur
  • Superposition d'instruments
  • Thèmes visuels personnalisés
  • Bibliothèque de partitions

Technos

GSAPGSAPOpenCVOpenCVViteViteSQLiteSQLiteReactReactTailwindTailwindFastAPIFastAPImuspymuspyPythonPythonOemer (OMR)smplr

Sources

Github
Github

More Projects

Explore Other Work

Vantabank

Vantabank

J'ai réalisé ce projet dans le cadre de mon premier cours d'applications natives au Cégep de Rosemont. Premier projet d'envergure mené en solo, il a marqué une étape importante dans mon parcours puisque c'était la première fois que je concevais une interface graphique complexe. Cette expérience a été une véritable révélation et j'ai particulièrement apprécié le défi de transformer une logique métier abstraite en un outil visuel interactif et esthétique.

décembre 2023

ArtSync

ArtSync

Dans le cadre de mon cours Application Web 2 au cégep, j’ai eu l’occasion de travailler en équipe sur la conception et sur le développement d’une application full-stack. Mon coéquipier et moi avons créé ArtSync, une plateforme où les utilisateurs peuvent publier, explorer et partager du contenu artistique. Ce projet nous a permis de passer par toutes les étapes du développement : l’analyse des besoins, la conception UML, la conception d’une base de données relationnelle, le design sur Figma, puis le développement avec Java, Spring Boot, Thymeleaf et Angular. C’était une belle expérience pour appliquer nos connaissances dans un cadre agile, avec des suivis réguliers et avec un fonctionnement qui se rapprochait beaucoup d’un vrai projet professionnel.

mai 2024

Devil fruit Encyclopedia

Devil fruit Encyclopedia

Grand fan de l'univers de One Piece, j'ai créé ce projet pour concevoir une encyclopédie interactive dédiée aux Fruits du Démon. L'idée était de construire une ressource centralisée et structurée permettant de répertorier chaque fruit, son type et ses capacités. Ce projet m'a permis de mettre en pratique le développement d'une architecture moderne séparant totalement la gestion des données (API) de l'expérience utilisateur (Client).

novembre 2024

View All Projects