SourceForge Logo Logo

Locations of visitors to this page

MARF, The Modular Audio Recognition Framework, and its Applications

Copyright © 2002 - 2008 The MARF Research and Development Group

What is MARF?

MARF is an open-source research platform and a collection of voice/sound/speech/text and natural language processing (NLP) algorithms written in Java and arranged into a modular and extensible framework facilitating addition of new algorithms. MARF can run distributedly over the network and may act as a library in applications or be used as a source for learning and extension. A few example applications are provided to show how to use the framework. There is also a reasonbly detailed manual and the API references in the javadoc format as the project tends to be well-documented. MARF and its applications are released under a BSD-style license and is hosted at and its project page can be found here.

Points of Contact

Last update: $Date: 2007/12/09 18:00:45 $, $Revision: 1.80 $, by: $Author: mokhov $



Development Releases

Old Stable Releases


MARF 0.3.0 [.6] - 0.3.0-final, Current Development

0.3.0-devel-20060715, Saturday, July 15, 2006

The minor release of the test applications as a refresher with to be consistent with other apps released before.


0.3.0-devel-20060226 (, Sunday, February 26, 2006

The fifth and the last -devel release of the 0.3.0 series is out. The next one is planned to be the final and before the development moves to the 0.4.0 series.

This release had a strong emphasis of completion of the first working draft of the NLP code and the corresponing apps to be released to the public for the first time. Also a four semi-serious bugs were fixed a long the way, some of which were quite long standing. Large number of refactoring and code documentation went in The applications released for the first time include ZipfLaw, LangIdentApp, ProbabilisticParsingApp, TestNN, and TestPlugin. The former three are NLP-oriented, and the latter two test NeuralNetwork and the plug-in unfrastructure of MARF. The SpeakerIdentApp and MathTestApp were also released due to bug fixes and some major code changes. The other older applications had only very minor revisions, so they were not included in this release and should still work with the new MARF. If you, however, notice that they don't work for you or there is demand for them to be released now, that can be done. Please open a request for this. See more in the Release Notes and ChangeLog.

Bug fixes:

As of MARF, there are several .jar files being released. Their number may increase based on the demand. The different jars contain various subsets of MARF's code in addition to the full and complete code set that was always released in the past. The below is the description of the currently released jars:

Every released tarball (either .gz or .bz2) and .jar is accompanied by an .md5 checksum for integrity; if you care verify integrity after download. The -bin tarballs include all binary jars, non-developers API documentation, and the manual along with some other docs. The -src taballs include all the sources of the code and docs The -doc has the compiled manual and API docs along with other smaller files The -bundle has all -bin, -src, and -doc combined.


0.3.0-devel-20050817, Wednesday, August 17, 2005

This is the 4th intermediate development release of MARF 0.3.0-devel-20050817 that is mostly maintenance that addresses a couple of bugs in the utility package and a few new features. All other previously released applications in 0.3.0-devel-20050730 and 0.3.0-devel-20050606 should still work with this release of MARF. The new features include addition of the plug-in interface for filters IFilter and overall completion of the plug-in framework for the preprocessing, feature extraction, and classification module types. OptionProcessor's got a new API of size() and getArgumentVector(). FFT came more customizable through the class interface and ModuleParams facility. All concrete Serializable classes got an explicit serialVersionUID, as recommended by the Java specification. See more in the Release Notes and ChangeLog.

If you are using one of these classes, please note of the critical bug fixes:


0.3.0-devel-20050730, Saturday, July 30, 2005

This is the 3rd intermediate development release of MARF 0.3.0-devel-20050730 that is mostly maintenance that addresses a number of bugs in a few math, utility, and storage modules and a few new features. There are documentation improvements WRT javadocs, the applications, class diagrams and other information. Due to updates to the speaker database and some storage work, the binary training files were updated. An important incompatible change from the previous release that affects all of MARF is the rename of the getRevision() and INTERFACE_CODE_REVISION API to getMARFSourceCodeRevision() and MARF_INTERFACE_CODE_REVISION respectively to avoid name clashes in the application or otherwise user code that may use these common names. The applications released along with this version of MARF are SpeakerIdentApp (updated speaker database and usability improvements), MathTestApp (more rigorous testing of the marf.math code), and TestLoaders (a new application for generalized testing of all sample loaders). All other previously released applications in 0.3.0-devel-20050606 still work with this release of MARF. See more in the Release Notes and ChangeLog.

If you are using one of these classes, please note of the critical bug fixes:


0.3.0-devel-20050606, Monday, June 6, 2005

This is the 2nd intermediate development release of MARF 0.3.0-devel-20050606 that features quite a lot of new things in the functionality and the source code and corrects a nasty bug (and a few minor ones) in the MARF module. There are considerable Storage Management improvements and refactoring, Makefile Build System completion, and new marf.nlp, marf.Stats, and marf.util code. Documentation improvements WRT javadocs and the applications. Due to massive Storage work, the binary training files will not be compatible with the previous releases. A new set is provided instead. See more in the Release Notes and ChangeLog. NOTICE, there are more applications available exercising different aspects of MARF that didn't manage to get into this release, and will be released later. They are in the CVS however.


0.3.0-devel-20040614, Monday, June 14, 2004

[BUG]: NOTICE: this release has a bug in the main module that prevents setting preprocessing modules other than Dummy (normalization). Please use the follow-up release, or apply a patch.

Intermediate development release of MARF 0.3.0-devel-20040614 features a number of new things in the source code including implementation of the Mahalanobis Distance classifier, Storage Management refactoring, Build System improvements, and new marf.util, marf.math, and marf.gui.util code. Documentation improvements. Due to massive Storage work, the binary training files will not be compatible with the previous releases (0.2.1 and below). See more in the ChangeLog.


MARF 0.2.1, Monday, February 17, 2003

Both MARF and SpeakerIdentApp "experienced" 0.2.1 release due to a small bug in the app, missing files in the previous distro, and somewhat out-of-date doc. files in places. This all believed to be brought back up-to-date with 0.2.1.

The app also includes marf-0.2.1.jar within itself (the -bundle and -bin tarballs) just to make it possible to run it almost "right out of the box" with one download.


MARF 0.2.0, Monday, February 10, 2003

This release is a huge improvement over 0.1.2. There are new features added, bugfixes, and performance improvements. A more solid documentation is also there. With this release we are not a school project anymore.


MARF 0.1.2, December 17, 2002 - Final Project Deliverable

This release includes improvements since our December 8 demo as well as the final report and API documentation.


MARF 0.1.1, December 8, 2002 - Demo

The only release as of now is what we presented during the demo, December 8, 2002.


Please click here to see the stats.

End of Story

Valid XHTML 1.0! Support This Project