Wandas 0.7.3¶
Wandas 0.7.3 fixes CSV/WAV data fidelity, enforces immutable FFT/STFT analysis settings, supports deep Recipe histories, and stabilizes Pyodide dependency resolution in the validation harness.
Wandas 0.7.3では、CSV/WAVのデータ保持、FFT/STFT解析条件の不変性、長いRecipe履歴の 処理を修正し、検証環境のPyodide依存関係の解決を安定させます。
Correctness fixes / 正しさの修正¶
- CSV channel subsets and reordering keep inferred labels aligned with sample values. Explicit replacement labels still describe the selected output channels.
- CSV rates retain fractional values, including rates below 1 Hz. Only roundoff near a positive integer rate is snapped to that integer. Invalid or insufficient timestamps fail with a sampling-rate error before sample indexing.
- Floating-point WAV export always uses IEEE FLOAT (float32 precision), including
calibrated amplitudes outside
[-1, 1]. It no longer silently switches those values to PCM and clips them. Integer export keeps the format's default subtype. SpectralFrame.n_fft/windowandSpectrogramFrame.n_fft/hop_length/win_length/windoware read-only. Direct assignments now raiseAttributeError: they previously changed axes without transforming samples or updating lineage. To change analysis settings, rerunfft()orstft()on the source Frame. This immediately enforces the existing immutable-Frame contract.- Recipe extraction and derived operation history use iterative traversal, so long valid processing chains do not depend on Python's recursion limit. Input discovery order, shared nodes, operation versions, and schema remain unchanged.
CSV のチャンネル選択・並べ替えでラベルと値の対応を保持し、非整数・1 Hz 未満の
sampling rate も保持します。無効な時刻列はサンプル添字の計算前に明示的に拒否します。
浮動小数点の WAV 保存は振幅にかかわらず FLOAT を使用し、範囲外振幅の暗黙の切り詰めを
防ぎます(精度は float32)。FFT/STFT の解析条件への直接代入は AttributeError となるため、
条件変更は元の Frame から解析し直してください。Recipe と派生履歴の走査は再帰を使わず、
長い処理チェーンでも既存の順序・共有ノード・schema を保持します。
Pyodide validation / Pyodide検証¶
The Pyodide 314.0.3 test harness uses the runtime's locked Dask dependency and passes pinned pure-Python dependencies through micropip constraints, with the Wandas wheel as the only top-level install requirement. This avoids conflicting Dask versions and nondeterministic dependency resolution.
Pyodide 314.0.3の検証環境はruntimeで固定されたDaskを使い、追加のpure-Python依存を micropipのconstraintsとして渡します。Wandasのwheelだけを直接のインストール対象に することで、Daskのバージョン競合と不安定な依存解決を防ぎます。
Compatibility / 互換性¶
WDF remains format version 0.4 and Recipe JSON remains schema version 2. Operation versions and serialized input discovery order are unchanged. FFT/STFT analysis-attribute assignments now fail as described above; recreate the transform from the source Frame to change its settings. FLOAT WAV output preserves amplitudes outside full scale at float32 precision, not float64 bit-for-bit precision.
WDFはformat version 0.4、Recipe JSONはschema version 2のままです。 FFT/STFTの解析条件は元のFrameから再解析して変更してください。FLOAT WAVの精度は float32であり、float64値のビット単位の保存を保証するものではありません。