タグ

ブックマーク / naraba.hatenablog.com (4)

  • 楽譜でプログラミングする言語Scorlang - ならば

    はじめに 楽譜はソースコードというエントリを書いて以来、楽譜を使ったプログラミング言語という漠然とした考えが頭の片隅にあった。ModanShogiを見ていたら頭の片隅から開放したくなったので具体化した。 楽譜プログラミング言語Scorlang(Score language)。ジャンルとしてはビジュアル難解プログラミング言語*1になる。 Scorlangのプログラムは、楽譜のように見える図形で表現される。例えば、下の図は「Hello, world!」を出力するプログラムである。 言語仕様 最初に強調しておくが、Scorlangは音響プログラミング言語ではないので、音響信号を扱ったり音を入出力するための仕様は一切ない。扱えるデータは整数のみ、出力形式はテキストのみである。 ひとつのプログラムをシートと呼ぶ。シートは原則的に、音楽の楽譜と同じく左から右、上から下に向かって処理が描かれており、実行

    楽譜でプログラミングする言語Scorlang - ならば
    nitoyon
    nitoyon 2010/06/07
    音符をプログラムとして解釈させる試み。反復記号がwhile。
  • イージングによるグリッサンド - ならば

    イージング([英]easing)とはアニメーションに加速・減速の効果を付けることで、直線的ではない滑らかで自然な動きを実現するために使われる。加速・減速にはいくつか典型的なパターンがある*1。 今回はイージングを音高に適用して、グリッサンド音を作った。 静止画だけの一覧。 プログラムについて。音に関係ある部分のみ。音はいつものようにChucKで鳴らした。イージング処理自体はProcessingの外部ライブラリを使ってProcessing側で実行して、OSCで逐次ChucK側に必要な値(=音高)を渡すようにした。 音高は最後にChucKのStd.mtofで周波数に変換するまでMIDIノート番号で表現しているが、Std.mtofの引数はfloat型で整数に制限されないので*2、特に工夫しなくてもイージングが適用できる。 ChucKのプログラム。イージングの初期設定をProcessing側に送っ

    イージングによるグリッサンド - ならば
    nitoyon
    nitoyon 2010/04/05
    イージングを利用して音程を変更させる。
  • 静寂の音 - ならば

    一般的に音楽は、静寂に対して音を配置していくことによって作られる。真っ白な世界に絵を描いていく感じ。音楽がこういう構成になっている理由は、人間がいる世界には基的には音があまりない方が普通で、音がある場合もその音が変化せずに永続することはないからだと思う。変化があるから音楽ができる。当たり前か。 変化が音楽を作るってことで考えると、普通とは逆にずーっと一定の音が鳴っている世界では、鳴っている音に対して静寂の区間を配置していけば音楽を作ることができる。*1 自分で実験。下のピアノロールで緑のバーのところは音が鳴っている区間を表す。緑のバーをところどころ遮る短い区間がその音に対する静寂。 ChucKのプログラム。 Gain g => dac; .4 => g.gain; [Std.mtof(60), Std.mtof(64), Std.mtof(65), Std.mtof(67), Std.m

    静寂の音 - ならば
    nitoyon
    nitoyon 2009/01/17
    sound of silence。全ての音を鳴らした状態で一瞬音を遮ると、遮った音が聞こえる不思議。
  • ソートアルゴリズムの可聴化 - ならば

    Sorting Algorithm Animationsなどのサイトでは、ソートアルゴリズムの可視化の例を見ることができる。今回は可視化に倣ってソートアルゴリズムを可聴化した。聴覚化すると、情報を分かりやすく提示するという方向から外れるけど。 ソートする対象は50から90までの整数をランダムに並べた列。可聴化の方法は、整数をMIDIノート番号とみなして、ソートアルゴリズムが各時点でポイントしている位置にある、MIDIノート番号の音高の音を鳴らすようにした。ChucKのプログラムはいつもより長くなったから最後に載せる。 録音したもの。元の整数列は全部同じで、サイズ(整数の数)は30。 バブルソート 選択ソート 挿入ソート シェルソート クイックソート マージソート ヒープソート 拡張としては、 より詳細に情報を提示する方向(例:整数同士の位置の交換時に音色を変える) サウンドアートな方向(例

    nitoyon
    nitoyon 2009/01/17
    可視化でなく可聴化。音程で場所、曲長で速さが分かる。←映像をうまいこと加えたら何らかの作品になりそう。
  • 1