pythonプログラミング で楽譜作成!| music21 ~基本操作②
- 2022.02.19
- music21(pythonプログラム)

今回は、前回の続きで基本操作②を紹介します。(前回↓)
目次
MusicXMLを取り込む
例として、musescoreで公開されている「Greensleeves」のMusicXMLを取り込みます。
そもそもMusicXMLとは?
XML形式の音楽表記のためのファイル形式の事です。
詳しくは、以下のWikipediaをご参照ください。
Musescore.comからMusicXMLファイルをダウンロードする。
以下のリンクからファイルをダウンロードします。
①上記サイトから、Musicxmlをダウンロードします。

②MusicXMLを選択します。ローカルにダウンロードされるかと思います。

MusicXMLを取り込んでみる
例として、ユーザのDownloadフォルダに配置したMusicXML(.mxl)を読み込みます。
Converterモジュールのparse関数を用います。
mxlm = converter.parse(r'C:\Users\ユーザー\Downloads\Greensleeves_for_Piano_easy_and_beautiful.mxl')
mxlm.show()
mxlm.show('midi')
musesocre.comのサイトで表示される楽譜と「全く同じ」とはいきませんが、music21で扱えることが確認できたかと思います。
↓show()で表示される譜面(ペダル記号が抜けている状態)

移調する
上記の楽譜を移調するには「transpose」を用います。
例として 上記Greensleevesのキーを、key C から key F に移調してみます。
・引数に整数を渡す場合
整数を渡すと、キーを「引数の数分」だけ半音上げします。
→ Cから見てFは「半音5つ」上げた場所にあるため、「5」を渡します。

mxlm_tran = mxlm.transpose(5)
mxlm_tran.show()
mxlm_tran.show('midi')
・引数に「特定の文字列」を渡す場合
p5:完全5度上げる、M6:長6度上げる、m-3:短3度下げる
といった表記をすることで、移調することができます。
mxlmBb_tran = mxlm.transpose('M-2') #長2度下げる: C -> key Bb
mxlmDb_tran = mxlm.transpose('m2') #短2度上げる: C -> key Db
mxlmF_tran = mxlm.transpose('p4') #完全4度上げる:C -> key F
mxlmF_tran.show()
mxlmF_tran.show('midi')
次のステップへ
音符の装飾や連符について纏めています。
本日のAmazonおすすめ_Top10
2023-09-27 12:46:51時点
-
前の記事
pythonプログラミング で楽譜作成!| music21 ~基本操作① 2022.02.18
-
次の記事
pythonプログラミング で楽譜作成!| music21 ~基本操作③ 2022.02.20