ORCΛのOperatorsを紐解いていく(Uとユークリッドリズム解説+Tips)
こんにちは。大和です。
基本的なオペレーターもあと少しになってきました。今日はUについてです。ちょっと説明が長くなります。
例によって纏めページは以下です。過去のものを含めてReferenceになれば嬉しいです。
ORCΛ Operators:https://scrapbox.io/orca/ORCΛ_Operators
どなたでも参加して編集していただくことが出来ますので、ぜひうまく活用してノウハウを貯めてもらえればと思います。
U
#orca #operators
— Hiroshi Yamato / dropcontrol (@yamato) January 8, 2020
U uclid(step max): Bangs on Euclidean rhythm.
・ユークリッドリズムでbangを出力する。
・ユークリッドリズムについてはこちらが参考になります>https://t.co/4H9cskB1OL
・また論文はこちらから読めます> https://t.co/myGtcz4KAK pic.twitter.com/hdM3otzvkV
ユークリッドリズムとは?
さて、Uについて解説をしていきます。
ユークリッドリズムというリズムパターンを作り出す方法があるのですが、詳しい説明は上記でリンクしてるウェブサイトや論文を当たってもらうとして、ここではどういう風に考えてリズムをグリッドに乗せていくかを説明したいと思います。
今「リズムをグリッドに乗せていく」と書きましたが、ユークリッドリズムでもリズムは一定のループの周期で捉えます。
その周期を何分割して、そのうち幾つリズムを鳴らすかをルールから導き出していく方法です。
論文では「世界の民族音楽のリズムはこの方法で説明できる」とまで言っていますが
(僕はちょっと怪しいと思っています。近似のリズムのパターンは作れるのは確かですが、それが民族音楽のリズムと関係があるとは思えず、西洋音楽が中央および南アフリカのポリリズムにアプローチした時に譜面を使うことによって取りこぼしたことと同じことが起きるのではないかと思っています。この辺はユークリッドリズムに関して自分が持っている課題と仮説ですね)、
特定のルールなのでプログラムで再現が可能で、このUではそれを再現しています。
ユークリッドリズムの作り方
手動でもやれるのでちょっと見ていきましょう(僕の認識が間違っていたら、ぜひ指摘してください)
例えば、一周期を12分割して、それ中に5拍ビートを可能な限り均等に配置したいとします。
これは一周期を5分割する所謂「5連符」とは違い、あくまで「12分割されたグリッドから5つリズムの打点を選択する」ということになります。
ここでわかりやすく0と1で考えてみます。0は無音、1はリズムの打点です。
それを「12分割から5拍選ぶ」場合は以下の手順で行います。
- 12のグリッドを、11111+0000000とします。
- 0を移動して1と0のペアを作ります。> 1010101010+00
- まだ0が余っているので、10+0の組み合わせが出来るように移動します。
- 100100+101010で10が今度は余るので、100+10の組み合わせを作ります。
- 10010+10010+10で、あまりが1つになったのでおしまいです。
そして、できたのが100101001010。
これを例えば声に出して読んでみると例えば「1をタ、0をツ」とかなら「タツツタツ、タツツタツ、タツ」(句読点は読みやすさのために入れてますので、休むところじゃないです)などと声に出せますね。
合わせて手拍子とかすると体感もできます。
これをUで考える
これは例えば 3U5 だと「5拍3連」ということでなくて以下のようになります。
- 全体が5拍なので、00000
- そのうち3拍鳴らすので、111+00
- ゼロと1をペアにするので、10+10+1
言葉にすると「タンタンタ」という感じでしょうか(上の「0をツ」なら「タツタツタ」)。
いわゆる均等に割れているわけではありません。
五連譜の中の近所3連みたいなやつでこのリズム自体は結構今のジャズとかでよく使われれているやつですね。
他にも、4U9だとすると…
- 1111+00000 > 10101010+0 > 100 + 10 + 10 +10 「ターンタンタンタン」
3Uだと…
- 111000000 > 101010+000 >100+100+100 「ターンターンターン」
と言った感じになります。
Tips:その1「二桁以上の数字をどうやってあつかうの?」
例えば、ORCΛで10拍以上のグリッドを扱う場合、ORCΛでは0〜9に加えてa〜zを数字の代わりに使えます。
つまり10+26なので36まで数字が使えることになります。下記のORCΛのGithubのページに書いてありました。
hundredrabbits / ORCΛ:https://github.com/hundredrabbits/ORCΛ
こちらの "Base36 Table" のところの表を以下に引用します。
これがORCΛで使える数字ですね。
Tips:その2「bangでオペレーターを動作させることができるの?」
これはTwitterにて @takawo さんからmention頂きました。
ありがとうございます。
小文字のアルファベットはbangを受けたときのみ実行されるオペレータになります😃9以上はそうですね,orcaかpilotのgithubかどこかにアルファベットと数値の対応表があったような気がします
— takawo shunsuke (@takawo) January 8, 2020
まじか。とりあえず試してみる。さっきのUとまだEを組み合わせられるのかな。
.......
.5Ug...
...c...
..07XE.
.......
cがUのbangを受けてカウントする…はずなのですが、ちょっと思った感じと違いますが、確かにbangで実行されてますね。
この辺りはこれ、cのカウントの周期に対してUがbangを送ってその時点の数値が出力されているのでユークリッドリズムが再現されているのか?という話でいうと「されてない」はずですが、とりあえずbangが他のオペレーターのトリガーになるということはわかりました。
ちょっと長くなってしまいました。
本当はVとWとXも用意してあったのですが、その辺は次回に回したいと思います。
次回でアルファベットは終わりにできるかな。
お仕事のご依頼/相談/問い合わせ
シグナル・コンポーズでは音楽制作、Max/Max for Liveデバイス制作など、各種テクニカルなコンサルティングやディレクション、R&D、プロトタイピング、制作などお受けしています。何かあればお気軽にお問い合わせください。お待ちしております!
執筆:大和 比呂志
関連記事
-
Blog
Expressで作ったNode.jsアプリでhttpsを有効にするには?
-
Blog
これからのリベラルな音楽のためのアカデミー
-
Blog
Music Transformerを動かしてみる
-
Blog
自前サーバで HTTP Live Streaming 配信をする
-
Blog
MacBook Proをクラムシェルにした時iPhoneをウェブカムの代わりにして使うには?と、あと少しのTips
-
Blog
unityを始めてみようか。
-
Blog
ORCΛでMIDI音源を鳴らす(IAC Busの場合)
-
Blog
tensorflow1.15系と2.0系を同居させておくには?(ubuntu, GPU環境)
-
Blog
マジで最初から Swift で iOS アプリ作る(TextView)
-
Blog
マジで最初から Swift で iOS アプリ作る (Hello SwiftUI!)