![見出し画像](https://assets.st-note.com/production/uploads/images/36166269/rectangle_large_type_2_bc20d86cfbef607945e5750edcaacdbb.jpg?width=800)
2020年9月のジェネラティブアート
先月のジェネラティブアートの、まとめ!
先々月に引き続き、音でいろいろ。以前作ったステップシーケンサを圧縮してつぶやきProcessingにしたり、逆に拡大してマスを増やしたりしてました。
add_library("Sound")#つぶやきProcessing
— ryotako (@ryotakob) September 8, 2020
def setup():frameRate(3);clear()
def draw():
for i in range(8):
if get(frameCount%8*9+1,i*9+1)>-2:s=SinOsc(this);s.freq(200+60*i);Env(this).play(s,0,0,.3,.3)
def mousePressed():x,y=mouseX,mouseY;fill(~get(x,y)>>16);rect(x/9*9,y/9*9,9,9) pic.twitter.com/Jv3S4uumgF
今日のProcessing。
— ryotako (@ryotakob) September 13, 2020
ステップシーケンサを自作ライブラリにして拡張性を高める試み。 pic.twitter.com/JzmhgtxnXE
とはいえ、ずっとステップシーケンサ作ってるとネタ切れ感がしてきたので、何か情報のインプットをしようと決意。以前買って積んであった田所先生の「演奏するプログラミング、ライブコーディングの思想と実践」を読む。
音で何か作りたいと思って買った本なのだけれど、当時は音関係のツールを何も使ったことがなかったので、ずっと読まずにいた本。しかし今はSonic Piも触ったし、面白く読めるのでは...! と思って読んだら実際すごく面白かった。
ライブコーディングの思想と歴史、ツールについて一通り触れたあと、具体的なツールとしてSonic Pi, Tidal Cycles, LiveCodeLab, Hydraを使って実際に作品を作っていく形。
LiveCodeLabはインストール不要でサクッと試せそう... ということサクッと試してみる。
LiveCodeLab使ってみる。なるほど…?! pic.twitter.com/LDEHlDqYgr
— ryotako (@ryotakob) September 14, 2020
Webページにアクセスして "Go play!" を押したらすぐにコードが書ける。開発者の意図としては「ブラウザが動くPCさえあれば、どこでも即興ジェネラティブアートできるぞ!」という感じなんですかね... すごい。
文法はCoffeeScriptという言語をベースにしているとのこと。
触った感じとしては、Processingをベースにして、pythonとrubyから「楽に書ける記法」を抽出して組み合わせた感じ。
遊んでいるうちに着想を得たので、寄り道してつぶやきProcessingしたり、(つぶやけない)Processingしたりしました。
size(800,800,P3D)
— ryotako (@ryotakob) September 17, 2020
ambientLight(0,0,120);
directionalLight(99,200,0,0,1,-1);
translate(400,400)
noStroke()
for j in "#つぶやきProcessing":
rotate(PI/2)
with push():
for i in range(999):
rotateY(i*.001)
rotate(i*.003)
square(0,0,800*.95**i)
translate(0,7*0.99**i,.5) pic.twitter.com/LwKDoPBwmi
本日のP3D図形ばらまきガチャ #Processing
— ryotako (@ryotakob) September 21, 2020
これまでのrect, ellipseのかわりにboxやsphereをばらまいてみる。深海生物感。 pic.twitter.com/InWPE4cRFb
LiveCodeLabでひとしきり遊んだところで、次のツールとして、TidalCyclesに挑戦。インストールは公式のインストールで一発で上手く行ったので簡単。
TidalCyclesを触っているところ。
— ryotako (@ryotakob) September 20, 2020
…これは、ジェネラティブアート感!
(展開結果を予想できてないだけ、とも言う) pic.twitter.com/SNVSPLef92
TidalCycles, 関数や効果を一行ずつ並べて組み合わせられるの楽しい
— ryotako (@ryotakob) September 20, 2020
このあたり、中置演算子を定義できるHaskellの強みだったりするのかな…?
“#” はHaskellの演算子じゃないっぽいけど、TidalCycles独自のものなんだろうか pic.twitter.com/ASUuPqO3qt
言語がHaskellベースということで警戒していたけれど、そこまで難しくはない。というかHaskellそのものではなく、Haskellが解釈する独自言語でパターンを記述する、という感じ?
田所先生の本の例を(寄り道しつつ)一通り写経した段階なので、これは今月もう少し挑戦してみたいところ。
以上、先月のジェネラティブアートでした!
この記事が気に入ったらサポートをしてみませんか?