Kommentoinnin parannus
This commit is contained in:
parent
5c2f7a739e
commit
39929c6d9e
1 changed files with 9 additions and 2 deletions
|
@ -22,7 +22,9 @@ savellaji_arvot = {
|
||||||
}
|
}
|
||||||
|
|
||||||
def lue_midi(tiedostopolku):
|
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)
|
midi = mido.MidiFile(tiedostopolku)
|
||||||
tulos = []
|
tulos = []
|
||||||
for raita in midi.tracks:
|
for raita in midi.tracks:
|
||||||
|
@ -78,6 +80,9 @@ def kirjoita_midi(tiedostopolku, nuotit, muunnettava_midi=None, tempo=120, rytmi
|
||||||
else:
|
else:
|
||||||
raita.append(viesti)
|
raita.append(viesti)
|
||||||
else:
|
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
|
iskun_kesto = midi.ticks_per_beat
|
||||||
rytmi = rytmi_taulukoksi(rytmi)
|
rytmi = rytmi_taulukoksi(rytmi)
|
||||||
rytmi = [round(x*4*iskun_kesto) for x in 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)
|
midi.save(tiedostopolku)
|
||||||
|
|
||||||
def rytmi_taulukoksi(rytmi):
|
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("|")
|
rytmi = rytmi.split("|")
|
||||||
tulos = []
|
tulos = []
|
||||||
for alkio in rytmi:
|
for alkio in rytmi:
|
||||||
|
|
Reference in a new issue