5.8 KiB
5.8 KiB
Changelog
[v1.2.1] - 2024-12-20
Added
- High-Quality Filter Implementation: Direct Form II Transposed filter structure for improved numerical stability
- Filter Warm-Up: Proper filter initialization to avoid transients, especially important for MPT transforms
- Anti-Aliasing in Resampling: Automatic anti-aliasing filter when downsampling to prevent aliasing artifacts
Fixed
- MPT Filter Application: MPT IRs now correctly use the filtered recorded sweep (same as RAW IRs)
- Filter Response at Lower Sample Rates: Fixed filter response accuracy when resampling to 48kHz and other lower sample rates
- Resampling Artifacts: Added proper anti-aliasing to prevent frequency aliasing when downsampling
Changed
- Filter Quality: Improved filter implementation with high-precision coefficient calculation and proper state management
- Filter Artifacts: Reduced artifacts in steep filters (48+ dB/octave) through better numerical stability
Technical Improvements
- Direct Form II Transposed: More numerically stable filter structure for cascaded filters
- Filter Warm-Up: Pre-initialization of filter state to eliminate transients
- Anti-Aliasing: Steep low-pass filter (48 dB/octave) applied before downsampling to prevent aliasing
[v1.2.0] - 2024-12-20
Added
- Cabpack Generation: Complete cabpack creation with IRs in 9 different formats organized in structured directory trees
- Default Mode: Run without command-line options for automatic cabpack generation from current directory
- Executable Directory Detection: Automatic detection of binary location for double-click support in Finder/Explorer
- Automatic File Organization: Support for
selection.txtandambient.txtfiles to automatically organize IRs - Mixes Folder Support: Automatic conversion of ready-to-use IRs from
mixesfolder to all cabpack formats - IR Filename in Plots: IR filenames now displayed in plot titles for better identification
- Cabpack Defaults: Automatic defaults for cabpack mode (fade-ms: 10, lowcut: 40Hz)
- Plots for Mixes: Automatic plot generation for mix IRs in
plots/mixesfolder - Logo in Plots: Valhallir logo automatically displayed in upper-left corner of all generated plots (embedded in binary)
Changed
- Optional Command-Line Flags: All main flags (
--sweep,--recorded,--output) are now optional with intelligent defaults - Default Sweep File: Changed default sweep filename to
sweep.wav(simpler naming) - Output Directory: IRs folder created one directory level up from recorded directory by default
- Directory Structure: Added
mixessubfolder to each format folder (only created ifmixesfolder exists) - Conditional Folder Creation:
selection,ambient mics, andmixesfolders are only created if the corresponding files/folders exist in the recorded directory
Technical Improvements
- Smart Path Detection: Uses executable directory when double-clicked, current directory when run from command line
- Enhanced Logging: Better progress information and path logging for debugging
- Improved Error Handling: Graceful handling of missing optional files (selection.txt, ambient.txt, mixes folder)
[v1.1.0] - 2024-12-19
Added
- IR Visualization: New
--plot-irflag to generate frequency response and waveform plots - Professional Plotting: Frequency response (dB vs Hz) and time-aligned waveform visualization
- Valhallir Branding: Logo and filename information in generated plots
- Modular Architecture: Separated plotting logic into dedicated
pkg/plotpackage - Enhanced File Management: Plots are saved in the same directory as IR files with matching names
- Improved Documentation: Updated README with plotting features and usage examples
- Linear Fade-Out: New
--fade-msoption to apply linear fade-out to IRs (default 5ms) - High/Low-Cut Filtering: New
--highcutand--lowcutoptions for frequency filtering - Configurable Filter Slopes: New
--cut-slopeoption for filter steepness (12, 24, 36, 48 dB/oct) - Audio Resampling: Automatic resampling between different sample rates (44.1, 48, 88.2, 96 kHz)
- Enhanced Audio Processing: Cascade filtering for steeper slopes and better frequency response
- Assets Integration: Added Valhallir logo for professional plot branding
Changed
- Package Structure: Refactored codebase with separate packages for audio processing and visualization
- Plot File Naming: Plots now use the same base name as IR files (e.g.,
ir.pnginstead ofir_plot.png) - Repository Organization: Updated
.gitignoreto exclude generated files while preserving essential test files - Enhanced Error Handling: Improved validation and error messages for all new features
- Better Logging: More detailed progress information during processing
Technical Improvements
- Clean Architecture: Separated concerns between audio processing (
pkg/convolve) and visualization (pkg/plot) - Better Maintainability: Modular design makes it easier to extend and modify features
- Enhanced Audio Quality: Improved filtering algorithms with cascade implementation
- Professional Output: Better IR quality with fade-out and advanced filtering options
[v1.0.0] - 2024-06-09
Added
- Initial public release: Valhallir Deconvolver
- Fast FFT-based deconvolution for IR extraction
- Automatic input conversion: accepts any WAV sample rate, bit depth, or channel count
- Output IR in user-selectable sample rate and bit depth (WAV only)
- Optional minimum phase transform (MPT) output
- Silence trimming and normalization
- Optional output IR length control (
--length-ms) - Mono output (stereo/multichannel inputs are averaged)
- CLI with urfave/cli, version flag, and detailed logging
- Full documentation and usage examples in README