マイクで音声を録音した時、録音環境によっては不快なノイズが入ってしまいます。Pythonの外部ライブラリであるnoisereduceは難しいコードなしに簡単にノイズキャンセルをかけることができます。実波形を例にその特徴を解説します。
続きを読むFFT
現場でPC1つ!簡単に録音・FFT・wav保存するPythonコード
ものづくりの現場で、精密な計測器はないけど今すぐに音声を録音して周波数分析したい!さらにwavファイルに保存して後でゆっくり分析したい!というPython使いのための記事です。ここでは当ブログのコードを寄せ集めてこのようなニーズにマッチするプログラムを紹介します。
続きを読むPythonでFFTやスペクトログラムからバンド計算をする方法
Pythonを使うと簡単にFFTやスペクトログラムを計算できますが、より深い分析を行う場合は任意の帯域(バンド)毎に統計量や技術計算をかける場合があります。ここでは、Pythonで得られたスペクトルからバンド計算をする方法を紹介します。
続きを読むゼロパディングFFTで高周波数分解能にするPythonコード
フーリエ変換は様々な分野で使われている分析手法です。しかし計測時の制約から周波数分解能が足りずに正確な振幅を得られない場合もあります。この記事では、少ない情報でもフーリエ変換時の周波数分解能を高める方法を考察します。
続きを読むPythonでスペクトログラムからピーク値を任意数抽出する方法
スペクトログラムは時間×周波数×振幅と数多くの情報を得ることが可能な便利な分析手法です。ここでは信号処理の技術でスペクトログラムのピークを自動検出するPythonコードを紹介します。
続きを読むFFT波形を微積分!Pythonで周波数軸微積分をしてみた
時間波形から微分積分演算を行う方法は有名ですが、信号処理の分野では頻繁に周波数領域を扱います。ここでは周波数軸でダイレクトに微積分する方法を紹介し、実際にPythonコードを書いて検証してみました。
続きを読むPythonで2Dフーリエ変換!画像フィルタリングをする方法
フーリエ変換は1次元(1D)の信号に対してかけるのが一般的ですが、2次元(2D)信号にかけることで画像のフィルタリングに応用可能です。ここではPython/Numpyを使った2Dフーリエ変換の方法を紹介します。
続きを読むPythonでフォルダ内全wavをスペクトログラムに変換してみた
音声ファイルをスペクトログラム表示することで、音声の周波数・時間・レベルの変化を一度に確認することが可能です。ここではさらにフォルダ内に保存された全wavファイルに対しSTFT計算し、スペクトログラム画像を作成する方法を紹介します。
続きを読むPythonでケプストラム分析!音声から声帯情報を取得してみた
ケプストラム分析を行うと、音声から声帯振動スペクトルと声道スペクトルを分離することが出来ます。これらの情報は声帯の情報であるため、機械学習にも使われることがあります。ここでは、Pythonを使ってケプストラム分析をする方法を紹介します。
続きを読むPythonでヒルベルト変換!時間波形の包絡線を求める方法
振幅変調がある時間波形の変調成分を抽出するには、波形の包絡線を求める必要があります。包絡線はヒルベルト変換という数学的処理で簡単に求めることが出来ますが、ここではPythonでヒルベルト変換を使い包絡線を求める簡単なコードを紹介します。
続きを読む