MCIpa: A music Content Information Player and Annotator for Music Discovery

Geoffroy Peeters, David Fenech, Xavier Rodet

Read the ISMIR08 paper about MCIpa

See the presentation of MCIpa at ISMIR08

See the poster presenting MCIpa at ISMIR08

MCIpa Screenshots


Main window. Left part: music track browser, right part: music database browser

Zoom on the music track browser.

Annotation on the music track browser

Download

Download MCIpa version 10.7 (requires Flash 9.0 plug-in)

Download the user documentation of MCIpa version 10.7 (avaiblable soon)

MCIpa XML Format file description

Top XML Format

This is the main file (the XML file to load in MCIpa); it contains pointer to the mp3 files and the various content description XML files.

< ?xml version="1.0" encoding="UTF-8"? >
< mcipa generator="*" version="*" date="*" />
< media>Tracy.mp3</media >
< similaritydescriptionfilemat > Tracy_sim.jpg </similaritydescriptionfile >
< structuredescriptionfile > Tracy_struct.xml </structuredescriptionfile >
< beatdescriptionfile > Tracy_beat.xml </beatdescriptionfile >
< chorddescriptionfile > Tracy_chord.xml </chorddescriptionfile >
< instrumentdescriptionfile > Tracy_instrument.xml </instrumentdescriptionfile > ;
< drumdescriptionfile > Tracy_drum.xml </drumdescriptionfile >
< /mcipadescription >

Similarity JPG

Describes the similarity matrix of the music track. This is stored as a JPG file for faster loading and display (an SDIF format has also been developped for this purpose).

Structure XML Format

Describes the structure of the music track. Hierarchical structure decomposition is allowed.

< ?xml version="1.0" encoding="UTF-8"? >
< mcipadescription generator="*" version="*" date="*" >
< media>Tracy.mp3</media >
< description type="structure" nbstate="2" dictionary="statenum" id="*" generator="*" version="*" date="*" >
  < segment start="1.784" stop="20.3861" label="1" id="*" />
  < segment start="20.9674" stop="38.9882" label="2" id="*" />
  < segment start="39.5695" stop="48.2892" label="1" id="*" />
< /description>
< description type="structure" nbstate="3" >
  < segment start="1.784" stop="20.3861" label="3" id="*" />
  < segment start="20.9674" stop="38.9882" label="2" id="*" />
  < segment start="39.5695" stop="48.2892" label="1" id="*" />
< /description>
< /mcipadescription>

Beat/ Measure position XML Format

Describes the beat position of the music track: position and beat number.

< ?xml version="1.0" encoding="UTF-8"? >
< mcipadescription generator="*" version="*" date="*" >
< media>Tracy.mp3</media >
< description type="beat" dictionary="beatnum" id="*" generator="*" version="*" date="*" >
  < marker start="0.45855" label="1" id="*" />
  < marker start="1.067100" label="2" id="*" />
  < marker start="1.675720" label="3" id="*" />
  < marker start="1.675720" label="4" id="*" />
  < marker start="1.675720" label="1" id="*" />
< /description >
< /mcipadescription >

Chord description XML Format

Describes the chord positions and labels of the music track.

< ?xml version="1.0" encoding="UTF-8"? >
< mcipadescription generator="*" version="*" date="*" >
< media>Tracy.mp3</media >
< description type="chord" dictionary="free" id="*" generator="*" version="*" date="*" >
  < segment start="0.0000000" stop="1.6671280" label="C" id="*" />
  < segment start="1.6671280" stop="2.6143598" label="CMaj" id="*" />
  < segment start="2.6143598" stop="4.1083732" label="Gmin" id="*" />
< /description>
< /mcipadescription>

Multi-pitch description XML Format

Describes the various notes in the track by their midinote, velocity and note channel.

< ?xml version="1.0" encoding="UTF-8"? >
< mcipadescription generator="*" version="*" date="*" >
< media>Tracy.mp3</media >
< description type="note" dictionary="midinote" id="*" generator="*" version="*" date="*" >
  < segment start="0.835828" stop="0.928707" label="37" track="1" velocity="76" id="*" />
  < segment start="0.742948" stop="0.928707" label="53" track="1" velocity="51" id="*" />
  < segment start="0.835828" stop="0.928707" label="56" track="2" velocity="77" id="*" />
  < segment start="1.114467" stop="1.207347" label="33" track="2" velocity="90" id="*" />
< /description>
< /mcipadescription >

Sound events description XML Format

Describes the various sound events occuring in the track. The sound events can be segments (instrument) or marker (drum).

< ?xml version="1.0" encoding="UTF-8"? >
< mcipadescription generator="*" version="*" date="*" >
< media>Tracy.mp3</media >
< description type="instrument" dictionary="free" id="*" generator="*" version="*" date="*" >
  < segment start="0.522426" stop="1.044875" label="po" id="*" />
  < segment start="0.928776" stop="1.277075" label="vc" id="*" />
  < segment start="1.149365" stop="2.089773" label="vc" id="*" />
  < segment start="2.252313" stop="3.285601" label="vc" id="*" />
  < segment start="2.832812" stop="4.504649" label="po" id="*" />
< /description >
< /mcipadescription >

< ?xml version="1.0" encoding="UTF-8"? >
< mcipadescription generator="*" version="*" date="*" >
< media>Tracy.mp3</media >
< description type="drum" dictionary="free" id="*" generator="*" version="*" date="*" >
  < marker start="0.189" label="bd" id="*" />
  < marker start="0.189" label="hh" id="*" />
  < marker start="0.793" label="sd" id="*" />
< /description>
< /mcipadescription >