The music player was developed with a single goal in mind: The highest possible playback quality via loudspeakers. To achieve this, two components from the high-end sector are used: A measurement program that measures the characteristics of the speakers in interaction with the listening room and a correction program that uses the results. Digital filters are used to compensate for a large proportion of the problems caused by the listening room and loudspeakers. You can think of this digital room correction or DRC as a further development of the equalizer.


The player is self-explanatory. When you start it for the first time, it takes a measurement of the listening room. To do this, the microphone of the Android device must be located where the ears normally are. The app then plays test signals and calculates the room correction automatically. All default settings are set to "reasonable" values to the best of our knowledge and belief. If you have developed a taste for it and would like to intervene manually, you can find the corresponding documentation here.

Basic functionality of the DRC and its realization in the player

Setting the DRC parameters

Preconditions (what cannot be corrected)

The basic rules for speaker placement should be taken into account. DRC corrects typical room influences, not gross errors in speaker placement or insulation. Clapping hands should not produce reverberation that is thrown back and forth between the walls like in a bathroom.

The sense of hearing reacts to the direction from which reflections come, whereas measurement microphones do not have a directional characteristic. Although the DRC can compensate for reflections with a certain sound propagation time and corresponding distance, it has at best an indirect influence on an unbalanced directional distribution of reflections. Strong reflections on the side walls, for example, create acoustic mirror images: The instrument will be localized behind the wall, where it would be seen with an optical mirror. It is not the task of the DRC to compensate for such effects (by means of correction signals from a completely different direction).

The path difference between the direct and reflected signal determines whether cancellations or amplifications occur at the listening position (details). Depending on where the reflection occurs, this difference may or may not depend on the listening position: only if not can DRC work for several listening positions. Large differences can be expected in reflections from the side walls if the listening positions are next to each other on a couch, for example. After all, the reflected sound has to travel completely different distances depending on the listening position. By contrast, little or no differences are to be expected in the case of reflections within the loudspeakers themselves or between loudspeakers and very close walls behind them. The direction from which the reflection comes is also more favorable here. Systematic improvements with DRC are only possible in the second case.

In practice, DRC can even "deform" a chaotic wave pattern in a reverberant bathroom to create a more pleasant auditory impression; similar to how a car with a poor-quality, worn chassis is improved at the limits of traction by electronic stability control. However, strong reflections, e.g. on the side walls, will remain perceptible thanks to our ability to hear direction.

As requirements increase, attention should also be paid to thin (plasterboard) walls or window panes. Plasterboard can be doubled up. In our own experience, replacing old 3 mm thick window panes with 12 mm is clearly audible. In the professional sector (recording studios, cinemas, etc.), extreme effort is invested in the building structure. In many private listening rooms, initial, decisive improvements would be possible at a manageable cost.

Intuitively, it is clear that resonating objects are more difficult to control than rigid walls. Technically speaking, they not only have a complex impedance instead of a real resistance, but also store energy, which leads to an excess phase. Experience has shown that theoretical considerations as to which of these could be controlled by DRC are of little use - for example due to the directional distribution mentioned above. In addition, the conditions may change depending on the temperature, humidity, open or closed doors or other changes in the room: Such an "outdated" DRC can even worsen the sound.

DRC only works for linear, time-invariant (LTI) systems. Bass boosts with unsuitable loudspeakers can easily lead to non-linearities and should therefore be handled with care. Similarly, background noise, overtones caused by distortion or resonating objects, unintentional (minimal) changes in listening positions, fluctuations in air temperature, draughts, etc. cannot be corrected.

The technical background assumes that temporal changes in the playback system do not play a role. However, such effects can occur and should therefore be deliberately avoided: If a bass loudspeaker plays two tones simultaneously, for example 20 Hz and 1 kHz, the pitch of the 1 kHz tone fluctuates depending on the direction in which the diaphragm is currently moving when the 20 Hz tone is played. If the amplitude of the 1kHz signal is also distorted by the different positions of the diaphragm, particularly unpleasant additional signals with 1kHz +/- 20Hz are created by non-harmonic distortion. (Web search "IM distortions", "intermodulation distortions" for more). Subwoofers that take over the 20 Hz part can help. Such effects can also occur with reflections from elastic surfaces, e.g. plasterboard.

Which frequency range should be corrected and how?

The Frequency response of a typical listening room is dominated by different physical effects. A distinction can be made between 4 ranges for the DRC, the limits of which can be estimated from the reverberation time and the dimensions of the room:
Longest room axis [cm]   the other two axes [cm]    
Reverberation time T_60 [s]  

Please enter values and [Calculate]. Requires Javascript.

Pressure Zone The room behaves like a pressure chamber in this area, the conditions are almost the same at all listening positions. In car hi-fi, this is the dominant effect in the entire bass range. Almost all experts agree that the use of DRC practically always brings considerable improvements here. Of course, different speakers must not be inadvertently corrected so that they work against each other. In the app, the "Mono" control can be used for this purpose.

Room Modes Regardless of the calculated Schröder frequency, this range will certainly be well below 300 Hz, more likely around 150 Hz (details). DRC can be very helpful here, but must be based on a suitable design of the listening room (see above). The sound pressure in practically any room has peaks and dips in certain places and at certain frequencies. Peaks can be easily eliminated as long as all listening positions are similarly affected. Dips, on the other hand, cannot (see below).

Mixed range: In the frequency response, this approx. 2-octave wide range can be recognized by the fact that the isolated, clearly visible humps caused by room modes overlap more and more. DRC can significantly improve the stereo panorama in this area, human voices appear almost tangible. However, overcorrection can lead to an unfree, non-open, metallic sound image. The app's default settings are very conservative, i.e. mainly fluctuations in the frequency response are smoothed out so that measurements with a cell phone microphone also deliver improvements. With a measurement microphone, frequency-dependent windowing, work on the target curve, sound field measurements, experiments with smoothing and separate processing of the excess phase, the results can be significantly improved again.

DRC works best for several listening positions if the paths of the sound to them differ little. "Little" refers to the respective wavelength. The path from the wave node to the wave top is 1/4 of the wavelength, so in the bass range at 25 Hz "little" means "less than 3.4 m", at 50 Hz "less than 1.7 m". Accordingly, it is important to consider what can be corrected at this frequency. Reflections on the side walls probably not very good, reflections within the loudspeaker cabinets or on the rear walls more so: The detour of the sound via the reflection on the side wall will often differ by more than 1.7m per listening position, whereas the detour within the speaker or via the rear wall will not.

At 500 Hz, 1/4 of the wavelength is only 17 cm, which is the order of magnitude of the ear distance. A microphone in the center of the head would therefore be wrong for both ears. The only thing that does not change with different listening positions is the electronic or electromechanical characteristics of the speakers and their interaction with the immediate surroundings (floor, wall): Fortunately, damping is considerably less complex in this area and therefore offers an ideal complement. DRC can only counteract the general tendencies of the room. This can also achieve considerable improvements: In particular, by equalizing the frequency responses of the right and left channels, a much more stable and clearer stereo panorama is created.

The app works with FDW (Frequency Dependent Windowing) to cover the different requirements of the areas: High frequencies are only corrected over the first few centimeters of sound travel time (i.e. within the speakers), while low frequencies are corrected over longer paths. Ten wave trains (500 ms at 20 Hz to 10 ms at 1 kHz window width) are a typical value, the (conservative) default settings are at slightly lower values.

The direction from which a sound event is perceived in this range depends strongly on when the corresponding very first sound waves hit both ears. This is why some authors recommend excess phase corrections for the first wave trains [Mitch Barnett] [James D. (jj) Johnston].

Absorbtion/Reflection In the range above 500 Hz, it is no longer the room that is corrected, but rather the loudspeaker. Even high-priced loudspeakers without enclosures and crossovers (electrostats, magnetostats, various dipoles) almost always have audible and correctable resonances. Physically, in contrast to the room [Neely 1979], this area often has almost minimal phase. Less energy is stored and correspondingly fewer wave trains need to be brought under control. This simplifies the correction and makes the result more stable and predictable. Nevertheless, practically the same problems can occur as in the "mixed range". Opinions differ as to whether DRC should be used here.

Setting options

Filters can be tested and edited via the main menu / [FILTER] / Select a filter. The actual editing is opened from there via [EDIT DRC] / ⚙ or [DRC]. ⚙ mainly changes the display, but influences the result indirectly by selecting the frequency dependent windowing parameters, [DRC] influences the result directly.

Range: The two controls determine the frequency range (left control Bass , right control Treble ...from) in which the correction is to take place (see previous chapter). At both ends, the correction values remain constant at the respective last value of the correction range.

Mono: The two controls determine the frequency range (left control Bass , right control Treble ...from) the correction is to be made in mono. This can be useful in the bass range if one speaker would otherwise be driven considerably higher than the other due to unfavorable positioning. It can be useful in the treble range if only the (identically constructed) speakers and not the room are to be corrected. "Mono" refers to the correction, the program material is not converted to mono.

Allow Peak [dB]: The higher the value, the more weak areas are compensated, but the earlier the saturation level is reached.

Dips in the frequency response are caused either by cancellations, or because the energy occurs there as (inaudible) kinetic energy (velocity). An attempt to compensate for such dips by adding even more energy would further worsen the result. To compensate for a dip (i.e. a narrow point with a lower level) in the frequency response, the level there would have to be increased accordingly. The power amplifiers and loudspeakers would then deliver correspondingly more power in a single narrow band. They would only be pushed to their limits there much earlier than in the rest of the frequency spectrum. The achievable maximum level would therefore decrease accordingly: The power handling of a 100 W loudspeaker would drop to an average of 10 W after compensating for a 10 dB dip, and to 1 W at 20 dB. Narrow dips can therefore not be compensated electronically. The control allows you to set the maximum extent to which peaks in the DRC may be above the average (in dB). If in doubt, the correction should not be exaggerated.

Target Curve Target frequency response. Edit TC allows you to adjust the selected curve individually. The result can either be saved only for the currently edited filter or as a new house curve to be available for other filters as well.

In most cases, no linear frequency response is aimed for. Rather, the bass range is typically raised by a few dB up to approx. 80 Hz . The higher frequencies are lowered to avoid a "dentist's drill effect": The room absorbs high frequencies more strongly. If an attempt is made to compensate for this natural effect by artificially boosting it, the listening impression is reminiscent of a dentist's drill.

Master tapes are usually mixed for approx. 80 dB reference level. The "normal curves of equal volume levels" of the healthy ear show that at this volume, a sound of 30 Hz must be approximately 20 dB louder than a sound of 1 kHz in order to be heard at the same volume. At 100 dB this value falls to 15 dB, at 50 dB it rises to 30 dB. It is similar in the treble range. Those who prefer to listen quietly will therefore probably prefer a target curve with a significantly higher bass and treble range, while those who listen loudly will prefer a flat target curve. (Web-Search "Equal Loudness Contours ", "loudness function"). In addition to the ready-made target curves, personal home curves can also be defined.

Button [EQ] Equalizer, Bass Boost

Features of the Android system (not the player). They are offered in virtually any player. In addition to conforming to expectations, the advantage is the effect in real time: the settings can be heard immediately - without having to create a filter.

FDW (Frequency Dependent Windowing)

When discussing the different frequency ranges, FDW was introduced. The associated settings are made via the ⚙ menu. First, the number of frequency bands and their respective range in Hz must be determined. The associated duration can then be set for each band. For example, the first band could go (from 0) to 50 Hz, the second to 100, etc. The associated durations could then be set, e.g. 200 ms for the first band. At 50 Hz, 10 wave trains or 69 m of sound propagation would be recorded. At 20 Hz there were still 4 wave trains left. Some manufacturers use significantly longer filters (1 second) to control room resonances, others use shorter ones [audiosignal 1991].

In any case, measuring the frequency response in the bass range requires more time than in the treble range for the same resolution (per octave). Ultimately, a certain number of wave trains have to be recorded, which naturally takes 1000 times longer at 20 Hz than at 20 kHz.

A typical spectrogram of a living room also shows, that the high frequencies decay faster than that low ones. However, the first wave trains have the greatest importance for the sense of hearing. In addition, the smoothing of higher frequencies only in the immediate vicinity of the speakers makes sense (see above), and what cannot be corrected should not be corrected. “Waveform fidelity” should generally not be aimed for.

Smoothing 1/8 octave is a good start.

The unsmoothed frequency response has a large number of dips starting at approx. 1 kHz, which shift when the microphone is moved a few centimetres. Correcting such comb effects with DRC is not only pointless, but also worsens the auditory impression with an unnatural spatiality due to the associated phase shifts. The ears follow the "specatal envelope", i.e. an envelope of the frequency response near the maxima. The details are controversial. Widely accepted theses: Peaks are more important than dips. The first incoming sound of a sound event is more important than reflections. Octave smoothing (setting 1/1 octave) is too inaccurate most of the time. 1/3 octave could be enough.

In my opinion, 1/3 octave smoothing does not usually provide an optimal result. According to this logic, it would also be sufficient to intonate only 3 notes per octave on a piano, as long as the average volume is correct. Room resonances can also be much narrower in bandwidth, and trained ears can hear up to 0.5 dB difference in volume with a bandwidth far below 1/3 octave [audiosignal 1991]. Fluctuations should therefore be more precise for good compensation. However, steep control curves can also cause problems due to the associated phase behavior, which has been an important issue in loudspeaker construction for decades. In this respect, a narrow-band control should only be used if it does not lead to a "too comb-like" control curve. The documentations [Denis Sbraion], [Toole 2020] provide an overview of these relationships.

Min Phase, Linear Phase, Excess Phase

Loudspeakers and the room can be seen as "filters", as they filter out certain frequencies from the sound spectrum. The DRC acts as a "counter-filter". Mathematically, all of these filters can in turn be seen as a combination of two (partial) filters: A minimum-phase filter and an all-pass filter. Only the minimum-phase filter is responsible for the frequency response. It is designed to store as little energy as possible in order to deliver the required frequency response. The output of this filter has a lower latency than that of any other (causal) filter with this frequency response. The delay must therefore be taken over by the all-pass filter, which in turn does not change the frequency response.

For mathematically compelling reasons, only a causal "counter-filter" can be found for the first filter. Non-causal filtering is technically possible; it generates an output before an input signal is present. In practice, of course, this is not done by clairvoyance, but by a small delay in the signal chain, which gives enough time to "cheat" the corrections into the signal before the actual signal. This may or may not work: if too much correction is necessary, the "cheated-in signal" becomes audible before loud passages (drums) as so-called preringing, "boom" becomes "TschBumm". In [audiosignal 1991] the different approaches of various manufacturers to this topic are described in detail (as of 1991, still readable but before FDW). The app offers several pre-configured switching options:
[mp] - only the minimum-phase component is corrected. The result is therefore also minimum-phase and therefore strictly causal, there is no preringing.
[soft] - a limited non-causal portion is permitted in the filter.
[full] - complete filtering. If it works without audible preringing and without a weird, unnatural three-dimensionality of the sound, this is certainly the best setting.
[lin] - Linear-phase filtering (phase constant 0). Not causal, but symmetrical and without phase shifts. The technically simplest variant, therefore often found. For comparison purposes and special cases.

The first, mandatory part in the phase of a filter is referred to as the minimum phase component. The entire remaining portion is referred to as the excess phase. If you are more interested, a web search for "all-pass filters" provides a good introduction to the topic. Such filters only change the phase, not the amplitude. They therefore have no minimum phase, only an excess phase.

Test (Player and buttons FR, IR, BURSTS)

You can switch between 2 VERSIONS of the filter for all tests. This allows the consequences of the settings to be compared directly.

Third-party software

The app allows the import of DRC files from third-party software. The files must be in .wav format or be available as raw data.

Import from Speaker Setup or RA Meter: All log sweep measurements from other Hifi-Apps products can be imported. When the player is opened for the first time, the app automatically calculates an initial DRC for each imported directory. This can then be optimized manually.

DRC.exe von Denis Sbragion can be used to calculate the DRC after the measurement has been taken with the app

  • Prerequisite: At least one measurement must have been carried out or imported with the app.
  • Select [FILTER] in the main menu, then [EDIT] for a filter whose measurement data is to be used. (The measurement data is decisive. So if there are several filters for the same measurement data, it does not matter which one is selected).
  • Select [IM/EXPORT] at the bottom
  • Select a directory as the storage location. The export is stored there in a subdirectory "export_for_drc_exe__48000_xyz". 48000_xyz represents the sample rate of the measurement (not the filter!) and the name of the filter.
  • Copy the directory to a PC (Windows, probably portable to other OS: DRC contains sources in C)
  • export_for_drc_exe__*/readme.txt contains information about downloading and installing DRC. After installing DRC, the contents of this directory must be copied to the DRC directory tree as described.
  • Execute runme.bat there (by double-clicking in Explorer or in an input window at the command prompt). The calculation takes a few minutes. The calculation steps displayed are repeated for each channel, sample rate and configuration (no endless loop).
  • DRC stores the results in a directory import_me_48000_xyz (48000_xyz are again example values).
  • Copy this directory to the Android device and click [IM/EXPORT]. The app uses the directory name to check that the import belongs to the previously exported data
Several different filters are created to provide an initial insight into the possibilities of DRC. The corresponding different parameters come from the different control files used, such as soft-48.0.drc, normal-48.0.drc, extreme-48.0.drc, where 48.0 represents the sample rate of the filter (not the measurement!). The newly created filters are given the names "soft", "normal" and "extreme" accordingly.

Note: The filters are created in different sample rates to avoid resampling during playback.

Acourate von AudioVero e.K. Dr. Ulrich Brüggemann can be used to measure and to create DRC files.

  • Select the desired measurement in the Acourate directories and only save the Cor*.dbl files in a new directory (not Pulse* etc.).
  • Copy this directory to the public area of the Android device, e.g. to the folder /Music
  • On the Android device, select [FILTER] in the main menu of the app, then [IMPORT] (bottom), [IMPORT DIRECTORY]
  • Select the directory with the Cor*.dbl files. Android must offer an option of the type [USE THIS FOLDER]. If not, go back one directory level and select the directory again.
  • The Cor*.dbl files are raw data, i.e. they contain no information as to how the app should read their content. Therefore, a corresponding selection of "read types" appears (floating point numbers, integers...). One of the imported files can be examined there (as a representative of all). The dialog contains a quick guide. Select "DOUBLE IEEE/54 64 Bit" and "Little Endian" and confirm with [OK]. The app then uses this format for all files in the import.
  • Use the listing to check whether the files have been recognized correctly.
  • Give the import a name and save it with [SAVE PERMANENTLY].

Import of raw data from third-party software is described above using the example of Cor*.dbl from Acourate. Such raw data does not contain any meta-information such as sample rate, format of the numerical material, etc. Therefore, the file name must contain certain information: "L" or "R" for the stereo channel for which the correction is intended and strings such as "44", "48", "96" for the sample rate. The number format of the content can be specified during import. The details are displayed in the app.

Export of the songs: The audio material optimized with DRC can be exported as a file. This enables playback with high-end devices such as network players: One option is to connect the Android device as an external drive to the source of the network player. The songs are then read out as files and playback takes place via the network player without the sound engine and without the D/A converter of the Android system.

Since apps of the currently supported Android versions can only write data to the external storage after confirmation ("scoped storage"), an explicit user action is required:

Call up the song menu. "Export".


[audiosignal 1991] Reproduced from Studio Sound, unknown issue 1991 Digital room equalisation

[Denis Sbraion] "DRC: Digital Room Correction"

[James D. (jj) Johnston] James Johnston Serge Smirnov, "Acoustic and Psychoacoustic Issues in Room Correction"

[Mitch Barnett] Mitch Barnett, "Understanding the State of the Art of Digital Room Correction", YouTube Kanal "Accurate Sound" (Dauer 1:50:40)

[Toole 2020] Some comments from Floyd Toole about room curve targets, room EQ and more

[Neely 1979] Stephen T. Neely a) and Jont B. Allen "Invertibility of a room impulse response" Acoustics Research Department, Bell Laboratories, Murray Hill, New Jersey 07974 (Received 6 July 1979) PACS numbers: 43.55.Br, 43.45.Bk