haskellでのBiQuadフィルタらしきものの実装、一応探せたけど読めなかった><;
http://code.haskell.org/~thielema/dsp/DSP/Filter/IIR/IIR.hs
この例だと関数も状態持ててしまいますが、要するに
next: State -> (State, Result)
みたいな関数を実装して、
scan: State -> (State -> (State, Result)) -> [Result]
みたいな汎用の関数を用意してやれば、
results = scan initial_state next
みたいな感じで実質ループにできますよね
std::iter::Iterator - Rust
https://doc.rust-lang.org/std/iter/trait.Iterator.html#method.scan
たとえばこういうのとか見ると典型的なんですが
WASAPIのループバック録音ってどうやるんだろうと思ってNAUDIOのソース見て「え?><;」ってなった><;
WindowsCoreAudioって元々再生デバイスを録音デバイスとして扱えばループバック出来ちゃう柔軟な構造って事?><;
https://github.com/naudio/NAudio/blob/master/NAudio/Wave/WaveInputs/WasapiLoopbackCapture.cs
Delta Flight 191 Incident at DFW Airport --
National Oceanic and Atmospheric Administration | U.S. Department of Commerce https://www.weather.gov/fwd/delta191
IBM 航空機事故でググッたらすぐ出た><; デルタ航空191便墜落事故 - Wikipedia https://ja.wikipedia.org/wiki/%E3%83%87%E3%83%AB%E3%82%BF%E8%88%AA%E7%A9%BA191%E4%BE%BF%E5%A2%9C%E8%90%BD%E4%BA%8B%E6%95%85