FFT

Pythonで録音した音声をリアルタイムにスペクトログラム表示する

 FFTの応用であるSTFTを使ったスペクトログラムは周波数波形の時間変化がわかるため、音声解析でよく使われます。これまでWATLABブログではwavファイルや生成した波形からスペクトログラムをつくっていましたが、この記事ではリアルタイムにスペクトログラムを計算する方法を紹介します。

続きを読む

PyAudio/threading/Matplotlibでリアルタイム音声処理

 Pythonを使えば、リアルタイムの音声録音と解析も簡単に行えます。まずPyAudioで音声を録音し、次にScipyでFFT(高速フーリエ変換)を使って解析を行います。しかし、これをスムーズに行うには並列処理が欠かせません。ここでは、Pythonのthreadingモジュールを駆使して、リアルタイムで音声を録音しながらFFT結果を表示する方法を紹介します。

続きを読む

SwiftUIで録音した音声を平均化FFTするアプリをつくってみた

今回もiOSアプリ制作シリーズです。これまで学んだ録音・再生・フーリエ変換・オーバーラップ・窓関数・聴感補正・dB変換を全部盛りにしてSwiftUIによる平均化FFTを実行するアプリを作ってみます。まずは個別のコードを紹介し、最後にコピペ可能な全コードを載せて実行結果を説明します。

続きを読む

Swiftで高速フーリエ変換(FFT)を実装する方法

iOSデバイスで高速フーリエ変換を実装する方法を紹介します。この記事では、まずはじめに一般的な高速フーリエ変換(FFT)であるCooley-Tukey法をSwiftで検証し、その後Accelerateというライブラリによる実装方法も併せて紹介します。

続きを読む

Pythonで高速フーリエ変換をCooley-Tukey法で書く

PythonにはNumPyやSciPyによる優秀な高速フーリエ変換(FFT)アルゴリズムがありますが、基本的なFFTの仕組みを学習するにもPythonは最適です。ここでは最も一般的なFFTアルゴリズムであるCooley-Tukey法をPythonのNumPyで記述し、numpy.fftの結果と比較します。さらに、データ点が2の冪乗でない場合のゼロパディング処理も実装します。

続きを読む

現場でPC1つ!簡単に録音・FFT・wav保存するPythonコード

ものづくりの現場で、精密な計測器はないけど今すぐに音声を録音して周波数分析したい!さらにwavファイルに保存して後でゆっくり分析したい!というPython使いのための記事です。ここでは当ブログのコードを寄せ集めてこのようなニーズにマッチするプログラムを紹介します。

続きを読む