Helix MP3 Encoder

From Hydrogenaudio Knowledgebase
Revision as of 11:51, 25 March 2024 by Maikmerten (talk | contribs) (→‎Encoder switches: Stereo/Mono control)
Helix MP3 Encoder

Developer(s) maikmerten
Release information
Initial release
Stable release
Preview release
Compatibility
Operating system Linux, Windows
Additional information
Use Encoder
License RPSL
Website github

The Helix MP3 Encoder was open-sourced by RealNetworks ca. 2005 via the (long-defunct) Helix community project. It originated from the Xing MP3 encoder, which was purchased by RealNetworks.

A current version ("hmp3"), with contributions from HydrogenAudio members, is available as source code over at https://github.com/maikmerten/hmp3. This Wiki page discusses that version.


Features

  • Supports MPEG-1 and MPEG-2 modes
    • 48 kHz, 44.1 kHz, 32 kHz (MPEG-1)
    • 24 kHz, 22.05 kHz, 16 kHz (MPEG-2)
  • LAME headers for gapless playback
  • CBR and VBR encoding


Listening tests

The Helix MP3 encoder participated in several listening tests and demonstrated to be amongst the highest-quality encoders for MP3 available.


Encoder switches

hmp3 is a command-line operated application. The most basic invocation to generate a MP3 file from WAV:

 hmp3 input.wav output.mp3

This creates a ~128 kbps VBR file for 44.1 kHz stereo input.

Encoder switches
Switch Function Example
-B Set per-channel bitrate. Selects CBR encoding. -B64 for a 128 kbps stereo CBR file
-F Frequency cutoff for the encoder lowpass filter. To actually encode anything beyond 16 kHz, also specify the -HF switch. -F19000 for a 19 kHz lowpass
-HF Controls encoding of high frequency content (> 16 kHz). Disabled by default. Valid values are 0 (disabled), 1 (partial, only "mode-1 granules"), 2 (full, "all granules"). Note that high-frequency content will only be encoded if the psychoacoustic model deems encoding high frequencies as beneficial for the given bitrate/quality settings. -HF2 for unrestricted high-frequency encoding
-M Stereo-mode/Mono selection. 0: stereo, 1: M/S stereo (default), 2: dual channel, 3: mono -M3 to downmix to mono
-SBT Threshold for short-block decisions. Lower values mean more short-block usage. Default is 700. -SBT500 for more short-blocks (more responsive to transients, might increase bitrate in VBR)
-V Quality setting for VBR encoding. Ranges from 0 to 150. Default is 50. -V115 for a ~180-200 kbps stereo VBR file