2017-10-08 12 views
1

scipy.signal.spectrogramを使用して、オーディオ信号のスペクトログラムを計算しようとしています。プロジェクトの仕様として、時間枠はお互いから20ミリメートル離れている必要がありますが、私はそれを設定する方法を見つけることができません。Python + Scipy:スペクトログラムの時間枠を設定するにはどうすればいいですか?

noverlapちょっと微調整した後、私が得ることのできる最大値は正確ではない5msでした。

これを達成する方法を知っている人はいますか?

おかげ

答えて

1

あなたは「時間枠が互いに20msの間隔をあけていることが必要とされている」と述べました。私はそれが各ウィンドウ(または "セグメント")の開始から20msの間の遅延を意味すると仮定します。

これらの3つの関連するパラメータは、fs,npersegおよびnoverlapです。 npersegは、各「セグメント」内のサンプル数です。つまり、入力データ上をスライドする「ウィンドウ」内のサンプル数です。 noverlapは、連続するウィンドウの重なり部分のサンプル数です。したがって、成功ウィンドウ間の遅延はnperseg - noverlapサンプルです。

ウィンドウは、fs*20/1000サンプルに相当する20ms移動します(fsは1秒あたりのサンプル数で測定されたと仮定します)。 ウィンドウの長さをT msとします。次にnpersegfs*T/1000です。 オーバーラップをT-20ミリ秒にすると、noverlap = int(fs*(T-20)/1000)になります。

関連する問題