Chargement...
 
[Voir/Cacher menus de gauche]
[Voir/Cacher menus de droite]

music21, langage de programmation pour l'analyse musicale
music21 est un logiciel de création et d'analyse de partitions.

Image


Informations

Site web officiel : http://web.mit.edu/music21/ .Image
Version actuelle : 5.1.0 du 2018 03 17.
Licence : GNU LGPL?.
Plateforme :
Support : MusicXML, MIDI, Humdrum, ABC, Musedata.
Développeur(s) :

Description

music21 permet de générer des partitions et surtout d'analyser les partitions existantes.
Il importe des fichiers aux formats MusicXML, MIDI, Humdrum, ABC et Musedata.

De nombreuses fonctions permettent retrouver toutes sortes d'informations dans un morceau de musique, comme sa tonalité, faire des statistiques sur les notes utilisées, afficher des graphiques sur l'utilisation des gammes majeures, etc...

Utilisation

Pour utiliser music21 il faut savoir taper quelques lignes de python.
Un certain nombre de partitions sont livrées avec, il suffit d'une commande pour les charger et jouer avec.

Malheureusement il faut pour l'instant entrer les notes en anglais même s'il est possible ensuite de les affficher en français.

Avec python il y a deux façons de taper des commandes :
  • de manière interactive en lançant d'abord la commande python puis en tapant le code dans la console,
  • ou avec le code écrit dans un fichier d'extension .py que l'on lance avec python monProgramme.py.

Affichage du nom des accords

Ce petit programme affiche le nom des accords do, mi, sol et do, mi, sol, si :
from music21 import chord

print chord.Chord(['C','E','G']).pitchedCommonName

print chord.Chord(['C','E','G','B']).pitchedCommonName

Résultat :
C-major triad
C-major seventh chord


Affichage de la tonalité d'un morceau

Le code suivant charge le morceau de Bach appelé bwv66.6 et affiche sa tonalité :
from music21 import *

bach = corpus.parse( 'bwv66.6' )

key = bach.analyze('key')
print key.tonic.name, key.mode

Le programme renvoie F# minor, c'est-à-dire en français fa# mineur.

Affichage d'une partition dans MuseScore

Pour utiliser MuseScore il faut dire à music21 où il se trouve. D'abord on va le chercher :
Où est MuseScore?
type musescore

Normalement il doit répondre /usr/bin/musescore, cette info est à rajouter au début du programme python :
from music21 import *
environment.set("musicxmlPath", "/usr/bin/musescore")

sBach = corpus.parse('bach/bwv7.7')
sBach.show()

Le partition de Bach doit s'afficher dans MuseScore comme ci-dessous.
Image

Affichage avec le nom des notes

Maintenant on va prendre un bout de partition de Beethoven et afficher le nom des notes en anglais (c'est la valeur par défaut) :
from music21 import *
environment.set("musicxmlPath", "/usr/bin/musescore")

aScore = corpus.parseWork('beethoven/opus59no2', 3)

print [e.id for e in aScore.parts]

vlnPart = aScore.getElementById('Violin I.')
mRange = vlnPart.measures(2,5)

for n in mRange.flat.notesAndRests:
	if not n.isRest:
		n.lyric = n.name

mRange.show()

Ce qui donne :
Image

En changeant la ligne n.lyric = n.name par n.lyric = pitch.Pitch(n.name).french on affiche les notes en français :
Image

Installation

[+]

Liens et commentaires





Collaborateur(s) de cette page : r1 , olinuxx et romain_bar .
Page dernièrement modifiée le Dimanche 15 avril 2018 14:27:32 par r1.
Le contenu de cette page est licencié sous les termes licence.

Documentation [Afficher / Cacher]

Connexion
[Afficher / Cacher]


sub26nico

Mégaphone [Afficher / Cacher]

sub26nico, 11:47, mer. 21 Nov 2018: @stanlea: oui [Lien]
stanlea, 09:51, mer. 21 Nov 2018: Bonjour y a-t-il un endroit pour déposer une annonce matériel ?
olinuxx, 23:25, mar. 20 Nov 2018: Samuel on en discute ici : [Lien]
Samuel, 14:35, mar. 20 Nov 2018: Le moteur audio de Tracktion devient open source [Lien]
l_d_v_c, 11:43, mar. 20 Nov 2018: Dmesg me dit de vérifier les câbles USB, et c'est vrai que 90% des pannes audios et informatiques sont dans les connectiques ! Je vais racheter des câbles USB plaqués or 24K...
olinuxx, 05:03, mar. 20 Nov 2018: ldvc : LibraZiK ne fait rien de spécial avec l'USB et je n'ai vu ce phénomène qu'1 fois dans 1 cas de contrôleur USB en train de mourir. Si tu venais nous expliquer ton soucis calmement dans le forum plutôt que de râler comme un cochon ? wink
l_d_v_c, 02:06, mar. 20 Nov 2018: En 10 ans de MAO sous GNU/Linux, j'ai dû faire un mois de musique, le reste d'emmerdes informatiques.
l_d_v_c, 01:39, mar. 20 Nov 2018: les ports usb disparaissent sous librazik grosse merdasse !
sub26nico, 22:36, sam. 17 Nov 2018: Salut et bienvenue à hubert_fr_69 et stefets :-)
sub26nico, 11:00, sam. 17 Nov 2018: Salut et bienvenue à danger89 et Tylun :-)
sub26nico, 01:15, sam. 17 Nov 2018: Salut et bienvenue à ramblingpedro :-)
sub26nico, 17:56, ven. 16 Nov 2018: Salut et bienvenue à Dinosor :-)