2.2 Opcje Syntezatorów

# Opcje Syntezatorów: Amplituda i Balans

Tak samo, jak masz kontrolę nad tym, którą nutę zagrać lub który sampel uruchomić, Sonic Pi udostępnia cały asortyment parametrów umożliwiających kształtowanie i kontrolowanie dźwięków. Wiele z tych parametrów zostanie omówionych w tym samouczku. Ponadto w systemie pomocy jest obszerna dokumentacja szczegółowo opisująca każdy z nich. Tymczasem przedstawimy dwa najbardziej przydatne: *aplituda* (amp) i *balans* (pan). Na początek zobaczmy, czym są te parametry w rzeczywistości.


## Opcje

Syntezatory obecne w Sonic Pi wspierają pojęcie opcji. Opcje to sterowniki, które po przekazaniu do polecenia `play` modyfikują i kontrolują różne aspekty odtwarzanego dźwięku słyszanego przez Ciebie. Każdy z syntezatorów posiada własny zestaw opcji, które pozwalają na subtelny tuning danego dźwięku. Jednakże istnieje zestaw parametrów wspólnych dla wielu dźwięków. Przykładami takich parametrów są np. `amp:` czy opcje obwiedni dźwięku (zostaną omówione w dalszej części samouczka).

Opcje składają się z dwóch części: nazwy (kontrolowanej opcji) oraz wartości (jaką chcemy ustawić dla podanej opcji). Na przykład możesz mieć opcję, która nazywa się `ser:` i chciałbyś ustawić jej wartość na `1`.

Opcje są przekazywane do polecenia `play` w następujący sposób: najpierw dodajemy tuż za poleceniem przecinek `,`, po nim wpisujemy nazwę opcji, np. `amp:` (nie zapomnij o dwukropku `:`) i na końcu po spacji podajemy jej wartość. Oto przykład:

```
play 50, ser: 1
```

(Zauważ, że `ser:` nie jest poprawną opcją, używamy go tutaj tylko jako przykład).

Możesz przekazać wiele opcji, oddzielając je przecinkami:

```
play 50, ser: 1, fasolki: 0.5
```

Kolejność opcji nie ma znaczenia, poniższy kod też zadziała i da taki sam wynik:

```
play 50, fasolki: 0.5, ser: 1
```

Opcje, które nie są rozpoznawane przez dany syntezator, są po prostu ignorowane (tak jak `ser` i `fasolki` jak w powyższym przypadku, które są po prostu śmiesznymi nazwami dla opcji!)

Jeśli niechcący zdarzy Ci się dwa razy użyć opcji o tej samej nazwie, to wygrywa ostatnia. Na przykład - ostateczna wartość dla opcji `fasolki:` w poniższym przykładzie wyniesie 2 (a nie 0.5):

```
play 50, fasolki: 0.5, ser: 3, jajka: 0.1, fasolki: 2
```

Wiele poleceń w Sonic Pi akceptuje opcje, warto więc, żebyś poświęcił parę chwil, aby nauczyć się, jak ich używać, dzięki temu będziesz ustawiony! Spróbujmy pobawić się trochę z naszą pierwszą: `amp:`.

## Amplituda

Amplituda jest wielkością, która w świecie komputerów oznacza głośność dźwięku. *Wysoka amplituda powoduje głośny dźwięk*, a *niska amplituda powoduje cichy dźwięk*. Jak już wcześniej widziałeś, Sonic Pi używa liczb do reprezentacji czasu oraz nut. W taki sam sposób liczby są używane do reprezentacji wielkości amplitudy (głośności). Amplituda o wartości 0 to cisza (nie słyszysz nic). Natomiast amplituda o wartości 1 oznacza ustawienie głośności na standardowy poziom. Możesz podkręcić głośność wyżej, na 2, 10, 100. Musisz jednak wiedzieć, że gdy całkowita amplituda wszystkich dźwięków stanie się zbyt wysoka, Sonic Pi wykorzysta narzędzie zwane kompresorem, żeby zdusić dźwięk tak, że będzie mieć pewność, iż dźwięk nie jest zbyt głośny dla Twoich uszu. Takie działanie może spowodować, że stanie się on nieczysty i dziwny. Staraj się więc używać niskich wartości dla amplitudy, np. wartości w zakresie pomiędzy 0 a 0.5. Dzięki temu unikniesz mechanizmu kompresji.


## Amplituda w górę

Aby zmienić amplitudę dźwięku, możesz użyć opcji `amp:`. Przykładowo żeby zagrać z głośnością na poziomie 0.5, napisz taki kawałek kodu i uruchom go:

```
play 60, amp: 0.5
```

Aby zagrać z podwójną głośnością, przekaż liczbę 2:

```
play 60, amp: 2
```

Opcja `amp:` modyfikuje tylko pojedyncze polecenie `play`, do którego została przekazana. Zauważ, że w poniższym przykładzie pierwsze wywołanie polecenia play zostanie zagrane z głośnością na poziomie równym połowie standardowej głośności, natomiast drugie zostanie zagrane z głośnością standardową (1):

```
play 60, amp: 0.5
sleep 0.5
play 65
```

Nic nie stoi na przeszkodzie, żebyś użył różnych wartości opcji `amp:` dla każdego polecenia play:

```
play 50, amp: 0.1
sleep 0.25
play 55, amp: 0.2
sleep 0.25
play 57, amp: 0.4
sleep 0.25
play 62, amp: 1
```

## Balansowanie

Kolejną fajną opcją, z której można korzystać, jest `pan:`. Kontroluje ona balans dźwięku w stereo. Balansowanie dźwiękiem w lewą stronę oznacza, że będziesz go słyszał tylko w lewym głośniku (słuchawce). Z kolei balansowanie dźwiękiem na prawą stronę oznacza, że usłyszysz go tylko w prawym głośniku (słuchawce). W naszym przypadku używamy wartości -1 do reprezentacji dźwięku, którego balans został w pełni ustawiony na lewą stronę, 0 dla ustawienia balansu po środku (wartość domyślna) oraz 1 dla dźwięku ustawionego na prawą stronę w polu stereo. Naturalnie nic nie stoi na przeszkodzie, abyśmy używali dowolnej wartości znajdującej się pomiędzy -1 i 1 w celu dokładnej kontroli "pozycji" naszego dźwięku.

Zagrajmy dźwięk bip z lewego głośnika:

```
play 60, pan: -1
```

A teraz zagrajmy go z prawego głośnika:

```
play 60, pan: 1
```

Na koniec zagrajmy go z powrotem z obu głośników pośrodku (domyślna pozycja):

```
play 60, pan: 0
```

Teraz kolej na Ciebie. Spróbuj samodzielnie pobawić się, zmieniając Twoje dźwięki za pomocą opcji amplituda (amp:) i balans (pan:)!
