ならば

音とかで遊んでいたログ

ChucK

ChucK 1.3.0.0 リリース

何年ぶりなのかすら思い出せないが、8/25にChucKとminiAudicleがアップデートされた。もう全然触ってないけど主なリリース情報だけ捕捉しておく。注)書き方が全体的にネガティブ。 ChucK 1.3.0.0 Chugin, Chubgraph, ChuGenこのネーミングはどうかと思うが…

ChucKでsleep sortを実装

sleep sortが面白い。時間制御といえばstrongly-timedなプログラミング言語ChucK。140字以内を目指した。 window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t;…

音のワンキーゲーム

SFCaveというワンキーゲームがある。その音バージョンを作った。現在の音高の位置を黄色のドットで表しているが、これはイージーモード。本当はこのドットは描かずに聴音だけでやるべきである。が、そうすると自分の場合、開始直後に位置感覚を喪失して全く…

音の立ち上がり検出

ChucKの音響分析機能を使って何かできないか調べたところ、音の立ち上がり検出が面白そうだったのでやってみることにした。 概要 音の立ち上がり検出([英]onset detection)は、与えられた音響信号の中から、個別の音が鳴り始めた時点を見つける処理である…

ヨセフスの問題と半音階

ヨセフスの問題の設定で、円形に並ぶn人の人にそれぞれ番号(じゃなくても一意な記号ならなんでもいい)を付けておいて、円から抜けていく順にその番号を並べた列をヨセフスの順列という。順列の末尾は最後まで残る人の番号。昔同じようなこと書いたが、十二…

音を鳴らす作曲家の問題

並行性を元ネタに何かできないか考えている。とりあえず単純に食事する哲学者の問題を解く。当然音は鳴らしたいとは思うものの良いアイデアに至らず、「食事する」部分で音を鳴らすだけにした。 脳に湧いたむちゃくちゃな設定を書いておく。強引にもほどがあ…

同期する拍手のシミュレーション

良いコンサートや劇、スピーチの後で拍手が沸き起こるとき、聴衆をまとめる指揮者のような存在はいないので普通は拍手のテンポは人によって全然違う。でも拍手の最中に自然とテンポがほぼ統一されてリズミカルな拍手になることもあって、特に東ヨーロッパで…

イージングによるグリッサンド

イージング([英]easing)とはアニメーションに加速・減速の効果を付けることで、直線的ではない滑らかで自然な動きを実現するために使われる。加速・減速にはいくつか典型的なパターンがある*1。今回はイージングを音高に適用して、グリッサンド音を作った…

miniAudicleをUbuntu 9.10にインストール

わざわざVM上のUbuntuでminiAudicleを使う予定はないけど試しにインストール。Linuxの場合はソースコードからmakeする必要がある。公式のbuild instructionsはあるけど、具体的にどのパッケージがあれば十分なのかよく分からない。ディストリビューションや…

BAモデルの可聴化

Barabási-Albertモデル(BAモデル)は、複雑ネットワークの主要な性質のひとつである「次数分布のスケールフリー性」を持つグラフを生成するアルゴリズム。BAモデルの可視化はwonderflでやった。 ChucKを使って可聴化もやったのでここに書く。その前にBAモデ…

ジャグリングパターンの可聴化

可聴化する意義がありそうな数列をしばらく探していて、サイトスワップを見つけた。今回はサイトスワップ(vanilla siteswap)の可聴化。サイトスワップはトスジャグリングでボールを投げるパターンを表す数列。定義と性質は、ジャグリングを科学するという…

ChucK 1.2.1.3リリース

ChucKの最新版1.2.1.3がリリースされた。最も大きな変更点は、念願のファイル入出力が(実験的に)サポートされたことだ。まだマニュアル化されていないので詳細はよく分からないけど、ファイル入出力用のクラスと、それから言語仕様も追加されている。ChucK…

マルコフ連鎖生成曲

マルコフ連鎖を使って作曲する試み。文章にしろ曲にしろ、マルコフ連鎖を使って何かを生成する場合、マルコフ連鎖自体、つまり状態と遷移確率行列に相当するデータを準備する必要がある。このデータが最終的な出力の質のかなりの部分を左右する。このデータ…

L-systemを使った作曲

「マッチ箱の脳」というとっても平易な人工知能の入門書がある。WEBバージョンもある。素晴らしい。マッチ箱の脳(AI)―使える人工知能のお話作者: 森川幸人出版社/メーカー: 新紀元社発売日: 2000/12メディア: 単行本購入: 3人 クリック: 60回この商品を含む…

竹内関数

竹内関数を使って音の列を作る試み。単純に引数xを音高の制御に、yとzを時間の制御に使った。 10::ms => dur T; 100 => int F; PercFlut s => JCRev r => dac; .3 => s.gain; .1 => r.mix; fun int tak(int x, int y, int z) { x*F => s.freq; 1 => s.noteOn…

brainChucK

名前から思いついたというか、名前だけ思いついたけど後は特に思いつけなかった。brainfuckを元にしてChucKで音を鳴らす。ChucKの制約のために変更した仕様 brainfuckコードの扱いChucKでは文字列操作がほとんどできないので、brainfuckの8種類の命令> メモ…

二分探索木の巡回の可聴化

ChucKは、まだ発展途上の若い言語だということもあるせいか、音響とは直接関係ない部分のライブラリの充実度がかなり低い。ファイル入出力や文字列操作といった関数群の他、リンクリストやスタック、キューなどの基本的なデータ構造もほとんど用意されていな…

ソートアルゴリズムの可聴化

Sorting Algorithm Animationsなどのサイトでは、ソートアルゴリズムの可視化の例を見ることができる。今回は可視化に倣ってソートアルゴリズムを可聴化した。聴覚化すると、情報を分かりやすく提示するという方向から外れるけど。ソートする対象は50から90…

Processing => ChucK

ChucKにはネットワーク系の機能が実装されているため、ChucK単体で使うだけでなく他のアプリケーションと連携させることもできる。今回はOSCという通信プロトコルを使って、ChucKとProcessingを連携させる。OSC(OpenSound Control)とは、音響データをネット…

静寂の音

一般的に音楽は、静寂に対して音を配置していくことによって作られる。真っ白な世界に絵を描いていく感じ。音楽がこういう構成になっている理由は、人間がいる世界には基本的には音があまりない方が普通で、音がある場合もその音が変化せずに永続することは…

音脈分凝

高い音と低い音が交互に鳴る音の列は、音の間の時間間隔がそれほど短くなければ、音高が上下するひとかたまりの音の列として聴こえる。でも音の間の時間間隔が短いと、高い音の列と低い音の列が分離して別々のまとまりとして聴こえることがある。高い音と低…

ミッシング・ファンダメンタル

ある音の音高(ピッチ)は、その音の波形に含まれる周波数成分と強い関係がある。単独のサイン波で表される音(純音)ならば、その周波数が音高を決める。複数のサイン波の合成でできた複合音であれば、通常は最も低い周波数(基本周波数、基音)が音高を決…

最新版

ChucKのバージョン1.2.1.2がリリースされた。変更点は、動的配列の追加の他、いくつかの修正と機能拡張。詳しくは、リリースノート。注意点:今回の修正でdacの出力の大きさが今までの倍になる。 - (fixed) dac amplitude no longer halved! NOTE: this incr…

無限加速リズム

無限音階の連続バージョンを作ったリセ(Jean-Claude Risset)は、無限音階と同じ原理をリズムに適用して、そのテンポが加速し続けるかのように聴こえる錯覚も作った。同じ原理が使える理由は音楽におけるリズムと音高の構造が本質的には同じだからだ。ただし…

論文

引き続き、electro-musicのトピック経由。Ge Wangはつい最近プリンストン大学でコンピュータサイエンスの博士号を取った。そのときの学位論文「The ChucK Audio Programming Language "A Strongly-timed and On-the-fly Environ/mentality"」がPDFで公開され…

講演

スタンフォード大学は、いくつかの講演や講義をYouTubeで公開している。その動画の中に、Ge Wangが行った講演「ChucK: A Computer Music Programming Language」があることを本人によるelectro-musicへのポストで知って、早速見てみた…が、長いよ。85分て。…

シェパードトーン

無限音階 聴覚の錯覚の有名な例に、音の高さが上昇(または下降)し続けるように聴こえる無限音階*1がある。無限といっても音高が直線的に上がり続けるというよりは、短時間だとどの区間でも音高が上がっているように聴こえるけど気付いたら以前と同じ高さに…

ステレオ録音について

ChucKは内部的にはステレオを扱えるのに、WvOutで録音するとモノラルになってしまう。少なくとも今のバージョンでは直接ステレオ録音はできないようだ。仕方ないので左右のチャンネルで別々に録音してそれを統合することにした。使ったのはフリーのサウンド…

ステレオの錯覚

視覚の錯覚(錯視)ほど有名ではないけど、聴覚にも錯覚(auditory illusion)がある。生理的な錯覚は音楽の才能や経験には関係なく起こるため、ヒトの認知・知覚のシステムを解明するのに役立つだろうってことで、いろいろと研究されている。中でもダイアナ・…

Chuc句

ChucK開発者の一人Ge Wangはスタンフォード大学の准教授で、今冬はChucKを使った音響学Music 220bを教えている。この講義の最初の課題に、Chuc句を二句作れというのがある。Chuc句とは俳句っぽいChucKプログラムのことで、具体的には次の条件が指定されてい…