About the project
The Musical Motion Database is being developed to provide data to an international community of researchers. The idea behind this is simply that by sharing such data, other researchers than the authors can have access to and work with data on music related actions.
Objectives
- Identify requirements regarding lab workflow and storage of large amounts of research data
- Develop software tools to enhance the lab workflow
- Implement a database solution for sharing and maintenance of musical motion projects
Outcomes
A database is not just a technical implementation of a database system, but also a workflow definition and a collection of tools to prepare data for storing, sharing and analysis, hence the outcomes of this project are not limited to database technologies. The following subsections gives an overview of the most important tools that are being developed to facilitate workflow and data preparation.
Database
The Musical Motion Database is being implemented in Ruby on Rails with Hobo. Currently it runs on the Centos 5.6 operating system with the Passenger module on Apache web server. The current version of the database runs on Ruby 1.9.3 with Rails 3.1.4 and Hobo 1.4 --pre7. This setup supports all modern browsers including IE7 and newer.
The current version of the Musical Motion Database allows the user to a upload a project folder that contains project files and a text file that indicates the owner of the project. A project is automatically created the next time the owner logs in to the database, and the project owner can then fill in descriptive information about the project. The project info is then used as a basis for a site wide search to make it easy for visitors to find a particular project or a collection of projects that matches the search keywords.
Database related tools
The C3D-to-TSV converter iterates over a binary C3D file and converts to a human readable TSV-file. The TSV format is also a nice format for many of the analysis tools that are currently in use in our lab. Since we also have several different system with a varying degree of export options and a diverse implementation of the C3D format we decided to make a file converter that make sure that all conversions get the same end format. The C3D-to-TSV converter is written in Ruby and should run on any OS that supports Ruby 1.9.3.
The video converter became a necessity in our lab, since our main system for MoCap activities is Qualisys QTM. QTM records video in the AVI-format, which leads to huge video files that are not very easily managed. Students might want to transfer their video recordings onto their personal computer, and in such cases it is not very practical to have unnecessarily large files. The media converter takes a directory as input and converts AVI files to mp4. The media converter is running on our Windows based QTM computer as a CMD-script that controls FFMpeg via Ruby. The script is made available system wide by adding it to the Windows context menu. However, it runs on any system that support and have FFMpeg and Ruby installed.
The metadata generator is at the moment implemented in the fourMs Database and runs each time a project is uploaded. Basically it checks every file for content type and insert file info into the database when each file is registered. This works fairly well, and it allows us to update the metadata model without requiring users to update their scripts.