2024年9月24日、本サイトの更新を終了しました。
本サイト http://www-b.uec.tmu.ac.jp/ は、2025年3月末に終了します。
移転先は、https://shakuhachi.sub.jp/music21/ です。
今後の更新は、新サイトで行います。
September 24, 2024. This site is no longer being updated.
This site, http://www-b.uec.tmu.ac.jp/, will close at the end of March 2025.
The new location is https://shakuhachi.sub.jp/music21/.
Future updates will be made on the new site.
music21を使って宮城道雄の「春の海」を解析
Analysis of "Harunoumi (Sea of Spring) by Michio Miyagi" in music21.
2016.3
”music21"は、MIT(マサチューセッツ工科大学)で開発されている音楽学、音楽分析の専門家が研究用に作成しているソフトウェアですが、
Pythonで音楽学を見て容易に操作できそうだったので、宮城道雄の「春の海」の分析を試してみました。
iMac、MacOSX(10.10.5 Yosemite)を使用。WinでもPythonが入っていれば可
MacOSには、標準でPython言語がインストールされているので、ターミナルからpythonと打てば実行されます。
まずは、MITの音楽学ソフトウェアmusic21をインストール
music21 is a Python-based toolkit for computer-aided musicology.
music21は、オープンソースソフトウェアであり、ライセンスは、LGPLまたはBSD。
ダウンロードして、ファイル"installer.command"をダブルクリックして実行すると、自動的にターミナルが開きインストールが進みます。適当にYes/Noを答えるとインストールが終了します。MuseScoreがインストールされていれば、表示などに使用されるようになります。
別途ターミナルからpythonに入り、「Pythonで音楽学」の手順通りにすすめます。
music21のライブラリを読み込むため、下記コマンドをターミナルに入力して実行。
from music21 import *
次に、XML形式の楽譜データを読み込みます。
s = converter.parse('各自のパス/harunoumi_v2.xml')
春の海の楽譜のXMLデータharunoumi_v2.xmlは、以前作成し、公開している harunoumi_v2.mscz (MuseScoreで作成)をMusicXML形式で保存し直して使用。
s[0],s[1],s[2],s[3],s[4],s[5]
と入力したところ、
s[4]が尺八、s[5]が琴(箏)のパートとなっていたので、
s[4][2:5].plot('pianoroll') で、尺八の出だしのピアノロール図が表示されます。(下図)
s[4].plot('pianoroll’) では、尺八パート全体のピアノロール図が表示され、
s[5].plot('pianoroll’) では、琴パート全体のピアノロール図が表示されます。
音程をオクターブを考えずに数えると、
s[4].pitchAttributeCount('name’)
{'A': 124, 'C': 16, 'B': 162, 'E': 204, 'D': 75, 'G': 37, 'F': 50, 'F#': 11}
尺八で使われている各ピッチの数は、ロやピが一番多く204回、チ 162回、レ 124回という順のようです。
琴では、音の数が 倍程度ありますが、傾向は類似していました。
s[4].pitchAttributeCount('name’)
{'A': 202, 'C': 36, 'B': 422, 'E': 475, 'D': 220, 'G': 4, 'F': 117, 'F#': 23}
各音の使用されている回数のヒストグラム図は、尺八では、
s[4].plot('histogram')
甲のロレチとピが多く、その中でもチが最も多いようです。
琴では、
s[5].plot('histogram')
音の長さのヒストグラムをプロットすると、
s[4].plot(format='histgram', values='quarterLength')
尺八は、16分音符が多く、次に多い8分音符までが数としてはダントツ。
s[5].plot(format='histgram', values='quarterLength')
琴は、16分音符がダントツ
音符のピッチと長さを、プロット円の半径を頻度としてプロットすると、尺八では、
s[4].plot(format='scatterweighted', values='pitchclass')
琴では、
s[5].plot(format='scatterweighted', values='pitchclass')
以上は、解析と言えるほどのものではありませんが、music21には、他にも多数の機能があるようです。
music21のグラフについては、
http://web.mit.edu/music21/doc/tutorials/graphing.html
参考:春の海の楽譜の1頁目
参考文献
親ページに戻る