Hqplayer5desktop Manual
Hqplayer5desktop Manual
HQPlayer™ Desktop
User Manual
Version 5.7.3
Streaming partners
Table of Contents
1. Introduction........................................................................................................................5
1.1. DSDIFF and DSF playback, DSD sources and playback..........................................5
1.2. Architecture and components.....................................................................................5
1.3. Starting up the application..........................................................................................6
1.4. Network Audio.............................................................................................................6
2. Main screen........................................................................................................................7
2.1. Album / track art..........................................................................................................7
2.2. Track display...............................................................................................................7
2.3. Song display...............................................................................................................8
2.4. Time display................................................................................................................8
2.5. Limiting........................................................................................................................8
2.6. Apodization.................................................................................................................8
2.7. Mode display...............................................................................................................8
2.8. 20 kHz filter.................................................................................................................8
2.9. Adaptive gain mode....................................................................................................8
2.10. Control buttons.........................................................................................................9
2.11. Convolution...............................................................................................................9
2.12. Phase inversion........................................................................................................9
2.13. Repeat and Random playback.................................................................................9
2.14. Playlist management................................................................................................9
2.15. Volume control..........................................................................................................9
2.16. Position/seek bar....................................................................................................10
2.17. Source content entry...............................................................................................10
2.18. Playback content table...........................................................................................10
3. Library management........................................................................................................11
4. Settings............................................................................................................................13
4.1. Inputs........................................................................................................................14
4.2. Outputs.....................................................................................................................14
4.3. PCM..........................................................................................................................16
4.4. SDM..........................................................................................................................21
4.5. Filter / Oversampling selection.................................................................................25
4.6. Advanced..................................................................................................................34
5. Channel balance..............................................................................................................37
6. Convolution engine..........................................................................................................39
7. Matrix processing.............................................................................................................41
7.1. Plugins......................................................................................................................44
7.2. “delay” plugin............................................................................................................44
7.3. “iir” plugin..................................................................................................................44
7.4. “riaa” plugin...............................................................................................................45
8. HQPlayer Client...............................................................................................................46
8.1. Switching views........................................................................................................49
8.2. Album selection view................................................................................................50
8.3. Playlist edit view.......................................................................................................51
9. Registering your copy......................................................................................................53
10. Troubleshooting..............................................................................................................54
10.1. Reporting bugs.......................................................................................................54
1. Introduction
HQPlayer is a high quality audio player for 64-bit Windows, Linux and macOS.
HQPlayer also features several user selectable high quality resamplers as well as user
selectable dither/noise shaping algorithms and delta-sigma modulators.
Some of the more affordable sound cards and D/A converters have suboptimal digital
and analog filters, while still having support for higher sampling rates. Effect of this can
reduced by applying high quality upsampling in software before feeding the signal to
the audio hardware at higher rate. This moves some of the artifacts of the suboptimal
hardware to higher frequencies, away from the audible band. Many of the home-
theater amplifiers and digital (room correction) processors also re-sample internally to
48, 96 or 192 kHz, with the HQPlayer, these can be fed at the native rate avoiding
lesser quality resampling in the device.
Most modern D/A converters are delta-sigma type. Built-in delta-sigma modulator of
HQPlayer allows using DSD-capable converters with this native data format, in many
cases bypassing lot of DSP processing in these converters and allowing more direct
data path to the conversion stage. For select set of DACs, also correction profiles are
available to improve correctness of the output signal.
Resampling also allows playback for high resolution audio files on hardware capable
of only lower sampling rates or bit depths. For lower bit depth playback, high quality
dither or noise shaping can be employed.
HQPlayer also includes a convolution engine for applying digital room correction filters
or other kinds of equalization.
These features ensure the best possible audio quality with the available audio
hardware.
2. Main screen
When the application is first started up, main screen is displayed.
Main screen
User interface also supports standard multimedia keys and equivalent remote controls.
Tracks, directory trees and playlist files can be added to the current playlist by drag-
and-drop from outside of the application.
Note! In case you experience clicks/pops between DSDIFF/DSF tracks, creating a
playlist for the tracks enables special code to reset the modulation state. Playback
won't be gapless in this mode.
2.5. Limiting
HQPlayer contains automatic soft-knee limiter that will reduce volume on respective
channels when output exceeds 0 dB level. When limiting is triggered, the “Limited”
counter is incremented and volume knob color changes to red. When such happens, it
is best to reduce output level and keep the lowered volume level to avoid further
triggers of limiting. Note! Limiting sensitivity depends on selected filter and
upsampling ratio.
2.6. Apodization
For PCM source content, HQPlayer can detect need for an apodizing filter. This is
based on detected errors that originate from the recording ADC or mastering tools.
Every time such occasion is detected in source content, the counter is incremented.
When such content is detected, especially with higher counts, use of apodizing filter is
recommended. This detection is not absolute, but can be used as guidance to decide
when non-apodizing filter shouldn’t be used. There is no harm in using apodizing filter
for content that doesn’t need one. But there is harm using non-apodizing filter for
content that would need one.
2.11. Convolution
When this button is depressed, convolution processing is completely bypassed. When
this button is pressed, convolution engine is active and the configured impulse
responses will be used to process the signal before resampling. Convolution can be
enabled and disabled during the playback. This applies only when simple convolution
engine is used. Matrix processor settings can be changed on the fly using matrix
profiles.
Note! When source material sampling rate differs from the impulse sampling rate,
impulse responses will be scaled to the source material's sampling rate. This can have
a huge impact on CPU/GPU load, and with large impulse responses will require
significant amount of CPU/GPU processing power.
3. Library management
To edit library, open the “File” menu and select “Library...”. Following dialog will be
shown.
List shown on the left is the list of album locations available on the transport selector.
Each path is intended to represent an album consisting of files of same number of
channels.
To remove an album from the listing, select the album path and click “Remove” button.
Once you are done with the editing, select either “OK” to save your changes or
“Cancel” to discard the changes.
It is also possible to edit album metadata by double-clicking a cell.
To (re-)scan an entire directory tree or part of it, click “Scan...” to browse and select
base directory of the tree you wish to add and click “OK”. All the nodes of the directory
tree with recognized content will be added to the list of available albums and
new/changed cover art is recognized. Already known entries are automatically ignored
(except for adding missing metadata). If you wish to refresh all the library information,
select “Clean scan...” instead. Select “Structure only” to extract metadata solely from
the directory tree structure instead of metadata embedded in files. If detached cover
art is missing, but embedded cover art exists, “Extract covers” will extract embedded
cover art to a detached one making it available in the cover flow view. Cover art cannot
be extracted if “Structure only” is selected, as this omits looking into embedded
metadata information.
Metadata for each path is loaded when available. If metadata is not available within
the file, it is constructed from the full file path, assumed of being in format
Artist/Album/Song.
Note! Each directory is assumed to contain only one type of supported playback files,
the first recognized type will be used and other types of files within the directory will be
ignored.
To clear the list, select “Remove all”, confirmation dialog will appear before the list is
cleared.
4. Settings
To change program's device settings, open the “File” menu and select “Settings...” (on
macOS “Preferences...” from the application menu).
DSD content can be transferred to/from the audio device by packing it into suitable
PCM container, select “DoP” to use the DoP v1.1 standard. The “2wire” setting
enables dual-wire channel bonding to achieve 2x higher sampling rates for both PCM
and DoP-based DSD on those DACs that support this feature.
Short buffer setting reduces size of audio FIFO buffer to half. This reduces amount of
delay for example for volume control. But it also increases likelihood of audio drop-
outs.
Channel mapping is following (regardless of driver type):
0. Front Left
1. Front Right
2. Front Center
3. Low Frequency (LFE)
4. Back Left
5. Back Right
6. Side Left
7. Side Right
Length of the hardware audio buffer (in milliseconds) can be changed by using “Buffer
time” selection. It is recommended to use “Driver default”, unless audio drop-outs are
experienced. When “Driver default” is used, the audio driver defines length of the
buffer. In case of WASAPI, this is more or less fixed value of 10 ms. In case of ASIO,
this can be usually controlled through ASIO control panel. With ASIO backend it is
recommended to leave the value to “Default” and adjust buffer size from the driver
Control Panel instead, if available. When ASIO Control Panel is not available, the
HQPlayer setting can be used, but it will be capped to the range supported by the
driver, and in some cases this means the setting not having any effect if the driver
doesn't allow adjustments at all. Values between 10 and 100 ms are most
recommended.
Note! Due to limitations of ASIO API, ASIO drivers cannot be used for both input and
output. Combination of ASIO and WASAPI or ASIO and NAA can be used instead.
4.1. Inputs
On Inputs tab, different input device related settings can be changed.
If you don’t have any input device, select “[none]” as the input backend.
On Windows, drive letter for the CD drive can be changed from the “CD drive”
selection. On Linux, device node for the CD drive can be entered, this can be typically
a symlink such as “/dev/cdrom”. On macOS, device node can be discovered using
terminal command “drutil status”, where for example if Name is “/dev/disk5” the device
node to be entered is “/dev/rdisk5”.
4.2. Outputs
On Outputs tab, audio output device related settings can be changed.
Quick pause
Quick pause changes pause operation to play only basic silence pattern. In some
cases this reduces delay when pressing pause. But can cause audible glitches
especially when DAC is directly connected to a power amp without intermediate
analog volume control.
Adaptive rate
Adaptive output rate makes automatic output rate selection pick sampling rates based
on two different rules; grayed selects default or lower rate based on filter and DAC
capabilities, while checked selects rate that is multiple of the same base sampling rate
as the source. When the setting is not checked, specified output sampling rate is fixed.
Volume control
It is also possible to configure adjustment range of the volume control. When both
values are set to zero (0), volume control is bypassed completely (see note below).
Fixed volume setting can be achieved by setting both min and max to the same value.
4.3. PCM
On PCM tab, settings for PCM output mode can be controlled.
Noise-shaping / dither
This selection can be used to switch between different word-length reduction
algorithms. It is always recommended to use at least TPDF dither.
NS/Dither Description
none No noise-shaping or dithering, only rounding. Mostly suitable for
testing cases together with none filter selection, where bit-perfect
output is needed. Not recommended.
NS1 Simple first order noise-shaping. Sample values are rounded and the
quantization error is shaped such way that the error energy is pushed
to the higher frequencies. Suitable mostly for 176.4/192 kHz
upsampling.
NS4 Fourth order noise-shaping. Similar in shape as “shaped” dither.
Suitable for all rates equal or higher than 88.2 kHz.
NS5 Fifth order noise-shaping. Fairly aggressive noise-shaping designed
for 8x and 16x rates (352.8/384/705.6/768 kHz). Not recommended for
rates below 192 kHz. (Especially good for PCM1704 at those highest
rates.)
NS9 Ninth order noise-shaping. Very aggressive noise-shaping designed
especially for 4x rates (176.4/192 kHz) and recommended for these
rates. (Especially good for older 16-bit 4x rate capable multibit-DACs
like TDA154x etc.)
LNS15 15th order linear noise shaping. Smooth noise-shaping slope designed
especially for 16x rates (705.6/768 kHz) and recommended for these
higher PCM rates. Can be also used at 8x rates (352.8/384 kHz), but
not recommended for rates below.
RPDF Rectangular Probability Density Function. White noise dither.
Computationally light weight, but only suitable for 24-bit or higher
output hardware.
TPDF Triangular Probability Density Function. This is the industry standard
simple dither mechanism. Suitable for any rate and recommended if
playback rate is 44.1/48 kHz. Recommended for general purpose use.
Gauss1 Gaussian Probability Density Function. High quality flat frequency
dither recommended for rates at or below 96 kHz where noise-shaping
is not suitable.
shaped Shaped dither. Noise used in this dither has shaped frequency
distribution to lower audibility of the dither noise. Suitable for playback
rates of 88.2/96 kHz, or higher.
Note! Use of “NS1” with equipment sensitive to ultrasonic noise is not recommended.
Bits
When DAC is connected to a unidirectional interface like S/PDIF, AES/EBU or I2S it is
important to select correct number of bits from the “DAC bits” selection. In addition,
when a DAC is connected to USB and has something else than 32-bit input resolution,
it is recommend to set the actual value here.
For Holo Audio and Denafrips R2R DACs, setting Bits to 20 is recommended. Also
DSD sources
These settings control DSD to PCM conversion algorithms.
Different types of noise filters for PCM are provided. These reduce amount of
ultrasonic noise present in the source data. Standard filtering leaves low level of
ultrasonic noise. Some loudspeakers with tweeters of low power handling capability
can be sensitive to this noise, especially when higher listening volumes are used. Also
some poorly designed, or class-D, amplifiers can misbehave in presence of such
ultrasonic content. Therefore more aggressive noise filters can be selected by using
“Noise filter” drop list. These filters will also limit bandwidth available for the audio
content. Following filters are supported.
When processing output rate of DSD source (assuming DSD64) is 88.2/96 kHz PCM,
use of extra noise filtering in addition to “standard” is less important, since most of the
noise will be cut out. When processing output rate of DSDIFF or DSF source is
44.1/48 kHz, extra noise filtering in addition to “standard” is not needed and will
actually just reduce playback quality.
Type of SDM → PCM conversion can be selected from the “Conversion” drop list.
Following conversion types are supported.
DSDIFF or DSF file should typically have 6 dB of headroom on the signal level. By
selecting “6 dB gain” check box, 6 decibels of gain is applied, removing this headroom
from the converted signal. This way the normal playback level reaches that of normal
PCM. However, this may cause overloads with some source material and may require
extra attenuation using volume control.
4.4. SDM
On SDM tab, settings for SDM output mode can be controlled.
Modulator
Allows selection of the delta-sigma modulator used to produce SDM output.
Modulator Description
DSD5 Rate adaptive fifth order one-bit delta-sigma modulator.
DSD5v2 Revised fifth order one-bit delta-sigma modulator.
DSD5v2 Revised fifth order one-bit delta-sigma modulator optimized for rates
256+fs >= 10.24 MHz.
DSD5EC Rate adaptive fifth order one-bit delta-sigma modulator with extended
compensation.
ASDM5 Adaptive fifth order one-bit delta-sigma modulator.
ASDM5EC Adaptive fifth order one-bit delta-sigma modulator with extended
compensation.
ASDM5ECv2 Second generation of ASDM5EC with minor improvements.
ASDM5ECv3 Third generation of ASDM5EC with minor improvements.
ASDM5EC- Adaptive fifth order one-bit delta-sigma modulator with extended
ul compensation. Ultralight version.
Modulator Description
ASDM5EC- Adaptive fifth order one-bit delta-sigma modulator with extended
light compensation. Light version.
ASDM5EC- Adaptive fifth order one-bit delta-sigma modulator with extended
super compensation. Super version.
ASDM5EC- Adaptive fifth order one-bit delta-sigma modulator with extended
ul 512+fs compensation. Optimized for 512x and higher rates. Ultralight version.
ASDM5EC- Adaptive fifth order one-bit delta-sigma modulator with extended
light 512+fs compensation. Optimized for 512x and higher rates. Light version.
ASDM5EC- Adaptive fifth order one-bit delta-sigma modulatro with extended
super 512+fs compensation. Optimized for 512x and higher rates. Super version.
DSD7 Seventh order one-bit delta-sigma modulator.
DSD7 Seventh order one-bit delta-sigma modulator optimized for rates >=
256+fs 10.24 MHz.
ASDM7 Adaptive seventh order one-bit delta-sigma modulator.
ASDM7EC Adaptive seventh order one-bit delta-sigma modulator with extended
compensation.
ASDM7ECv2 Second generation of ASDM7EC with minor improvements.
ASDM7ECv3 Third generation of ASDM7EC with minor improvements.
ASDM7EC- Adaptive seventh order one-bit delta-sigma modulator with extended
ul compensation. Ultralight version.
ASDM7EC- Adaptive seventh order one-bit delta-sigma modulator with extended
light compensation. Light version.
ASDM7EC- Adaptive seventh order one-bit delta-sigma modulator with extended
super compensation. Super version.
ASDM7EC- Adaptive seventh order one-bit delta-sigma modulator with extended
ul 512+fs compensation. Optimized for 512x and higher rates. Ultralight version.
ASDM7EC- Adaptive seventh order one-bit delta-sigma modulator with extended
light 512+fs compensation. Optimized for 512x and higher rates. Light version.
ASDM7EC- Adaptive seventh order one-bit delta-sigma modulatro with extended
super 512+fs compensation. Optimized for 512x and higher rates. Super version.
AMSDM7 Special adaptive seventh order “pseudo-multi-bit” modulator optimized
512+fs for rates above >= 20.48 MHz.
AMSDM7EC Special adaptive seventh order “pseudo-multi-bit” modulator with
512+fs extended compensation for rates >= 20.48 MHz.
Modulator Description
AHM5EC5L Experimental fifth order five level hybrid modulator with extended
compensation. Optimized for rates >= 40.96 MHz.
Note! Limited SNR compared to other modulators, best suited for
loudspeaker system and/or when digital volume control is not needed.
Not recommended when HQPlayer’s volume control is the primary
volume control method.
AHM7EC5L Experimental seventh order five level hybrid modulator with extended
compensation. Optimized for rates >= 40.96 MHz.
Note! Limited SNR compared to other modulators, best suited for
loudspeaker system and/or when digital volume control is not needed.
Not recommended when HQPlayer’s volume control is the primary
volume control method.
Fifth order modulators are more suitable for DACs that have simple analog
reconstruction filters. Seventh order modulators provide better technical performance,
but also put more demands on the DAC's analog reconstruction filter. Typically this
means that fifth order modulators suit DACs that have one switching element while
seventh order modulators have potential for better performance on DACs that have
multi-element switching arrays. DSD* modulators are fixed configuration ones while
ASDM* modulators are adaptive in various ways based on source signal. For ESS
Sabre based DACs, fifth order modulators are recommended. For most other DACs,
seventh order modulators are optimal.
Integrator
There are three types of delta-sigma integrators available for different SDM → SDM
remodulation schemes. These affect mostly frequency and phase response at highest
frequencies. Stated frequencies apply for DSD64 source rate, these frequencies scale
as function of source sampling rate.
Conversion
There are different options for SDM → SDM rate conversions. These affect frequency
aperture that is assumed to contain useful signal in addition to increasing noise
shaping noise. For example piano doesn’t contain high frequency harmonics and for
such case “narrow” is suitable, while close miked percussions usually contain high
level high frequency content and there “wide” may be more suitable. While “XFi” is
suitable for all cases. Default is “XFi”.
DirectSDM
DirectSDM setting disables all processing when source is DSD content and output
format is SDM to a DSD-device or file.
Note! Enabling DirectSDM will disable volume control and set PCM volume to fixed -3
dBFS value.
SDM:
Any
poly-sinc-xtr-lp Linear phase polyphase sinc filter Timbre Classical Any
with extreme roll-off and
attenuation.
poly-sinc-xtr- Minimum phase polyphase sinc Timbre Jazz, Any
mp filter with extreme roll-off and blues
attenuation.
poly-sinc-xtr- Short linear phase polyphase sinc Timbre Electronic, Any X
short-lp filter with extreme roll-off and jazz,
attenuation. blues,
pop, rock
poly-sinc-xtr- Short minimum phase polyphase Timbre Pop, rock Any X
short-mp sinc filter with extreme roll-off and
attenuation.
4.6. Advanced
In the Advanced tab, various advanced settings such as hardware related
optimizations can be adjusted.
Multicore DSP
Multicore DSP increases parallelization of various DSP operations.
When the selection box is grayed, automatic detection and configuration is active and
can utilize any number of cores. For best performance it is recommended to use the
auto-detection.
When the box is cleared, processing is optimized for cases where number of cores is
equal or less than number of output channels. Such as dual-core CPUs when output is
stereo.
When the box is checked, processing is optimized for modern multi-core CPUs with
much higher core count than number of output channels. Since this parallelization
increases processing overhead, it will increase total CPU time consumption. If there
are performance problems with “auto” setting, it is typically useful to try this option.
E-core allocation
On newer CPUs that have both performance and efficiency cores, efficiency cores can
be allocated as offload processors instead of normal (default) use. These e-cores can
be allocated either for processing resampling filters, or for a generic DSP pool for
performing other tasks such as convolution.
CUDA offload
“CUDA offload” can utilize nVidia GPU to partially offload the processing from CPU to
GPU. CUDA offload requires nVidia GPU with minimum Compute Capability level 5.2,
2 GB of graphics RAM and latest official nVidia drivers. When offload is enabled and
suitable GPU is available, message about the offload is briefly shown at the beginning
of playback of each track. When CUDA offload is enabled, also Multicore DSP should
be enabled, or left at automatic setting to achieve best performance.
When CUDA offload checkbox is grayed, only convolution algorithms are offloaded to
GPU.
Same or different GPU can be selected separately for performing filters and other DSP
tasks, and convolution and other large operations. This allows to split the workload
across two separate GPUs.
DSP pipelines
Specify number of DSP pipelines available. This is both number of matrix pipelines,
and total number of possible input or output channels. Using suitably low value
reduces resource consumption, such as RAM usage to some extent.
Idle time
Defines amount of time the engine is left idling after playback of current content has
ended. This allows faster playback restart within the idle period.
5. Channel balance
For multichannel processing, speaker/microphone levels and distances can be
configured using Channel balance dialog. This dialog can be reached by opening
“Tools” menu and selecting “Channel balance...”.
In this dialog, distance to each individual speaker can be set in centimeters. Level of
the channel can be set using the volume slider and unit shown in upper right corner is
in dB. Allowed adjustment range using spinbox input is wider than range of the slider.
For adjusting speakers, pink noise test tone can be played by selecting the “Test tone”
box. When the box is checked, tone will be played in all channels, thus making it easy
to adjust all levels in such way that the they sound equal. When the box is grayed,
tone will be played one channel at the time in rotating manner, making it easy to adjust
all levels using an SPL meter.
Multichannel delay processing is done in target sampling rate. This increases
processing accuracy as the output sampling rate is increased.
This method is suitable for simplest per-channel level adjustment and is processed in
simpler and lighter way than full pipeline matrix.
Note! Distance processing is available also for bit-perfect pass-through of DSD when
Direct SDM is enabled!
6. Convolution engine
Convolution engine can be configured through the “Convolution” menu and selecting
“Engine setup...”.
Following dialog will be shown.
Clicking “OK” will save the setting to the configuration file and the settings are ready
for use.
Convolution engine requires impulse responses to be mono RIFF (WAV) format files.
If some of the channels don't need processing, or are not used, clearing the filename
will disable convolution engine for those channels.
For most optimal case for all kinds of source material, use extended frequency
response convolution filters with 352.8 kHz sampling rate. When such are used,
Expand HF can be left disabled for all cases.
For example popular Room EQ Wizard can export suitable impulse responses after
designing for “Generic” equalizer by selecting File → Export → Filters Impulse
Response as WAV. Or more advanced tools like rePhase that can utilize Room EQ
Wizard measurements. Expert users can also use open source DRC tool for designing
even suitable full-band correction filters.
Note! Use of long convolution filters for all eight channels of audio for hires audio files
will need substantial amount of CPU/GPU processing power!
Note! It is not recommended to use convolution engine together with matrix
processor. When matrix processor is enabled, it is recommended to do convolution
there instead.
7. Matrix processing
Matrix processing offers a way to copy, route, filter and mix down channels with
specified gains. Matrix processing consists of maximum 128 virtual channels –
pipelines, number of active pipelines can be configured through advanced settings.
Note! It is not recommended have both simple convolution engine (section 6) and
matrix processor active simultaneously. If convolution is needed with matrix
processing, it is recommended to configure convolution here.
For example the configuration shown above can be used to mix down 5.0/5.1 channel
material to stereo. As an example it also contains additional parametric equalizer
giving -3 dB attenuation of main channels above 200 Hz (not needed for multichannel
mix down use).
Combo box at the top is used to specify and select saved matrix configuration profiles.
These profiles can be also selected remotely. Currently shown values are saved as
default profile when OK is clicked.
Convolution engine applicable to filter(s) defined in Process, can be selected from two
choices, Overlap-add which is the default and recommended and Overlap-save which
is alternative method. For filters using low sampling rate, frequency response of the
filter can be extended beyond Nyquist frequency of the filter’s sampling rate by
selecting Expand HF. In addition, various plugin instances with parameters can be
Using the IIR to FIR it is possible to choose whether parametric EQs are converted to
a convolution EQ. When the box is grayed, the conversion is a direct conversion and
retains original minimum phase response. When the box is checked, the EQ filter is
converted to a linear phase one.
In some cases, like GPU offloading, it may be more efficient to compute set of
parametric EQs as a convolution filter instead.
Note! Conversion to linear phase will introduce some amount of unnatural pre-ringing
in the audio band. This is why EQ filters are typically minimum-phase. Higher the
parametric filter's Q and dB values are, more pre-ringing it will also introduce for linear-
phase. So the linear phase conversion works best with rather gentle EQ setups.
The “Source Ch” specifies the channel which is used as a source for the virtual
channel. “Gain” is overall gain applied for the virtual channel. And “Mix Ch” is the
logical output channel. When multiple virtual channels have the same target channel,
outputs of the virtual channels are mixed together to the target output channel.
“Process” can define external filter impulse response(s) WAV file for convolution,
parametric equalizer specification in RoomEqWizard text output format, and
parametric filter specifications (see Plugins section later). “Browse” button can be used
to select WAV and TXT files.
Gain can be applied in both dB scale or linear scale, as selected in the corresponding
column. Linear scale factors can be also negative to perform phase inversion, this
allows for example M/S processing.
When choosing format for convolution filters, for most optimal case for all kinds of
source material, use extended frequency response convolution filters with 352.8 kHz
sampling rate. When such are used, Expand HF can be left disabled for all cases.
Various headphone equalization files can be found from AutoEq. Choose the
ParametricEQ txt file. This can be directly used in HQPlayer matrix processor without
modifications and also includes gain compensation data.
Post-processing algorithms can be enabled and configured in the table below the
pipeline routing matrix. These are applied to the output mix bus, meaning output
channels after the matrix processing.
Bauer cross-feed is processing for headphones that is intended to make the listening
experience more natural and spacious. This is very simple model, with three presets.
When custom preset is selected, cross-feed filter frequency (Parameter 1) and level
(Parameter 2) can be entered respectively.
Loudness is a volume-adaptive loudness control with adjustable parameters. For bass
and treble controls, the corner frequency, slope factor (see IIR plugin) and level can be
adjusted (Parameter 1 to Parameter 6 respectively). Lower bound (Parameter 7) is
volume setting where at or below, set maximum loudness value is reached. Higher
bound (Parameter 8) is volume setting where at and above, loudness value reaches 0
dB.
Correction performs corrections for the output signal of selected DAC. These
corrections are specific to a DAC model and output rate.
Clicking “Plot” button opens magnitude- and phase response plots for the
corresponding pipeline. Multiple plots can be added by clicking the buttons as long as
the graph dialog is open. To reset the view, close the graph dialog.
7.1. Plugins
Each plugin description begins with plugin name, followed by colon. After the color,
semicolon separated list of parameters can be specified.
Syntax is as follows:
<plugin>:[arg1[=val]];[arg2[=val]];...;[argn[=val]]
8. HQPlayer Client
When HQPlayer Client is started, following kind of screen is shown.
Play view
This display is optimized for touch-screens, but can be also used with a mouse or
other suitable pointing device.
On top left corner is server name/address entry and list, to connect to a server, either
select a server shown on the list or type in either hostname or IP address of the server.
On top right corner is list of inputs available on the server, such as CD transport and
possible ADC’s or digital inputs. This input field can be also used to send URLs for
playback, such as internet radio playlist or stream URLs.
Cover art of the current track is shown as a background image, when available. If track
doesn't have embedded cover art, album/folder cover image is used instead. If no
cover image is available, default background image is shown. Information about
current server, input and output buffer levels and current track is shown in the top left
corner of the screen.
Track-listing is shown in top-right corner of the screen with high-light of current track
and possibility to directly select a track. Volume adjustment is in the lower right corner
and can be adjusted by dragging from the the adjustment either up or down, or
alternatively by through slider control that can be opened by double-clicking the
volume control. Volume can be also operated using a mouse wheel when mouse
pointer is within the control.
Star-button can be used to control favorite status of the currently playing track.
Hotkeys
Client also supports various hotkeys for controlling playback and operation.
Key Description
Play Play/pause
PlayPause
Space
F8
Stop Stop
F6
Previous Previous track
Left
F7
Next Next track
Right
F9
Rewind Jump back 10 seconds
Forward Jump forward 10 seconds
RandomPlay Toggle random
Repeat Toggle repeat
VolumeUp Volume up +1
Up
F12
VolumeDown Volume down -1
Down
F11
1 Album view
F1
2 Play view
F2
3 Transport view (playlist editor)
F3
Metering
Metering can be enabled using the M switch in the bottom toolbar. This will replace the
cover image view with meter display.
Left channel meters are shown on the left side, right channel meters on the right side.
In top left corner of each channel is shown output level meters, where yellow line
indicates peak hold level, dark green peak-to-peak level and light green RMS level.
Numerical values are also shown.
Underneath is spectrogram display with time on horizontal axis and frequency on
vertical access. Color coding is used to display signal level (in dB) in the time-
frequency space. Highest level in yellow and lowest in black. Red marker in frequency
scale shows base rate’s Nyquist frequency (highest possible), while yellow markers
show subsequent sub-band Nyquist frequencies.
20 kHz filter can also be switched on/off at any time, it is useful for cleaning up fake
high-res content when such is observed through metering. It will place a sharp roll-off
filter at 20 kHz.
Spectrogram color scheme can be changed from the control panel (see below).
Control panel
Additional settings can be accessed through menu-button (three horizontal lines) to
see following kind of popup.
Settings view
Currently active mode, filter, dither/noise-shaper and sampling rate settings can be
viewed and changed using the settings popup dialog. These can be changed at any
time. Matrix profile can be switched at any time during playback as well.
In addition, phase inversion, adaptive gain, repeat (checked = current track, grayed =
all tracks), random playback order and currently active matrix profile can be changed.
Verbose metadata replaces some of the output format information with more elaborate
metadata display of current track. Elide left (default) allows track names to be
shortened from left instead of right when they don’t completely fit in the view. Album
view can be sorted in ascending (grayed) or descending (checked) release year order.
In addition, transparency of album and transport views can be controlled. Background
option generates color themed background image based on the current cover picture.
Prefetch (default) begins streaming next track before currently playing track finishes to
ensure gapless playback. Freewheel (default) will fetch entire track at full speed. It is
not always optimal on slower network links because it causes sharp network traffic
floods that may interfere with other things.
Auto play is used on Qobuz service to continue playing similar content automatically,
after the currently queued items have been played.
Login credentials of currently active service can be cleared using the button at the
bottom of the view.
above is the middle one. Views can be switched by flick gestures to left or right,
clicking the title bars on left or right with a mouse cursor, or by keyboard shortcut keys
1, 2, 3.
Library selection allows selection of backing music library. You can also select one of
the supported streaming services to browse and play music from a streaming service.
Currently supported streaming services are Qobuz and HRA Streaming by
highresaudio.com. Default view is My Albums, or new releases / top 50 in case My
Albums is empty. Search allows searching for content. On HRA Streaming service,
prefixing search string with character ‘?’ performs quick search action.
For local library, search strings of three characters or less are considered “begins with”
matches. Search strings longer than three are considered “contains” matches. Default
matching logic is logical “OR” operation, where match on any of the terms results in
positive match. By prefixing a word with a ‘+’ character, logic is changed to logical
“AND” operation for that item.
It is also possible to search for a specific type of item. Search string can be prefixed
with “album:”, “artist:”, “playlist:” or “track:”.
Genre selection works on local library, and on some selected streaming service
Clicking or tapping an album will select it for playback and return the view back to the
normal middle-view.
Double-click of an album will both load the album in transport and start playback.
Long-press on an album opens up following kind of popup window on album details.
From the album details view, album can be played immediately or queued for later
playback. Individual tracks can be also played immediately or queued for later
playback.
Album or track favorite status can be seen on, and changed, using the star button.
Clicking or tapping outside of the popup closes the popup window. Also Esc button on
keyboard closes the popup.
Going from left to right, there's an artist selection column, album selection column and
track selection column. The right-most column is the current playlist. Tracks can be
added or removed using the + and – keys below. Tracks can be also reordered by
using the up/down arrow buttons. Or the playlist can be cleared using the C button.
On top of the artist list, there’s a search entry for performing searches same way as
with the one in the album selection view.
Double-clicking an album, song or playlist entry will initiate immediate playback of the
item.
10. Troubleshooting
This chapter explains some known workarounds and things which you can try, in case
of problems.
10.3. Generic
You might want to check that your selected sound device has exclusive mode enabled
in endpoint properties.
With some buggy drivers it might also be necessary to change default format to match
the sample rate you are trying to use with HQPlayer.
11.1. HQPlayer
HQPlayer End User License Agreement
License Grant
The package contains software ("Software") and related explanatory written materials
("Documentation"). "Software" includes any upgrades, modified versions, updates, additions and copies
of the Software. "You" means the person or company who is being licensed to use the Software or
Documentation. "We" and "us" means Jussi Laako, Signalyst.
This Software is licensed, not sold. We hereby grant you a nonexclusive license to use one copy of the
Software on any single computer, provided the Software is in use on only one computer at any time.
The Software is "in use" on a computer when it is loaded into temporary memory (RAM) or being
executed in other ways.
Title
We remain the owner of all right, title and interest in the Software and Documentation.
Trial Version
Limited time trial license is provided solely for the purpose of verifying that the Software and
Documentation is suitable for You and performs as expected, before purchasing a license. As the trial
license is provided for verification purposes, there is NO WARRANTY or REMEDY. After the limited trial
time, You agree to either stop using the Software and Documentation or purchase a license if You want
to continue using the Software and Documentation.
Transfers
License is personal and You may NOT transfer any of your rights to use the Software or Documentation
to any another person or legal entity.
No Warranty
THIS SOFTWARE IS PROVIDED BY JUSSI LAAKO / SIGNALYST ''AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY, NONINFRINGEMENT, OR FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL JUSSI LAAKO / SIGNALYST BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR THE INABILITY TO USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
No employee, agent, dealer or distributor of ours is authorized to modify these terms, nor to make any
additional warranties.
Confidentiality
The Software contains trade secrets and proprietary know-how that belong to us and it is being made
available to you in strict confidence. ANY USE OR DISCLOSURE OF THE SOFTWARE, OR OF ITS
ALGORITHMS, PROTOCOLS OR INTERFACES, OTHER THAN IN STRICT ACCORDANCE WITH
THIS LICENSE AGREEMENT, MAY BE ACTIONABLE AS A VIOLATION OF OUR TRADE SECRET
RIGHTS.
General Provisions
1. This written license agreement is the exclusive agreement between you and us concerning the
Software and Documentation and supersedes any and all prior oral or written agreements, negotiations
or other dealings between us concerning the Software.
2. This license agreement may be modified only by a writing signed by you and us.
3. In the event of litigation between you and us concerning the Software or Documentation, the litigation
will be held in District Court of Länsi-Uusimaa, Finland.
4. This license agreement is governed by the laws of Finland and international treaties.
5. You agree that the Software will not be shipped, transferred or exported into any country or used in
any manner prohibited by the laws of Finland or European Union or any other export laws, restrictions
or regulations.
11.2. FLAC
Copyright (C) 2000-2009 Josh Coalson
Copyright (C) 2011-2023 Xiph.Org Foundation
- Neither the name of the Xiph.org Foundation nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
11.3. WavPack
Copyright (c) 1998 - 2023 David Bryant
All rights reserved.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
11.4. mpg123
HQPlayer Desktop uses unmodified version of libnpg123 library. mpg123 can be downloaded from
https://mpg123.de. Or alternatively from https://www.signalyst.com/src/mpg123-1.32.3.tar.bz2.
mpg123 is Copyright (c) 1995-2023 by Michael Hipp and others, free software under the terms of the
LGPL v2.1.
mpg123 is licensed under GNU Lesser General Public License version 2.1
There is an attempt to cover the actual list of authors in the AUTHORS file.
Project maintainer since 2006 is Thomas Orgis and many people have contributed
since the Michael Hipp era, but he stays the initial source and it would
All files in the distribution that don't carry a license note on their own are
licensed under the terms of the LGPL 2.1; exceptions may apply, especially to
files not in the official distribution but in the revision control repository.
11.5. ASIO
11.6. Qt
HQPlayer Desktop uses unmodified version of Qt library under commercial license. Qt can be
downloaded from http://www.qt.io/ .
Qt is Copyright © 2024 The Qt Company Ltd.
On some platforms Qt may be licensed under GNU Lesser General Public License version 3 with The
Qt Company GPL Exception 1.0.
Qt is a trademark of The Qt Company Ltd.
11.7. libmicrohttpd
HQPlayer Desktop uses unmodified version of libmicrohttpd library. libmicrohttpd can be downloaded
from https://www.gnu.org/software/libmicrohttpd/. Or alternatively from
https://www.signalyst.com/src/libmicrohttpd-0.9.77.tar.gz.
libmicrohttpd is Copyright (C) 2006-2023 Christian Grothoff (and other contributing authors)
libmicrohttpd is licensed under GNU Lesser General Public License version 2.1 or eCos License.
11.8. bs2b
Copyright (c) 2005 Boris Mikhaylov
11.9. Botan
Botan (http://botan.randombit.net/) is distributed under these terms:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
11.10. Trademarks
Signalyst is a registered trademark of Jussi Laako.
HQPlayer is a trademark of Jussi Laako.
All other trademarks are property of their respective owners.