src/spectral/phasevoc.c: set scaling to 1./3 if hop_s = win_s / 8, .5 otherwise
authorPaul Brossier <piem@piem.org>
Thu, 28 Apr 2016 17:39:10 +0000 (19:39 +0200)
committerPaul Brossier <piem@piem.org>
Thu, 28 Apr 2016 17:39:10 +0000 (19:39 +0200)
src/spectral/phasevoc.c

index 61c0c0f..ea149c8 100644 (file)
@@ -120,7 +120,13 @@ aubio_pvoc_t * new_aubio_pvoc (uint_t win_s, uint_t hop_s) {
   pv->hop_datasize = pv->hop_s * sizeof(smpl_t);
 
   // for reconstruction with 75% overlap
-  pv->scale = 2./3.;
+  if (win_s == hop_s * 4) {
+    pv->scale = 2./3.;
+  } else if (win_s == hop_s * 8) {
+    pv->scale = 1./3.;
+  } else {
+    pv->scale = .5;
+  }
 
   return pv;