Monday 2 January 2012

scilab analysing .wav #6

そういえば前まで二乗とったのの平均を取って有音/無音を判断していたけれども,
他の趣向はないかなぁ.
まず思いつくのは,音は基本的に振動なので,大きい音でも必ず0を通ったりする,ということから,
ピークを取ってそこの挙動を見ればええんちゃうか,というはなし.
ただ $0.05\sin 100 x + \sin x$見たいなのも考えつつ,ここでも「ピークが長期的に0」を判断する必要がある.
ピーク取ると全体のふるまいもわかりやすいのが多分いい.
scilab は行列演算が for ループより10倍とか速いらしいので(前にも書いた),
差を取るときは,例えば a readwav の結果の二乗とかだとすると
b=[0,a]; //a の最初に0付け加える
b($)=[]; //b の最後を切り落とす
dif=b-a; //引けば隣接二項の差を取った変数の完成
みたいな感じでやると速いかもしれない.

No comments:

Post a Comment