MARF
Modular Audio Recognition Framework (MARF) — программная исследовательская платформа с открытым исходным кодом, созданная Сергеем А. Моховым[1], написанная на Java и предназначенная для работы с алгоритмами обработки звука, речи, голосовых сообщений, распознавания речи, а также естественного языка (NLP). Программный комплекс реализует модульную и расширяемую архитектуру для упрощения добавления новых алгоритмов. В настоящее время проект неактивен; последнее обновление кода датируется 2015 годом[2].
MARF может использоваться в качестве библиотеки в различных приложениях, а также в качестве платформы для обучения и создания собственных модулей. Для демонстрации возможностей фреймворка предоставляется несколько примеров, доступна подробная документация[3] и javadoc-совместимая справка по API в онлайн-формате[4]. MARF, его приложения, исходные коды и сопроводительная документация распространяются на условиях лицензии BSD.
Общие сведения
| Modular Audio Recognition Framework | |||
|---|---|---|---|
| Тип |
распознавание образов, искусственный интеллект, обработка сигналов, фреймворк |
||
| Автор | Сергей А. Мохов | ||
| Разработчики |
Serguei A. Mokhov, Stephen Sinclair, Ian Clement, Dimitrios Nicolacopoulos, The MARF Research and Development Group |
||
| Написана на | Java | ||
| Интерфейс | Интерфейс командной строки, Графический интерфейс пользователя | ||
| Операционная система | любая ОС с установленной JVM | ||
| Первый выпуск | 8 декабря 2002 | ||
| Аппаратная платформа | Java Virtual Machine | ||
| Последняя версия | 0.3.0.6-devel-20151006 (6 октября 2015) | ||
| Репозиторий | sourceforge.net/projects… | ||
| |||
| |||
| Состояние | архивный | ||
| Лицензия | BSD | ||
| Сайт | marf.sourceforge.net | ||
История и статус проекта
Проект был задуман в 2002 году[5] Сергеем А. Моховым из Университета Конкордия при участии Стивена Синклера (Stephen Sinclair)[6]. Первый публичный выпуск, демонстрационная версия 0.1.1, состоялся 8 декабря 2002 года[7]. Через девять дней, 17 декабря, вышла версия 0.1.2, обозначенная как «финальная версия проекта» (Final Project Deliverable)[7][8]. Последним стабильным релизом считается версия 0.2.1 от 17 февраля 2003 года, так как все последующие выпуски носили статус разработческих (development)[7][9].
В период с 2004 по 2007 год была выпущена серия промежуточных версий для разработчиков (-devel), направленных на тестирование и добавление нового функционала. Ключевыми релизами в этой серии стали 0.3.0-devel-20040614, 0.3.0-devel-20050817 и snapshot-0.3.0-devel-20070108[7].
В настоящее время проект неактивен и считается заброшенным[10]. Последнее обновление кода (версия 0.3.0.6-devel-20151006) датируется 6 октября 2015 года, а основные научные публикации, описывающие фреймворк, вышли в период с 2007 по 2009 год[11]. Репозиторий исходного кода MARF размещён на платформе SourceForge, где код доступен через систему контроля версий CVS или в виде архивов для скачивания[7].
Архитектура
MARF спроектирован на основе модульной и расширяемой архитектуры, что позволяет использовать его как в качестве библиотеки в сторонних приложениях, так и в виде самостоятельной платформы для исследований. Ключевой целью такой архитектуры является упрощение добавления, подключения и тестирования новых алгоритмов обработки и распознавания аудио, речи и текста. Программный комплекс, включая исходные коды и документацию, распространяется на условиях свободной лицензии типа BSD.
Платформа полностью написана на языке Java. Этот выбор был обусловлен бинарной переносимостью (позволяющей запускать фреймворк на любой операционной системе с установленной JVM) и упрощённым управлением памятью, что дало разработчикам возможность сосредоточиться на алгоритмах[12]. Фреймворк поставляется в виде JAR-файлов, а его API документирован в стандартном для Java формате Javadoc. Хотя ядро системы реализовано на Java, на странице проекта также упоминается использование IDL, Perl и Unix Shell для вспомогательных задач. Существуют также научные работы по созданию специализированного языка программирования MARFL, предназначенного для написания скриптов для приложений на базе MARF[13].
Возможности
Интерфейсы
MARF является программным фреймворком, а не конечным приложением, поэтому он не имеет единого пользовательского интерфейса и предназначен для использования в качестве библиотеки или основы для исследований. Платформа поддерживает несколько режимов взаимодействия:
- Интерфейс командной строки (CLI) — основной способ взаимодействия для выполнения задач без графической оболочки.
- Графический интерфейс пользователя (GUI) — фреймворк включает компоненты, созданные с использованием библиотек Java AWT и Java Swing, что позволяет разрабатывать приложения с графическим интерфейсом. В качестве примера был создан прототип GUI для мониторинга состояния сервисов MARF[14].
- Неинтерактивный режим (демон) — MARF может работать в фоновом режиме как служба (daemon), обрабатывая задачи без прямого вмешательства пользователя.
Поддерживаемые форматы файлов
Фреймворк способен обрабатывать несжатые аудиоданные. Основным поддерживаемым форматом для чтения является WAV[15]. Поскольку MARF написан на Java и, предположительно, использует стандартную библиотеку Java Sound API, также вероятна поддержка форматов AIFF и AU.
В процессе работы MARF может создавать файлы различных типов для сохранения обработанных данных и результатов анализа. Фреймворк сохраняет аудио в формате WAV, а также генерирует файлы XML (например, для конфигурации нейронных сетей), текстовые файлы (TXT) и собственные бинарные файлы для хранения обученных моделей. Отмечается, что бинарные файлы могут быть несовместимы между разными версиями фреймворка.
Системные требования
Поскольку MARF полностью написан на языке Java, он является платформонезависимым и не имеет строгих аппаратных требований. Основным системным требованием для запуска фреймворка является наличие установленной виртуальной машины Java (JVM). Согласно документации, для работы подходит JDK версии 1.4.* и выше[16].
Так как фреймворк был разработан в начале 2000-х годов, его требования к ресурсам считаются крайне скромными по современным меркам, и любая современная компьютерная система многократно их превосходит[17][18].
Примечания
- ↑ Serguei A. Mokhov. Concordia University. Дата обращения: 3 ноября 2025.
- ↑ Modular Audio Recognition Framework. SourceForge. Дата обращения: 3 ноября 2025.
- ↑ MARF, The Modular Audio Recognition Framework, and its Applications: Programmer's Manual (англ.). marf.sourceforge.net (26 августа 2007). Дата обращения: 22 июня 2024. Архивировано 4 марта 2016 года.
- ↑ MARF Developers' API (англ.). marf.sourceforge.net. Дата обращения: 22 июня 2024. Архивировано 3 марта 2016 года.
- ↑ The Modular Audio Recognition Framework (PDF). core.ac.uk. Дата обращения: 3 ноября 2025.
- ↑ The Modular Audio Recognition Framework (MARF) and its Applications. Semantic Scholar. Дата обращения: 3 ноября 2025.
- ↑ 1 2 3 4 5 Modular Audio Recognition Framework. marf.sourceforge.net. Дата обращения: 3 ноября 2025.
- ↑ MARF, The Modular Audio Recognition Framework, and its Applications: Final Report (PDF). marf.sourceforge.net. Дата обращения: 3 ноября 2025.
- ↑ MARF News. SourceForge. Дата обращения: 3 ноября 2025.
- ↑ Modular Audio Recognition Framework. Open Hub. Дата обращения: 3 ноября 2025.
- ↑ The Modular Audio Recognition Framework (MARF) and its Applications: A Review and the New E-Learning and E-Health Paradigms. arXiv.org. Дата обращения: 3 ноября 2025.
- ↑ MARF, The Modular Audio Recognition Framework, and its Applications: Programmer's Manual (англ.). marf.sourceforge.net (26 августа 2007). Дата обращения: 3 ноября 2025. Архивировано 4 марта 2016 года.
- ↑ MARFL: An Intentional Programming Language for MARF (PDF). Concordia University. Дата обращения: 3 ноября 2025.
- ↑ MARF Service Status Monitor GUI Prototype. ResearchGate. Дата обращения: 3 ноября 2025.
- ↑ The Modular Audio Recognition Framework (MARF) and its Applications: Scientific and Software Engineering Notes. ResearchGate. Дата обращения: 3 ноября 2025.
- ↑ MARF, The Modular Audio Recognition Framework, and its Applications: Programmer’s Manual (PDF). marf.sourceforge.net. Дата обращения: 3 ноября 2025.
- ↑ wir35/marf. GitHub. Дата обращения: 3 ноября 2025.
- ↑ Getting started with Java. refreshjava.com. Дата обращения: 3 ноября 2025.
Ссылки
- Modular Audio Recognition Framework (англ.). MARF, The Modular Audio Recognition Framework, and its Applications. Дата обращения: 22 июня 2024. Архивировано 5 марта 2016 года.
- S. M. Bernsee. The DFT à pied (англ.). The DFT à pied. Дата обращения: 22 июня 2024. Архивировано 23 марта 2016 года.
- O'Shaughnessy, Douglas. Speech Communications. — IEEE Press, Нью-Джерси, США, 2000.