読者です 読者をやめる 読者になる 読者になる

音の鳴るブログ

鳴らないこともある

CoffeeCollider v0.2.0

CoffeeCollider の使い方記事を書こうと思っていたらバージョンアップしていた。明らかに足りていなかったAPIを追加した格好です。大きな追加機能としては外部の js (呼び出し元) と CoffeeCollider 間のやり取りができるようになっています。これが無いと使い勝手が悪すぎました。使い方記事も書きにくかった。

"Run" した後、サイドバー下の鍵盤で演奏できます。いちおう書いておくと鍵盤の機能はCoffeeColliderのものではなくて、後述の Messaging API のデモ用に書いたものです。

Messaging API

JavaScript と CoffeeCollider 間で JSONableなデータのやり取りができます。

// 呼び出し側 (JavaScript)
var cc = new CoffeeCollider();

// CoffeeCollider へデータを送信
button.onclick = function() {
  cc.send("message", {midi:64, velocity:100});
};

// CoffeeCollider からデータを受信
cc.on("from cc", function(value) {
  console.log(value); // "Hello, CoffeeCollider!"
});
# CoffeeCollider

# js からデータを受信
Message.on "message", (value)->
  console.log value # => {midi:64, velocity:100}

# js へデータを送信
Message.send "from cc", "Hello, CoffeeCollider!"

追加UGen

以下の UGen を追加しました。

  • SampleRate
  • SampleDur
  • RadiansPerSample
  • ControlRate
  • ControlDur
  • Free
  • FreeSelf
  • FreeSelfWhenDone
  • Pause
  • PauseSelf
  • PauseSelfWhenDone
  • Done
  • RecordBuf
  • BufWr

パフォーマンス改善

  • 明らかに不要な処理を通さないなどの修正
  • 無意味な Function#call を通常関数呼び出しに修正

音を作る部分はガンガン高速化したいのだけど、そうするとすごく冗長的なコードを書くことになって保守性と速度のバランス良く調整するのが難しいです。いい方法無いですかね?

CoffeeCollider勉強会

12/20(金) の SC名古屋にて CoffeeScript の勉強会があります。SuperCollider と CoffeeScript が同時に勉強できてお得です!!!!

http://connpass.com/event/4105/


これは谷六(大阪)にある旧ヤム邸のカレーです。ここは4種類のカレーから2種類選ぶシステム、ご飯は玄米とターメリックライスが選べる。これはキノコの入ったジンジャーチキンキーマと黒くて辛い豚バラカリーのあいがけ。名前からして由緒正しい歴史がありそうだけど、元は八百屋だったらしいです。猫もいる。

f:id:mohayonao:20131218125709j:plain

旧ヤム邸

食べログ旧ヤム邸