ならば

音とかで遊んでいたログ

ChucK

ステレオ

ChucKではデフォルトでステレオオーディオを使える。ステレオなユニットジェネレータは、leftとrightでそれぞれのチャンネルにアクセスできる。つまり左右で違うエフェクトをかけたりできる。 JCRev rl => dac.left; JCRev rr => dac.right;Pan2というユニッ…

ユニットジェネレータ

SinOscやらdacやらはユニットジェネレータ。これもオブジェクト。ユニットジェネレータとは信号(音)を作ったり処理したりするもので、一覧を見ると色々な種類が用意されている。これを適当に持ってきてつないで設定してやれば好きな音が作れる。つなぎ方は…

配列

配列の仕様を全部読んでも大した量ではないが今必要で独特なところだけメモ。配列はオブジェクト。基本型の配列は明示的に初期化しない場合、要素はデフォルト値*1にセットされる。指定したいときは下のコードのようにする。演算子「@=>」はオブジェクトの参…

乱数

チュートリアルで「昔のSF映画に出てくる大型コンピュータっぽい音」を出すといってるコード。 SinOsc s => dac; while( true ) { 100::ms => now; //30.0から1000.0までのランダムな数を周波数に設定 Std.rand2f(30.0, 1000.0) => s.freq; }ぎりぎりな高周…

音を鳴らす

今のままだとジョン・ケージの有名な曲くらいしか再現できないので音の鳴らし方を。チュートリアルを見ると、まずはサイン波を作って鳴らそう、と書いてある…。音は波だそうで、波の形とか高さによって異なる音になるらしい。つまり適当な波を作ってそれをい…

時間

ChucKは時間の概念が言語の根幹に組み込まれて*1いて、プログラマがコントロールできる。内部型として時 time と継続期間 dur がある。dur として用意されている単位はミリ秒から週までのms、second、minute、hour、day、weekと自分には意味不明なsamp。例え…

ライブ・コーディング

広義(?)のライブ・コーディングではなく、ChucKを開発しているところが提唱するOn-the-fly Programmingについて。 Using Code as an Expressive Musical Instrument ってことで、即興演奏をコーディングでという話だと思う。ソロだけでなく例えば二人による…

第一歩

まず環境構築。フリーソフトウェア。ChucK自体はCUIだが、GUIに毒された身には辛いので簡易開発環境のminiAudicle*1を導入。ChucKのランタイムエンジンも含まれているので単にminiAudicleのzipファイルをダウンロードして解凍するだけで全て完了。起動すると…

スタンスとか

無能力、無気力、無計画、無推敲、無保証 あらゆる面で適当。

ChucK

音響プログラミング言語ChucKが面白げなので好奇心のみで手を出してみたがGoogleで検索した限り日本語での情報が少ないので自ら吐くことにした。公式サイトによれば、 ChucK is a new (and developing) audio programming language for real-time synthesis,…