読者です 読者をやめる 読者になる 読者になる

音の鳴るブログ

鳴らないこともある

一行で音楽つくるやつに共有機能をつけた

http://the.mohayonao.com/one-liner-music/

ちょうど一年前あたりに一行の式から音楽を作るやつが流行った。 色々な式が発見されたりして面白かったのだけど、簡単に共有できる方法がなかった。

非常に短いコードから音楽を生成して再生するやつ - hitode909の日記

音を出すためのJavaScriptの関数を入力できるのだけど,alert(1)とか書くと延々とalertが出たりする.曲を共有とか言ってcookie取られたりすると嫌だったので,共有機能はなくしてある

JavaScriptでの実装の場合、入力された式を eval で評価するのだけど、何が入力されるか分からないので共有機能はつけられなかった。 のだけど、ちょっと思いついたので共有機能をつけた。

  • 式が入力される
  • WebWorker に渡して評価する
  • WebWorkerから音の情報が返ってくる

f:id:mohayonao:20121003221953j:plain

こういう手順だと、DOM等にはアクセスできないので alert(1) で延々と alert が出たりしないし、無限ループみたいなのがあっても検知できる。 ついでに、XMLHttpRequest とかも使えなくしてあるので変な情報をどこかに送ったりみたいなこともできない。

具体的な実装はここにあります。

https://github.com/mohayonao/the-mohayonao-com/tree/master/static/one-liner-music

たぶん、いけてると思うけど、ダメだったら教えて下さい。

参考情報

便利一行音楽情報

music_formula_collection.txt

1行の音楽プログラムの深い分析 - 閉村観光