この記事はhttps://github.com/hundredrabbits/Orca/blob/master/WORKSHOP.md を翻訳してみたものです。ORCAの用語がまだ不安定です。。。ここ分かりにくい、こここうした方が?間違ってますよ!などなど、コメントございましたら歓迎です!
This workshop is designed to go over the most commonly used patterns in composition with Orca. If you are using Pilot as a sound source, remember to use the UDP operator ; instead of the MIDI operator :.
We recommend to distribute a printed copy of the list of operators, so students can do their own experiments.
ここではOrcaでのコンポジションでよく使われるパターンを紹介します。音源として、MIDIを使っている場合はこのまま:を使い、Pilotをを利用している場合は、代わりにUDPオペレータの ; を利用してください。
(訳注:Orcaは演奏情報データしか作らないので、単体では音が出ません。音源が別に必要です。MIDI音源や、Orcaで一番手軽に使える音源Pilotアプリなどを使います。MIDIにデータを渡すときは: 、PilotなどのUDPの場合は ; を使ってください。以下のサンプルでは:が使われ入れるので、;に書き直してださい。)
##* Part 1: Basics D, R, T, C
##* Part 2: Logic I, A, F, B
##* Part 3: Projectors E, H, X, O,
##* Part 4: Variables V, K, J, Y
##Basics 基本のD, R, T, C
This section will teach the basics of playing a note and a sequence of notes.
ここではノートやノートのシーケンスをプレイするための基礎について学びます。
###Send a midi note
MIDIノートを送る
- D8, will send a bang, every 8th frame.
- D8 は、8フレームごとにbangを送り出します
- :03C, will send the C note, on the 3rd octave, to send C#, use the lowercase c3.
- :03C は、Cのノートを3つ目のオクターブの高さで送ります(訳注:MIDI音名のC3と同じ)。C#を使いたい場合は、小文字でc3と書きます
D8...
.:03C
###Play a random note
ノートをランダムにする
- aRG, will output a random value between A & G, the rightside uppercase letter indicates an uppercase output.
aRGは、A~Gまでの値をランダムに出力します。右側の値が大文字なので、大文字が出力されます(訳注:左のaが小文字なのは、大文字Aは足し算をするためのオペレータなので使えないからです)。
D8.aRG.
.:03D..
###Make a melody
メロディを作る
- 04TCAFE, will create a track of 4 notes, and output its first value.
- 04TCAFEは、C-A-F-Eという4つのノートのトラックを作り、1つ目の値を出力します。
(訳注:Tの左側には2つの引数をとります。一番左は何番目を出力するかで、0で1つめの値、1で2つ目の値を出力。すぐ左隣はメロディの要素の数で、今はCAFEの4つです。)
D814TCAFE
.:03A....
###Play the melody
メロディを再生する
- 8C4, will count from 0 to 3, at 1/8th speed.
- 3C4で、0から3までをカウントし、1/8のスピードで再生します。
(訳注:上で作ったメロディの一番左の値を、Cで指定することでメロディを再生します)
.8C4.....
D804TCAFE
.:03C....
##Logic ロジック
This section will teach the basics of automating logic decisions and changing the values of operators dynamically.
ここでは論理決定の自動化とオペレータの値をダイナミックに変える方法の基礎について学びます。
###Play every second note
一秒ごとにノートを再生する
- 2I6, will increment to 6 at a rate of 2.
- 2I6は、レート2の速さで6までインクリメントします
- (訳注:インクリメントは今の値に1づつ足されていくやつ。プログラミングでよく使われる)
.2I6.......
D846TCAFEDG
.:03D......
###Play a note with an offset
オフセットを利用してノートを再生する
- 1AC, will add 1 to C, to output D. To get D#, use the lowercase d, like 1Ac.
D8.1AC.
.:03D..
###Play a sequence back and forth
シーケンスを行ったり来たりにする
- 2B8, will count from 0 to 7, and back down to 0, at half speed.
- 2B8は、0から7までカウントして、また0に戻る。2なので半分の速さで。
- 5AC, will increment the value so the sequence starts at the note C
- 5ACは、Cから始まるシーケンスでインクリメントをします
- (訳注: Aは足し算をするオペレーター。CにAの左側の数値を足します。)
..2B8..
D2.5AC.
.:03H..
###Play a note at a specific interval
特定のインターバルでノートを再生
- .I4, will increment to 4, at a rate of 1.
- .I4は、レート1の速さで4までインクリメントする
- .F2, will bang only if leftside input is equal to 2.
- F2は、左側に入力された値が2のときだけbangを出力する
- (訳注:Fはifの事)
I4.....
3F2.1AC
..:03D.
##Projectors プロジェクタ
This section will teach the basics of creating new operators procedurally.
ここではprocedurallyに新しいオペレータを作る方法の基礎について学びます。
Send a bang
bangを送る
- E, will travel further eastward, every frame.
- Eは、各フレームごとに東の方向に進む
- (訳注:厳密にいうと上を北とした時の東で方角のことではない。当然、W N Sもある。旅の好きなORCA作者のシャレが可愛い。)
Halt a moving operator
動いているオペレータを止める
- H, will stop a E from moving.
..H
E..
Read an operator at position
指定した位置のオペレータを読み取る
- 22O, will get the operator E at the offset 2,2.
- 22Oは、オフセット位置 (2,2)のオペレータEを取得する
22O...
..E..H
.....E
Write an operator at position
指定した位置にオペレータを書き込む
- 22X, will output the operator E at the offset 2,2.
- 22Xは、オフセット位置(2,2)にオペレータを出力する
22XE.
.....
.....
....E
Animate a projector
プロジェクタのアニメ化
- B8, will bounce between 0 and 8.
- B8は、0から8までバウンスする(訳注:0,1,2 …5,6,7,6,5,...2,1,0 を繰り返し出力 )
B4..........
1XE.........
........:03C
........:03D
........:03E
........:03F
##Variables
変数
This section will teach the basics of storing accessing and combining that stored data.
ここでは保存したデータにアクセスして結びつける方法の基礎について学びます。
Write a variable
変数を書く
- aV5, will store 5 in the variable a.
- 変数aに5を保存
aV5
###Read a variable
変数の読み込み
- Va, will output the value of the variable a. Notice how variables always have to be written above where they are read.
- Vaで変数aの値を出力する。注意:変数の値は、いつも読み込む場所よりも上に書いておく必要がある。
.....Va
.......
aV5..Va
.....5.
.......
aV6..Va
.....6.
###Read 3 variables
3つの変数を読む
- 3Kion, will output the values of i, o & n, side-by-side.
- 3Kionは、変数値i,o,mの値を順番に読み込む。
iV0.oV3.nVC
...........
3Kion......
.:03C......
###Carry a value horizontally and vertically
値を縦や横に並び替える
- Y, will output the west input, eastward.
- Yは東(左)側の入力を西(右)側に出力
- J, will output the north input, southward.
- Jは北(上)側の入力を南(下)側に出力
3..
J..
3Y3
###Carry a bang
bangを移動する(訳注 :carryがうまく訳せませんが、別の場所に出力するようなイメージです)
- This method will allow you to bring bangs into tight spots.
- このメソッドで狭い場所にbandを持ってくることができる
D43Ka...
.Y.:03C...
I hope this workshop has been enlightening, if you have questions or suggestions, please visit the forum, or the chatroom. Enjoy!