diff -urN midi_prog-/midtxt.c midi_prog/midtxt.c --- midi_prog-/midtxt.c Fri Aug 28 00:00:00 2015 +++ midi_prog/midtxt.c Sun Sep 27 00:00:00 2015 @@ -505,6 +505,52 @@ } int +tx_note_to_str_conv(void) +{ + char buf[BUFSZ], *l_av[AVSZ]; + int l_ac, i; + + while(fgets(buf, sizeof(buf), stdin)){ + l_ac = ARR_N(l_av); + line_to_ac_av(buf, &l_ac, l_av); + for(i=0; i= 0) return tx_abs_conv(); if(opt_idx("-tx_delta", ac, av) >= 0) return tx_delta_conv(); if(opt_idx("-len", ac, av) >= 0) return len_to_delta_conv(ac, av); + if(opt_idx("-note_to_str", ac, av) >= 0) return tx_note_to_str_conv(); + if(opt_idx("-str_to_note", ac, av) >= 0) return tx_str_to_note_conv(); if((trans = opt_int("-tx_trans", ac, av, 0)) != 0) return trans_conv(ac, av, trans); rd_str(4, buf); diff -urN midi_prog-/pitdet.c midi_prog/pitdet.c --- midi_prog-/pitdet.c Sat Sep 26 00:00:00 2015 +++ midi_prog/pitdet.c Sun Sep 27 00:00:00 2015 @@ -213,19 +213,17 @@ for(i=from_i; irb, i, v); + rbuf_set_dbl(&tb->rb, i, MAX(v, 0)); } -#if 0 a2buf_init(&t, &low->ab, NULL, 0,0,0,1+k,0,0); tb = low->tb; tbuf_from_to_num(tb, ost->on_sec, ost->off_sec, &from_i, &to_i); for(i=from_i; irb, i, v); + rbuf_set_dbl(&tb->rb, i, MAX(v, 0)); } -#endif } static void @@ -254,7 +252,7 @@ pitdet_cut_overtone(struct pitdet *pd, int j) { struct corr_info ci[] = { - //{ 1.0/2 }, { 1.0/3 }, { 1.0/4 }, + { 1.0/2 }, { 1.0/3 }, { 1.0/4 }, { 2 }, { 3 }, { 4 } }; int i, n = ARR_N(ci); @@ -277,13 +275,13 @@ } } i = near_i; - if(i < 0 || near_v < 0.9) break; + if(i < 0 || near_v < 0.7) break; if(ci[i].n < 1) cut_tone(&ci[i].t, &a2b, ost); else cut_tone(&a2b, &ci[i].t, ost); recalc_onoff_stat(pd, ci[i].p); - //recalc_onoff_stat(pd, p); + recalc_onoff_stat(pd, p); if(ci[i].n < 1) break; }