music21~Slonimsky Generator | Nature | Photography | Music | Art

Nature | Photography | Music | Art

日々好奇心の趣くまま

サイト内の写真の使用ならびに無断転用を禁じます。

music21の実用例を兼ねて、先月GIGAZINE(出典:Medium)に掲載された以下の記事に触発されて書いたものです。。

https://gigazine.net/news/20180313-coltrane-pitch-diagrams/

https://medium.com/@lucas_gonze/coltrane-pitch-diagrams-e25b7d9f5093

確かにウチにあるYusef本を見てみると上で言及されている記号が…


それより表紙の三本足クリーチャーの正体の方が気になる…

 


 

Repository of Scales and Melodic Patterns

 

上でSlonimskyとYusef二つの書籍について書かれているが、今回取り上げるのがそのうちの一つ。
現代音楽・ジャズ界隈のネタ本で有名ないわゆるSlonimsky本。1947年の著作らしい。
 

Thesaurus of Scales and Melodic Patterns

 

この本を初めて知ったのは随分昔1990年代、Jazz LifeのHerbie Hancockのインタビューだったか。

インターネットやAmazonなど使えない当時の洋書事情は悲惨で、入手できたとしても$1=\360固定相場かと思うほどぼったくり価格。
この本も取り寄せると\10000近くの値段だったのでとても手が出なかったが、その後観光でボストンに行ったときに立ち寄ったバークリー音楽大学の書店で適正価格で買うことが出来た。
その後ペーパーバック版で更に安くなった。

この本の骨子は要は12半音を順列組み合わせを駆使して生成した膨大な数の音階やパターンをもれなく羅列したもので、そのほとんどはたぶん一生使うことはないかと思う。

200ページ以上の分厚い本だが、多分にアルゴリズミックな内容なので、おそらくアルゴリズムだけ記述すれば10ページ以内に収まるような気もする。
ということで折角なのでpythonとmusic21を使って本書冒頭100ページほどを占めている"Equal Division of N octave into M parts"のアルゴリズムをmusic21の活用事例にもなるかと思って一部だけインプリしてみた。

https://github.com/delphinus1024/slominsky_generator

本書の用語で言うとInterpolation,Ultrapolation,Infrapolation(もしくはその組み合わせ)のうち今回インプリしたのはInterpolationのみ。

使用例として

python slonim_gen.py 2 3 3 64

上の例を説明すると、midinote64=E4 を起点とした2 octaveに含まれる2*12=24個の半音階を3等分して、それぞれの部分の追加の構成音(3-1)=2個(共通のインターバル)の組み合わせの可能性をすべて網羅した譜面が生成される。

 


Slonimsky本では既存の音階(Major scale,3種のMinor scale)に一致するものは意図的に割愛されているが、このプログラムではそのままにしている。