From 39929c6d9ef39886fd7616304d1a431d12492fdb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vili=20Sinerv=C3=A4?= <39151688+ArcticCoder@users.noreply.github.com> Date: Fri, 28 Oct 2022 10:28:23 +0300 Subject: [PATCH] Kommentoinnin parannus --- src/midi_kasittelija.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/midi_kasittelija.py b/src/midi_kasittelija.py index 5d867bf..2f45893 100644 --- a/src/midi_kasittelija.py +++ b/src/midi_kasittelija.py @@ -22,7 +22,9 @@ savellaji_arvot = { } def lue_midi(tiedostopolku): - """Lukee nuotit MIDI tiedostosta""" + """Lukee nuotit MIDI tiedostosta. Jokainen raita (track) käsitellään erikseen. + Palauttaa listan nuottien MIDI-arvoja transponoituna C-duuriin. Molli sävellajeja ei tueta. + """ midi = mido.MidiFile(tiedostopolku) tulos = [] for raita in midi.tracks: @@ -78,6 +80,9 @@ def kirjoita_midi(tiedostopolku, nuotit, muunnettava_midi=None, tempo=120, rytmi else: raita.append(viesti) else: + #MIDI-tiedosto sisältää 1/4 nuotin pituuden ja nuottien kestot ilmaistaan "tickeinä" + #joille ei ole musikaalista vastinetta. *4 muuntaa nuottien kestot + #1/4 nuottien määräksi ja *iskun_kesto muuntaa tämän "tickeiksi" iskun_kesto = midi.ticks_per_beat rytmi = rytmi_taulukoksi(rytmi) rytmi = [round(x*4*iskun_kesto) for x in rytmi] @@ -98,7 +103,9 @@ def kirjoita_midi(tiedostopolku, nuotit, muunnettava_midi=None, tempo=120, rytmi midi.save(tiedostopolku) def rytmi_taulukoksi(rytmi): - """Muuntaa annetun rytmin numeeriseksi taulukoksi""" + """Muuntaa annetun rytmin numeeriseksi taulukoksi. + Rytmi annetaan nuottien kestoina muodossa "1/4|1/2|1|" jne. + """ rytmi = rytmi.split("|") tulos = [] for alkio in rytmi: