タグ

ブックマーク / mametter.hatenablog.com (2)

  • 音声の波形からピッチを検出するアルゴリズム - まめめも

    去年のクリスマスに公開したカラオケ機能つき Quine の仕組みについて。 ref: 声の高さで操作するゲームを作ってみた で解説されている内容と同一です。おわり。 で終わるのもつまらないので、簡単に解説します。でも思いだしながら書いているので嘘書いてたらごめんなさい。動画には図とかあるので、やはりそっち見た方がいいと思うけど。 「ピッチ検出なんて FFT するだけでしょ」と思ってる人は素人で、音叉みたいにきれいな正弦波を測りたいならともかく、声や楽器の音など倍音を含んだ音では誤判定が起きまくるようです。偉そうなこと言ってる私も素人です。そこで、Wikipedia の Pitch detection algorithm で挙げられている、MPM アルゴリズムを調べて実装してみました。以下の論文。 ref: P. McLeod and G. Wyvill. A smarter way to

    音声の波形からピッチを検出するアルゴリズム - まめめも
    yoshidaa
    yoshidaa 2013/03/12
  • Enumerator とブロックの省略 - まめめも

    1.9 では Enumerator が組み込みになり、大きく拡張されています。ついでにブロックの省略に対する考え方にも影響があります。結構重大な変更のわりに、この話はあまり議論や周知がされていないような気がしたので、現状の Enumerator について、その機能と問題点をまとめてみました。 Enumerator の機能 まず、each や map など、イテレータっぽいメソッドをブロックなしで呼び出すと Enumerator が得られます。 p [1,2,3].each #=> #<Enumerable::Enumerator:0xb7d38260> p [1,2,3].map #=> #<Enumerable::Enumerator:0xb7d38210> Object#to_enum または enum_for を使って、指定したメソッドによる Enumerator を明示的に作ること

    Enumerator とブロックの省略 - まめめも
    yoshidaa
    yoshidaa 2011/07/24
    Enumerator の機能 まず、each や map など、イテレータっぽいメソッドをブロックなしで呼び出すと Enumerator が得られます。 p [1,2,3].each #=> # p [1,2,3].map #=> # Object#to_enum または enum_for を使って、指定したメソッドによる Enumerator
  • 1