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

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

今回は、前回の続きで基本操作②を紹介します。(前回↓)

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

2024-04-26 10:09:29時点