タグ

algorithmとlispに関するbeth321のブックマーク (2)

  • パラメトロン計算機

    私は暦が好きなので, Shakespeareの劇を読んでいても「暦」の文字があると立ち止ってしまう. 例えば, 誰でも思い出すであろう「夏の夜の夢」3幕1場で, 6人の職人が森の中で芝居の稽古をする場面: スナウト おれたちが芝居をやる晩に月は出るのか? ボトム 暦だ, 暦だ! 今年一年の暦を見て, 月が出るか調べるんだ, 月は出るか. クインス うん, その晩月は出る. (ここでの引用は, 私と同時代人である小田島さんの訳による.) 旧暦の国の人なら, 日付けで月のありなしは分る. 1日の前後は月出は夜明, 月入は夕方 8日の前後は月出は夜中, 月入は昼間 15日の前後は月出は夕方, 月入は夜明 22日の前後は月出は昼間, 月入は夜中 である. だから明治5年12月2日, 旧暦の最後の日は, 地球照で鎌のように細く光る三日月が 西の空にあったに違いない. 英国は, というかヨーロッパの殆

  • 竹内関数で音楽生成 - 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
  • 1