Python/SpeechRecognitionで音声認識してみた

機械学習で有名なPythonを使って「音声認識」をしてみます。今回は初心者が最も導入しやすいSpeechRecognitionをインストールし、Googleのサービスを使ったGoogle Speech Recognitionによる音声認識プログラミング事例を紹介します。

続きを読む

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

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

続きを読む

回転機の振動シミュレーションで回転パルスを設定してみた

先日の記事で回転機のアンバランス振動シミュレーションをPythonで行いました。振れ回り振動と参考書の対応がとれたので、次はより詳細な分析を行うために回転パルス(基準信号)をシミュレーションで設定してみます。ここではPythonのodeintで基準パルスを設定しながらアンバランス振動のシミュレーションを行う方法を紹介します。

続きを読む

回転機のアンバランス振動をシミュレートするPythonコード

工業製品である回転機はアンバランスを修正することで精密な回転を実現しています。しかし、アンバランスを真に0にすることは難しく、不釣り合い振動の影響をシミュレーションすることは重要です。ここではPythonのscipy.odeintを使ってアンバランス振動を解析する方法を紹介します。

続きを読む

Swiftで時間波形をオーバーラップ抽出するコード

長時間の信号処理を行う場合、信号を細かくフレームに区切り、さらにフレームを重ねながら信号を抽出するオーバーラップという手法があります。過去にPythonで実装したこのオーバーラップ処理を、今回はiOSアプリで動作させるためにSwiftで実装する方法と検証結果を紹介します。

続きを読む

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の冪乗でない場合のゼロパディング処理も実装します。

続きを読む

Pythonで検証しながらSwiftで離散フーリエ変換を実装する

離散フーリエ変換は単純な式で実装できる信号処理アルゴリズムです。Pythonは豊富なライブラリについ頼ってしまいますが、他の言語でも自由に実装できるように基本を学びましょう。ここではPythonであえてforループを使った離散フーリエ変換の方法を学び、次に同様の結果が得られるSwiftコードを紹介します。

続きを読む

SwiftUI/TabViewでスワイプによる画面遷移を実装する方法

モバイルアプリは画面が小さいため「画面遷移」があると便利です。特にタッチパネルに対応したiOSデバイスならスワイプ動作による画面遷移を使いたくなります。ここではSwiftUIのTabViewを使ってスワイプによる画面遷移機能を実装する方法や、各画面間におけるデータのやり取りについて説明します。

続きを読む