#
exhale - ecodis extended high-efficiency and low-complexity encoder
Software Release Notes, Version History, Known Issues, Upcoming Feature Roadmap

### The version of this distribution of the «exhale» software release is 1.1.6 (official public minor release) from May 30, 2021. Please check www.ecodis.de regularly for new versions of this software. A summary of each version up to this release, a list of known issues with this release, and a roadmap of additional functionality are provided below.

###
Chronological Version History

### Version 1.1.6 May 2021, this release

- ### minor quality tuning and support for delayless operation (media time=0) with SBR

- ### exhaleApp: fixed very rare output file corruption after finishing encoding with SBR

- ### exhaleApp: fixed compilation error under Fedora (issue 20) and stdin hickup issue

- ### exhaleLib: fixed some quality issues in SBR modes, no changes in non-SBR modes

### Version 1.1.5 Apr. 2021

- ### exhaleApp: correct print-out of Unicode file names and paths, minor code cleanup

- ### exhaleLib: minor tuning of immediate playout frames, no changes to audio quality

- ### makefile: support for compilation of Universal 2 binaries on MacOS™ (C. Snowhill)

### Version 1.1.4 Mar. 2021

- ### exhaleApp: removed LUFS/dBFS command arguments again, code now automatic

- ### exhaleApp: consider the working instead of application path if no path is specified

- ### exhaleLib: reduce enc. delay to closest integer multiple of frame length (issue 15)

- ### exhaleLib: very minor tuning of transient coding especially on male speech signals

### Version 1.1.3 Feb. 2021

- ### exhaleApp: allow specifying loudness (LUFS) and peak sample (dBFS) after preset

- ### exhaleLib: write UsacConfig in immediate playout frames (increases compatibility)

### Version 1.1.2 Jan. 2021

- ### further improved file interoperability and seekability with some playback software

- ### exhaleLib: write all frames in «stss» data as immediate playout frames (issue 15)

### Version 1.1.1 Dec. 2020

- ### slightly improved audio quality with SBR, better compatibility with some decoders

- ### exhaleLib: increased frequency resolution of coded SBR envelopes, minor cleanup

- ### exhaleLib: workaround for time differential coding bug in some xHE-AAC decoders

### Version 1.1.0 Nov. 2020

- ### addition of basic SBR functionality for lower-rate coding down to 18 kbps/channel

- ### exhaleApp: add support for CVBR modes a—g for encoding with SBR functionality

- ### exhaleApp: show «ARM» in header and '-v' command on corresponding platforms

- ### exhaleLib: basic 2:1 SBR encoding with ccfl = 2048, minor fixes and code cleanup

### Version 1.0.8 Oct. 2020

- ### minor quality improvements at low and high rates, some license text clarifications

- ### exhaleApp: slightly improved loudness calculation for low and high sampling rates

- ### exhaleLib: improved audio quality a bit for the lower and higher-rate CVBR modes

- ### License: removed references to BSD text, clarified disclaimer and contributor text

### Version 1.0.7 Aug. 2020

- ### minor bugfixes in bit-rate control and higher-rate coding at 32 kHz sampling rate

- ### exhaleApp: add support for CVBR mode 0 at codec sampling rates below 44.1 kHz

- ### exhaleApp: write complete MP4 «stss» data for improved compatibility (issue 13)

- ### exhaleApp: higher accuracy of loudness estimation, better BS.1770-4 compliance

### Version 1.0.6 July 2020

- ### bugfixes, improved quality on some transient signals, better decoder compatibility

- ### exhaleApp: support for Extensible WAVE format, write MP4 «prol» data (issue 10)

- ### exhaleApp: automatic downsampling of 48-kHz input to 32 kHz for CVBR mode 1

- ### exhaleLib: fine-tuning of psychoacoustic model for difficult transient input signals

### Version 1.0.5 June 2020

- ### slightly reduced bit-rates with lower modes, better compatibility when using stdin

- ### exhaleApp: support for Unicode text on Windows™, 44100 Hz with CVBR mode 1

- ### exhaleApp: automatic upsampling of low-sample-rate input, fixed reader (issue 9)

- ### exhaleLib: optimized noise filling tool for slightly lower bit-rates at CVBR mode <4

- ### compilation: exhaleApp.exe -> exhale.exe (issue 8), support for Arm™, C header

### Version 1.0.4 May 2020

- ### finalized basic joint-stereo and TNS coding functionality, quality and stability fixes

- ### exhaleApp: support for 32000 Hz with CVBR mode 1, added '-v' version command

- ### exhaleLib: completed audio quality fine-tuning for very tonal and transient signals

- ### compilation: support for MinGW (issue 5) and cmake (via CMakeList files, issue 6)

### Version 1.0.3 Apr. 2020

- ### extended basic joint-stereo coding functionality for mid/high rates, minor bugfixes

- ### exhaleLib: band adaptive joint-stereo coding for all CVBR modes, fixed rare crash

- ### exhaleLib: audio quality fine-tuning, especially for very tonal and transient signals

- ### makefile: -std=c++11 to allow for compilation with older versions of gcc (issue 4)

### Version 1.0.2 Mar. 2020

- ### added basic low/mid-rate joint-stereo coding functionality, bugfixes, and speedups

- ### exhaleApp: support for input sampling rates of up to 48000 Hz with CVBR mode 2

- ### exhaleLib: frame adaptive joint-stereo preprocessing and coding (CVBR mode <5)

- ### exhaleLib: accelerated R/D opt. coding, stability and quality fixes (issues 2 and 3)

### Version 1.0.1 Feb. 2020

- ### improved low-bitrate coding efficiency and support for MPEG-D loudness metadata

- ### exhaleApp: increased MP4 file versatility (issue 1) and calculation of loudness info

- ### exhaleLib: backward compatible API extension to support writing of loudness info

- ### exhaleLib: extended R/D optimized coding, improved short-transform quantization

### Version 1.0.0 Jan. 2020

- ### compilation fixes and executable printout changes for Linux and MacOS™ platform

- ### exhaleApp: fixed reading of WAVE files including metadata after the «data» chunk

- ### exhaleLib: some tuning of transform and noise level detection for transient signals

- ### exhaleLib: support for export as DLL on Microsoft Windows™ (not tested, though)

### Version 1.0RC Dec. 2019

- ### initial release for testing with only basic channel-independent coding functionality

- ### only support for Microsoft Windows™ (32-bit and 64-bit) platform provided so far.

###
Known Issues with This Release

### If you notice an issue with this release not mentioned below, please contact ecodis or a contributor with the details (configuration, input file) needed to reproduce the issue.

- ### exhaleApp: At the end of each encoding run, the MPEG-4 file header with seeking information is written to the beginning of the output file to maximize compatibility in audio streaming applications. Since such a file operation is not supported with pipe based output, encoding to stdout instead of files is currently not supported.

- ### exhaleApp: Only basic WAVE input file reading functionality has been implemented. Specifically, 8-bit WAVE input is assumed to contain an even number of audio samples, and ITU-R BS.2088 (RF64, Broadcast WAVE) files are not supported.

###
Roadmap of Upcoming Features

### If you are in need of an additional library or application feature not mentioned below, please contact ecodis or a contributor with a request, and we will see what we can do.

- ### support for coding with a core coder frame length of 768 samples, no version plan

- ### exhaleLib: finalization of support for 5.1–7.1 multichannel coding, no version plan

- ### exhaleLib: speed-ups and further quality tuning for difficult signals, as necessary.

###

#### Written by C. R. Helmrich for exhale 1.1.6, May 2021. Available at www.ecodis.de/exhale/release.htm.