Changelog
Version 0.9.0
(06.09.2025)
- Complete architectural refactoring of the engine: The monolithic IHFP module has been completely disassembled into logical, independent components: Preprocessing (source enhancement), Synthesis (separate modules for Harmonics, Textures, and Attacks), and Blending (mixing synthesized parts and post-effects).
- New system: Implemented a flexible Processing Pipeline. The order of application for all DSP modules is no longer fixed. The user can change the sequence of operations via drag-and-drop in the interface, allowing for the creation of unique processing chains.
- New DSP module: Harmonic Resonators. Added two modules ("General" and "Vocal") that analyze tonal peaks and add musically related harmonics and subharmonics to enrich the timbre.
- New DSP module: Dynamic Enhancers. Added modules for enhancing "Clarity" and "Sibilance," which act as dynamic equalizers, boosting target frequencies only when they are present in the signal.
- New DSP module: Contextual Tonal Warping. An experimental module that analyzes the harmonic context and smoothly shifts the timbre of the current frame for better consistency with past and future frames, smoothing transitions.
- New DSP module: HF Artifact Suppression ("Wart Remover"). A final cleaning stage that finds and suppresses isolated, unnatural HF artifacts ("warts") using median filtering with a mask.
- New DSP module: Upsampling Detector. Added a module that automatically scans files and determines their true original sampling rate, even if they were poorly upsampled.
- Complete GUI overhaul: The interface has been completely redesigned from scratch. Instead of four columns, five are now used, logically grouped by processing stages. A preset system for each file, a spectrogram preview widget, and playback controls have been added.
- New system: Added localization system (i18n). The entire interface now supports translations. Russian language has been added.
- New system: Implemented a preset and application settings system. Users can save, load, and delete presets. Application settings (language, thread count) are saved in "settings.json" and "presets.ini" files.
Version 0.8.0
(13.08.2025)
- Architectural refactoring: Implemented an automatic GUI generation system. All interface parameters and their metadata (ranges, descriptions, layout) have been moved to separate configuration files. The GUI is now built dynamically based on these files, significantly simplifying the addition and modification of settings.
- New system: Dynamic HF synthesis threshold. The algorithm no longer uses fixed frequencies to start analysis and synthesis. Instead, it analyzes each time frame of the spectrogram, finds the point of natural HF roll-off in the original signal, and uses it as a dynamic boundary to start synthesis, making the processing much more adaptive.
- Refactoring: Simplified the structure of the main processing loop. The internal function "hfp_core_synthesis_step" has been removed, and its logic integrated directly into the main "iterative_hfp" loop for improved readability and elimination of redundant code.
- Cleanup: Removed obsolete parameters in favor of more universal adaptive mechanisms.
Version 0.7.0
(25.07.2025)
- New module: Added MP3 artifact smoothing. Implemented a new preprocessing stage that finds "holes" and blocky artifacts in the HF spectrum, characteristic of compressed files, and fills them with synthesized content based on the surrounding audio.
- New system: Implemented a synthesis density management system. The algorithm now analyzes the tonality of the LF signal and, based on a target "density" value, dynamically decides how many tonal "grains" (for harmonics) and textural "tiles" (for noise) need to be created.
- New system: Added feedback from HF to LF analysis. If the algorithm detects an energy "deficit" in the upper part of the HF spectrum during an iteration, it can adaptively boost the corresponding LF sources in the next iteration to compensate for this lack.
- Refactoring: Centralized the logic for placing HF components. The function responsible for determining the target position for synthesized HF components has been moved to a common module to eliminate code duplication in the harmonics, textures, and attacks synthesis modules.
Version 0.6.0
(27.06.2025)
- New system: Implemented an adaptive processing system. Now, the parameters of some post-effects (reverb, spectral deconstruction, resonant filters) can change dynamically depending on the characteristics of the synthesized HF signal (e.g., its density, peakiness, brightness).
- New system: Implemented an intelligent HF component placement algorithm. The system now avoids "collisions" (overlapping) of synthesized harmonics and textures, and also considers the spectral centroid of the LF source for more musical HF placement.
- New system: Added a weighted mixing system for HF components. Instead of simple addition, it is now possible to control the weight (influence) of harmonics, textures, SBR, and attacks in the final HF signal.
- New feature: Added a "LF Source Boost" module. It allows boosting quiet but important details in the LF range before they are used for HF synthesis, which improves detail reproduction.
- New feature: Added attenuation of the contribution of sub-bass frequencies to HF synthesis to prevent "contamination" of the HF range with boomy artifacts.
- Refactoring: Conducted a major reorganization of the GUI codebase. The "MainWindow" logic was split into modules responsible for UI creation, state management, user action handling, and conversion process management to improve code readability and maintainability.
Version 0.5.0
(14.06.2025)
- Major engine update: Radically changed the analysis architecture. Instead of a single LF filter, a more flexible system based on two parameters is now used: the maximum frequency for LF analysis and the minimum frequency to start HF synthesis.
- New system: Implemented multi-band analysis of the LF spectrum. The algorithm can now divide the LF region into several sub-bands (with configurable overlap), allowing for more precise and context-dependent extraction of synthesis sources (harmonics, textures) from different frequency areas.
- New system: Introduced adaptive mapping of LF components to the HF region with configurable "aggressiveness." This allows controlling how high into the HF spectrum components from different LF sections are transposed.
- Interface: The GUI has been updated to support the new architecture. The old "lowpass_hz" slider has been removed and new controls for the number of LF sub-bands, their overlap, and mapping aggressiveness have been added.
Version 0.4.0
(04.06.2025)
- Performance optimization: Key resource-intensive algorithms in the harmonic and texture synthesis modules have been rewritten and optimized using Numba for significant processing speedup.
- Engine improvement: A deep recalibration of over 30 default parameters was performed to improve out-of-the-box sound quality. Key changes include:
- Significantly reduced the base strength of attack synthesis for a more natural sound.
- Changed the balance of spectral deconstruction (tonal component boost reduced from +6 dB to -3 dB).
- Enabled "mirroring" of LF harmonics into the HF region by default for a denser sound.
- Increased the overall HF spectrum roll-off to reduce harshness.
- Engine improvement: Refined the logic for applying decay to harmonics depending on the modulation mode ("cepstral" or "smoothed_lf"), making modulation more predictable.
Version 0.3.0
(23.05.2025)
- Major engine update: Completely redesigned the harmonic synthesis algorithm. Instead of simple overtone multiplication, a new "Timbral Tiling" method has been introduced, which analyzes and transposes "tonal grains" from the LF region, allowing for more accurate preservation of the original sound's timbral characteristics.
- Major engine update: Completely redesigned the texture synthesis algorithm. The old noise modulation method has been replaced with "Spectral Tiling," which copies, transposes, and places noise fragments (tiles) from the upper part of the LF spectrum into the HF region to create more natural and context-dependent noise.
- Improvement: Significantly improved the blending and transition algorithm between the original LF and synthesized HF. Added a controllable crossfade based on a Hann window and global control of the HF spectrum roll-off for smoother and more natural integration.
- Interface: New controls for detailed adjustment of "Timbral" and "Spectral" tiling, as well as blending parameters, have been added to the GUI.
Version 0.2.0
(19.05.2025)
- Refactoring: A large-scale refactoring of the codebase was carried out. All DSP modules (Declipping, ATR, ASC, Remaster, IHFP) and configuration files were separated into individual, logically grouped files to improve readability, maintainability, and future expansion.
- New feature: Added experimental parameters to the "Spectral Deconstruction" module, including adaptive noise reduction, ultrasonic frequency attenuation, and temporal transient smoothing for finer post-processing.
- Improvement: Adjusted default values for many IHFP parameters (e.g., number of iterations, TOC strength) to improve out-of-the-box processing quality.
- Interface: Implemented a "SettingsManager" for more reliable and centralized management of interface settings, reducing the likelihood of errors when collecting and applying parameters.
Version 0.1.0
(15.05.2025)
- First alpha build of the program.
- Basic functionality: Implemented loading and batch processing of ".wav" files in a separate thread.
- Main processing engine: Implemented the Iterative High-Frequency Restoration (IHFP) algorithm, which includes:
- Harmonic synthesis based on overtones.
- Texture synthesis based on modulated noise.
- Attack synthesis and granular synthesis.
- Waveshaping, FM synthesis, LPC analysis, and SBR modules.
- Creative Feedback (TOC) module for detail enhancement.
- Preprocessing modules: Added Declipping, Advanced Transient Reconstructor (ATR), and Adaptive Stereo Correction (ASC) modules.
- Graphical Interface: Implemented the main application window with a full set of controls for all available processing parameters.