NASAの科学者はデータを「聴く」らしいです。
こういうのを一般に「data sonification」というらしいです。
Sonification - Wikipedia, the free encyclopedia
なんかよく分からないけどかっこいいのでやってみたい。ということでパッケージをつくろうとしています。まだほとんど動かないんですけど。。
背景
自分でつくろうと思う前に調べてみると、それっぽいパッケージはありました。
このパッケージの手にかかると、なんということでしょう、あの味気なかったirisのデータが、こんないい感じの音に変貌しています!
これはすてき。
だがしかし!
そうは問屋が卸しません。playitbyrは、今はCRANにはありません。playitbyr依存しているcsoundパッケージが、最新のCsoundに対応していなくてCRANから削除されてしまったためです。
ということで、パッケージをつくろうと思うに至りました。
インストール
※今のところまだLinuxでしか動作を確かめてません。
devtools::install_github("yutannihilation/rsound")
使い方
Csoundは、ざっくりいうとOrchestra(どういう音か)とScore(どういうメロディーか)で成り立っています。
これの記法がさっぱりわからないので使い方を説明できないんですけど(涙)、とりあえず例に載ってるのをこのパッケージでやるとどうか、やってみます。
library(rsound) orc <- 'instr 1 aSin oscils 0dbfs/4, 440, 0 out aSin endin' sco <- 'i 1 0 1' csound(orc, sco)
デフォルト(output = "dac"
)だと、直接オーディオ出力に音を吐き出すはずです。ファイルに書き出すには、ファイル名を指定します。データ形式は、Csoundが対応しているものなら拡張子から推測してくれます。
csound(orc, sco, output = "/tmp/test1.wav")
ということで、直接文字列を渡せばまあそれは動くわけですが、もうちょっとRでラップしようと試みていて、こんな感じの書き方もできます。
orc <- create_orchestra(instrument = list( create_instrument(aSin = "oscils 0dbfs/4, 440, 0", outs = "aSin") )) sco <- create_score(sections = list( list(score_i(1, 0, 1)) )) csound(orc, sco, output = "/tmp/test1.wav")
課題
課題山盛りなんですけど、何よりCsoundの使い方を知らないとこれより先には進めないなーという感じです。たぶんこの辺で挫折して諦めちゃう予感がしたのでブログに書き留めている次第です。。