IMA4 2018/2019 P73 : Différence entre versions

De Wiki de Projets IMA
(Analyse du second concurrent)
(Analyse du second concurrent)
Ligne 80 : Ligne 80 :
 
==Analyse du second concurrent==
 
==Analyse du second concurrent==
  
[[Fichier:Guitar_Pro.jpg|250px|thumb|left|L'interface de Guitar Pro]]
+
[[Fichier:Guitar_Pro.jpg|300px|thumb|left|L'interface de Guitar Pro]]
  
 
Guitar Pro est un logiciel d'écriture de partition. Bien qu'un bon nombre de logiciels de ce type existent, Guitar Pro est l'un des plus complets avec une banque de sons permettant d'écouter ses partitions, pour de multiples instruments. C'est d'ailleurs le leader du marché et un bon nombre de partitions sont aujourd'hui écrites sur GP. Il devient alors simple d'écrire et de composer dans morceaux, même sans toucher d'un instrument.
 
Guitar Pro est un logiciel d'écriture de partition. Bien qu'un bon nombre de logiciels de ce type existent, Guitar Pro est l'un des plus complets avec une banque de sons permettant d'écouter ses partitions, pour de multiples instruments. C'est d'ailleurs le leader du marché et un bon nombre de partitions sont aujourd'hui écrites sur GP. Il devient alors simple d'écrire et de composer dans morceaux, même sans toucher d'un instrument.

Version du 20 novembre 2018 à 18:04


Présentation générale

Description

Description générale

Ce projet nous trottait dans la tête depuis quelque mois déjà, avant même notre rentrée en IMA 4. Sachant que nous aurions à réaliser un projet tout au long du S8 mettant en avant nos connaissances acquises jusqu'ici, nous avions déjà commencé à réfléchir à la direction que nous voudrions prendre. Passionnés de musique, nous avons alors eu l'idée d'associer cette passion à ce projet pour tenter d'apporter quelque chose qui pourrait s'avérer utile et faciliter la vie d'un musicien.

En tant que musicien, il est parfois bien long de réécrire une idée ou même tout un morceau sur une partition, surtout informatiquement. Des logiciels existent pour cela, mais la plupart sont payants. De plus, il faut bien souvent tout taper à la main, ce qui peut prendre plusieurs heures. Nous voulions avec cette idée que chacun puisse, en seulement quelques minutes, retranscrire une idée ou un morceau sur une partition rien qu'en se branchant et en jouant. Cela permettrait même à quelqu'un qui s'y connaît peu en solfège d'écrire sa partition, tout aussi rapidement que n'importe quel musicologue aguerri.

C'est alors que nous avons eu l'idée de cette partition qui s'écrirait automatiquement. Le principe serait le suivant : il suffirait de brancher sa guitare électrique à son ordinateur, de lancer le logiciel puis l'acquisition, et la partition de ce que nous jouons s'écrirait devant nos yeux. Le logiciel aurait un métronome intégré qui permettrait au musicien de jouer dans le temps pour que les rythmes soient correctement retransmis. Pour une meilleure fiabilité, nous pensions faire jouer le morceau plusieurs fois pour s'assurer de la véracité des notes et rythmes captés par l'ordinateur.

Description technique

Techniquement, ce projet pourrait être divisé en trois parties distinctes. L'intérêt est que chacune de ces parties mettent en oeuvre des connaissances apprises dans les différents modules d'IMA.

* Conception électronique :

Pour relier notre instrument (ici une guitare électrique) à l'ordinateur, nous souhaitions concevoir une carte son. Cette carte permettra en premier lieu de préamplifier le signal (la sortie des micros d'une guitare ne valant que quelques mV), puis d'effectuer une conversion analogique-numérique du signal. Elle sera dotée d'une entrée en jack 6.35mm, format standard d'un câble de guitare, et se branchera en USB sur l'ordinateur.

* Traitement de signal :

Cette partie s'avérera la plus importante, mais aussi la plus compliquée ! En effet, la fiabilité de notre projet reposera sur le traitement des signaux reçus depuis notre guitare pour en extraire les bonnes notes. Il faudra alors trouver un moyen d'effacer au maximum le bruit dans nos mesures, d'effectuer des mesure de fréquences précises, mais aussi des mesures rapides pour que la partition s'écrive en tant réel. Nous devrons alors procéder à plusieurs études et tests pour trouver un compromis entre rapidité et précision des mesures.

* Conception logicielle :

Enfin, une partie de programmation et d’interfaçage graphique pour retranscrire les signaux reçus sur une partition. Le logiciel devra être clair et compréhensible pour un utilisateur lambda. L'utilisateur pourra régler plusieurs paramètres, comme la vitesse du métronome (donc le tempo de la musique), le nombre de temps par mesure, ou ben le nombre d'acquisitions voulues.

Objectifs

Ne nous le cachons pas, il semble ambitieux de réussir à tout accomplir parfaitement sur ce projet. Nous pensons alors fonctionner par paliers d'objectifs à atteindre tout au long du semestre. Jusqu'à arriver, pourquoi pas, au rendu final espéré en premier lieu.

La partie qui semble la plus abordable est celle de la réalisation de la carte son. Plusieurs guides détaillés sont disponibles sur internet qui permettent la réalisation d'une carte son de base, qui possède les quelques fonctionnalités que nous souhaitons. Cette partie là ne nous posera donc sûrement pas de problème particulier. Bien sûr, il ne faudra pour autant pas négliger le temps de réalisation du schematic, du PCB, de la soudure et du test du bon fonctionnement des composants.

C'est au niveau des parties traitement du signal et conception de l'interface graphique de la partition que les choses vont certainement se compliquer. Ces deux parties étant le vif du sujet, elles seront complexes et nécessiteront une pris en compte de beaucoup de détails. Nous pourrions alors en choisir de nous orienter d'un côté ou d'un autre, en faisant des tests par étape de chaque côté.

* Côté traitement de signal :

Pour le traitement de signal, il faudra en premier lieu dimensionner le problème, de façon à ensuite choisir l'appareil de traitement de signal adéquat (Arduino ? Raspberry PI ? carte électronique avec DSP ? Scilab ? ...).

Pour tester le bon fonctionnement de notre traitement de signal, nous pensons également le faire par étapes : - Dans un premier lieu, tester sur un enregistrement en .wav ou .mp3 déja existant, et sur une seule note. Cela permettra d'ignorer les bruit générés lors de l'acquisition. - Prendre ensuite en compte le bruit généré par la carte son et les micros de la guitare et adapter le traitement en fonction. - Vérifier que les fréquences sont correctement reconnues et qu'on se rapproche assez de la note voulue. Toujours en étudiant une seule note et non tout un morceau. - Enfin, étudier la partie temps réel de l'acquisition en traitant le morceau dans son ensemble, pour obtenir au final des fréquences en fonction du temps.


* Côté conception logicielle :

Après avoir choisi le langage de programmation adéquat, il serait plus judicieux de créer un premier programme plus simple, pour se familiariser avec le langage et les outils d'interfaçage graphique.

Un accordeur de guitare pourrait être un bon début. Il suffirait la fréquence d'une note jouée (d'abord depuis un enregistrement puis ensuite de notre guitare lorsque nous aurons réalisé la partie TS). Le logiciel afficherait la note la plus proche et si la fréquence est trop haute ou trop basse.

Une fois plus à l'aise avec ces outils, il devrait être plus abordable de créer notre fameux outil d'écriture automatique de partition.


Reste à voir jusqu'où nous pourrons arriver dans ce projet, le but étant en fin de S8 d'avoir un outil fonctionnel et présentable, quitte à devoir repenser nos plans prévus à la base si nous faisons face à des imprévus.

Analyse du projet

Positionnement par rapport à l'existant

Analyse du premier concurrent

Rocksmith.jpg

Rocksmith est un jeu vidéo développé par Ubisoft depuis 2011. A ce jour, deux opus sont sortis. La particularité de ce jeu est qu'il se joue via sa propre guitare électrique, branchée à son PC, et non une manette ou un clavier. Le PC reconnaît ensuite les notes et accords joués pour les retranscrire en temps réel sur l'écran.

Ce jeu a pour but d'apprendre la guitare aux guitaristes débutants, ou bien des morceaux plus compliqués à des guitaristes accomplis, grâce à un catalogue de morceaux pour tous les niveaux de musiciens.

Bien que le but final ne soit pas le même, le principe d'acquisition des signaux est sûrement très similaire à ce qu'on souhaite faire. Après tout, il s'agit dans les deux cas de capter, traiter et utiliser les informations d'un signal issu d'une guitare électrique pour les afficher ensuite à un utilisateur.

Nous ne considérerons pas Rocksmith comme un concurrent direct à proprement parler, mais plutôt comme une application pour les musiciens qui compléterait la nôtre : d'un côté l'apprentissage de la guitare, de l'autre côté la retranscription sur une partition. La concurrence a lieu dans la similarité d'acquisition du signal.

Pour y avoir joué personnellement, nous avons pu constater une légère latence dans ce jeu. Comme quoi même chez des professionnels, la partie temps réel du traitement de signal est un réel défi, qu'il nous faudra prendre absolument en compte.

Analyse du second concurrent

L'interface de Guitar Pro

Guitar Pro est un logiciel d'écriture de partition. Bien qu'un bon nombre de logiciels de ce type existent, Guitar Pro est l'un des plus complets avec une banque de sons permettant d'écouter ses partitions, pour de multiples instruments. C'est d'ailleurs le leader du marché et un bon nombre de partitions sont aujourd'hui écrites sur GP. Il devient alors simple d'écrire et de composer dans morceaux, même sans toucher d'un instrument.

Notre projet se démarque de Guitar pro dans le sens ou nous souhaitons passer outre sa principale contrainte : devoir tout écrire à la main. Ecrire un morceau prend de longues heures sur ce logiciel.

Nous pourrions imaginer notre projet comme une fonctionnalité additionnelle de ce logiciel, qui permettrait de jouer le morceau pour écrire directement la partition sur GP. Les deux logiciels se complètent bien puisque nous pourrions imaginer écrire la grosse partie de la partition via notre projet, puis fignoler les détails sur Guitar Pro, toujours dans le but de gagner du temps sur l'écriture.

Scénario d'usage du produit ou du concept envisagé

Réponse à la question difficile

Préparation du projet

Cahier des charges

Choix techniques : matériel et logiciel

Liste des tâches à effectuer

Calendrier prévisionnel

Réalisation du Projet

Feuille d'heures

Tâche Prélude Heures S1 Heures S2 Heures S3 Heures S4 Heures S5 Heures S6 Heures S7 Heures S8 Heures S9 Heures S10 Total
Analyse du projet 0


Prologue

Semaine 1

Semaine 2

Documents Rendus