Open5

Rust で信号処理がやりたいんじゃ〜

monaqamonaqa

タイトルの通り。
Rust で信号処理を行うために役に立つ crate やノウハウを書きなぐりたい。
ひとまず音響信号処理に絞ることにする。

monaqamonaqa

まず気になるのは

  • 信号を格納するデータ構造に何を用いるべきか
  • FFT、STFTや畳み込みなどの基本的な信号処理を行う crate として何を選ぶとよいか
  • 波形やスペクトログラムの可視化はどのように行うのが良いか

いずれも単一の答えはないと思うものの、自分の目的に沿ったものを選びたい

monaqamonaqa

基本的な信号処理を行う crate に何を用いるか

FFT/STFT

crates.io で検索掛けた限りでは以下が人気っぽい。

https://crates.io/crates/rustfft

しかしドキュメントを読んだ限りでは STFT は実装されていない。 Rust では割と機能ごとに crate を分けるらしいので、自然かも。

STFT の crate は crates.io で検索した限りあまり良いのが無さそう(最終更新が2年前、とかしかない)。
割とニッチだから仕方ない、のか…?