[mirtoolbox] Re: novelty question

  • From: Jens Hjortkjær <jenshj@xxxxxxxxx>
  • To: mirtoolbox@xxxxxxxxxxxxx
  • Date: Wed, 3 Nov 2010 22:05:13 +0100

Hi Olivier,
Thanks for your reply. I understand your point about the small kernel shape, but I have the problem with any size kernel (sorry if the example was badly chosen). For instance, using the default kernel size in the toolbox: 
fs=1000;
t=0:1/fs:20.999;
L=length(t);
y=[sin(2*pi*220*t(1:L/2)) sin(2*pi*319*t(L/2:L))];
a=miraudio(y,fs);
mirnovelty(a)
This also looks strange or at least different from the earlier version of the toolbox that I used (1.2.3). Is something changed in the implementation? 

Cheers,
Jens


On 03/11/2010, at 14.01, Olivier Lartillot wrote:

Hi Jens,

Thanks for the interesting question, and sorry for the late reply.

The strange behavior your observed is due to the fact that you use a very small kernel. Since it is a gaussian checkerboard kernel (gaussian meaning there that this matrix is windowed by a 2D Gaussian), for a 5-sample wide matrix, that kernel does not look like a checkerboard anymore so the 2D convolution operation performed in mirnovelty gets very approximate.

With a bigger kernel, you begin to see a peak after the node you mentioned. That particular node comes from the fact that just before the kernel is perfectly aligned to the transition (leading to the expected peak), there is an exaggerated mismatch between the expectation given by the kernel and what happens actually just before the transition.

Best,

Olivier

Jens Hjortkjær kirjoitti 21.10.2010 kello 9.35:

Hello all,

I just updated to mirtoolbox 1.3.1 and I'm a little confused about the output of the mirnovelty function. I seem to be getting inverted novelty scores: high when novelty is low and vice versa

Eg:

fs=1000;
t=0:1/fs:5.999;
L=length(t);
y=[sin(2*pi*120*t(1:L/2)) sin(2*pi*319*t(L/2:L))];
a=miraudio(y,fs);
mirnovelty(a,'kernelsize',5)

Here I have 0 at the change, rather than 1. I don't think I had this problem in earlier versions. Does anyone here have an explanation for this?

Cheers,
Jens


Other related posts: