umbrella_process blog

node.jsとSuperColliderをOSCでつないでみる

2013年05月25日

nodejs  icon.supercollider

node.js はほぼ初体験ですが、どうしてもSuperColliderと組み合わせたくてチャレンジしてみました。

node.js とは、スケーラブルなネットワークプログラムをかんたんに開発するためのプラットフォームです。最近ではメタCSSのLESSがnode.jsで動いていて、ぼくもなんとなくLESSのためにMacにインストールしていたのですが、HTMLテンプレート言語のEJS, Webアプリケーションフレームワークのexpress, Sails.jsHogan.jsなどなどが出てきて、Webサービスの開発言語にどんどん採用されている…というイメージです。

で、node.jsとSuperColliderがどうつながるか、ですが、もともとnode.jsのデモとしてチャットシステムを見せてもらったんですが、完全にリアルタイムなんですよ。Skypeチャットなどはタイプした瞬間に相手にも見えているわけですが、それと同じようなことが自分でもできるというわけです。これは、リアルタイム性が要求される音楽の領域においては魅力的ですよね。

しかも、node.jsは言語としてはJavascriptなので習得がかんたん、npmというパッケージ管理システムがあるため環境構築もかんたん、イイコトずくめというわけです。

とはいえ普段仕事が忙しすぎてなかなか取り組む機会がないため、大阪で開催されたNode.jsの勉強会に参加して、どんな風に使われているのかと、環境構築についてちょっと勉強して来ました。
(さらに…)

SuperColliderでクラスを作る時のメモ

2013年04月28日

普段はPHPerになってしまった私がSuperColliderのクラスを書こうとした時に詰まったポイントのメモ。基本、ドキュメントを読まずにObjectクラスのソースを読んでお作法を知ろうと思ったのだけど、意外とハードル高かった。

準備

拡張子は.scで、下記のディレクトリーに置いて、メニューの [ Language > Recompile Class Library ] を選択。

/Libraries/Application Support/SuperCollider/Extensions/

コンパイルに失敗したらエラーが表示されるので、ひたすらエラーを潰す。

継承

スーパークラスの指定はコロンでOK

MyClass : SomeSuperclass {

}

スーパークラスを指定しないと、暗黙的にObjectクラスを継承したことになる

メソッド名にアスタリスク( * )が付くものがある

アスタリスクが付くものはクラスメソッドで、thisがクラスを指す。アスタリスクがつかないものはインスタンスメソッドで、thisがインスタンスを指す。分かりにくいぜ

メソッド内にキャレット( ^ )があるけど何だこれ

returnでした。分かりにくいぜ

returnしない場合は、インスタンスが返されるので、書かなくても動く。

変数の前の大なり小なり( <, > )は何だ

< がゲッター、> がセッターでした。分かりにくいぜ

MyClass : Superclass {
  var myVariable;

  variable {
    ^myVariable
 }

  variable_ { arg newValue;
    myVariable = newValue;
  }
}

本来このようにゲッターとセッターを書かないといけないところを、、、

MyClass {
var <getMe, >setMe, <>getMeOrSetMe;
}

短く書けるよ!ということらしい。

ちなみに変数も var と classvar があり、前者はインスタンス変数、後者はクラス変数。クラス変数は他の言語だと定数と似た扱いなのかな?

このあたりの解説はヘルプの Guides/Writinglasses に書いてあって、詳しくはデザインパターンでググれって書いてあるので、デザインパターンについて勉強しないといかんっぽい。仕事でも必要になるし、勉強するか〜

Kyoto SuperCollider Meeting #0001 参加してきました

2013年04月28日

SuperColliderユーザーがゆるっと集まって情報交換するKyoto SuperCollider Meeting #0001が開催され、参加してきました。

セミナー形式ではなく、雑談メインのゆるい会でしたが、やはりユーザーが集まると情報の入り方が違います。いろいろいい情報が手に入ってとても有意義な会でした。参加者の年齢層もいろいろでした。

こんな話題で盛り上がりました

  • Raspberry PiにSuperColliderをインストールする
  • SuperColliderでできることとは
  • なぜSuperCollider(というかCUIで音楽すること)は流行らないのか
  • iPadのLemurアプリからOSCメッセージを使ってSuperColliderをコントロールする実演
  • 参加者の自作コードの披露(自分のはgistにアップしました https://gist.github.com/umbrellaprocess/5475886
  • 今後の展開、Kyoto SuperCollider Users Groupでやりたいこと(まだヒミツ)
  • などなど

参加者おすすめの参考書籍

日本語で音響合成プログラミングについて知るには、残念ながらSuperColliderではないですが、こちらの書籍がおすすめということです。

Pure Data -チュートリアル&リファレンス-

現実世界の音の再現を、考え方から詳細に解説。コードはPDですが、SuperColliderでサンプルを書きなおしたサイトもあります:Designing Sound in SuperCollider

[amazonjs asin="0262014416" locale="US" tmpl="Small" title="Designing Sound"]

そしてもちろんSuperCollider Bookはマスト。

The SuperCollider Book

次回について

まだ未定だと思います。メンバーへの周知方法についても少し相談したのですが、いまいち決まりきらなかったので、私が把握したらSuperCollider.jpにお知らせ書くようにしますので、チェックしておいてください。

SuperColliderのコードリーディングのブログが始まったようです

2012年12月30日

昨年に公開した曲で使っているSuperColliderのコードについて、otonotricks(@tonetron)さんにブログで詳細に解説していただいてます。

SuperColliderコードリーディング 「Stacked Chord Loop by umbrella_process」 その1

↑ SynthDefで行なっているダウンサンプリングエフェクトなど解説。ダウンサンプリングは今どき、どのシーケンサーソフトでもデフォルトで入っているようなメジャーなエフェクトだと思いますが、それぞれの音でばらばらに、かつランダムにパラメーターを変化させながら、となるとやはりプログラミング言語が圧倒的に有利です。

SuperColliderコードリーディング 「Stacked Chord Loop by umbrella_process」 その2

↑ シーケンサー部分について。

取り上げてくださってありがとうございます。嬉しいです。曲はここで聞けます。

今後のコードリーディングにも期待大ですね!

さて、2012年は会社を立ち上げたりしたせいで相変わらず音楽制作から離れた日々を送っておりますが、SuperColliderにIDEがついてからこの効率の良さに助けられてちょっと戻ってきています。解説されているのはコード進行を既存の音楽理論にとらわれずに自動生成することを考えて作ったコードですが、今はドラムパターンの自動生成に取り組んでいます。

2012年マイ・ベスト・トラック

2012年12月30日

ちょっと前に2011年のベストアルバムをブログに書いたところなのに、もう1年経ってしまうとは…。今年も作業のお供に色んな曲を買って聴き倒しましたので、TOP10をまた選んでみました。今年はアルバム単位ではなく曲単位で選んでみました。

2011年はUKFにハマった年でしたが、今年はHospital Recordscivil musicにハマった年でした。世界にはまだまだ魅力あふれるダンスミュージックがあるんですなぁ…。今年は浮遊感のあるドラムンベース、落ち着いた低音が魅力的な曲、ちょっとコレまでとは違うダブステップ、を色々探しました。ブロ・ステップにちょっと胸焼け気味なので…。ワブルベースは若干聞き飽きた感が…。

1. Starkey – Thugs

年末にはじめて知ったStarkey。特にこの曲は聞いた瞬間ヘッドフォンの音量を上げざるを得なかった。印象的なピアノのイントロから始まり、魅力的なベースライン、スペーシーなシンセが入り、カッコイイドラムが入る…。ううむ、言葉で書いたら何故こんなにありきたりなんだろう!音はこんなに衝撃的なのに。

from Orbits

2. Frederic Robinson – Laughing at Clouds

こんなに繊細で複雑なビート、いったいどういう頭の中になってたら作れるんでしょうね…。天才的です。

from Hospitality Drum & Bass 2012

3. Submerse – Always, Like This

Submerseの曲で一番好きです。Submerseもっと売れてほしいなぁ。

from Blood Pressure

(さらに…)