libmls is a multi platform library that you can use to measure
frequency response of a
loudspeaker or a room using your computer and an ordinary soundcard. With
libmls you can do both MLS
(Maximum Length Sequence) and Sinus sweep measurements.
libmls is meant to be linked into a host application. The souce package
comes with a couple of sample programs that show how to use the library
in an application.
libmls is tested on Linux and Windows XP. On a Unix system you
can build libmls for OSS or
ALSA so you should be able to
build libmls on most Linux systems.
You need fftw2 or fftw3.
You also need the development packages for your sound subsystem. If you
are running Linux you should be able to get installation packages from
your distribution's installation media.
Please use the Sourceforge
download area. Be sure that you read the
README file carefully
so that you know how to set up your mixer for successful measurements. You also
need a good quality microphone to be able to get reliable results.
Please note that libmls currently is licensed under the terms of the GNU Public
License (GPL). This means that if you want to use libmls your program must also
be licensed with GPL or with a GPL compatible license. If this is a problem for you,
please contact the developers and we might work out a solution that fit your needs.
Then you should be able to compile the examples.
On windows we use static linking at the moment. There is a binary package on
the download page that you can download which contains executable example programs.
However, to be able to use this binary you have to get fftw3.dll from the
above fftw homepage.
If you want to use libmls in your own project you might have to compile it yourself.
If so, download the windows source package. The project is written in standard C++
so it should compile in most modern C++ compilers. Note that it is currently only tested
with the MINGW compilers running in MSYS on
The following is from the README file:
Mixer settings are very important for MLS testing. Run alsamixer to
adjust. All cards are different so I will try to generalise as best as
I can. The following tips about mixer settings applies if you use
OSS or if you use Windows too.
* Start by turning everything down to zero and also mute everything.
* Unmute master volume and turn up to 74%.
* Unmute PCM and turn up to 74%.
* For microphone tests, enable capture on the microphone channel but
LEAVE IT MUTED. Mic boost is optional.
* For impedance or line tests enable capture on the line channel but
LEAVE IT MUTED.
***Don't enable both microphone and line capture.***
* If there is an additional channel labelled Capture, also unmute it.
* Turn off ADC/DAC loopback or anything that resembles it.
As I said, all cards are different and you may have to experiment until
you get a good signal level and response.
Please report bugs on the mailinglist
or directly to a developer: dss at home dot se.