pretty_midi를 사용하여 Python으로 MIDI 파일 만들기
4837 단어 PythonmusicMIDIpretty_midi음악.
개시하다
텐센트 플로우제의 음악 생성 프로젝트'Magenta'를 하고 있습니다.
참조: 텐센트 플로우제 아트뮤직 생성 프로젝트인'마젠타'에서 어운을 배워보자.
그 전처리로 파이톤이 MIDI 파일을 가지고 놀려고 조사한 곳으로 마젠타가 이용하고 있는 것 같다pretty_midi.
이 투고에서 이동pretty_midi 0.2.6 documentation의 견본을 통해pretty를 획득할 수 있습니다미디의 구조를 살펴봅시다.
샘플 코드
샘플 코드와 주석을 쓰세요.
sample.py
import pretty_midi
# Create a PrettyMIDI object
# Pretty MIDIオブジェクトを作る。
cello_c_chord = pretty_midi.PrettyMIDI()
# Create an Instrument instance for a cello instrument
# Instrument Instanceを作る。ここではCello
# 楽器名を入れると、対応するGeneral MIDI program numberを返してくれる
cello_program = pretty_midi.instrument_name_to_program('Cello')
# Instrument instanceをCelloとして作成
cello = pretty_midi.Instrument(program=cello_program)
# Iterate over note names, which will be converted to note number later
# メロディをNoteNameで記載していますが、後ほどNoteNumberに変換されます。
for note_name in ['C5', 'E5', 'G5']:
# Retrieve the MIDI note number for this note name
# NoteNameからNote Numberを検索しています。
note_number = pretty_midi.note_name_to_number(note_name)
# Create a Note instance, starting at 0s and ending at .5s
# NoteInstanceを作成します。音(pitch)の開始時間と終了時間、
# velocityを定義します。
note = pretty_midi.Note(
velocity=100, pitch=note_number, start=0, end=.5)
# Add it to our cello instrument
# 上記で作成したNoteInstanceをCelloInstrumentに加えます。
cello.notes.append(note)
# Add the cello instrument to the PrettyMIDI object
# ChelloInstrumentをPrettyMIDIオブジェクトに加えます。
cello_c_chord.instruments.append(cello)
# Write out the MIDI data
# PrettyMIDIオブジェクトをMIDIファイルとして書き出しましょう。
cello_c_chord.write('cello-C-chord.mid')
생성된 MIDI
도미수 사운드는 0.5초(120BPM이면 한 박자) MIDI 파일이다.(logic X로 표시)
끝맺다
다음에, 나는 기존의 MIDI 파일을 읽고, 모든 악기를 파일로 나누려고 한다.
감사합니다.
Reference
이 문제에 관하여(pretty_midi를 사용하여 Python으로 MIDI 파일 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tackey/items/d0525798bddc4516f4f9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)