もともと、音楽美学の分野では、音楽にふさわしい音、ふさわしくない音の区別を研究されていました。たとえば、ジゼール・ブルレは、「楽音」と「騒音」を対比させて以下のように論じます。「騒音は私たちを世界へとつなぎとめるが、音楽は私たちを世界から解放してくる。騒音は動揺を引き起こすのに対して、楽音は安らぎを与える」[2]。しかし、イタリア未来派のルイージ・ルッソロがノイズに美的な価値を見出しました[3]。そのさい『騒音の芸術(The Art of Noises)』という宣言を発表しました。自動車のエンジン音など日常生活のなかでのノイズ(騒音)は抽象的な素材となり、音楽の作品が作られます。ルッソロはノイズを用いた表現と電子音楽の先駆者と考えられています。
ノイズとジェネラティブアート
3D Noise_colorful(https://openprocessing.org/sketch/1609947)
ジェネラティブアートとは何かを前回のブログで紹介しました。私の場合は、p5.js、processing、glslなどのプログラミング言語を使ってジェネラティブアートの表現を研究しています。これから、p5.jsを使用して作れた例を挙げながら、ジェネラティブアートでのノイズを紹介します。
p5.jsでのnoise関数とperlin noise
p5.jsのnoise関数の説明によれば、noise()関数は指定された座標での パーリンノイズ(Perlin noise)値、あるいはランダムの値を返します。random() 関数と比較すると、より自然な順序で調和のとれた一連の数値を生成するランダムシーケンスジェネレータです。パーリンノイズは、1980年代にKen Perlinによって発明され、手続き型のテクスチャ、自然な動き、形状、地形などを生成するためにグラフィカルアプリケーションで使用されています。
パーリンノイズは、無限のn次元空間で定義されます。p5.jsには、指定された座標の数に応じて、1D、2D、および3Dノイズを計算できます。結果の値は常に0.0 から 1.0 の間になります[4]。
p5.jsで、一次元のnoise(x)、二次元のnoise(x, y)と三次元のnoise(x, y, z)それぞれを使って1D、2D、3Dの例(下の図)を作りました。
noise関数の例(左から右までは1D、2D、3Dの表現)