Releases: pbtechlab/pbAudioStats
Releases · pbtechlab/pbAudioStats
Release list
v1.3.0 — Extreme Optimization + Correctness Fixes
pbAudioStats v1.3.0 — Extreme Optimization + Correctness Fixes
CLI build for Windows x64 (requires AVX2/FMA — Intel Haswell 2013+ / AMD Excavator 2015+).
All measurements verified bit-stable against EBU Tech 3341/3342 theoretical values and cross-checked against ffmpeg ebur128. Golden comparison vs v1.2.0 passes. Built and validated on Windows x64 (AVX2) and macOS ARM64 (NEON).
Performance (vs v1.2.0, best of 3, Intel Ultra 9 185H)
| Scenario | Speedup |
|---|---|
| Batch analysis (80 files) | 6.9× |
| Normalize (10-min 24-bit) | 3.8× |
| MP3 analysis (10-min) | 1.85× |
| In-memory analysis (total) | 2.68× |
| └ True-peak stage | 4.2× |
- True peak: streaming block-FIR with AVX2/NEON FMA kernels, rigorous L1-norm chunk pruning, end-of-stream flushing
- Loudness/RMS fully chunk-batched; block aggregation O(1)/sample
- Hardware FTZ/DAZ, all-core scheduling, memory-budgeted normalization,
/fp:contract
Correctness fixes
- 32-bit PCM writer no longer overflows full-scale +1.0 to INT32_MIN
- Streaming path now computes the exact oversampled true peak (was sample peak)
WAVE_FORMAT_EXTENSIBLEWAV support- UTF-8 / Japanese filename support on Windows
- Round-to-nearest PCM writes; robust WAV/AIFF header parsing
- AVX2/FMA CPU capability guard (clean diagnostic instead of illegal-instruction crash)
- MP3 output rejected instead of corrupting the input; quad/5.0/6.1/7.1 channel weights
Package contents
pbAudioStats.exe— CLI toolpbAudioStatsLib.lib— static libraryinclude/pbAudioStats.h,include/pbSimd.h— public headersREADME.md,README_ja.md
See README for full usage.
v1.2.0 — accuracy + perf overhaul
Highlights
- True Peak: ITU-R BS.1770-4 / EBU Tech 3341 準拠の 4x polyphase Kaiser-windowed sinc oversampling (48-tap, ~89 dB stopband) を新規実装。これまでは sample peak をそのまま返していました
- Loudness 精度: bin 中心値補正・Neumaier 補償累積・LRA percentile を ceil ベースに・filter warmup ループで K-weighting の過渡応答を測定領域から排除・channel weight を 10^0.15 に厳密化・denormalize 閾値を 1e-15 → 1e-30
- 重大 SIMD バグ修正:
exp_smooth_batch_avx2の IIR 直列再帰違反 (AVX2 ビルドで RMS が桁違いにずれていた)、_mm256_hadd_pd4-lane 水平和の取り違え。すべての AVX2 経路をhsum_pdヘルパに統一 - パフォーマンス: normalize の load+analyze 二重ロード解消、解析を 1 パス化 (always
measure_with_rms)、WAV/AIFF writer をバッファ化、load_wav/load_aiffをWavStream/AiffStream経由のチャンク読み込みに置換 (ピークメモリ約 1/2) - bit-depth 変換 SIMD 化: i16 / i24 / i32 LE/BE → float の AVX2 経路を追加。
WavStream/AiffStream::read_framesが per-sample switch からsimd::convert_*の一括 block デコードに置換 (約 3-8× 高速化) - CLI:
-i + -norm-*の相互排他、-j<N>の例外捕捉、-norm-X:value末尾文字検証、CSV 出力に UTF-8 BOM、Ctrl+C ハンドラ、largest-first スケジューリング、normalize 並列スレッドキャップ、エラー件数表示
Asset
pbAudioStats-1.2.0-win64.zip:
pbAudioStats.exe(CLI, 64-bit Windows / MSVC, /MT)pbAudioStatsLib.lib(static library)include/pbAudioStats.h,include/pbSimd.hREADME.md,README_ja.md
Build requirements
- Windows 10/11 64-bit / MSVC 2022
- CMake 3.16+
- AVX2-capable CPU (Haswell 2013 / Zen 2018 以降) を推奨。AVX2 が無くても scalar fallback で動作します
pbAudioStats v1.1.1 — Windows x64
pbAudioStats v1.1.1 — Initial Windows release
First public binary build of pbAudioStats for Windows x64.
Bundled
pbAudioStats-1.1.1-win-x64.zip contains:
pbAudioStats.exe— command-line analyzer / normalizerlib/pbAudioStatsLib.lib— static library (MSVC, /MT)include/pbAudioStats.h,include/pbSimd.h— public headersREADME.md,README_ja.md
Build environment
- Visual Studio 2022 (MSVC 19.44)
- C++17, /O2, AVX2 enabled
- Static MSVC runtime (
/MT) — no extra DLLs required
Quick start
pbAudioStats -i -tp input.wav
pbAudioStats -norm-i:-23.0 input.wav output.wav
See README for the full option list.
Requirements
Windows 10 / 11 (64-bit).
License
Proprietary.