ネギのメモ帳

Twitterに書ききれないことをたまに書いたりするかもしれないスペース

Haskellで素数列生成

練習がてら.

primes :: [Integer]
primes = 2:3:5:7: (filter isPrime xs)
  where xs = concat $ iterate (map (+10)) [11,13,17,19]

isPrime :: Integer -> Bool
isPrime n
  | n <=1 = False
isPrime n = and $ map ((==1) . (gcd n)) $ takeWhile (<=sqrt' n) primes

sqrt' :: Integer -> Integer
sqrt' = floor . sqrt . fromIntegral
続きを読む

Ceron.jpのRSSから, 特に被リンク数が多いものだけを抽出する

Ceronはニュース源としてはかなり便利でありRSSをよく読んでいるのだが,
さすがに量も多く流し読み程度になることも多い.
なので特に注目度の高い記事だけを抽出できると嬉しい.
そこでYahoo! Pipesである*1.
調べてみるとYahoo! Pipesのモジュールに正規表現を使えるものがあるようで,
これを用いればきっと望むものが手に入るはずである.

*1:この回答に辿り着くまで結構かかったが.

続きを読む

Voxengo CurveEQでまっ平らな周波数特性を作る


現代のポップ音楽でミックスのバランスが良いとされているものは
スペアナで見た時に周波数のグラフが大体いい感じにまっすぐ*1になるようである.
Voxengo CurveEQには, リファレンスとなる周波数のグラフに
対象の音源の周波数特性を似せる, スペクトラム・マッチングという機能が搭載されている.
そこで, リファレンスとしてなるべく平坦な音源を用意しておけば
バランスの良い平坦な周波数特性を手軽に作れるのではないかと思い, 作ってみた.

続きを読む

ギターで弾き語るためのメモ

前半はダイアトニックコード表.
異性キーの曲なんかを自分用のキーにずらすときに
どのキーを選んだらいいかの指標のために作った.
後半はそのついでに, ドロップDチューニング用のコードフォームを書いた
(発明したのはGくらいで他は大して変わらないけど).

続きを読む

買うべきか買わざるべきか, それが問題だ (クッキー・クリッカーの話)


Cookie Clickerとはいま流行りのクッキー焼きゲームである.
1年くらい経って見返したときになんのことか忘れている可能性もあるので, 一応このことを書き留めておく. さて.


今,  v_0 cps(cookies per second) の速さでクッキーを生産している. 現在のクッキー所持枚数は C枚だ.
価格が Pの中間商品がある. これを買うとクッキーの生産速度は v_1に達する.
しかし,  A枚まで貯めればさらに効率のいい商品が買える. 待つべきか否か.

続きを読む

モノラル音源のステレオ化を数式で

この記事で最終的に扱う事柄は次のようなことである:
モノラルの波形があったときに, それを2chにコピーし,
片方のchにだけエフェクト(ディレイなど)を掛け, 各chそれぞれパンを振る.
つまり, いわば無理やりステレオ化を行うときの話をする*1.
これを MS処理*2の観点からきっちりと数式化して*3書き下し理解してやろうという趣旨である.
流れとしては,

  •  MS変換の定式化
  • ダブリングによるコーラス効果
  • パンの定式化 1,2
  • 具体例

という構成になっている.


実は話としては前半のダブリングの部分でほぼ終わってしまっている.
その後はパンに伴う一般化を行なっているが, 直感に反する結果は結局特に出て来ない.
MS処理を数式で深く理解したいという場合には参考にして戴けたら幸いである*4.

*1:海外ではfatteningと呼ばれているらしい

*2:いつもはMid/Sideと表記することが多いが, 本記事では全て変数名として書く.

*3:とか言ってるが波形の扱いが若干雑である.

*4:例によって独自研究である.

続きを読む