2020年、毎日ライブコーディングツールで音を作りました

# はじめに
1年間毎日、FoxDot、ORCA、SonicPi、TidalCyclesというライブコーディングツールを使って音を作りました。締めくくりということで、いくつか曲らしきものをbandcampで公開してみました。
この記事では、これらツールの簡単な特徴などを紹介します。
作った曲のソースコードも公開していますので、興味がある方はダウンロードして実行してみてください。
少しでも多くの方が音のライブコーディング＝Algoraveの世界へと踏み出していただければ幸いです。


この記事では、次のことを記載します。
・各ツールの特徴
・成果物について（音やソースコードなど）
・筆者について

## 各ツール共通事項
紹介する各ツールでの制作スタイルは、ループが基本です。
DAWを使った制作でいうと、特定の小節間をずっとループさせ、オーディオやMIDIを組み替えて音を確認しながら制作するというスタイルに近いように思います。（ライブコーディングツールの性質上、DAWでいうタイムラインの小節毎にフレーズや和音を配置するという方法は想定されていません。）

## FoxDot
### 特徴
なんといっても、Pythonという超メジャーな言語で音を出せる事がうれしい！
プログラムを書く仕事をしている方なら、一度はコード書いたことあるのではないでしょうか。
手元のPythonでプログラムを作っている方は、気晴らしにFoxDotで音を出してみてもいいかもしれません。
ツールに標準で用意されている音源がどれも気持ちよく、適したサウンドとしては、イベントなどのBGMだと思います。

### 公式サイト、コミュニティ
[FoxDot 公式サイト](https://foxdot.org/ "FoxDot")
[FoxDot 公式コミュニティサイト](https://forum.toplap.org/c/communities/foxdot/17 "FoxDot Forum")

### コード例
```python:song3.py
p1 >> sinepad(
    [3,[2,0],-1,(0,7,2)]
    ,dur=[0.5,1.5,rest(0.75),1.25]
    ,vibdepth=0.3 ,vib=0.01
    )
```

## ORCΛ
### 特徴
独自の世界観のユーザーインターフェイスがカッコいいです。
仕組み上、1音1音、音を打ち込んでいくスタイルのため、自ずとシンプルになります。
アンビエント、ミニマルな雰囲気のサウンドになりがちで、アート作品などの音付けに適していると思います。
注意点としてORCΛ自身に音源は無いため、外部音源が必要です。

### 公式サイト、コミュニティ
[ORCΛ公式 サイト](https://github.com/hundredrabbits/Orca "ORCΛ")
[ORCΛ公式 公式コミュニティサイト](https://llllllll.co/t/orca-livecoding-tool/17689 "ORCΛ")
[Patreon ORCΛ等 開発者支援サービス](https://www.patreon.com/100/posts "Hundred Rabbits")

### コード例
```orca:song3
................................
....Co..........................
..D1eoTJ.AM..M..M..M..L..L..M...
..*.03.6A.......................
........6.......................
....Co..........................
..D1eoT...E....G......A....J....
..*.03.6A.......................
........6.......................
................................
```

## SonicPi
### 特徴
万能ツール。もともと音楽教育用途で作られた経緯もあって、簡単に演奏が可能です。
フレーズ、和音のコーディングが直感的でわかりやすい。
また、アイデア次第でいろんな使い方ができます。私自身はオーディオサンプルをつなぎ合わせたDJ的な使い方が好きです。
音楽教育、ライブコーディングだけでなく、トラックメイクのラフスケッチとしても使えると思います。

### 公式サイト、コミュニティ
[SonicPi 公式サイト](https://sonic-pi.net/ "SonicPi")
[SonicPi 公式コミュニティサイト](https://in-thread.sonic-pi.net/ "SonicPi in_thread")
[Patreon SonicPi 開発者支援サービス](https://www.patreon.com/samaaron/posts "samaaron")

### コード例
```ruby:song3.rb
amp_bass0 = 1
live_loop :bass0 ,sync: :kick do
  use_synth :fm
  use_synth_defaults amp: amp_bass0
  16.times do
    play_pattern_timed [:r,:D3],[0.25,0.5] ,release: 0.5
  end
end
```

## TidalCycles
### 特徴
Algoraveの象徴的なツールです。音の作り方はシンプルですが奥が深いです。
基本的には、ループの中で発音タイミングや周波数、音質を変化させてサウンドを作ります。
無機質なものから有機的なサウンド、想像を超えたグルーブを作り出すことが可能です。
アンビエントなものからパンクまで、無限のジャンルの音が作れます。
尖ったサウンドが欲しい場合に適していると思います。

### 公式サイト、コミュニティ
[TidalCycles 公式サイト](https://tidalcycles.org/Welcome "TidalCycles")
[TidalCycles 公式コミュニティサイト](https://club.tidalcycles.org/ "TidalCycles Tidal Club")

### コード例
```haskell:song3.tidal
d5
$struct ("1 0 1")
$whenmod 3 1 (#room 3)
$s "superfm"
#note "ds'5 g4'min"
#legato 0.25
```

# 成果物について（音やソースコードなど）
### 作ったもの
音楽アルバム(TextMusic) [bandcamp](https://bitkids.bandcamp.com/album/text-music "bandcamp") 
ソースコード [GitHub](https://github.com/kuroobicode/textmusic/tree/main/01 "GitHub")
### 補足
全曲、各ツールのデフォルト音源のみで制作しました。
気に入ったツールをインストールし、ソースコードを実行すると音を再現できます。
※ORCΛ自身は、外部音源が無いため、[SURGE](https://surge-synthesizer.github.io)、[REAPER](https://www.reaper.fm)が必要です。
これらのツールは全てオープンソース、無料ですので、試してみてください。
アルバムに収録した曲と、使用したツールは以下です。

Track1 - 3 ORCΛ、Surge、Reaper
Track4 - 6 SonicPi
Track7 - 9 TidalCycles
Track10 -12 FoxDot

# 筆者について
某中小企業内のシステム部門で社内業務システム、インフラの構築や保守をしています。いわゆる社内SEです。
ライブコーディングと同じくらい真剣、だと思います。
（PM、DB、NWという情報処理資格を保有）
現在はPHPがメイン。かつてはC#、Javaなど
個人的にはハードウェアも好きで、ラズパイで遊んだり、Alexaスキルを公開したりしたこともあります。
最近はコンピューターを使ったアート作品に興味があり、今後、時間をかけてじっくり学ぼうと考えています。

### 2020年の活動
[Bitkids](https://twitter.com/BitkidsS)という名前で活動をしています。

* 音楽制作
毎日1曲以上作成して、Twitterに投稿する事を目標としていましたが、なんとか達成できました。

* ライブパフォーマンス
春に初めてライブに出演してから、ライブの楽しさを経験し、気が付けば今年6回も出演しました。
最も印象的なものは、[Network Music Festival 2020](https://networkmusicfestival.org/algorave/ "Network Music Festival 2020") です。VR空間でのパフォーマンス、事前の選考など、未経験の事だらけでしたが、いい経験となりました。
ライブが楽しくて、[Tidal Club Solstice Marathon](https://sun.tidalcycles.org/) の時は勢い余って、数名の方々にお声がけし、何人か出演していただけました。
私自身は失敗しましたが、観客として彼らのパフォーマンスにとてもいい刺激を受けました！
来年も継続的に実施したいです。
以下、今年出演したライブです。
    * EulerroomEquinox 2020
    * Algovoids
    * Network Music Festival 2020
    * Tidal Club NewMoon Marathon
    * Common Current FM
    * Tidal Club Solstice Marathon
    

### 今後の活動
* 音のライブコーディングツールの普及活動
* パフォーマンス（ライブハウス、オンライン、イベント等。つまりどこでも）
* アートの勉強、制作