離散フーリエ変換は単純な式で実装できる信号処理アルゴリズムです。Pythonは豊富なライブラリについ頼ってしまいますが、他の言語でも自由に実装できるように基本を学びましょう。ここではPythonであえてforループを使った離散フーリエ変換の方法を学び、次に同様の結果が得られるSwiftコードを紹介します。
続きを読む信号処理
SwiftUIとAVFoundationで音声を再生する方法
Swiftで書いたコードに音声を再生する機能を追加します。音声の再生にはAVFoundationを使用し、SwiftUIで作成したボタンウィジェットと組み合わせましょう。ここではまず簡単な効果音を鳴らすコードを作成し、次に録音した音をそのまま再生する方法を紹介します。
続きを読むSwiftUI/iOSアプリ:録音データをChartsでグラフ化する
iOSデバイスのマイクをAVFoundationで制御し録音機能を使えるようになりました。さらにSwiftUI標準のグラフ表示ライブラリであるChartsも学んだので、いよいよ録音した結果をグラフ表示させたいと思います。ここでは録音やグラフ表示に必要なSwiftUIコードを紹介します。
続きを読むSwiftでiOSデバイスのマイクを使って録音機能を追加する方法
Swiftを使ってiOSデバイスで録音アプリを作成しましょう。本記事では、Xcodeでプロジェクトを作成し、マイクを使った録音機能を実装する方法をわかりやすく解説します。iOSシミュレータやiPhoneでのテストまで、初心者でも安心して学べるよう、Swiftの基本操作も紹介します。
続きを読むkivyでピーク検出機能付き簡易FFTアナライザを作ってみた
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で一度に実装するアイデア例とその例外処理方法を紹介します。既に実装しているフーリエ変換機能で効果を確認します。
続きを読む