生態学的なサウンドスケープの特定のサウンド ファイルに含まれるオーディオ ドロップアウトの数を評価しようとしています。
Format: Wave
Samplingrate (Hertz): 192000
Channels (Mono/Stereo): Stereo
PCM (integer format): TRUE
Bit (8/16/24/32/64): 16
私のプロジェクトには 2 要素のハイドロフォンがありました。要素は異なるブランド/モデルであり、特定の実験でどの要素がよりよく機能したかを判断しようとしています. 私たちが実施したい分析の 1 つは、各要素でドロップアウトまたは信号損失が発生した頻度を測定することです。これらのドロップアウトは信号振幅に関連していません。言い換えれば、ドロップアウトは振幅を最大化することによって引き起こされるわけではありません。要素または関連する電子機器が故障しました。
R は私が最もよく知っているプログラムであるため、R でこれを実行しようとしています。私は Matlab と正規表現の経験が非常に限られていますが、これらのプログラム/言語を試すことにオープンです。私は生物学者なので、無知なことをお許しください。
R では、「seewave」パッケージをいじってみましたが、非常にきれいなスペクトログラムを作成することができました (公平を期すために、以前にそのパッケージを使用した唯一のコンテキストです)。seewave(タイマー)内のエンベロープと自動時間計測機能を使ってみました。興味深いが、反対の結果が得られました。
foo=readWave("Documents/DASBR/DASBR2_20131119$032011.wav", from=53, to=60, units="seconds")
timer(foo, f=96000, threshold=6.5, msmooth=c(30,5), colval="blue")
msmooth と threshold の値を数え切れないほど変更しましたが、それは細かい調整です。この関数が実行するのは、指定されたしきい値での振幅ピーク間の持続時間を測定することです。a)振幅のない信号内のサンプルを見つけるか、b)振幅のない領域間の期間を測定するために必要なこと。これらの出力のいずれかで作業できます。基本的に、しきい値が測定している方向を逆にしたいのですが、それは意味がありますか? したがって、しきい値を超えるサンプルではなく、しきい値を下回るサンプルが測定をトリガーします。
必要なデータを生成する方法を確認するために、まだ seewave をいじっていますが、少しのガイダンスを探しています。おそらく、私がやろうとしていることをより効率的に達成する関数が seewave にあるのでしょう。または、タイマーから生成された数値データを出力する方法がある場合は、「quantmod」パッケージ関数「findValleys」を使用して、すべてのデータ ギャップのリストを取得できます。
そうそう、私が求めているのはガイダンスです。データを処理する神よ。
乾杯。