About this website
If you’d like to print the whole FAQ, click on ‘expand all’ and then, you can print with your browser’s printing function.
- very complete for professionals but simple enough for amateurs !
- a procedure that avoids mistakes to obtain valid graphs and easy to compare to others
- MMM measurement is completed with other signals to check amplitude but also phases
- the MMM method gives results nearer to what is really perceived than other methods
- the target correction is automatically processed from your measurement
- target can be finely adjusted
- advanced FIR correction is calculated for the processor or software you are using
- this is the only method that is optimised for separated channels but also for channels driven simultaneously : this is much better in low frequencies
- a full report is available in .png pictures
- with just one sound file, a full set of analysis and graphs is calculated and gives a very complete view to understand the room and loudspeakers and their interaction, and a good base to calculate corrections to better your listening experience
- various people getting exactly same graphs give the possibility to easily compare different setups
- extensions to 7.1, 9.1.4, 22.2, Atmos,… systems will come, including DCP sound files
- you may even use your phone and mic to record
MMM is a measuring method with a microphone moved by hand near the listening place : response obtained with this method gives a reliable representation of audibility.
The most complete infos about MMM method, I published it a long time ago…
Other readings :
Who else is using MMM ?
Kali Audio, see MMM in video : https://www.youtube.com/watch?v=6RiuwqzjqlQ
https://www.erinsaudiocorner.com/loudspeakers/ interesting because for loudspeaker tests, MMM (called Moving Mic Average by Erin) is compared to Klippel’s results : it proves that MMM is very comparable to Harman’s In-Room or CEA-2034 prediction based on anechoic measurements.
The test track is a sequence of various signals that are choosen to permit all analysis seen on the graphs :
- start sequence with synchronisation signal and identification frequency
- log sine sweeps (Farina signal) for impulse responses, spectrograms, wavelets, distortion,…
- short bursts for timing analysis
- pink noises for MMM for independant channels and simultaneously. The pink noise is in conformity with SMPTE standard ST-2095-1, see also here : https://www.ohl.to/archives/395
- if you set level so that the starting voice is at at reasonable level (like a person speaking in the room), the level of the sweeps will be near 75dBC, the pink noise per channel will be between 75 and 80dBC and the simultaneous pink noise on both channels between 80 and 85dBC.
- at the end, there is another sync signal used to compensate for any mismatch between player and recorder clocks
- Without registering, you are a visitor and you can see Measurements and read FAQ.
- Registering is completely free and gives you member status and access to pages “Upload recording“, “My measurements” and “My profile“.
- When registering, you will have to fill a field “Company or Title”. This will be the name of the main folder for all your measurements, images and subdirectories. The folder structure will be : \title\studio\date\ with dates automatically added and “Studio or reference” being a field to complete when uploading a recording. Having dates helps you to check evolution of performances in time and see any degradation.
- Please note that the field “Company or title”, can only be related to one user and cannot be used later by another user (unless they are from same company, then please ask us). You cannot use a company name for which you have no rights : your account may be terminated without notice.
- Accepted are alphabets, numbers, underscore “_” and spaces (but no space at beginning or end and no consecutive spaces). Avoid accents or special characters in “Company or Title” and “Studio or reference”.
- Do not forget to finalize registration by clicking on the link in the mail you’ll receive.
- When you are registered, you can use the “Upload recording” form to test if your recording file is accepted and valid.
- If everything is ok, you can buy a plan to get the full results
Better measurements can give better corrections : generally when you EQ based on a measurement that is not conform to what we hear, the correction may worsen the listening experience ! That’s why we think MMM is a safe and reliable way to mesure and base correction.
Indeed, it works for any stereo or 5.1 setup with any loudspeaker brand or model : activ or passiv loudspeakers, closed, vented box or OB, multiway or single driver, compression driver and horns, etc…
In near future, other setups such as 7.1 or Atmos 7.1.4 will also be added.
It is not our job to recommend some brands. But generally the best loudspeakers come from companies that publish complete technical datas. Just check their websites…
REW, ARTA, Rephase,… are very nice measurement or correction softwares. But both need some know-how to get valid results. This takes time. And it is difficult to compare between various audio sytems because so many parameters can be different.
Loudspeakers.audio method is quicker, the process gives results that are valid and comparable to others users measurements. But this website and REW, ARTA,… can be nicely complementary.
Really recommended, complete and easy to understand:
The best information comes from Audio Engineering Society, some information is free but you need to register and pay a yearly fee to have access to the whole library.
Very recommended about FIR correction is Denis Sbragion DRC documentation.
Some ideas, but might take some time :
- check and improve performance metrics
- allow more time at start for recorded file
- import other mic calibration files
- export EQ for IIR parametric filters (?)
- multichannel analysis for 7.1, 9.1.4, Dolby Atmos, DTS-X,…
- solve usb problems that we have in some cases
If you have any good idea, just drop me a mail support(at)loudspeakers.audio
My own web site is www.ohl.to and I’m working in audio for many years, especially in pro audio. I have calibrated hundreds of professional studios, stereo to Atmos and DTS-X, for mixing rooms, movie theaters, broadcasters, post-production and mastering studios, but also some hifi systems. I’m a long time member of the AES and participating to the working group SC-04-08 (Working group on Measurement and equalization of sound systems in rooms). I also have been product manager for the launch of compactDisc in 1982 and later, Managing Director of Revox-Studer in France.
Quite a long time ago, I published on my website, the presentation of MMM a measurement technique now used by many and which is the basis fof loudspeakers.audio method.
This web site is only to used for acoustics measurements and audio related topics. Uploading other kind of pictures is forbidden and the user may be banned without notice.
If you have questions or problems, or a just good suggestion, please send a mail to support(at)loudspeakers.audio
18 december 2023 :
- now an automatic link to private folder is set for previous and new users in the Use-your-Drive plugin
17 december 2023 :
- for a few days, the uploads were moved in a wrong folder so they were not processed anymore ! This has now been solved but it took some time to relink private folders to their owners.
5 november 2023 :
- impulse responses sweepirL1, sweepirR1,… together with targetdrc.txt are exported in the correction48/REW folder. This can help to simulate parametric equalisation in REW.
28 october 2023 :
- solved a bug when audio file was only numbers with operations, ie 30-09-23 (name was calculated to -2 !)
11 september 2023 :
- solved a cache problem when more than one user were uploading at same time, the destination folder could be the wrong one !
- corrected PORC error : correction file was allways 4096taps at 48kHz (or 8192tpas at 96kHz) instead of correct value for choosen processor
17 august 2023 :
- added MiniDSP Flex in the processor list : the bin correction files can be found into the 96kHz folder with 2042 taps (equivalent length is 1021 taps at 48kHz). Flex total FIR is 4096taps with a minimum of 6 taps per channel so max correction in stereo is 2042 taps per channel.
27 may 2023 :
- added PORC Python Open Room Correction in minimal phase and for stereo systems. For 5.1, it will be added later.
26 avril 2023 :
- preparing for PORC (Python Open Room Correction), a bug was introduced last week with microphone calibration, this has been solved today. Those who uploaded files within last days may reload to get correct results (differences are mainly in high frequencies). PORC should be ready in a few days but I don’t expect very different results from the actual DRC.
- PRIVATE plan has been temporarly stopped due to some regex problems ;)
28 february 2023 :
- corrected a bug that sometimes wrote “Valid Umik found” instead of channels count ! This avoided DRC calculation.
30 january 2023 :
- added a PRIVATE plan
- added Stripe for payment and donation
10 december 2022 :
- correction on the Dolby Atmos Music target
19 november 2022 :
- avoid showing some errors on server that could block process queue
15 november 2022 :
- correction of a bug of calculation for bright and warm targets
05 november 2022 :
- correction of larger time drifts, up to 2000ppm instead of 200ppm (Redbook max is 100ppm)
- improved target calculation in case of non monotonic reverberation time
30 october 2022 :
- adding few samples of silence at start of minphase correction files so that Sox resampling works correctly
24 october 2022 :
- resampling to other frequencies (44.1, 88.2 and 96kHz) are now of higher quality (Sox VHQ instead of HQ)
21 october 2022 :
- new feature when adding SEPARATED, COMMON, IPC in studio/title to force different modes of correction. With no option, the HYBRID mode is used.
18 october 2022 :
- added output of correction files at various frequencies (44.1, 48, 88.2 and 96kHz)
17 october 2022 :
- bug fix : in p1 of graphs, the LR black curve was wrongly displayed on frequency scale. Seems that this bug was introduced on october 14th.
- added a test feature to calculation of differential phase correction : add IPC in the Studio title and the phase correction will be separatly calculated in low frequencies
23 september 2022 :
- modified hybrid correction for a better result with assymetrical setups where L and R have noticeable different responses in low frequencies (mean calculations are now in dB instead of voltages)
12 september 2022 :
- added subfolders wav/bin/json/wav-stereo/REW into correction folder to separate correction formats
- stereo correction wav file was two times right channel : corrected
24 august 2022 :
- fixed : when choosing “none” in processor list, correction was not computed, even if “measure and correct” was choosen
- added some new lftargets : 100,200,300,400,600
- correction files min and lin hybrid are also available in stereo now
07 august 2022 :
- fixed startup of program on server in case of unattended restart of computer
05 august 2022 :
- fixed a recent bug that avoided use of the microphone calibration file
18 june 2022 :
- forced an automatic restart/logon of the computing server in case of mains failure (this happened from time to time in the lasts weeks !)
09 june 2022 :
- in some cases, when new files were uploaded while a file is processed, a “missing file” error could occur because some path was modified and could block the whole files queue ! A correction is done that, hopefully, should avoid this major problem.
06 may 2022 :
- even less phase correction at lower frequencies by reducing window size
29 march 2022 :
- improved linphase correction with less phase correction on bass frequencies (using shorter windows for phase calculation). Amplitude difference between linphase and minphase is also much reduced now in lower frequencies.
19 march 2022 :
- correction of comparative delay which could be wrong when record had to be resampled
07 march 2022 :
- changed table “List by model” : ordering of colums changed and score is now showed
05 march 2022 :
- bug solved when a field contained ‘ or ” (quotation marks)
26 february 2022 :
- solved a bug in NBD Narrow Bandwidth Deviation calculation for multichannel 5.1 : the resulting score was too low
7 february 2022 :
- solved (hope so…) a very problematic bug : when a measurement was uploaded before another one was completed, the second one could be stucked and never completed
29 january 2022 :
- better estimation of channels difference for correction level adjustment : level is now checked only above 200Hz (it was measured with B weighting before)
26 january 2022 :
- a bug on correction level was introduced two days ago : solved
25 january 2022 :
- much improved speed for conversion of IR to .json output files for Xilica and QSys
24 january 2022 :
- a little improvement on correction in the highest frequencies
23 january 2022 :
- added export of correction to .json format directly valid for QSys and Xilica Solaro
- renamed LFtarget choices 0/3/6/9 to 100/103/106/109
21 january 2022 :
- corrected a problem when a folder was deleted by user during the process
- added 0/3/6/9 dB choices on LFtarget to improve low frequency response especially when the FIR filter has less than 3072 taps
13 january 2022 :
- improved calculation of inter-channels level correction
12 january 2022 :
- corrected bug in the “volume” and “distance” display on graph pages p0 and p1
11 january 2022 :
- did a lot of code cleaning and some changes on various graphs
23 december 2021 :
- within last month, there was a bug in the phase measurement where phase graphs scale was wrong and DRC linear phase correction was not optimised for phase (amplitude was fine)
20 december 2021 :
- moved from Gnu Octave v5 to v6, and from Gnuplot graphics toolkit to qt toolkit : had to adapt many graph parameters
- in p7, graph simulated “C6 step response after hybrid linphase correction” is wrong but i’m working on it
07 december 2021 :
- changed range of spectrogram graphs S19 and S20 of p4 from 37dB to 30dB
- modify steps plots in page p7 because of a bug in display
04 december 2021 :
- changes in correction plots : added step responses before/after correction in page p7, corrected graphs in p8 depending on number of taps
05 november 2021 :
- if for some reasons, the graphs are no calculated and shown, I’m working to give the user comprehensive reasons.
03 october 2021 :
- I think that the Google problem and stucked graphs are solved but for now, you can only upload one file in a Studio at a given date.
23 september 2021 :
- a real bug that sometimes avoided calculation of graphs was due to inconsistencies between Google sync and the Windows shell : sometimes the shell did not update changes. A bypass has been found and I hope it completely solves the problem.
17 september 2021 :
- added “Dolby Atmos Music” as a new option for the target
10 september 2021 :
- changed target .txt file to target.drc because the .txt could in certain cases be erroneously used as mic correction file
21 august 2021 :
- improved compensation of player and recorder clocks
- target files are now exported in “My measurements” folder so one can use the target with other softwares
03 june 2021 :
- added mismatch compensation of player and recorder clocks (only use LA2v3 files for now)
20 may 2021 :
- .json correction files are reformatted so to be used directly by QSys and Xilica processors
18 may 2021 :
- Changed centering of response on S1 of page 1 because mic cal is now included. Centering is only calculated under 11.5khz so it should not change a lot but it may slightly change performance values.
17 may 2021 :
- Changed page 6 (p6) validity test to page 0 (p0) with eventually error messages. This p0 is plotted even if record is not valid.
12 may 2021 :
- Changes in crosscorrelation should solve some rare cases when sync signal was missed and analysis was skipped.
09 may 2021 :
- solved :) a vicious bug that appeared only when target at some frequencies had decimals
- solved : in some cases, room volume and distance were not shown on graph p1
08 may 2021 :
- no more crash due to : mic cal files with phase, non monotonic cal files or cal files with blank lines
07 may 2021 :
- solved some login problems due to SSL with not secured content (such as new images from new measurements)
05 may 2021 :
- there were many problems when sending wrong files (ie not conform calibration files, more than one recorded file at same time,…) so I’ve be trying to avoid that workflow gets stuck and no user gets his files !
- some badly formatted calibration files are automatically replaced by flat response in process
25 april 2021 :
- added “noenhanced” mod in gnu octave script to avoid characters enhancements with _ in names
22 april 2021 :
- in case of no mic cal file, the response could have a 10dB shift : corrected
- recording files are now accepted in stereo for .wav, .flac and .aiff
21 april 2021 :
- added pages “Howto” and “Graphs explained”
15 april 2021 :
- slightly changed some parameters in the delay of lin phase correction
- cleaning of parameters of the upload form (recording, microphone cal,..) to get rid of problems that could avoid the process of the uploaded files
10 april 2021 :
- improvements in accepted mic calibration files, ie last line can now be blank
9 april 2021 :
- changed conditions for distance : now accept both “.” and “,” before decimals, max 4 characters instead of 3
- if files are uploaded with a non valid form, blank fields are filled with default values in the calculation software
7 april 2021 :
- correction of graphs S13 and S14 various gatings, that had an error with mic correction
31 march 2021 :
- corrections for SMPTE, AES, B&K have been added for 5.1
30 march 2021 :
- changes in LF target : in Auto Music mode, the real target being L+R, its value is set at +3dB above the choosen LFtarget. Also changed LFtarget values in form.
27 march 2021 :
- modifications of performance rating calculation
23 march 2021 :
- added B&K as target in the Upload Recording form
19 march 2021 :
- bug correction : in some cases, measurements and/or correction files were L/R unbalanced by a few dB
13 march 2021 :
- changed some “correction” graphs (with y axis +-18dB instead of +-9dB) so to better cope for various measurements and also, for clarification, deleted some graphs
08 march 2021 :
- changes in the measurements list, down on page “Measurements” which was resetted to blank when starting new software version !
- improvements in page 1 of graphs so that responses are better centered to 0dB
06 march 2021 :
- changed some LF targets : you need to fill again this field in the form when uploading in same studio/reference
- correction of some bugs
The method is very stable. To check it, just do some successive measurements and compare. We encourage to also measure at different levels to check consistency of your setup and your corrections.
In case you see differences in low frequencies, this may come from some conditions that have varied between measurements : are doors and windows allways in same positions, opened or closed ?
Question frequently arises : how large should you scan around listener head position ? Move in all directions, even height, but avoid to be too near of a reflecting surface, ie stay a bit higher than the back of the chair.
I would scan within about +-15° off axis, that is nearly 50cm in all directions for a loudspeaker at 2m and 100cm at 4m.
Remember that for a home audio system, the MMM scan is mainly to smooth out reflections and not to average for more listeners.
When you adjust the sound level so that the voice is nearly same as a speaking women in your room, the level of sweeps is between 75 to 80dB SPL(C), pink noise on one channel is also about 75 to 80dB(C) and with both channels together between 80 to 85dB(C). This gives you an indication at which level distortion is measured.
For many people, most curves and graphs are not so easy to understand so some of you have asked about a simple performance rating. We have tested the ratings proposed by Sean Olive in AES papers 6113 and 6190 but for some reasons, it was not totally satisfying. Those ratings are based on anechoic room measurements extended to Predicted In Room results. With our method, we only measure InRoom values and we have to quantify performance based only on those real measurements.
We get the score from three main factors :
- SM_IRR SMoothness of InRoom Response between 125 and 11500Hz : the proposal of Olive is not very intuitive (Pearson coefficient) and this value is not used by us
- NBD Narrow Band Deviation of InRoom Response between 125 and 11500Hz (6.5 octaves) : measured surface difference between 1/20th octave curve and 1/2 octave curve, so it is not related to target and general slope
- WBD Wide Bandwidth Deviation of frequency response from target curve : it is a value based on area difference (so related to variance) between the measured response and the target response between 125 and 11500Hz
- LFD Low Frequencies Deviation is based on area difference between the measured response and the target response between 25 and 125Hz (2 octaves) but calculated on a linear frequency scale. We use a linear scale because we consider that problems at the high part of this frequency range are more audible and problematic than at the vey low frequencies. Note that this low frequencies target is flat under 80Hz, so it not not exactly same as the LF target defined in the Upload form
- please notice that the displayed mean value is the lowest of L and R values or L, C and R in case of multichannel
Global performance rating = 0.25*NBD + 0.4*WBD + 0.35*LFD
It is important to understand that the rating is only based on measured amplitude response and is missing other factors that may influence audible quality : max levels, directivity, distortions, phase and time response, etc… So be carefull when you compare ratings of different systems, ie the highest may not be the best ! But compare numbers before/after equalisation/correction is certainly valid.
If field “Measure and correct” is validated, subdirectory “Correction” is created to contain.wav files for FIR correction, respectively Left and Right in linear phase and minimal phase : xxx-hyblinL.wav, xxx-hyblinR.wav, xxx-hybminL.wav, xxx-hybminR.wav. Those files can be directly used for corrections.
Pages p7 to p9 are also created.
|Separated C1 measurements L and R and also L+R (C2 black)
|FIR corrections C3 calculated from L, R and L+R and hybrid corrections C4 (same in lower frequencies and separated above)
|C5 Phase correction
|Simulated responses of L, R and L+R after FIR correction : C7 for separated corrections and C8 for hybrid correction
|p8 Simulated ETC energy-time curve after correction for pre-echo visualisation