このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
クジラの歌からの関心領域の抽出
4 kHz でサンプリングされた太平洋のシロナガスクジラのオーディオ データを含むファイルを読み込みます。ファイルは、コーネル大学の生物音響学研究プログラムが管理する動物発声ライブラリのものです。データの時間スケールは、音の高さを上げ鳴き声を聞き取りやすくするために係数 10 で圧縮されています。信号を MATLAB® の timetable に変換します。
whaleFile = fullfile(matlabroot,"examples","matlab","data","bluewhale.au"); [w,fs] = audioread(whaleFile); whale = timetable(seconds((0:length(w)-1)'/fs),w); % To hear, type soundsc(w,fs)
"信号アナライザー" を開いて timetable をディスプレイにドラッグします。ノイズの中で 4 つの特徴が目立っています。最初は "ふるえ声"、他の 3 つは "うめき声" として知られています。
[表示] タブで [スペクトル] をクリックしてスペクトル表示を開き、[パナー] をクリックしてパナーをアクティブにします。パナーを使用して、約 2 秒の幅をもつズーム ウィンドウを作成します。ふるえ声の中央に配置されるように、ズーム ウィンドウをドラッグします。スペクトルによって、900 Hz のあたりに目立ったピークが示されます。
3 つのうめき声を抽出し、そのスペクトルを比較します。
パナーのズーム ウィンドウを最初のうめき声の中央に置きます。スペクトルで 8 つのピークが明瞭に定義されました。これらのピークは、170 Hz の倍数に非常に近い位置にあります。[信号の抽出] の隣にある矢印をクリックして
Between Time Limits
を選択します。[パナー] をクリックしてパナーを非表示にします。スペース キーを押して信号全体を表示します。[X 軸方向にズーム イン] をクリックし、時間表示において 2 番目のうめき声が中心の 2 秒間を拡大します。ここでも、170 Hz の倍数の位置にスペクトルのピークがあります。[信号の抽出] の隣にある矢印をクリックして
Between Time Limits
を選択します。スペース キーを押して信号全体を表示します。[データ カーソル] をクリックし、
Two
を選択します。時間領域のカーソルを 3 番目のうめき声を含む 2 秒間の位置に置きます。ここでも、170 Hz の倍数の位置にピークがあります。[信号の抽出] の隣にある矢印をクリックしてBetween Time Cursors
を選択します。
元の信号をディスプレイから削除するために、信号テーブルで元の信号の名前の隣にあるチェック ボックスをオフにします。抽出した 3 つの関心領域を表示します。それぞれのスペクトルは、お互いのほぼ頂点の位置にあります。周波数領域のカーソルを最初と 3 番目のスペクトル ピークの位置に移動します。カーソル ラベルのアスタリスクは、内挿された信号値を示しています。
参考
アプリ
関数
関連する例
- 相関する信号間の遅延の検出
- ウィンドウの漏れを変化させることでトーンを分解する
- パーシステンス スペクトルを使用した干渉の検出
- 複素包絡線を使用した変調と復調
- 再代入したスペクトログラムを使用したリッジの検出と追跡
- 音楽信号からの音声の抽出
- 不等間隔サンプル信号のリサンプリングおよびフィルター処理
- 独自の関数を使用した飽和信号のクリップ除去
- 振動信号の包絡線スペクトルの計算