ORCA workshop 翻訳

この記事は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のノートを３つ目のオクターブの高さで送ります（訳注：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つのノートのトラックを作り、１つ目の値を出力します。
（訳注：Tの左側には２つの引数をとります。一番左は何番目を出力するかで、0で１つめの値、１で２つ目の値を出力。すぐ左隣はメロディの要素の数で、今はCAFEの４つです。）

```
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は、レート２の速さで6までインクリメントします
* (訳注：インクリメントは今の値に１づつ足されていくやつ。プログラミングでよく使われる)

```
.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

３つの変数を読む

> * 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!