2014-03-24 292 views
2

我正在使用music21爲一系列midi文件提取midi音高編號(按順序)。顯示midi文件與音樂的midi音調編號21

我一直在讀通過的文件,我可以加載一個文件是這樣的:

from music21 import * 
sBach = corpus.parse('bach/bwv7.7') 

現在我該怎樣表現出MIDI數字的序列?我相信這是可能的,但我無法在文檔中找到該功能。

有沒有一種方法可以同時處理多個文件?

+1

http://web.mit.edu/music21/中的「在music21中連續繪製音高和持續時間」示例顯示瞭如何讀取音符編號。另請參閱http://web.mit.edu/music21/doc/moduleReference/moduleStream.html#music21.stream.Stream.notes –

回答

1
from music21 import * 
sBach = corpus.parse('bach/bwv7.7') 
for p in sBach.parts: 
    print("Part: ", p.id) 
    for n in p.flat.notes: 
     print(n.pitch.midi) 

注意.notes包括Chord對象,它沒有一個.pitch財產。因此,對於複雜的樂譜,您可能需要將和絃從音符中分離出來,或者遍歷p.pitches。我認爲在繼續之前,你會想要再多一些看看music21 User's Guide