ARR_NOTE=["C","C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B"] ARR_NOTE_LATIN=["Do","Do#", "Ré", "Ré#", "Mi", "Fa", "Fa#", "Sol", "Sol#", "La", "La#", "Si"] NOTES={ "C" : 0, "C#" : 1, "Db" : 1, "D" : 2, "D#" : 3, "Eb" : 3, "E" : 4, "F" : 5, "F#" : 6, "Gb" : 6, "G" : 7, "G#" : 8, "Ab" : 8, "A" : 9, "A#" : 10, "Bb" : 10, "B" : 11 } NOTES_LATIN={ "Do" : 0, "Do#" : 1, "Réb" : 1, "Ré" : 2, "Ré#" : 3, "Mib" : 3, "Mi" : 4, "Fa" : 5, "Fa#" : 6, "Solb" : 6, "Sol" : 7, "Sol#" : 8, "Lab" : 8, "La" : 9, "La#" : 10, "Sib" : 10, "Si" : 11 } __C0_START=12 class NoteAngloSaxon: C = 0 Cd = 1 Db = 1 D = 2 Dd = 3 Eb = 3 E = 4 F = 5 Fd = 6 Gb = 6 G = 7 Gd = 8 Ab = 8 A = 9 Ad = 10 Bb = 10 B = 11 class Note: @staticmethod def _parse(s, system): octave=4 note="" i=0 l=len(s) while i