Skip to content

Commit 655b145

Browse files
authored
Merge pull request #4 from POZAlabs/mid-815
MID-815: key name 자동 변환하여 mido 메세지 생성
2 parents 0c46dfc + 5efc51e commit 655b145

File tree

1 file changed

+32
-1
lines changed

1 file changed

+32
-1
lines changed

miditoolkit/midi/parser.py

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -470,7 +470,8 @@ def event_compare(event1, event2):
470470
# 5. Key
471471
key_list = []
472472
for ks in self.key_signature_changes:
473-
key_list.append(mido.MetaMessage("key_signature", time=ks.time, key=ks.key_name))
473+
mido_key_name = _key_number_to_key_name(ks.key_number)
474+
key_list.append(mido.MetaMessage("key_signature", time=ks.time, key=mido_key_name))
474475

475476
# crop segment
476477
start_tick, end_tick = 0, 0
@@ -731,3 +732,33 @@ def _get_tick_to_second_mapping(
731732
tick_to_time[start_tick : end_tick + 1] = acc_time + seconds_per_tick * ticks
732733
acc_time = tick_to_time[end_tick]
733734
return tick_to_time
735+
736+
737+
def _key_number_to_key_name(key_number: int) -> str:
738+
key_number_to_mido_key_name = [
739+
"C",
740+
"Db",
741+
"D",
742+
"Eb",
743+
"E",
744+
"F",
745+
"F#",
746+
"G",
747+
"Ab",
748+
"A",
749+
"Bb",
750+
"B",
751+
"Cm",
752+
"C#m",
753+
"Dm",
754+
"D#m",
755+
"Em",
756+
"Fm",
757+
"F#m",
758+
"Gm",
759+
"G#m",
760+
"Am",
761+
"Bbm",
762+
"Bm",
763+
]
764+
return key_number_to_mido_key_name[key_number]

0 commit comments

Comments
 (0)