タグ

2010年5月30日のブックマーク (2件)

  • タイムストレッチ、ピッチシフトのアルゴリズム

    タイムストレッチは音程を保ったまま再生速度を変える処理、 ピッチシフトは再生速度を保ったまま音程を変える処理です。 下図のように単純に波形を拡大、縮小すると再生速度と音程が 両方変わってしまいます。再生速度と音程を別々に変更するには 特殊な処理をする必要があります。 タイムストレッチ、ピッチシフトのアルゴリズムには、 FFTを用いる手法やクロスフェードを利用する手法などがあります。 以下ではWaveToneで採用しているクロスフェードによるタイムストレッチ、 ピッチシフトのアルゴリズムについて解説します。 タイムストレッチの基的なアルゴリズム 再生速度を2倍にするには、下図のように波形を小さなブロックに分割し、 ブロックを1つおきに配置します。 再生速度を0.5倍にするには、コピー元の位置を0.5ブロックずつずらしながら ブロックを配置します。 ブロックのサイズをある程度大きくしないと、

  • W3C Widget とその応用を考える会でLTしてきました - os0x.blog

    2010年5月27日開催 HTML5 TechTalkスペシャルにて、Canvasについてお話してきました。 発表に使ったスライド:Canvasでピクセル操作 by os0x デモはPixel Worksに(Opera Widgets用だけど普通のHTMLなので大抵のブラウザで動きます) 他の方の発表・資料はPast Events - html5j.orgに。 以下、適当に反省点などを箇条書きで。 この前のJSパーティクル崩しで使ったテクニックのネタ紹介のような感じです。 最適化前はこんなだったのがここまでになったよ。 (最初に移植した)kyo_agoさんよりAS版よりもJS版のほうがなぜかブロックが崩れやすいという指摘が。確かにそんな気がするのであとで調べるかも。 canvasが大きくなるとキツイので、ImageDataを分割して必要な範囲だけ再描画するなんて方法もやってたりします。JS

    W3C Widget とその応用を考える会でLTしてきました - os0x.blog