Helix MP3 Encoder: Difference between revisions
Maikmerten (talk | contribs) (initial page for the Helix MP3 Encoder) |
Maikmerten (talk | contribs) (some initial encoder switch documentation) |
||
Line 1: | Line 1: | ||
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. | 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, with contributions from HydrogenAudio members, is available as source code over at [https://github.com/maikmerten/hmp3 https://github.com/maikmerten/hmp3]. This Wiki page discusses that version. | A current version ("hmp3"), with contributions from HydrogenAudio members, is available as source code over at [https://github.com/maikmerten/hmp3 https://github.com/maikmerten/hmp3]. This Wiki page discusses that version. | ||
Line 11: | Line 11: | ||
* LAME headers for gapless playback | * LAME headers for gapless playback | ||
* CBR and VBR encoding | * CBR and VBR encoding | ||
== 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. | |||
{| class="wikitable" | |||
|+ 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 | |||
|} |
Revision as of 10:24, 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
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.
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 |