タグ

プログラミングとmusicに関するshibuyan730のブックマーク (5)

  • 竹内関数で音楽生成 - aike’s blog

    Lisperの人ならみんな知ってる竹内関数(たらいまわし関数)という関数があります。 定義としてはこんな感じ。 そのシンプルな定義からは想像もつかないほど複雑で膨大な再帰呼び出しがおこなわれるとても興味深い関数です。たとえば引数にTarai(10,5,0)を与えると343,073回も再帰呼び出しされたりします。 この関数呼び出しの引数がどのように変化するか知りたくてプログラムを書いて調べてみたところ、Tarai(10,5,0)の場合は3つの引数がそれぞれ0〜10(xは-1〜10)の間で少しずつ変化するなかで、2つの値を固定してひとつの値が下降していくような挙動があったりして、なんだか音楽の3和音のコード進行を思わせるような動き方です。 そういうことなら、ということで実際に音にして聴いてみました。Tarai関数が呼ばれるたびに引数のx、y、zを、0=ミ、1=ファ、2=ソ、……、のように音に割

    竹内関数で音楽生成 - aike’s blog
  • SSAW08 » OpenSoundControl 3 - ChucK入門、ChucKとProcessingの連携

    << SuperCollider入門、SuperCollider・Max・Processingの連携 | top | processing 基礎1 - Programming with processing >> OpenSoundControl 3 - ChucK入門、ChucKとProcessingの連携 講義資料 今回の授業は、音響合成のまた別のアプローチとして、ChucKというプログラミング言語+開発環境を紹介します。ChucKはSuperColliderのようなテキストベースの音響合成のための言語なのですが、SCとはまた別の、独特なアプローチで音響合成を行います。 講義の前半で、まずChucKの基的な構造、文法を把握します。基を押さえた上で、後半では、OpenSoundControlを介してChucKとProcessingの連携を試してみます。 講義スライド サンプ

  • オーディオプログラミング言語 ChucKをいじる - YAMAGUCHI::weblog

    動機 ふとこんなエントリをみたら自分でもいじってみたくなってしまいました。ちょっと前にSuperColliderを一瞬だけ触って使わなかった記憶があるため、こちらもそうならないようにメモに残しておこうと思いました。 参考リンク ChucK => Strongly-timed, On-the-fly Audio Programming Language Princeton大学の方が作ってるみたいですね。 Page Not Found - FL Prim ここでEmacsのchuck-modeを配布しています。 チュートリアル The ChucK Tutorial ChucK - [Examples By Category] ここでざざっと説明を読んで下のサンプルコードを眺めるのがいいと思います。(サンプルコードはバイナリが入っているアーカイブに同梱されている)以下でチュートリアルを読んでの個

    オーディオプログラミング言語 ChucKをいじる - YAMAGUCHI::weblog
    shibuyan730
    shibuyan730 2009/02/03
    勉強してみようかな
  • ChucK 日記:マイクトリガー - Radium Software

    ChucK でマイク入力をトリガーに使う実験。 ノート PC のマイク入力を拾い,一定の入力レベルを超えていた場合に,Aマイナースケール上の音を2個ランダムに選び,和音を構成して鳴らす,というもの。マイクで拾った音はエフェクトをかけたうえで出力することにより,それ自体が打楽器っぽく使えるようにもしてある。リズム感がイマイチなのはご愛嬌。 バックでうっすらと鳴っているベースは,なにげに重要。これが無いとキーが分からなくなって,コード感が出なくなってしまう。このベースも ChucK で鳴らしている。 こんな感じの,トリガーを拾って自動演奏するネタは大好物。ただし,今回のプログラムのように入力をダイレクトに出力へ繋いで使う場合は,正帰還を作らないように注意しなくちゃいけない。耳が潰れるよ!

    ChucK 日記:マイクトリガー - Radium Software
  • オーディオプログラミング言語 ChucK - Radium Software

    オーディオプログラミング言語 ChucK を使って組んでみたサンプルプログラムの映像。 最初のプログラムは,1度,短3度,5度,短7度の音(つまりマイナーセブンスコードの構成音)からなるランダムなシーケンスを延々と鳴らし続けるもの。 二番目のプログラムは,構成音は最初のプログラムと同じだけど,ただランダムに鳴らし続けるのではなく,簡単な繰り返し構造を持たせるようにしたもの。最初のプログラムよりも,いくぶん音楽的な要素が加えられていると思う。 ChucK は,こういった類の実験を行うには非常に適した言語だと思う。上の二番目の例では,プログラムを動かしている最中に変更を加え(繰り返しの構成を変えてみている),それを「オン・ザ・フライ」で再実行している。同様のことは SuperCollider などでもできるけれど, ChucK は仕様の簡潔さと,統合環境 (miniAudicle) の手軽さが

    オーディオプログラミング言語 ChucK - Radium Software
  • 1