를 사용하여 미디 파일에서 어쿠스틱베이스 드럼을 추출 여기에서 미디 파일을 다운로드 이 노래.music21 라이브러리
from music21 import *
import os
fp = os.path.join(common.getSourceFilePath(), 'midi', 'testPrimitive', 'Taylor Swift - You Belong With Me.mid')
mf = midi.MidiFile()
mf.open(fp)
mf.read()
mf.close()
s = midi.translate.midiFileToStream(mf)
partStream = s.parts.stream()
for p in partStream:
print p.partName
그런 다음 출력이 ... 나는 타악기 어느 쪽이 모르는
Saxophone
None
Electric Bass
None
None
Electric Guitar
None
None
None
Banjo
Banjo
Banjo
StringInstrument
Piano
후 :
내가 아래에있는 내 코드, 미디 파일을 구문 분석 music21 라이브러리를 사용 어떤 부분이 타악기인지 알고 있는데, 그 부분에서 어쿠스틱베이스 드럼을 추출하여 어쿠스틱베이스 drum.mid 파일로 출력하고 싶습니다. 아무도 그것을 어떻게 할 수 말해 줄래? 감사합니다
mf.tracks이 [14], 그때 그 피치 번호 부분을 추출 충격 필요한 수단 그렇다면 출력이 14 인
from music21 import *
import os
fp = os.path.join(common.getSourceFilePath(), 'midi', 'testPrimitive', 'Taylor Swift - You Belong With Me.mid')
mf = midi.MidiFile()
mf.open(fp)
mf.read()
mf.close()
for n in range(len(mf.tracks)):
for c in mf.tracks[n].getChannels():
if c == 10:
print n
[편집] I 코드 밑도는 ,
35 36 그럼 I 코드 아래 사용된다
for n in range(len(mf.tracks[14].events)):
if mf.tracks[14].events[n].pitch == 35 or mf.tracks[14].events[n].pitch == 36:
print n
그럼 많은 출력이있다. 나는 다음에 무엇을해야하는지 생각 중입니다.
music21의 타악기 지원은이 시점에서 매우 부족합니다. 저는 개발자이자 전 타악기 연주자라고 말하면서 두려워요. –