kivyはPythonのみでGUIアプリを開発可能なライブラリです。今回はPythonが得意とする信号処理分野のアプリとして簡易的なFFTアナライザを作ってみました。録音したデータの時間波形/周波数波形切り替えやピーク検出機能を実装しましたので、その詳細コードを紹介します。
続きを読む信号処理
kivy/PyAudioで録音アプリを作ってみた
kivyはモバイルにも対応したGUIアプリ開発ライブラリです。今回はモバイルアプリを意識して別ページで用意した設定画面をスワイプで呼び出せる録音アプリの作り方を紹介します。録音はPyAudio、波形表示はmatplotlibと連携しています。
続きを読むPythonで簡単にwavファイルのノイズキャンセルを行う方法
マイクで音声を録音した時、録音環境によっては不快なノイズが入ってしまいます。Pythonの外部ライブラリであるnoisereduceは難しいコードなしに簡単にノイズキャンセルをかけることができます。実波形を例にその特徴を解説します。
続きを読む振動波形のヒルベルト変換から対数減衰率を求めるPythonコード
減衰自由振動現象の重要な特性に減衰率があります。減衰特性は物性から求めることが難しいので、実際に系を振動させて測定することが一般的です。ここでは減衰自由振動の波形に対してヒルベルト変換を行い、対数減衰率を計算するPythonコードを紹介します。
続きを読むアプリ完成編:wxPythonで信号処理のGUIアプリをつくろう⑥
Pythonによる信号処理のGUIアプリ作成挑戦記第6弾は「アプリ完成編」です。前回までで時間波形や周波数波形に関する一連の機能実装は完成しているため、細かい「軸設定機能」、「処理結果保存機能」を実装してアプリを完成させる方法を紹介します。
続きを読むフィルタ処理編:wxPythonで信号処理のGUIアプリをつくろう⑤
Pythonによる信号処理のGUIアプリ作成挑戦記第5弾は「フィルタ処理編」です。ローパス/ハイパス/バンドパス/バンドストップをGUIで一度に実装するアイデア例とその例外処理方法を紹介します。既に実装しているフーリエ変換機能で効果を確認します。
続きを読むスペクトログラム編:wxPythonで信号処理のGUIアプリをつくろう④
Pythonによる信号処理のGUIアプリ作成挑戦記第4弾は「スペクトログラム編」です。平均化フーリエ変換ができるとすぐ実装可能なSTFT計算を復習しながら、どうやってGUIプログラミングに組み込んでいくか、特有の例外処理も含めて紹介します。
続きを読むPythonで学ぶ周波数変調(FM)!変調式と特徴を見てみる
周波数が変動している信号を周波数変調信号(FM信号)と呼びます。ここでは周波数変調式と各パラメータの意味を紹介し、Pythonによるヒルベルト変換やフーリエ変換を駆使してAM信号とは異なるFM信号の周波数特性を観察してみましょう。
続きを読む周波数波形編:wxPythonで信号処理のGUIアプリをつくろう③
Pythonによる信号処理のGUIアプリ作成挑戦記第3弾は「周波数波形編」です。読み込んだ時間波形に対し平均化フーリエ変換を施す処理をGUIで行います。今回は設定の読み込み、変更処理や例外処理も含めて実装する方法を紹介します。
続きを読む波形読み込み編:wxPythonで信号処理のGUIアプリをつくろう②
Pythonによる信号処理のGUIアプリ作成挑戦記第2弾は「時間波形読み込み」です。wavやcsvをファイルダイアログで開く方法や信号処理クラスとのやり取りを通して、具体的にGUIプログラミングをする方法を模索します。
続きを読む