[CLAM] Inquiry about chordextractor output file

Keiichiro Hoashi hoashi at kddilabs.jp
Fri Jan 14 03:42:29 PST 2011

Here's a little more detail about our environment.

Currently, we're running chordextractor on Windows XP w/ MinGW, so it's 
not the typical Linux environment.

Additionally, for some unknown reason, we cannot reproduce the error 
message I sent you in the previous e-mail. When we input the same MP3 
file to chordextractor, the message looks like this:

$ ChordExtractor.exe OR00104.mp3
[CLAM Plugins] Looking at path 'C:\Program 
[CLAM Plugins] Looking at path 
[CLAM Plugins]  Warning: could not open plugins dir: 
[CLAM Plugins] Looking at path '/usr/local/lib/clam'
[CLAM Plugins]  Warning: could not open plugins dir: /usr/local/lib/clam
[CLAM Plugins] Looking at path '/usr/lib/clam'
[CLAM Plugins]  Warning: could not open plugins dir: /usr/lib/clam
[CLAM Plugins] Looking at path '/opt/lib/clam'
[CLAM Plugins]  Warning: could not open plugins dir: /opt/lib/clam
[CLAM Plugins] Looking at path 'c:/Program 
Chord extraction v1.0.
Copyright 2006 Queen Mary University of London
Copyright 2006 Universitat Pompeu Fabra
Original algorithm by Chris Harte.
Ported to C++ by David Garcia Garzon and Katy Noland.

<?xml version="1.0" encoding="UTF-8"?>
   <Format>Mpeg Audio Layer 3</Format>
   <Encoding>Format Default</Encoding>
   <Endianess>Format Default</Endianess>
<?xml version="1.0" encoding="UTF-8"?>
   <Album>ヴォーカリスト 4</Album>
Frame size: 32768
Hop size: 4096

...and the program aborts.

The above phenomenon tends to occur when we input MP3 files over 5 mins, 
but not all long MP3 files behave the same.



(2011/01/12 22:38), David García Garzón wrote:
> No, it seems a latent bug. I will take a look at it. The full backtrace would
> be more usefull in this case. It should appear around that message, at least
> in linux, don't you? How long should the mp3 be to get that error?
> David.
> A Dimarts 11 Gener 2011 01:12:49, Keiichiro Hoashi va escriure:
>> Thanks :-)
>> We're encountering another problem w/ chordextractor. When inputting
>> relatively long MP3s, the program sometimes stops w/ this error message:
>> -----
>> At file /home/vokimon/CajitasDeArena/mingw/local/include/CLAM/Array.hxx
>> line 124
>> Array::Resize(): You cannot invoke this method on an array that does not
>> own any memory
>> Unable to adquire symbols names for the backtrace
>> -----
>> Is this a known problem? If so, how can we avoid this?
>> Regards,
>> KH
>> (2011/01/10 18:19), David García Garzón wrote:
>>> Fully right. :-)
>>> A Dijous 06 Gener 2011 13:31:49, Keiichiro Hoashi va escriure:
>>>> David,
>>>> Thanks for your prompt reply.
>>>> Let us check a little more detail about the XML file..
>>>> Here's a snippet from an XML file that was output by the chordextractor:
>>>> ---
>>>> <AttributePool name="Chords_Harte" size="1028">0.464399 0.835918
>>>> 0.835918 1.48608 1.48608 1.67184 1.67184 3.43655 3.43655 3.52943 ...
>>>> </AttributePool>
>>>> ...
>>>> <ScopePool name="ExtractedChord" size="514">
>>>>        <AttributePool name="Root">
>>>>          <Enumerated>G</Enumerated>
>>>>          <Enumerated>C</Enumerated>
>>>>          ...
>>>>        </AttributePool>
>>>>        <AttributePool name="Mode">
>>>>          <Enumerated>Major</Enumerated>
>>>>          <Enumerated>Major</Enumerated>
>>>>        </AttributePool>
>>>>        </AttributePool>
>>>>      </ScopePool>
>>>> ---
>>>> Based on our analysis, we're assuming that the above "Chords_Harte"
>>>> values indicate the start and end times (in secs) of each "segment".
>>>> Furthermore, we're also assuming that the chord extraction results
>>>> written in<AttributePool name="Root">   and<AttributePool name="Mode">
>>>> express the chords of each extracted "segment". For example, the first
>>>> segment of the above input song is from 0.464399sec ~ 0.0835918sec, and
>>>> its estimated chord is "G" + "Major". Is this understanding correct?
>>>> Sincerely,
>>>> KH
>>>> (2011/01/05 23:51), David García Garzón wrote:
>>>>> Not about the XML format itself but about the concepts used by the
>>>>> format (Segmentations, FrameDivisions, Attributes and Scopes)...
>>>>> http://clam-project.org/wiki/Manual_Annotator
>>>>> In short: Attributes are the data holders. They hold a value for each
>>>>> element of a given scope (each song, frame, or segment). There is a top
>>>>> level scope (Song) and then some special attributes define new scopes
>>>>> (FrameDivisions and Segmentations).
>>>>> You have two xml files:
>>>>> - description scheme: defines a collection of attributes and their
>>>>> properties: type, name, scope, documentation...
>>>>> - description data: holds the attribute values for a given song.
>>>>> At the end of the NetworkEditor tutorial there is an explanation of the
>>>>> data you can find in that concrete example:
>>>>> http://clam-project.org/wiki/Network_Editor_tutorial#Tonal_Analysis
>>>>> Also Chordata provides an interactive interface for all that:
>>>>> http://clam-project.org/wiki/Chordata_tutorial
>>>>> On Wednesday 05 January 2011 09:18:26 Keiichiro Hoashi wrote:
>>>>>> Hi,
>>>>>> Are there any documentations which explain about the format of the XML
>>>>>> output file of chordextractor.exe?
>>>>>> We have just started using CLAM a while ago, and are struggling to
>>>>>> find relevant info from the CLAM web page, wikis, etc...
>>>>>> Thanks in advance for any advice,
>>>>>> KH
>>>>> _______________________________________________
>>>>> clam-users mailing list
>>>>> clam-users at lists.clam-project.org
>>>>> http://clam-project.org

Keiichiro Hoashi, Dr. Eng.
Intelligent Media Processing Lab,
KDDI R&D Laboratories, Inc.
e-mail: hoashi[at]kddilabs.jp

More information about the clam-users mailing list