pythonプログラミング で楽譜作成!| music21 ~基本操作④ TinyNotationを学ぼう!

pythonプログラミング で楽譜作成!| music21 ~基本操作④ TinyNotationを学ぼう!

皆さん、こんにちは!

今回はmusic21のTinyNotationについて一緒に学びましょう

TinyNotationでの楽譜表記

前々回では「convert.parse」を用いる事で「MusicXML」のインポートを行いました。

music21に楽譜を取り込んで解析を行う場合、

①「note.Noteオブジェクトを生成し、streamオブジェクトにappendする」(詳しくは下記の記事を参照)

②「finaleやMuseScoreなどでMusicXMLを作成する」(詳しくは下記の記事を参照)

といった方法がありますが、中途半端に長い曲だと、「①だと時間が掛かるし、②の方法を使うほど時間を掛けたくない」と言ったことがあるかと思います。

それを解決するため、TinyNotationでの楽譜表記方法が開発されています。

↓詳しくは以下をご参照ください。

表記方法を覚える必要はありますが、応用が非常に効くため、是非使えるようになると良いですね!

基本は「converter.parse(‘tinyNotation: xxx’)」

MusicXMLをインポートする際にも利用した「converter.parse()」を用いてオブジェクトを作成します。

from music21 import *
s = converter.parse('tinyNotation: 4/4 C4 D4 E4 F4 G4 A4 B4 c4')
s.show()

拍子

拍子は「tinyNotation: 2/4」と言ったように表記します。

3拍子なら「3/4」、4拍子なら「4/4」、8-6ならば「6/8」と言った感じです。

ピッチと音価

下図のようにかき分けます。

・c4を基準に、c4よりオクターブ上げる場合は、cの後ろに「’」を付けていきます。

・c4より低いピッチは「C4」と表記し、さらに下げる場合は「トーン(CやDなど)」の数を増やします。

※ 注意点としては、Noteオブジェクト生成時は、C4と言えば「国際式」で表記した場合の「Cのピッチ」を表していました。

一方、tinyNotationの場合、C4と表記すると「国際式表記C4の4分音符のNote」を指します。

同じ長さの音符が連続する場合

下記のように、同じ長さの音符が連続する場合は、後続のトーンに着ける数字を省略することができます。

下図の場合、いずれの表記も同意となります。

休符・付点N分・タイ

・休符は「r」で、音符と同じくr4ならば4部休符、r8ならば8部休符です。

 → 数字を省略した場合、前の音符の長さを継承するルールも適用されます。

・付点N分(付点四分音符や付点八分音符など)はトーンの後ろに「.(ドット)」を記載します。

・タイは2つ同じ音符を表記し、一つ目の音符の後ろに「~」を付けます。

シャープ・フラット

基本的な表記は変わりませんが、以下の様なルールがあります。

・シャープの場合は「#」、ダブルシャープの場合は「##」

・ナチュラルの場合は「トーンの後ろにn」

・フラットの場合は「-」、ダブルフラットの場合は「–」

・c#(もしくはc-)の次に「c」とした場合、一つ前の音符の#(または-)は継承しない。

s = converter.parse('tinyNotation: 4/4 c4 c# c c## cn c- c-- c c1')
s.show()

連符

連符を作成したい場合は「trip{}」で表記します。

例:trip{c8 d e} は 8分音符の3連符、trip{f4 g a}は4分音符の3連符です。

s = converter.parse('tinyNotation: 4/4 c4 trip{c8 d e} trip{f4 g a} b-1')
s.show()

歌詞を付ける

歌詞を付ける場合は、ピッチの後ろに「_(アンダーバー)」を付けて文字を付けます。

s = converter.parse('tinyNotation: 4/4 c4_皆さん! d2_こんにちは e4_(^_^)')
s.show()

次のステップへ

今回はmusic21のTinyNotationについてご紹介しました。

この表記方法を覚えると、よりスピーディーに作品生成ができますね!

本日のAmazonおすすめ_Top10

2024-03-29 12:19:03時点