Ich spiele mit TensorFlows Musikgenerierungsprojekt "Magenta".
Referenz: [Lassen Sie Sakanaction von TensorFlows Kunst- und Musikgenerierungsprojekt "Magenta" lernen. ]] (http://qiita.com/tackey/items/1295a0347a8b4cc30d46)
Als Vorprozess fand ich heraus, dass ich mit MIDI-Dateien in Python spielen wollte, und es schien, dass Magenta hübsche_midi verwendete. In diesem Beitrag führe ich das Beispiel Pretty_Midi 0.2.6-Dokumentation aus, um zu sehen, wie Pretty_Midi funktioniert.
Schreiben Sie den Beispielcode und die Kommentare.
sample.py
import pretty_midi
# Create a PrettyMIDI object
#Erstellen Sie ein hübsches MIDI-Objekt.
cello_c_chord = pretty_midi.PrettyMIDI()
# Create an Instrument instance for a cello instrument
#Erstellen Sie eine Instrumenteninstanz. Hier Cello
#Geben Sie den Instrumentennamen ein und es wird die entsprechende General MIDI-Programmnummer zurückgegeben
cello_program = pretty_midi.instrument_name_to_program('Cello')
#Erstellen Sie eine Instrumenteninstanz als Cello
cello = pretty_midi.Instrument(program=cello_program)
# Iterate over note names, which will be converted to note number later
#Die Melodie wird von NoteName beschrieben, später jedoch in NoteNumber konvertiert.
for note_name in ['C5', 'E5', 'G5']:
# Retrieve the MIDI note number for this note name
#Suche nach Notennummer aus Notenname.
note_number = pretty_midi.note_name_to_number(note_name)
# Create a Note instance, starting at 0s and ending at .5s
#Erstellen Sie eine NoteInstance. Klang(pitch)Startzeit und Endzeit,
#Geschwindigkeit definieren.
note = pretty_midi.Note(
velocity=100, pitch=note_number, start=0, end=.5)
# Add it to our cello instrument
#Fügen Sie die oben erstellte NoteInstance zum Celloinstrument hinzu.
cello.notes.append(note)
# Add the cello instrument to the PrettyMIDI object
#Fügen Sie das Chello-Instrument zum Pretty MIDI-Objekt hinzu.
cello_c_chord.instruments.append(cello)
# Write out the MIDI data
#Exportieren Sie ein PrettyMIDI-Objekt als MIDI-Datei.
cello_c_chord.write('cello-C-chord.mid')
Eine MIDI-Datei mit einem Domiso-Sound von 0,5 Sekunden (1 Takt bei 120 BPM) wurde erstellt. (Wird in Logik X angezeigt)
Als nächstes möchte ich eine vorhandene MIDI-Datei lesen und die Datei für jedes Instrument teilen.
Vielen Dank.
Recommended Posts