From sumomo ¡÷ users.sourceforge.jp Mon May 9 13:01:59 2011 From: sumomo ¡÷ users.sourceforge.jp (sumomo ¡÷ users.sourceforge.jp) Date: Mon, 09 May 2011 13:01:59 +0900 Subject: [Julius-cvs 688] CVS update: julius4/adinrec Message-ID: <1304913719.035504.9296.nullmailer@users.sourceforge.jp> Index: julius4/adinrec/adinrec.c diff -u julius4/adinrec/adinrec.c:1.6 julius4/adinrec/adinrec.c:1.7 --- julius4/adinrec/adinrec.c:1.6 Fri Apr 29 14:09:13 2011 +++ julius4/adinrec/adinrec.c Mon May 9 13:01:58 2011 @@ -12,7 +12,7 @@ * @author Akinobu LEE * @date Wed Mar 23 20:33:01 2005 * - * $Revision: 1.6 $ + * $Revision: 1.7 $ * */ /* @@ -280,10 +280,19 @@ } } } - /* set interrupt signal handler to properly close output file */ + /* set signal handlers to properly close output file */ if (signal(SIGINT, interrupt_record) == SIG_ERR) { fprintf(stderr, "Warning: signal intterupt may collapse output\n"); } + if (signal(SIGTERM, interrupt_record) == SIG_ERR) { + fprintf(stderr, "Warning: signal intterupt may collapse output\n"); + } + if (signal(SIGPIPE, interrupt_record) == SIG_ERR) { + fprintf(stderr, "Warning: signal intterupt may collapse output\n"); + } + if (signal(SIGQUIT, interrupt_record) == SIG_ERR) { + fprintf(stderr, "Warning: signal intterupt may collapse output\n"); + } recog = j_recog_new(); recog->jconf = jconf; From sumomo ¡÷ users.sourceforge.jp Mon May 9 13:01:59 2011 From: sumomo ¡÷ users.sourceforge.jp (sumomo ¡÷ users.sourceforge.jp) Date: Mon, 09 May 2011 13:01:59 +0900 Subject: [Julius-cvs 689] CVS update: julius4/adintool Message-ID: <1304913719.103718.9304.nullmailer@users.sourceforge.jp> Index: julius4/adintool/adintool.c diff -u julius4/adintool/adintool.c:1.10 julius4/adintool/adintool.c:1.11 --- julius4/adintool/adintool.c:1.10 Fri Apr 29 14:09:13 2011 +++ julius4/adintool/adintool.c Mon May 9 13:01:59 2011 @@ -35,7 +35,7 @@ * @author Akinobu LEE * @date Wed Mar 23 20:43:32 2005 * - * $Revision: 1.10 $ + * $Revision: 1.11 $ * */ /* @@ -1114,6 +1114,15 @@ if (signal(SIGINT, interrupt_record) == SIG_ERR) { fprintf(stderr, "Warning: signal intterupt may collapse output\n"); } + if (signal(SIGTERM, interrupt_record) == SIG_ERR) { + fprintf(stderr, "Warning: signal intterupt may collapse output\n"); + } + if (signal(SIGPIPE, interrupt_record) == SIG_ERR) { + fprintf(stderr, "Warning: signal intterupt may collapse output\n"); + } + if (signal(SIGQUIT, interrupt_record) == SIG_ERR) { + fprintf(stderr, "Warning: signal intterupt may collapse output\n"); + } /***************************/ /* initialize input device */ From sumomo ¡÷ users.sourceforge.jp Tue May 10 21:24:52 2011 From: sumomo ¡÷ users.sourceforge.jp (sumomo ¡÷ users.sourceforge.jp) Date: Tue, 10 May 2011 21:24:52 +0900 Subject: [Julius-cvs 690] CVS update: julius4/libjulius/src Message-ID: <1305030292.122404.30403.nullmailer@users.sourceforge.jp> Index: julius4/libjulius/src/recogmain.c diff -u julius4/libjulius/src/recogmain.c:1.17 julius4/libjulius/src/recogmain.c:1.18 --- julius4/libjulius/src/recogmain.c:1.17 Fri Apr 29 14:09:15 2011 +++ julius4/libjulius/src/recogmain.c Tue May 10 21:24:51 2011 @@ -12,7 +12,7 @@ * @author Akinobu Lee * @date Wed Aug 8 14:53:53 2007 * - * $Revision: 1.17 $ + * $Revision: 1.18 $ * */ @@ -955,20 +955,18 @@ /******************************************************************/ if (ret == 1 || ret == 2) { /* segmented */ #ifdef HAVE_PTHREAD - if (recog->adin->adinthread_buffer_overflowed) { - jlog("Warning: input buffer overflow, disgard the input\n"); + /* check for audio overflow */ + if (recog->adin->enable_thread && recog->adin->adinthread_buffer_overflowed) { + jlog("Warning: input buffer overflow: some input may be dropped, so disgard the input\n"); result_error(recog, J_RESULT_STATUS_BUFFER_OVERFLOW); /* skip 2nd pass */ goto end_recog; } #endif - /* check for audio overflow */ + /* check for long input */ for (mfcc = recog->mfcclist; mfcc; mfcc = mfcc->next) { if (mfcc->f >= recog->real.maxframelen) { - jlog("Warning: input buffer overflow, disgard the input\n"); - result_error(recog, J_RESULT_STATUS_BUFFER_OVERFLOW); - /* skip 2nd pass */ - goto end_recog; + jlog("Warning: too long input (> %d frames), segment it now\n", recog->real.maxframelen); } } } From sumomo ¡÷ users.sourceforge.jp Wed May 11 10:35:20 2011 From: sumomo ¡÷ users.sourceforge.jp (sumomo ¡÷ users.sourceforge.jp) Date: Wed, 11 May 2011 10:35:20 +0900 Subject: [Julius-cvs 691] CVS update: julius4/adintool Message-ID: <1305077720.057897.2908.nullmailer@users.sourceforge.jp> Index: julius4/adintool/adintool.c diff -u julius4/adintool/adintool.c:1.11 julius4/adintool/adintool.c:1.12 --- julius4/adintool/adintool.c:1.11 Mon May 9 13:01:59 2011 +++ julius4/adintool/adintool.c Wed May 11 10:35:19 2011 @@ -35,7 +35,7 @@ * @author Akinobu LEE * @date Wed Mar 23 20:43:32 2005 * - * $Revision: 1.11 $ + * $Revision: 1.12 $ * */ /* @@ -119,7 +119,9 @@ fprintf(stderr, " -startid id (file-out) recording start id (%04d)\n", startid); fprintf(stderr, "Recording and Pause segmentation options:\n"); + fprintf(stderr, "(input segmentation: on for file/mic/stdin, off for adinnet)\n"); fprintf(stderr, " [-nosegment] not segment input speech\n"); + fprintf(stderr, " [-segment] force segmentation of input speech\n"); fprintf(stderr, " [-oneshot] record only the first segment\n"); fprintf(stderr, " [-freq frequency] sampling frequency in Hz (%ld)\n", jconf->am_root->analysis.para_default.smp_freq); fprintf(stderr, " [-48] 48000Hz recording with down sampling (16kHz only)\n"); @@ -162,6 +164,7 @@ break; case 's': jconf->input.speech_input = SP_STDIN; + jconf->detect.silence_cut = 1; break; case 'a': jconf->input.speech_input = SP_ADINNET; @@ -289,6 +292,12 @@ return TRUE; } static boolean +opt_segment(Jconf *jconf, char *arg[], int argnum) +{ + jconf->detect.silence_cut = 1; + return TRUE; +} +static boolean opt_oneshot(Jconf *jconf, char *arg[], int argnum) { continuous_segment = FALSE; @@ -1007,6 +1016,7 @@ j_add_option("-startid", 1, 1, "recording start id (-out file)", opt_startid); j_add_option("-freq", 1, 1, "sampling frequency in Hz", opt_freq); j_add_option("-nosegment", 0, 0, "not segment input speech, record all", opt_nosegment); + j_add_option("-segment", 0, 0, "force segment input speech", opt_segment); j_add_option("-oneshot", 0, 0, "exit after the first input", opt_oneshot); j_add_option("-raw", 0, 0, "save in raw (BE) format", opt_raw); j_add_option("-autopause", 0, 0, "automatically pause at each input end", opt_autopause); From sumomo ¡÷ users.sourceforge.jp Fri May 13 17:38:33 2011 From: sumomo ¡÷ users.sourceforge.jp (sumomo ¡÷ users.sourceforge.jp) Date: Fri, 13 May 2011 17:38:33 +0900 Subject: [Julius-cvs 692] CVS update: julius4/adinrec Message-ID: <1305275913.870928.4179.nullmailer@users.sourceforge.jp> Index: julius4/adinrec/adinrec.c diff -u julius4/adinrec/adinrec.c:1.7 julius4/adinrec/adinrec.c:1.8 --- julius4/adinrec/adinrec.c:1.7 Mon May 9 13:01:58 2011 +++ julius4/adinrec/adinrec.c Fri May 13 17:38:33 2011 @@ -12,7 +12,7 @@ * @author Akinobu LEE * @date Wed Mar 23 20:33:01 2005 * - * $Revision: 1.7 $ + * $Revision: 1.8 $ * */ /* @@ -51,6 +51,7 @@ fprintf(stderr, " [-zc zerocrossnum] silence cut zerocross num (%d)\n", jconf->detect.zero_cross_num); fprintf(stderr, " [-headmargin msec] head margin length (%d)\n", jconf->detect.head_margin_msec); fprintf(stderr, " [-tailmargin msec] tail margin length (%d)\n", jconf->detect.tail_margin_msec); + fprintf(stderr, " [-chunksize sample] chunk size for processing (%d)\n", jconf->detect.chunk_size); fprintf(stderr, " [-nostrip] not strip off zero samples\n"); fprintf(stderr, " [-zmean] remove DC by zero mean\n"); fprintf(stderr, " [-nocutsilence] disable VAD, record all stream\n"); From sumomo ¡÷ users.sourceforge.jp Fri May 13 17:38:34 2011 From: sumomo ¡÷ users.sourceforge.jp (sumomo ¡÷ users.sourceforge.jp) Date: Fri, 13 May 2011 17:38:34 +0900 Subject: [Julius-cvs 693] CVS update: julius4/libsent/include/sent Message-ID: <1305275914.272604.4220.nullmailer@users.sourceforge.jp> Index: julius4/libsent/include/sent/adin.h diff -u julius4/libsent/include/sent/adin.h:1.10 julius4/libsent/include/sent/adin.h:1.11 --- julius4/libsent/include/sent/adin.h:1.10 Fri Apr 29 14:09:16 2011 +++ julius4/libsent/include/sent/adin.h Fri May 13 17:38:34 2011 @@ -19,7 +19,7 @@ * @author Akinobu LEE * @date Thu Feb 10 17:22:36 2005 * - * $Revision: 1.10 $ + * $Revision: 1.11 $ */ /* * Copyright (c) 1991-2011 Kawahara Lab., Kyoto University @@ -60,9 +60,6 @@ SP_INPUT_PULSEAUDIO }; -/// Default unit size of speech input segment in bytes -#define DEFAULT_WSTEP 1000 - /** * @def SUPPORTED_WAVEFILE_FORMAT * String describing the list of supported wave file formats. From sumomo ¡÷ users.sourceforge.jp Fri May 13 17:38:33 2011 From: sumomo ¡÷ users.sourceforge.jp (sumomo ¡÷ users.sourceforge.jp) Date: Fri, 13 May 2011 17:38:33 +0900 Subject: [Julius-cvs 694] CVS update: julius4/adintool Message-ID: <1305275913.938869.4187.nullmailer@users.sourceforge.jp> Index: julius4/adintool/adintool.c diff -u julius4/adintool/adintool.c:1.12 julius4/adintool/adintool.c:1.13 --- julius4/adintool/adintool.c:1.12 Wed May 11 10:35:19 2011 +++ julius4/adintool/adintool.c Fri May 13 17:38:33 2011 @@ -35,7 +35,7 @@ * @author Akinobu LEE * @date Wed Mar 23 20:43:32 2005 * - * $Revision: 1.12 $ + * $Revision: 1.13 $ * */ /* @@ -102,7 +102,7 @@ fprintf(stderr, " file speech file (filename given from prompt)\n"); fprintf(stderr, " adinnet from adinnet client (I'm server)\n"); fprintf(stderr, " stdin standard tty input\n"); - fprintf(stderr, " (\"-input xxx\" can be used instead, as same as Julius)\n"); + fprintf(stderr, " (other input can be specified by \"-input xxx\" as in Julius)\n"); fprintf(stderr, "outputdev: output data to:\n"); fprintf(stderr, " file speech file (\"foo.0000.wav\" - \"foo.N.wav\"\n"); fprintf(stderr, " adinnet to adinnet server (I'm client)\n"); @@ -119,9 +119,11 @@ fprintf(stderr, " -startid id (file-out) recording start id (%04d)\n", startid); fprintf(stderr, "Recording and Pause segmentation options:\n"); - fprintf(stderr, "(input segmentation: on for file/mic/stdin, off for adinnet)\n"); + + fprintf(stderr, " (input segmentation: on for file/mic/stdin, off for adinnet)\n"); fprintf(stderr, " [-nosegment] not segment input speech\n"); fprintf(stderr, " [-segment] force segmentation of input speech\n"); + fprintf(stderr, " [-cutsilence] (same as \"-segment\")\n"); fprintf(stderr, " [-oneshot] record only the first segment\n"); fprintf(stderr, " [-freq frequency] sampling frequency in Hz (%ld)\n", jconf->am_root->analysis.para_default.smp_freq); fprintf(stderr, " [-48] 48000Hz recording with down sampling (16kHz only)\n"); @@ -129,12 +131,15 @@ fprintf(stderr, " [-zc zerocrossnum] silence cut zerocross num (%d)\n", jconf->detect.zero_cross_num); fprintf(stderr, " [-headmargin msec] head margin length (%d)\n", jconf->detect.head_margin_msec); fprintf(stderr, " [-tailmargin msec] tail margin length (%d)\n", jconf->detect.tail_margin_msec); + fprintf(stderr, " [-chunksize sample] chunk size for processing (%d)\n", jconf->detect.chunk_size); fprintf(stderr, " [-nostrip] do not strip zero samples\n"); fprintf(stderr, " [-zmean] remove DC by zero mean\n"); fprintf(stderr, " [-raw] output in RAW format\n"); fprintf(stderr, " [-autopause] automatically pause at each input end\n"); fprintf(stderr, " [-loosesync] loose sync of resume among servers\n"); fprintf(stderr, " [-rewind msec] rewind input if spoken while pause at resume\n"); + fprintf(stderr, " [-C jconffile] load jconf to set parameters (ignore other options\n"); + fprintf(stderr, "\nLibrary configuration: "); confout_version(stderr); confout_audio(stderr); @@ -1122,16 +1127,16 @@ /* interrupt handling */ /**********************/ if (signal(SIGINT, interrupt_record) == SIG_ERR) { - fprintf(stderr, "Warning: signal intterupt may collapse output\n"); + fprintf(stderr, "Warning: signal interruption may collapse output\n"); } if (signal(SIGTERM, interrupt_record) == SIG_ERR) { - fprintf(stderr, "Warning: signal intterupt may collapse output\n"); + fprintf(stderr, "Warning: signal interruption may collapse output\n"); } if (signal(SIGPIPE, interrupt_record) == SIG_ERR) { - fprintf(stderr, "Warning: signal intterupt may collapse output\n"); + fprintf(stderr, "Warning: signal interruption may collapse output\n"); } if (signal(SIGQUIT, interrupt_record) == SIG_ERR) { - fprintf(stderr, "Warning: signal intterupt may collapse output\n"); + fprintf(stderr, "Warning: signal interruption may collapse output\n"); } /***************************/ From sumomo ¡÷ users.sourceforge.jp Fri May 13 17:38:34 2011 From: sumomo ¡÷ users.sourceforge.jp (sumomo ¡÷ users.sourceforge.jp) Date: Fri, 13 May 2011 17:38:34 +0900 Subject: [Julius-cvs 695] CVS update: julius4/libjulius/src Message-ID: <1305275914.137235.4213.nullmailer@users.sourceforge.jp> Index: julius4/libjulius/src/adin-cut.c diff -u julius4/libjulius/src/adin-cut.c:1.16 julius4/libjulius/src/adin-cut.c:1.17 --- julius4/libjulius/src/adin-cut.c:1.16 Fri Apr 29 14:09:15 2011 +++ julius4/libjulius/src/adin-cut.c Fri May 13 17:38:34 2011 @@ -95,7 +95,7 @@ * @author Akinobu LEE * @date Sat Feb 12 13:20:53 2005 * - * $Revision: 1.16 $ + * $Revision: 1.17 $ * */ /* @@ -162,12 +162,17 @@ /* calc & set internal parameter from configuration */ freq = jconf->input.sfreq; samples_in_msec = (float) freq / (float)1000.0; + adin->chunk_size = jconf->detect.chunk_size; /* cycle buffer length = head margin length */ adin->c_length = (int)((float)jconf->detect.head_margin_msec * samples_in_msec); /* in msec. */ + if (adin->chunk_size > adin->c_length) { + jlog("ERROR: adin_setup_param: chunk size (%d) > header margin (%d)\n", adin->chunk_size, adin->c_length); + return FALSE; + } /* compute zerocross trigger count threshold in the cycle buffer */ adin->noise_zerocross = jconf->detect.zero_cross_num * adin->c_length / freq; /* variables that comes from the tail margin length (in wstep) */ - adin->nc_max = (int)((float)(jconf->detect.tail_margin_msec * samples_in_msec / (float)DEFAULT_WSTEP)) + 2; + adin->nc_max = (int)((float)(jconf->detect.tail_margin_msec * samples_in_msec / (float)adin->chunk_size)) + 2; adin->sbsize = jconf->detect.tail_margin_msec * samples_in_msec + (adin->c_length * jconf->detect.zero_cross_num / 200); adin->c_offset = 0; @@ -493,7 +498,7 @@ /* prepare for processing samples in temporary buffer */ /******************************************************/ - wstep = DEFAULT_WSTEP; /* process unit (should be smaller than cycle buffer) */ + wstep = a->chunk_size; /* process unit (should be smaller than cycle buffer) */ /* imax: total length that should be processed at one ad_read() call */ /* if in real-time mode and not threaded, recognition process @@ -562,6 +567,10 @@ /* record time */ a->last_trigger_sample = a->total_captured_len - a->current_len + i + wstep - a->zc.valid_len; callback_exec(CALLBACK_EVENT_SPEECH_START, recog); + a->last_trigger_len = 0; + if (a->zc.valid_len > wstep) { + a->last_trigger_len += a->zc.valid_len - wstep; + } /****************************************/ /* flush samples stored in cycle buffer */ @@ -638,6 +647,10 @@ /* reset noise counter */ a->nc = 0; + if (a->sblen > 0) { + a->last_trigger_len += a->sblen; + } + #ifdef TMP_FIX_200602 if (ad_process != NULL #ifdef HAVE_PTHREAD @@ -771,6 +784,8 @@ jlog("DEBUG: %d processed, rest_tail=%d\n", wstep, a->rest_tail); #endif } + a->last_trigger_len += wstep; + #ifdef TMP_FIX_200602 if (ad_process != NULL #ifdef HAVE_PTHREAD @@ -1316,6 +1331,7 @@ if (debug2_flag && a->input_side_segment) jlog("Stat: adin_begin: skip\n"); if (a->input_side_segment == FALSE) { a->total_captured_len = 0; + a->last_trigger_len = 0; if (a->need_zmean) zmean_reset(); if (a->ad_begin != NULL) return(a->ad_begin(file_or_dev_name)); } Index: julius4/libjulius/src/default.c diff -u julius4/libjulius/src/default.c:1.13 julius4/libjulius/src/default.c:1.14 --- julius4/libjulius/src/default.c:1.13 Fri Apr 29 14:09:15 2011 +++ julius4/libjulius/src/default.c Fri May 13 17:38:34 2011 @@ -17,7 +17,7 @@ * @author Akinobu Lee * @date Fri Feb 16 15:05:43 2007 * - * $Revision: 1.13 $ + * $Revision: 1.14 $ * */ /* @@ -77,6 +77,7 @@ j->detect.tail_margin_msec = 400; j->detect.zero_cross_num = 60; j->detect.silence_cut = 2; /* accept device default */ + j->detect.chunk_size = 1000; #ifdef GMM_VAD j->detect.gmm_margin = DEFAULT_GMM_MARGIN; j->detect.gmm_uptrigger_thres = 0.7; Index: julius4/libjulius/src/m_info.c diff -u julius4/libjulius/src/m_info.c:1.13 julius4/libjulius/src/m_info.c:1.14 --- julius4/libjulius/src/m_info.c:1.13 Fri Apr 29 14:09:15 2011 +++ julius4/libjulius/src/m_info.c Fri May 13 17:38:34 2011 @@ -12,7 +12,7 @@ * @author Akinobu Lee * @date Thu May 12 14:14:01 2005 * - * $Revision: 1.13 $ + * $Revision: 1.14 $ * */ /* @@ -878,6 +878,7 @@ jlog("\t zerocross thres = %d / sec.\n", jconf->detect.zero_cross_num); jlog("\t head margin = %d msec.\n", jconf->detect.head_margin_msec); jlog("\t tail margin = %d msec.\n", jconf->detect.tail_margin_msec); + jlog("\t chunk size = %d samples\n", jconf->detect.chunk_size); } else { jlog("\t silence cutting = off\n"); } Index: julius4/libjulius/src/m_options.c diff -u julius4/libjulius/src/m_options.c:1.24 julius4/libjulius/src/m_options.c:1.25 --- julius4/libjulius/src/m_options.c:1.24 Fri Apr 29 14:09:15 2011 +++ julius4/libjulius/src/m_options.c Fri May 13 17:38:34 2011 @@ -18,7 +18,7 @@ * @author Akinobu Lee * @date Thu May 12 18:52:07 2005 * - * $Revision: 1.24 $ + * $Revision: 1.25 $ * */ /* @@ -615,6 +615,11 @@ GET_TMPARG; jconf->detect.tail_margin_msec = atoi(tmparg); continue; + } else if (strmatch(argv[i],"-chunksize")) { /* chunk size for detection */ + if (!check_section(jconf, argv[i], JCONF_OPT_GLOBAL)) return FALSE; + GET_TMPARG; + jconf->detect.chunk_size = atoi(tmparg); + continue; } else if (strmatch(argv[i],"-hipass")||strmatch(argv[i],"-hifreq")) { /* frequency of upper band limit */ if (!check_section(jconf, argv[i], JCONF_OPT_AM)) return FALSE; GET_TMPARG; Index: julius4/libjulius/src/m_usage.c diff -u julius4/libjulius/src/m_usage.c:1.15 julius4/libjulius/src/m_usage.c:1.16 --- julius4/libjulius/src/m_usage.c:1.15 Fri Apr 29 14:09:15 2011 +++ julius4/libjulius/src/m_usage.c Fri May 13 17:38:34 2011 @@ -12,7 +12,7 @@ * @author Akinobu Lee * @date Fri May 13 15:04:34 2005 * - * $Revision: 1.15 $ + * $Revision: 1.16 $ * */ /* @@ -127,6 +127,7 @@ fprintf(fp, " [-zc zerocrossnum] zerocross num threshold per sec. (%d)\n", jconf->detect.zero_cross_num); fprintf(fp, " [-headmargin msec] header margin length in msec. (%d)\n", jconf->detect.head_margin_msec); fprintf(fp, " [-tailmargin msec] tail margin length in msec. (%d)\n", jconf->detect.tail_margin_msec); + fprintf(fp, " [-chunksize sample] unit length for processing (%d)\n", jconf->detect.chunk_size); fprintf(fp, "\n GMM utterance verification:\n"); fprintf(fp, " -gmm filename GMM definition file\n"); Index: julius4/libjulius/src/recogmain.c diff -u julius4/libjulius/src/recogmain.c:1.18 julius4/libjulius/src/recogmain.c:1.19 --- julius4/libjulius/src/recogmain.c:1.18 Tue May 10 21:24:51 2011 +++ julius4/libjulius/src/recogmain.c Fri May 13 17:38:34 2011 @@ -12,7 +12,7 @@ * @author Akinobu Lee * @date Wed Aug 8 14:53:53 2007 * - * $Revision: 1.18 $ + * $Revision: 1.19 $ * */ @@ -983,6 +983,12 @@ } #endif + /* output segment status */ + if (recog->adin->adin_cut_on && (jconf->input.speech_input == SP_RAWFILE || jconf->input.speech_input == SP_STDIN)) { + seclen = (float)recog->adin->last_trigger_sample / (float)jconf->input.sfreq; + jlog("STAT: triggered: [%d..%d] %.2fs from %02d:%02d:%02.2f\n", recog->adin->last_trigger_sample, recog->adin->last_trigger_sample + recog->adin->last_trigger_len, (float)(recog->adin->last_trigger_len) / (float)jconf->input.sfreq, (int)(seclen / 3600), (int)(seclen / 60), seclen - (int)(seclen / 60) * 60); + } + /* execute callback for 1st pass result */ /* result.status <0 must be skipped inside callback */ callback_exec(CALLBACK_RESULT_PASS1, recog); From sumomo ¡÷ users.sourceforge.jp Fri May 13 17:38:34 2011 From: sumomo ¡÷ users.sourceforge.jp (sumomo ¡÷ users.sourceforge.jp) Date: Fri, 13 May 2011 17:38:34 +0900 Subject: [Julius-cvs 696] CVS update: julius4/libjulius/include/julius Message-ID: <1305275914.025181.4196.nullmailer@users.sourceforge.jp> Index: julius4/libjulius/include/julius/jconf.h diff -u julius4/libjulius/include/julius/jconf.h:1.11 julius4/libjulius/include/julius/jconf.h:1.12 --- julius4/libjulius/include/julius/jconf.h:1.11 Fri Apr 29 14:09:15 2011 +++ julius4/libjulius/include/julius/jconf.h Fri May 13 17:38:33 2011 @@ -23,7 +23,7 @@ * @author Akinobu Lee * @date Fri Feb 16 13:42:28 2007 * - * $Revision: 1.11 $ + * $Revision: 1.12 $ * */ /* @@ -904,6 +904,12 @@ * (-cutsilence / -nocutsilence) */ int silence_cut; + /** + * Chunk size in samples, i.e. processing unit for audio input + * detection. Segmentation will be done by this unit. + * + */ + int chunk_size; #ifdef GMM_VAD /** * (GMM_VAD) Backstep margin when speech trigger is detected. Index: julius4/libjulius/include/julius/recog.h diff -u julius4/libjulius/include/julius/recog.h:1.14 julius4/libjulius/include/julius/recog.h:1.15 --- julius4/libjulius/include/julius/recog.h:1.14 Fri Apr 29 14:09:15 2011 +++ julius4/libjulius/include/julius/recog.h Fri May 13 17:38:33 2011 @@ -70,7 +70,7 @@ * @author Akinobu Lee * @date Fri Feb 16 13:42:28 2007 * - * $Revision: 1.14 $ + * $Revision: 1.15 $ * */ /* @@ -362,6 +362,7 @@ int thres; ///< Input Level threshold (0-32767) int noise_zerocross; ///< Computed threshold of zerocross num in the cycle buffer int nc_max; ///< Computed number of fragments for tail margin + int chunk_size; ///< audio process unit boolean adin_cut_on; ///< TRUE if do input segmentation by silence boolean silence_cut_default; ///< Device-dependent default value of adin_cut_on() boolean strip_flag; ///< TRUE if skip invalid zero samples @@ -432,6 +433,7 @@ unsigned int total_captured_len; ///< Total number of recorded samples from start until now unsigned int last_trigger_sample; ///< Last speech area was triggeed at this sample + unsigned int last_trigger_len; // Length of last speech area char current_input_name[MAXPATHLEN]; ///< File or device name of current input From sumomo ¡÷ users.sourceforge.jp Fri May 13 17:43:23 2011 From: sumomo ¡÷ users.sourceforge.jp (sumomo ¡÷ users.sourceforge.jp) Date: Fri, 13 May 2011 17:43:23 +0900 Subject: [Julius-cvs 697] CVS update: julius4/adinrec Message-ID: <1305276203.924001.9189.nullmailer@users.sourceforge.jp> Index: julius4/adinrec/adinrec.c diff -u julius4/adinrec/adinrec.c:1.8 julius4/adinrec/adinrec.c:1.9 --- julius4/adinrec/adinrec.c:1.8 Fri May 13 17:38:33 2011 +++ julius4/adinrec/adinrec.c Fri May 13 17:43:23 2011 @@ -12,7 +12,7 @@ * @author Akinobu LEE * @date Wed Mar 23 20:33:01 2005 * - * $Revision: 1.8 $ + * $Revision: 1.9 $ * */ /* @@ -288,12 +288,16 @@ if (signal(SIGTERM, interrupt_record) == SIG_ERR) { fprintf(stderr, "Warning: signal intterupt may collapse output\n"); } +#ifdef SIGPIPE if (signal(SIGPIPE, interrupt_record) == SIG_ERR) { fprintf(stderr, "Warning: signal intterupt may collapse output\n"); } +#endif +#ifdef SIGQUIT if (signal(SIGQUIT, interrupt_record) == SIG_ERR) { fprintf(stderr, "Warning: signal intterupt may collapse output\n"); } +#endif recog = j_recog_new(); recog->jconf = jconf; From sumomo ¡÷ users.sourceforge.jp Fri May 13 17:43:23 2011 From: sumomo ¡÷ users.sourceforge.jp (sumomo ¡÷ users.sourceforge.jp) Date: Fri, 13 May 2011 17:43:23 +0900 Subject: [Julius-cvs 698] CVS update: julius4/adintool Message-ID: <1305276203.994686.9197.nullmailer@users.sourceforge.jp> Index: julius4/adintool/adintool.c diff -u julius4/adintool/adintool.c:1.13 julius4/adintool/adintool.c:1.14 --- julius4/adintool/adintool.c:1.13 Fri May 13 17:38:33 2011 +++ julius4/adintool/adintool.c Fri May 13 17:43:23 2011 @@ -35,7 +35,7 @@ * @author Akinobu LEE * @date Wed Mar 23 20:43:32 2005 * - * $Revision: 1.13 $ + * $Revision: 1.14 $ * */ /* @@ -1132,12 +1132,16 @@ if (signal(SIGTERM, interrupt_record) == SIG_ERR) { fprintf(stderr, "Warning: signal interruption may collapse output\n"); } +#ifdef SIGPIPE if (signal(SIGPIPE, interrupt_record) == SIG_ERR) { fprintf(stderr, "Warning: signal interruption may collapse output\n"); } +#endif +#ifdef SIGQUIT if (signal(SIGQUIT, interrupt_record) == SIG_ERR) { fprintf(stderr, "Warning: signal interruption may collapse output\n"); } +#endif /***************************/ /* initialize input device */