Difference between revisions of "Helix MP3 Encoder"

From Hydrogenaudio Knowledgebase
Jump to: navigation, search
(some initial encoder switch documentation)
(add some MP3 listening tests with Helix)
Line 11: Line 11:
 
* LAME headers for gapless playback
 
* LAME headers for gapless playback
 
* CBR and VBR encoding
 
* 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.
 +
 +
* [https://listening-tests.hydrogenaud.io/sebastian/mp3-128-1/results.htm Public MP3 listening test, October 2008]
 +
* [https://hydrogenaud.io/index.php/topic,100896.0.html Personal listening test by Kamedo2, ~224 kbps, May 2013]
 +
* [https://hydrogenaud.io/index.php/topic,113324.0.html Personal listening test by Kamedo2, ~192 kbps, December 2016]
  
  

Revision as of 11:22, 25 March 2024

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
-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