タグ別アーカイブ: SuperCollider

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

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の勉強会に参加して、どんな風に使われているのかと、環境構築についてちょっと勉強して来ました。
続きを読む node.jsとSuperColliderをOSCでつないでみる

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

普段は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 参加してきました

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ではないですが、こちらの書籍がおすすめということです。

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

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

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

次回について

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

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

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

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

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

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

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

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

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

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

SuperCollider Osaka Meetup #1 開催しました

初めてSuperColliderのイベントを企画してみました!その名も「SuperCollider Osaka Meetup」早い話がオフ会ですね。第1回は3/26に開催しました

参加者は8名!Craftwifeとして活躍するご存知tn8さん、IAMAS教授にしてRemokonなどのアプリでもお世話になっている赤松正行先生、遠く静岡から来られた静岡文化芸術大学大学院教授の長嶋洋一先生、京都で音楽制作されているChika Suzukiさん、このあたりの方々はSuperColliderユーザー歴も長い方々かな。あとは学生の7Uさんとswiftさん、当日飛び入り参加の来田繰三さん。SuperColliderに興味を持っていただいて嬉しいな!そして僕、umbrella_processという面々。豪華かつ多彩なメンバーです。

SuperCollider Osaka Meetup #1

まずはそれぞれの自己紹介から始まったオフ会。初回は特にテーマを決めずに、自由にSuperColliderについて話す会にしました。なので僕がすべての話を聞いていたわけではないのですが、当日出た話題を簡単に箇条書きでご紹介します。

  • 赤松正行新作アプリMINI-COMPOSERの紹介。
  • YouTubeで見つけたAphex Flim Generator
  • SuperColliderのレイテンシの話(ほか、SuperCollider日記を書いている長島先生からの色んな疑問を赤松先生、tn8さんが次々解決するの巻)
  • SuperColliderユーザーのitaruさんのSonar出演おめでとう!
  • 今後のMeetupをどんな形にするか
  • SuperCollider本の発売に合わせてイベントする?
  • BBCutってどうなのよ?
  • SuperCollider windowsバージョンで音が出ない(解決)
  • ポリフォニックとアサイナ
  • CSoundCommon MusicMなど他の音楽系言語の話題

うーん、もっと色々あったが気がするけどメモっているのはこのくらいでした(^^;

続きを読む SuperCollider Osaka Meetup #1 開催しました