Je joue avec le projet de génération de musique de TensorFlow "Magenta".
Référence: [Laissez Sakanaction apprendre du projet de création artistique et musicale de TensorFlow "Magenta". ] (http://qiita.com/tackey/items/1295a0347a8b4cc30d46)
En guise de pré-processus, j'ai découvert que je voulais jouer avec des fichiers MIDI en Python, et il semblait que Magenta utilisait pretty_midi. Dans cet article, je vais lancer l'exemple documentation pretty_midi 0.2.6 pour voir comment fonctionne pretty_midi.
Écrivez l'exemple de code et les commentaires.
sample.py
import pretty_midi
# Create a PrettyMIDI object
#Créez un objet Pretty MIDI.
cello_c_chord = pretty_midi.PrettyMIDI()
# Create an Instrument instance for a cello instrument
#Créez une instance d'instrument. Ici violoncelle
#Entrez le nom de l'instrument et il renverra le numéro de programme General MIDI correspondant
cello_program = pretty_midi.instrument_name_to_program('Cello')
#Créer une instance d'instrument en tant que violoncelle
cello = pretty_midi.Instrument(program=cello_program)
# Iterate over note names, which will be converted to note number later
#La mélodie est décrite par NoteName, mais elle sera convertie en NoteNumber ultérieurement.
for note_name in ['C5', 'E5', 'G5']:
# Retrieve the MIDI note number for this note name
#Recherche du numéro de note à partir du nom de la note.
note_number = pretty_midi.note_name_to_number(note_name)
# Create a Note instance, starting at 0s and ending at .5s
#Créez une NoteInstance. du son(pitch)Heure de début et heure de fin,
#Définissez la vitesse.
note = pretty_midi.Note(
velocity=100, pitch=note_number, start=0, end=.5)
# Add it to our cello instrument
#Ajoutez la NoteInstance créée ci-dessus à l'instrument pour violoncelle.
cello.notes.append(note)
# Add the cello instrument to the PrettyMIDI object
#Ajoutez l'instrument Chello à l'objet Pretty MIDI.
cello_c_chord.instruments.append(cello)
# Write out the MIDI data
#Exportez un objet PrettyMIDI sous forme de fichier MIDI.
cello_c_chord.write('cello-C-chord.mid')
Un fichier MIDI avec un son domiso de 0,5 seconde (1 battement à 120 BPM) a été créé. (Affiché dans la logique X)
Ensuite, je voudrais lire un fichier MIDI existant et diviser le fichier pour chaque instrument.
Merci beaucoup.
Recommended Posts