lilypond-user-fr
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Variables, aléatoire et jeu musical (Moza rt)


From: Éditions IN NOMINE
Subject: Re: Variables, aléatoire et jeu musical (Moza rt)
Date: Mon, 26 Jul 2010 14:57:08 +0200
User-agent: Thunderbird 2.0.0.24 (X11/20100411)

Aaaargh ça a déjà commencé ... >:o

Je vous livre mon petit script pour transcrire des tablatures allemandes pour viole (à adapter pour le luth en se pastillant la préface des Musica Teusch de Gerle, 1546). Ca peut servir d'exemples pour d'autres applications !

Pour la voix de basse, par exemple :

- créez un fichier bassussource.txt (ou un autre nom, mais il faudra modifier le code python en conséquance)
- rentrez dedans la tablature allemande en reproduisant les lettres à l'identique et le rythme suivant le code Lilypond (Attention : les chiffres de la tablature ont été remplacés par des lettres majuscules comme indiqué dans le dictionnaire du fichier bassus.py). Se référer au dictionnaire du code bassus.py
- faites python bassus.py dans un terminal
- et copiez coller le résultat du terminal dans votre Frescobaldi (ou autre).

C'est effectivement facile à coder, et souverainement efficace : je ne vous raconte pas la transcription à la mano de tout ce bazar !

Je vous ai mis en PJ un exemple de tablature et le fichier bassussource.txt associé ci-dessous avec le code python bassus.txt (je suis dans un bon jour ;-) )

A bientôt !

JMarc

bassus.py
import os, re, sys

#correspondances
basse = {
'A' : 'ees,',
'F' : 'e,',
'L' : 'f,',
'Q' : 'fis,',
'U' : 'g,', #le chiffre 1
'a' : 'gis,',
'f' : 'a,',
'l' : 'bes,',
'q' : 'b,',
'D' : 'c', #le chiffre 2
'b' : 'cis',
'g' : 'd',
'm' : 'ees',
'T' : 'e', #le chiffre 3
'c' : 'f',
'h' : 'fis',
'n' : 'g',
's' : 'gis',
'K' : 'a', #le chiffre 4
'd' : 'bes',
'i' : 'b',
'o' : 'c\'',
't' : 'cis\'',
'C' : 'd\'', #le chiffre 5
'e' : 'ees\'',
'k' : 'e\'',
'p' : 'f\'',
'v' : 'fis\'',
'9' : 'g\'\''
}

breve = {'B' : 'breve', 'L' : 'longa'}

#initialisation de la chaine a traduire
source=open('bassussource.txt') # à modifier suivant le nom de votre fichier source
contenu = source.read()

#traduction
traduction = "".join(basse.get(c, c) for c in contenu) #transcription des lettres
final = "".join(breve.get(c, c) for c in traduction) #transcription des \breve et \longa

print final

#fermeture
source.close()


bassussource.txt
d\B c d1. c2 n1 m c\B
R1 c1 D m l
R1 d1 c2. n4 K2 d n c n1 c\B
R1 n1 c D g\B
R1 g\B g1 n\B c1 l4 D g m c2 n c c l\B



Daniel Cartron a écrit :
Le lundi 26 juillet 2010, R. Bastian a écrit :
  
Certainement, mais c'est très dangereux de conseiller Python, car
là le public risque de se rendre compte qu'il existe des langages
 logiquement construits et faciles d'usage.
    

:-D

  

JPEG image


reply via email to

[Prev in Thread] Current Thread [Next in Thread]