Présentation

Guitoro est une application web qui reproduit quatre instruments réels : une guitare acoustique à cordes en acier, une guitare classique à cordes en nylon, une guitare électrique à micro pont et une basse à quatre cordes. Chaque note provient d’un enregistrement audio dédié, ce qui élimine la synthèse générée par logiciel. Le catalogue comprend 51 morceaux, 15 styles de batterie et 56 motifs de strumming ou de picking. Les accords sont disponibles dans toutes les tonalités, soit 15 accords par tonalité, et l’utilisateur peut ralentir la lecture jusqu’à 20 % de la vitesse originale.

Mécanismes d’interaction

Le clavier d’ordinateur sert de main gauche : les touches alphabétiques forment les accords, tandis que les touches H et J déclenchent le strum, reproduisant le geste d’une vraie main droite. Sur écran tactile, l’utilisateur appuie sur un pad d’accord puis glisse jusqu’aux cordes, jusqu’à cinq doigts simultanés, ce qui permet d’exécuter des arpèges ou des notes individuelles. Le mode souris accepte un glissement rapide pour un strum fort ou un glissement lent pour un roulement de notes, et un clic simple pour pincer une corde. Le contrôle de la vitesse se fait par un curseur qui ajuste la lecture de 20 % à 100 % sans altérer la synchronisation du batteur ni du groupe d’accompagnement.

Architecture audio et visuelle

Le lecteur utilise des échantillons audio pré‑enregistrés, probablement chargés via l’API Web Audio du navigateur. Chaque corde possède son propre fichier, ce qui permet de jouer la même note plusieurs fois sans latence notable. L’affichage des cordes s’appuie sur le DOM : lorsqu’une corde est frappée, un élément CSS s’allume puis vibre, reproduisant visuellement la résonance. Le mouvement du médiator est animé en fonction du motif de strum sélectionné, distinguant les coups solides des coups manqués. Le rendu s’adapte aux navigateurs qui supportent le format AVIF pour les images de fond, tandis que les navigateurs ne le supportant pas affichent une version alternative.

Limites et perspectives

Le modèle d’échantillonnage impose une dépendance forte aux fichiers audio : chaque instrument occupe plusieurs mégaoctets, ce qui augmente le temps de chargement initial, surtout sur les connexions mobiles. L’absence de stockage local ou de compte utilisateur empêche la sauvegarde de configurations personnalisées entre sessions. La précision du timing dépend de la capacité du navigateur à exécuter le code JavaScript en temps réel ; des variations de latence peuvent apparaître sur des machines peu puissantes. Enfin, le système ne propose pas de création d’échantillons personnalisés, limitant l’usage aux sons fournis par le développeur. Une évolution possible serait l’intégration d’un éditeur de boucles permettant aux utilisateurs d’ajouter leurs propres enregistrements, ainsi qu’une optimisation du chargement différé des échantillons afin de réduire l’empreinte initiale.