music21 を使用して、既存のポップ ソング用に作成された大量の midi ファイルを処理しています。
10チャンネルはパーカッション専用ですが、メロディックなトラックは別のチャンネルにあるので、メインのメロディー(ボーカル)トラックを効率的に選ぶ方法はないかと考えていました。
ハーモニクス(和音)が重なるのではなく、単音で構成されたトラックを選び、曲全体で演奏されるトラックを選ぶのが1つの方法だと思いますが、他に効率的な方法はありますか?
を使用する代わりに、正しいメロディーを見つけるのに非常に便利であること.bestName()
がわかりました。.partName
ドキュメントはここにあります: http://web.mit.edu/music21/doc/moduleReference/moduleStream.html#part
そして、これが私がそれをどのように使用したかです:
midi_data = converter.parse(data_fn) #data_fn is the path to the .mid file I use
for part in midi_data.parts:
print(part.partName)