shithub: aubio

Download patch

ref: a07fdb4424cffba1d6f77f1779e3eec410307042
parent: f8c54520a18a4a5127cd297e6f4f161e7a352f43
author: Paul Brossier <piem@piem.org>
date: Tue Oct 30 08:53:49 EDT 2018

[tools] add release_drop option to aubionotes

--- a/examples/aubionotes.c
+++ b/examples/aubionotes.c
@@ -21,6 +21,7 @@
 #include "utils.h"
 #define PROG_HAS_PITCH 1
 #define PROG_HAS_ONSET 1
+#define PROG_HAS_NOTES 1
 #define PROG_HAS_SILENCE 1
 #define PROG_HAS_JACK 1
 // TODO add PROG_HAS_OUTPUT
@@ -80,6 +81,12 @@
     if (aubio_notes_set_silence (notes, silence_threshold) != 0) {
       errmsg ("failed setting notes silence threshold to %.2f\n",
           silence_threshold);
+    }
+  }
+  if (release_drop != 10.) {
+    if (aubio_notes_set_release_drop (notes, release_drop) != 0) {
+      errmsg ("failed setting notes release drop to %.2f\n",
+          release_drop);
     }
   }
 
--- a/examples/parse_args.h
+++ b/examples/parse_args.h
@@ -47,6 +47,7 @@
 extern char_t * tempo_method;
 // more general stuff
 extern smpl_t silence_threshold;
+extern smpl_t release_drop;
 extern uint_t mix_input;
 // midi tap
 extern smpl_t miditap_note;
@@ -107,6 +108,10 @@
       "       -s      --silence          select silence threshold\n"
       "                 a value in dB, for instance -70, or -100; default=-90\n"
 #endif /* PROG_HAS_SILENCE */
+#ifdef PROG_HAS_NOTES
+      "       -d      --release-drop     select release drop threshold\n"
+      "                 a positive value in dB; default=10\n"
+#endif
       "       -T      --time-format      select time values output format\n"
       "                 (samples, ms, seconds) default=seconds\n"
 #ifdef PROG_HAS_OUTPUT
@@ -157,6 +162,9 @@
 #ifdef PROG_HAS_SILENCE
     "s:"
 #endif /* PROG_HAS_SILENCE */
+#ifdef PROG_HAS_NOTES
+    "d:"
+#endif /* PROG_HAS_SILENCE */
 #ifdef PROG_HAS_OUTPUT
     "mf"
 #endif /* PROG_HAS_OUTPUT */
@@ -192,6 +200,9 @@
 #ifdef PROG_HAS_SILENCE
     {"silence",               1, NULL, 's'},
 #endif /* PROG_HAS_SILENCE */
+#ifdef PROG_HAS_NOTES
+    {"release-drop",          1, NULL, 'd'},
+#endif /* PROG_HAS_NOTES */
     {"time-format",           1, NULL, 'T'},
 #ifdef PROG_HAS_OUTPUT
     {"mix-input",             0, NULL, 'm'},
@@ -273,6 +284,9 @@
         break;
       case 's':                /* silence threshold */
         silence_threshold = (smpl_t) atof (optarg);
+        break;
+      case 'd':                /* release-drop threshold */
+        release_drop = (smpl_t) atof (optarg);
         break;
       case 'm':                /* mix_input flag */
         mix_input = 1;
--- a/examples/utils.c
+++ b/examples/utils.c
@@ -54,6 +54,7 @@
 char_t * tempo_method = "default";
 // more general stuff
 smpl_t silence_threshold = -90.;
+smpl_t release_drop = 10.;
 uint_t mix_input = 0;
 
 uint_t force_overwrite = 0;