[mirtoolbox] Re: questions and problem

  • From: Olivier Lartillot <olartillot@xxxxxxxxx>
  • To: mirtoolbox@xxxxxxxxxxxxx
  • Date: Wed, 26 Feb 2014 17:34:41 +0200

Dear Eduardo (and thanks Mike),

I won't be able to release 1.6 before April, I guess. I can send a preview of 
it in private.

mirflux computes the distance between successive frames, so it is logical that 
there is N-1 points if there were initially N frames. We cannot generally 
expect that there would be a silent frame afterwards.

Concerning your bug, maybe you have a problem with your Matlab Path? And what 
is that input WaveFileNames(file).name?

Best,

Olivier

On Feb 25, 2014, at 5:07 PM, Eduardo Coutinho wrote:

> Thanks for the reply, Mike. The picture is the same: with a 2s sound file 
> (same windowing parameters) there's no output for flux and only 1 value for 
> roughness (and others). With a 4s soundfile, flux outputs 2 values and the 
> other functions 3.
> 
> I think that I understand the reason for this: the functions may just be 
> discarding the last window due to the fact that it falls outside the length 
> of the data. I tested this by reducing the window size to 1s and indeed it 
> works. I would expect nevertheless that the function would output the last 
> time point using  a window size spanning from the middle of the previous 
> window (I am using 0.5 overlap) to the end of the file. For flux it also 
> works fine, although, as expected it always outputs one less value. Perhaps 
> this could also be overcome by calculating the flux between the last window 
> and 0 (silence). 
> 
> Olivier: are these assumptions correct?
> 
> Regards,
> Eduardo.
> 
> 
> On 24 Feb 2014, at 20:43, Mike Winters <Raymond.Winters@xxxxxxxxxxxxxx> wrote:
> 
>> I don't think I have an answer to your second question, but maybe a good 
>> strategy would be to use a smaller sound-file (i.e. 1 or 2 seconds).  What 
>> happens then?
>> 
>> 
>> On Mon, Feb 24, 2014 at 11:10 AM, Eduardo Coutinho <lists@xxxxxxxxxxx> wrote:
>> Dear MIRtoolbox Users (and Olivier),
>> 
>> (I already sent this message to the list last week, but it seems that it was 
>> not distributed. Apologies if you receive it multiple times)
>> 
>> My first question is when the Tempo 1.6 measure will be released. Olivier: 
>> any idea about this? 
>> 
>> My second question is about the output of various functions in frame mode 
>> (in my case I use mirflux, mirtempo, mireventdensity, mircentroid, and 
>> mirroughness). I am using the  following command: 
>> mirflux(WaveFileNames(file).name,'Frame',2,'s',1,'Hz') - time frame length 
>> 1s with overlap (this example if for mirflux about applies to other 
>> functions too). Basically if I have a sound file with a duration of 165s I 
>> get outputs of length: 163 (mirflux,mireventdensity), 164 (mircentroid, 
>> mirroughness,mirtempo). For mirflux I would expect one less value (i.e. 164) 
>> because it computes the difference between consecutive frames, but not what 
>> 163. Am I missing something? By the way: when I use PsySound with the same 
>> files the length of the output is as expected.
>> 
>> I am also having some problems with the functions mirtempo and 
>> mireventdensity on the MIR Toolbox 1.5 (which are related). I am using 
>> Matlab R2013a (8.1.0.604) on Mac OS X Mountain Lion. Details below. The 
>> problem does not happen if I use Matlab R2010a 7.10.0.499.
>> 
>> Any help is very much appreciated.
>> 
>> Thanks and best,
>> Eduardo.
>> 
>> 
>> mireventdensity
>> 
>> I get the following error:
>> 
>> Undefined function 'mirenvelope' for input arguments of type 'mirdesign'.
>> Error in mironsets>init (line 378)
>>         y = mirenvelope(fb,option.envmeth,option.band,...
>> Error in mirfunction (line 61)
>>         [orig type] = init(orig,during);
>> Error in mironsets (line 339)
>> varargout = mirfunction(@mironsets,x,varargin,nargout,specif,@init,@main);
>> Error in mireventdensity>init (line 36)
>>         x = mironsets(x,'Klapuri99', 'Frame',option.frame.length.val,...
>> Error in mirfunction (line 61)
>>         [orig type] = init(orig,during);
>> Error in mireventdensity (line 30)
>> varargout = 
>> mirfunction(@mireventdensity,x,varargin,nargout,specif,@init,@main);
>> 
>> when runnig the command:
>> AudioAnalyserObject = 
>> mireventdensity(WaveFileNames(file).name,'Frame',2,'s',SR,'1');       
>> 
>> mirtempo
>> 
>> I get the error:
>> 
>> Undefined function 'mirenvelope' for input arguments of type 'mirdesign'.
>> 
>> Error in mironsets>init (line 378)
>>         y = mirenvelope(fb,option.envmeth,option.band,...
>> Error in mirfunction (line 61)
>>         [orig type] = init(orig,during);
>> Error in mironsets (line 339)
>> varargout = mirfunction(@mironsets,x,varargin,nargout,specif,@init,@main);
>> Error in mirtempo>init (line 305)
>>         x = mironsets(x,option.fea,'Filterbank',option.fb,...
>> Error in mirfunction (line 61)
>>         [orig type] = init(orig,during);
>> Error in mirtempo (line 279)
>> varargout = mirfunction(@mirtempo,x,varargin,nargout,specif,@init,@main);
>> 
>> when calling: 
>> AudioAnalyserObject = 
>> mirtempo(WaveFileNames(file).name,'Autocor','Frame',2,'s',1,'Hz');
>> 
>> 
>> 
>> 
>> 
>> -- 
>> R. Michael Winters
>> Input Devices and Music Interaction Lab
>> Center for Interdisciplinary Research in Music Media and Technology
>> Schulich School of Music, McGill University
>> www.idmil.org/people/r._michael_winters
> 

Other related posts: