Files
smnp-py/smnp/note/interval.py
Bartłomiej Pluta 2823fd1896 Create note package
2019-07-03 11:23:51 +02:00

23 lines
547 B
Python

from smnp.note.pitch import NotePitch
semitonesToIntervalName = {
0: "1",
1: "2m",
2: "2M",
3: "3m",
4: "3M",
5: "4",
6: "5d/4A",
7: "5",
8: "6m",
9: "6M",
10: "7m",
11: "7M"
}
def intervalToString(interval):
octaveInterval = int(abs(interval) / len(NotePitch))
pitchInterval = abs(interval) % len(NotePitch)
return (str(semitonesToIntervalName[pitchInterval]) + (f"(+{octaveInterval}')" if octaveInterval > 0 else ""))