OpenMMLA
OpenMMLA is an IoT-based multimodal data collection toolkit for learning analytics. It provides three pipelines, real-time speech recognition with speaker diarization (ASR), AprilTag-based indoor positioning (IPS) and vision-language video frame analysis (VFA), synchronized across base stations, stored in InfluxDB and MongoDB, and shown on a dashboard live and after the session.
- Documentation: https://openmmla.readthedocs.io
- Source code and issues: https://github.com/ucph-ccs/OpenMMLA
- Paper: https://doi.org/10.1145/3706468.3706525
Installation
This package provides the openmmla library and the mmla command line. Each pipeline has its own extra, so a machine only installs what it runs:
pip install "openmmla[asr-base]" # ASR base station
pip install "openmmla[ips-base]" # IPS base station
pip install "openmmla[vfa-base]" # VFA base station
pip install "openmmla[uber-base]" # analytics and session exports
pip install "openmmla[uber-server]" # dashboard backend and worker
pip install "openmmla[tui]" # management console
The pipelines and the management console run against a checkout of the repository, which holds the pipeline configuration bundles (pipelines/), the shared settings (config/) and the Docker compose files of the AI services (docker/). The recommended setup is therefore an editable install from the clone:
git clone https://github.com/ucph-ccs/OpenMMLA.git
cd OpenMMLA
conda create -n tui python=3.10 -y && conda activate tui
pip install -e ".[tui]"
mmla tui
See the documentation for the system prerequisites (conda, git, tmux, PortAudio, FFmpeg), the system services (InfluxDB, MongoDB, Redis, Mosquitto, Nginx, dashboard) and the pipeline guides.
Citation
@inproceedings{10.1145/3706468.3706525,
author = {Li, Zaibei and Yamaguchi, Shunpei and Spikol, Daniel},
title = {OpenMMLA: an IoT-based Multimodal Data Collection Toolkit for Learning Analytics},
year = {2025},
doi = {10.1145/3706468.3706525},
booktitle = {Proceedings of the 15th International Learning Analytics and Knowledge Conference},
pages = {872–879},
}
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file openmmla-0.2.0.tar.gz.
File metadata
- Download URL: openmmla-0.2.0.tar.gz
- Upload date:
- Size: 326.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
81964275694f54174ee6f78872f0757667afc47458747aa443a9222f10908400
|
|
| MD5 |
e14166b39b5579ceb31638dc33e1e253
|
|
| BLAKE2b-256 |
92c5542b6e30e23c1c89bf88959417945a673f7498a62231a536e15b86af5f82
|
File details
Details for the file openmmla-0.2.0-py3-none-any.whl.
File metadata
- Download URL: openmmla-0.2.0-py3-none-any.whl
- Upload date:
- Size: 390.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
da082757cdc070ae330fefff8baf9338dfb137dfbf7a3865371cb9907e21a1fa
|
|
| MD5 |
92a2eccbfa8bfede12f72d38da2c2498
|
|
| BLAKE2b-256 |
0c12c5422782bb7d4a80c786123c09908da326ab05c58af0a3b73ea48a74029a
|