タグ

ブックマーク / aike.hatenablog.com (5)

  • iPhoneでワウペダルを作ったった - aike’s blog

    ワウペダルが好きです。ギターのカッティングにかけて遊んでいるとあっというまに時間が過ぎていきます。そんなわけでどこのご家庭にもあるiPhoneJavaScriptでワウペダルを作ることにしました。こんなやつ。 JavaScriptiPhoneの加速度センサーとWeb Audio APIを使ったワウペダル作った。 http://t.co/rGDHh5FaWb https://t.co/erfjy9tL80— aike (@aike1000) 2014, 10月 20 ■作り方 まず、Web Audio APIでフィルターを作ります。 Biquad Filterを作ってバンドパスフィルターに設定するだけです。簡単。Qの値を少し大きめの4くらいにしておくとワウらしいクセが出ます。あとは0.0〜1.0の引数の値に応じてフィルターの中心周波数をセットする関数setWahPos()を用意しておきま

    iPhoneでワウペダルを作ったった - aike’s blog
    kamipo
    kamipo 2014/11/04
  • WebMidiLinkがわずか40行でなしとげたとてつもないブレイクスルー - aike’s blog

    3日前にg200kgさんが提案したWebMidiLinkという規格がすごすぎていまだに興奮がさめやらない感じ。DTMとWebの世界はいったいこれからどうなってしまうんだろうという気持ちです。 WebMidiLinkは、ひとことで言うと「MIDI over window.postMessage」というようなもので、とてもシンプルなアイデアながら、これまで多くの人が夢想してしかし誰もできなかったWeb楽器のアプリ間接続を実現してしまいました。 けっして複雑な手法ではなく、マスター側約20行、スレーブ側約20行の合計40行程度で誰でも実現できてしまいます。ブレイクスルーはすぐ目の前にあったのです。みんなが模索している中、とてもクレバーでクールな解決方法を提示しました。 Web楽器はまだ新しい技術です。これまでFlashベースやJava Appletベースの楽器アプリがそれなりの数ありましたが、去

    WebMidiLinkがわずか40行でなしとげたとてつもないブレイクスルー - aike’s blog
    kamipo
    kamipo 2012/07/18
  • 竹内関数で音楽生成 - 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
    kamipo
    kamipo 2011/11/14
  • レコメンデーションエンジンCicindelaをインストールしてみた - aike’s blog

    昨年末にライブドアからレコメンデーションエンジンCicindelaがオープンソースとして公開されました。http://labs.edge.jp/cicindela/ Cicindelaのインタフェースをめちゃくちゃ簡単に言うと、「整数を入力したら整数のリストを返す関数(WebAPI)」です。例えば今見てる商品のアイテムID(整数)を入力すると、その商品の購入者が他にも買った商品群のアイテムIDリストを返すような感じ。ここまでシンプルになっているため、ウェブサイト体側のデータベースは変更せず、わずかなロジック追加のみで組み込むことができます。 また、カスタマイズ次第で、アイテムIDの代わりにユーザIDを渡したり、カテゴリーIDを渡したり、あるいは文字列IDでも整数変換する仕組みが用意されていたり、といろいろできるみたいです。 1. Cicindelaインストール 以下はUbuntu8.04

    レコメンデーションエンジンCicindelaをインストールしてみた - aike’s blog
  • 8KB JavaScriptマリオもコードリーディングしたけど…… - aike’s blog

    14KB JavaScriptマリオを作ったJacob Seidelinさんが自らの記録を更新しました。今度は8KBです。 8 kilobytes of Mario JavaScriptをPNGに埋め込んでるそうです。何を言ってるのかまるで分かりませんね。とりあえず前回と同じように読んでいきましょう。 m.js 324B m.png 7.7KB JavaScriptのソースは3行です。頭がおかしくなりそうです。読みやすいように適当に改行とインデントを入れるとこんな感じ。これで全文です。 var o = new Image(); o.onload = function() { var r = "", s = 119, c = document.createElement("canvas"); c.width = c.height = c.style.width = c.style.heigh

    8KB JavaScriptマリオもコードリーディングしたけど…… - aike’s blog
  • 1