Sur MuseScore (bientôt) : la lecture des symboles d'accord

• 12 sept. 2019 - 06:35

Le code est écrit, reste à le tester et le peaufiner, et on évoque la possible disponibilité de cette nouvelle fonctionnalité majeure du programme pour une prochaine mise à jour (la 3.4 par exemple, dans quelques mois donc)
C'était une demande récurrente sur les forums: sa concrétisation fera sûrement de nombreux heureux. Elle mérite l'ouverture d'un fil dédié.

En commençant de suite par la démo, tellement elle est bluffante, impressionnante (ex: le changement de son piano/orgue en cours de route 😍) et parce qu'elle vous met l'eau à la bouche illico!

Démo: https://www.youtube.com/watch?v=LFvCEsY1aFg

Et en poursuivant par la description - traduite - du projet par l'auteur du code, Peter Hieu Vu (pianiste, américain, étudiant de premier cycle à l'Université de Washington/Seattle) : comment ça marche, possibilités, options etc.
(le fil original: https://musescore.org/en/user/2068843/blog/2019/08/23/gsoc-2019-chord-s…)

Description du projet

Ce projet vise à améliorer l'expérience de travail avec les symboles d'accords dans les partitions. Sans pouvoir entendre l'harmonie dénotée par les symboles d'accords, il peut être difficile de se faire une idée complète de ce à quoi pourrait ressembler une œuvre musicale dans la pratique.

Dans ma proposition initiale, j'espérais, au minimum, résoudre un certain nombre de problèmes élémentaires séquentiels :
- Permettre aux utilisateurs de réaliser des symboles d'accords en notes dans la partition
- Permettre aux utilisateurs de lire directement les symboles d'accords lorsqu'ils appuient sur "Play"
- Concevoir et mettre en œuvre des algorithmes d'harmonisation de qualité
- Créer des options supplémentaires pour les voix et les rythmes

Ensuite, j'ai dressé la liste des fonctionnalités supplémentaires sur lesquelles j'espérais travailler si le temps le permettait :
- Réglages automatiques pour différents instruments
- Voix mélodiques (arpèges et autres)
- Modèles personnalisés (règles personnalisées pour l'harmonisation)

Résultats réels

Peu de temps après le début du projet, j'ai réalisé qu'il valait mieux se concentrer sur une approche plus basique et l'explorer et la mettre en œuvre avec beaucoup de précision plutôt que de créer de nombreuses fonctionnalités avec moins de précision. En conséquence, j'ai fini par me concentrer uniquement sur les problèmes élémentaires, et j'ai aussi rejeté les rythmes.

Plus en détail, voici une liste des principaux changements séparés en catégories.

  • Les symboles d'accords sont lus au clic et pendant l'édition (peuvent être désactivés dans les préférences)
    • Les symboles d'accords peuvent être réalisés en notes en sélectionnant les accords à réaliser et en allant dans Outils / Réaliser les symboles d'accords.
    • Les symboles d'accords peuvent être réalisés en ouvrant le menu contextuel (clic droit pour la plupart des utilisateurs) et en cliquant sur Réaliser les symboles d'accords.
    • Lecture des symboles d'accords par défaut lors de l'appui sur "Play" et de l'écoute d'une partition

Mélangeur (canal Harmony)

  • Un canal d'harmonie séparé est créé chaque fois qu'il y a un symbole d'accord dans la partition (et supprimé quand il n'y en a pas).
  • Le canal d'harmonie est un sous-canal sous l'instrument de la partie donnée (comme par exemple comment il y a différents instruments pour différentes articulations de violon)
  • Le canal Harmony permet à l'utilisateur de régler le volume, de régler le son en solo ou en sourdine, de régler l'instrument, ainsi que toutes les autres choses qui peuvent être réglées par le mélangeur.

Voix et options

Les voicings peuvent être modifiés en sélectionnant les symboles d'accords et en allant dans l'inspecteur.

Il y a deux interprétations qui contrôlent la façon d'interpréter les symboles d'accords comme des notes:
- L'interprétation littérale prend des notes à partir de la "définition du manuel" des symboles d'accords (par exemple C13 donnerait C, E, G, Bb, D, F, A)
- L'interprétation de jazz peut ajouter, supprimer ou modifier des notes lorsqu'il est approprié de le faire en fonction du contexte (par exemple en ajoutant des 9èmes).

  • Il existe 6 algorithmes d'harmonisation de base qui placent les notes (basées sur l'interprétation) sans tenir compte du contexte. Cela signifie que la voix de tête créée artificiellement

    • « Root » ne joue que la fondamentale ou la note de basse
    • « Fermer » les voix de toutes les notes à l'intérieur d'une octave
    • « Drop 2 » sélectionne jusqu'à 5 notes et les prononce du haut vers le bas, en laissant tomber la deuxième note du haut d'une octave.
      • « Three Note » sélectionne les 3 notes les plus importantes et les exprime d'une octave
        « Four Note » sélectionne les quatre notes les plus importantes et les exprime d'une voix ouverte de deux octaves.
      • « Six Note » sélectionne les 6 notes les plus importantes et les exprime d'une voix ouverte de deux octaves, doublant les notes importantes si nécessaire.
  • Il y a 3 modes de durée qui contrôlent la durée pendant laquelle les symboles d'accords sont joués :

1) Jusqu'à ce que le symbole de l'accord suivant joue des accords jusqu'à ce que le symbole de l'accord suivant ou la fin de la partition
2) Arrêter à la fin de la mesure joue des accords jusqu'au symbole de l'accord suivant, mais s'arrêter à la fin de la mesure comme un maximum.
3) La durée du segment joue des accords pour la durée du segment.

L'option Lecture qui permet aux utilisateurs de désactiver la lecture de symboles d'accords spécifiques.

Statut du code

En date du 22 août, le code n'a pas encore été fusionné, mais il est essentiellement terminé et il ne reste plus qu'une dernière révision à faire.

Évaluation

Bien que j'aie modifié le cours du projet par rapport à la proposition initiale, je considère que ce projet est complet. L'essence originale de la proposition et de la demande de fonctionnalité était de créer une implémentation robuste de la lecture des symboles d'accords qui permet aux utilisateurs de se faire une idée de ce à quoi leur musique pourrait ressembler sans avoir à avoir un instrument physique à portée de main. De plus, l'espoir était de créer une base solide qui permettra un développement futur facile de l'élément.

Je crois que j'y suis parvenu. J'ai personnellement utilisé cette fonctionnalité pour mon propre travail (ce qui s'avère très utile pour moi puisque je suis un étudiant qui se déplace beaucoup), et j'ai trouvé qu'elle améliore grandement ma capacité à écrire, transcrire et organiser dans MuseScore. De plus, l'une des choses les plus difficiles dans la mise en œuvre de ce projet a été la fondation. Une grande partie du code était vieux et difficile à comprendre. J'ai fait de mon mieux pour écrire un code bien écrit, documenté et facile à comprendre qui soit flexible.


Comments

Bonjour et merci de suivre cette évolution et d'en rendre compte. Superbe fonctionnalité à venir qui va faire des heureux en effet. C'est un grand pas pour le développeur et un énorme pas pour MuseScore ! A suivre !

Quel travail de conception méthodique et performant ! Et quel résultat époustouflant ! Ce n'est pas vraiment mon domaine mais les possibilités qu'on découvre sur cette vidéo, toutes ces options personnalisables, c'est vraiment très impressionnant. Un grand coup de chapeau à ce Peter Hieu Vu.
Et merci pour le relais de l'info

Si je me réfère à la démo vidéo, les développeurs n'ont pas fait les choses à moité. Rendu très intéressant. Bravo !
J'en ai l’eau à la bouche (si je puis dire, en cette période de vendanges en Bourgogne). Le plus dur sera de patienter jusqu'à la publication.

Do you still have an unanswered question? Please log in first to post your question.