Merge lp:~logan/ubuntu/quantal/julius/new-upstream into lp:ubuntu/quantal/julius

Proposed by Logan Rosen
Status: Merged
Merged at revision: 5
Proposed branch: lp:~logan/ubuntu/quantal/julius/new-upstream
Merge into: lp:ubuntu/quantal/julius
Diff against target: 67236 lines (+50075/-9977)
392 files modified
00readme-ja.txt (+12/-13)
00readme.txt (+14/-19)
LICENSE.txt (+17/-17)
Makefile.in (+3/-3)
Release-ja.txt (+88/-0)
Release.txt (+86/-0)
Sample.jconf (+4/-1)
adinrec/00readme-ja.txt (+4/-0)
adinrec/00readme.txt (+3/-0)
adinrec/Makefile.in (+3/-3)
adinrec/adinrec.c (+19/-5)
adintool/00readme-ja.txt (+4/-0)
adintool/00readme.txt (+3/-0)
adintool/Makefile.in (+3/-3)
adintool/adintool.c (+35/-6)
configure (+2/-2)
configure.in (+3/-3)
debian/changelog (+7/-0)
debian/control (+1/-1)
generate-ngram/Makefile.in (+3/-3)
gramtools/Makefile.in (+3/-3)
gramtools/accept_check/Makefile.in (+2/-2)
gramtools/accept_check/accept_check.c (+2/-2)
gramtools/accept_check/common.h (+2/-2)
gramtools/accept_check/rdterm.c (+2/-2)
gramtools/configure (+20/-68)
gramtools/configure.in (+2/-3)
gramtools/dfa_determinize/Makefile.in (+2/-2)
gramtools/dfa_determinize/dfa_determinize.c (+3/-3)
gramtools/dfa_minimize/Makefile.in (+2/-2)
gramtools/dfa_minimize/dfa_minimize.c (+3/-3)
gramtools/generate/Makefile.in (+2/-2)
gramtools/generate/common.h (+2/-2)
gramtools/generate/gen_next.c (+2/-2)
gramtools/generate/gen_next.h (+2/-2)
gramtools/generate/generate.c (+2/-2)
gramtools/generate/rdterm.c (+2/-2)
gramtools/gram2sapixml/00readme-ja.txt (+1/-7)
gramtools/gram2sapixml/00readme.txt (+1/-9)
gramtools/gram2sapixml/Makefile.in (+2/-2)
gramtools/mkdfa/Makefile.in (+2/-2)
gramtools/mkdfa/mkdfa.pl.in (+2/-2)
gramtools/mkdfa/mkfa-1.44-flex/Makefile.in (+2/-2)
gramtools/mkdfa/mkfa-1.44-flex/dfa.c (+2/-2)
gramtools/mkdfa/mkfa-1.44-flex/dfa.h (+2/-2)
gramtools/mkdfa/mkfa-1.44-flex/gram.y (+2/-2)
gramtools/mkdfa/mkfa-1.44-flex/lex.yy.c (+7/-3)
gramtools/mkdfa/mkfa-1.44-flex/main.c (+2/-2)
gramtools/mkdfa/mkfa-1.44-flex/mkfa.h (+2/-2)
gramtools/mkdfa/mkfa-1.44-flex/nfa.c (+2/-2)
gramtools/mkdfa/mkfa-1.44-flex/nfa.h (+2/-2)
gramtools/mkdfa/mkfa-1.44-flex/triplet.c (+2/-2)
gramtools/mkdfa/mkfa-1.44-flex/triplet.h (+2/-2)
gramtools/mkdfa/mkfa-1.44-flex/voca.c (+2/-2)
gramtools/nextword/Makefile.in (+2/-2)
gramtools/nextword/common.h (+2/-2)
gramtools/nextword/get_next.c (+2/-2)
gramtools/nextword/nextword.c (+2/-2)
gramtools/nextword/nextword.h (+2/-2)
gramtools/nextword/rdterm.c (+2/-2)
gramtools/nextword/readline.c (+2/-2)
gramtools/nextword/wtoken.c (+2/-2)
gramtools/yomi2voca/Makefile.in (+2/-2)
gramtools/yomi2voca/yomi2voca.pl.in (+2/-2)
jclient-perl/Makefile.in (+2/-2)
jcontrol/Makefile.in (+3/-3)
jcontrol/configure (+1/-1)
jcontrol/configure.in (+2/-2)
jcontrol/japi.h (+3/-3)
jcontrol/japi_grammar.c (+3/-3)
jcontrol/japi_misc.c (+3/-3)
jcontrol/japi_process.c (+3/-3)
jcontrol/jcontrol.c (+3/-3)
jcontrol/server.c (+3/-3)
julius/00readme-ja.txt (+10/-1)
julius/00readme.txt (+9/-1)
julius/Makefile.in (+3/-3)
julius/charconv.c (+3/-3)
julius/charconv_iconv.c (+3/-3)
julius/charconv_libjcode.c (+3/-3)
julius/charconv_win32.c (+3/-3)
julius/configure.in (+3/-3)
julius/main.c (+3/-3)
julius/output_file.c (+3/-3)
julius/output_module.c (+3/-3)
julius/output_stdout.c (+5/-5)
julius/recogloop.c (+3/-3)
julius/record.c (+3/-3)
julius/visual.c (+2/-2)
libjulius/Makefile.in (+3/-3)
libjulius/configure (+1/-1)
libjulius/configure.in (+4/-4)
libjulius/include/julius/beam.h (+3/-3)
libjulius/include/julius/callback.h (+3/-3)
libjulius/include/julius/define.h (+9/-3)
libjulius/include/julius/extern.h (+4/-3)
libjulius/include/julius/global.h (+3/-3)
libjulius/include/julius/graph.h (+3/-3)
libjulius/include/julius/jconf.h (+47/-6)
libjulius/include/julius/jfunc.h (+7/-3)
libjulius/include/julius/julius.h (+3/-3)
libjulius/include/julius/juliuslib.h (+3/-3)
libjulius/include/julius/misc.h (+3/-3)
libjulius/include/julius/multi-gram.h (+3/-3)
libjulius/include/julius/plugin.h (+3/-3)
libjulius/include/julius/recog.h (+11/-3)
libjulius/include/julius/search.h (+3/-3)
libjulius/include/julius/useropt.h (+3/-3)
libjulius/include/julius/wchmm.h (+9/-16)
libjulius/src/adin-cut.c (+56/-13)
libjulius/src/backtrellis.c (+3/-3)
libjulius/src/beam.c (+70/-9)
libjulius/src/confnet.c (+3/-3)
libjulius/src/default.c (+9/-3)
libjulius/src/dfa_decode.c (+15/-4)
libjulius/src/factoring_sub.c (+128/-262)
libjulius/src/gmm.c (+2/-2)
libjulius/src/gramlist.c (+3/-3)
libjulius/src/graphout.c (+3/-3)
libjulius/src/hmm_check.c (+3/-3)
libjulius/src/instance.c (+24/-5)
libjulius/src/jfunc.c (+181/-90)
libjulius/src/m_adin.c (+12/-3)
libjulius/src/m_chkparam.c (+3/-3)
libjulius/src/m_fusion.c (+66/-10)
libjulius/src/m_info.c (+30/-3)
libjulius/src/m_jconf.c (+143/-49)
libjulius/src/m_options.c (+38/-4)
libjulius/src/m_usage.c (+13/-3)
libjulius/src/multi-gram.c (+3/-3)
libjulius/src/ngram_decode.c (+3/-3)
libjulius/src/outprob_style.c (+3/-3)
libjulius/src/pass1.c (+3/-3)
libjulius/src/plugin.c (+3/-3)
libjulius/src/realtime-1stpass.c (+7/-6)
libjulius/src/recogmain.c (+26/-7)
libjulius/src/search_bestfirst_main.c (+9/-5)
libjulius/src/search_bestfirst_v1.c (+3/-3)
libjulius/src/search_bestfirst_v2.c (+3/-3)
libjulius/src/spsegment.c (+5/-5)
libjulius/src/useropt.c (+6/-3)
libjulius/src/version.c.in (+5/-5)
libjulius/src/wav2mfcc.c (+3/-3)
libjulius/src/wchmm.c (+19/-39)
libjulius/src/wchmm_check.c (+12/-8)
libjulius/src/word_align.c (+3/-3)
libsent/Makefile.in (+5/-5)
libsent/configure (+277/-84)
libsent/configure.in (+119/-35)
libsent/include/sent/adin.h (+10/-18)
libsent/include/sent/config.h.in (+16/-1)
libsent/include/sent/dfa.h (+3/-3)
libsent/include/sent/hmm.h (+3/-3)
libsent/include/sent/hmm_calc.h (+3/-3)
libsent/include/sent/htk_defs.h (+3/-3)
libsent/include/sent/htk_hmm.h (+8/-3)
libsent/include/sent/htk_param.h (+3/-3)
libsent/include/sent/machines.h (+3/-3)
libsent/include/sent/ngram2.h (+7/-3)
libsent/include/sent/ptree.h (+6/-7)
libsent/include/sent/speech.h (+3/-3)
libsent/include/sent/stddefs.h (+3/-3)
libsent/include/sent/tcpip.h (+3/-3)
libsent/include/sent/util.h (+3/-3)
libsent/include/sent/vocabulary.h (+5/-3)
libsent/libsent-config-dist.in (+8/-7)
libsent/libsent-config.in (+8/-7)
libsent/src/adin/adin_esd.c (+2/-2)
libsent/src/adin/adin_file.c (+3/-3)
libsent/src/adin/adin_mic_freebsd.c (+3/-3)
libsent/src/adin/adin_mic_linux.c (+26/-13)
libsent/src/adin/adin_mic_linux_alsa.c (+3/-3)
libsent/src/adin/adin_mic_linux_oss.c (+3/-3)
libsent/src/adin/adin_mic_o2.c (+3/-3)
libsent/src/adin/adin_mic_sol2.c (+3/-3)
libsent/src/adin/adin_mic_sun4.c (+3/-3)
libsent/src/adin/adin_na.c (+3/-3)
libsent/src/adin/adin_netaudio.c (+3/-3)
libsent/src/adin/adin_portaudio.c (+253/-105)
libsent/src/adin/adin_pulseaudio.c (+167/-0)
libsent/src/adin/adin_sndfile.c (+3/-3)
libsent/src/adin/adin_tcpip.c (+3/-3)
libsent/src/adin/ds48to16.c (+3/-3)
libsent/src/adin/pa/COPYRIGHT.txt (+25/-0)
libsent/src/adin/pa/common/pa_allocation.c (+243/-0)
libsent/src/adin/pa/common/pa_allocation.h (+104/-0)
libsent/src/adin/pa/common/pa_converters.c (+1935/-0)
libsent/src/adin/pa/common/pa_converters.h (+263/-0)
libsent/src/adin/pa/common/pa_cpuload.c (+105/-0)
libsent/src/adin/pa/common/pa_cpuload.h (+72/-0)
libsent/src/adin/pa/common/pa_debugprint.c (+107/-0)
libsent/src/adin/pa/common/pa_debugprint.h (+149/-0)
libsent/src/adin/pa/common/pa_dither.c (+213/-0)
libsent/src/adin/pa/common/pa_dither.h (+100/-0)
libsent/src/adin/pa/common/pa_endianness.h (+141/-0)
libsent/src/adin/pa/common/pa_front.c (+1760/-0)
libsent/src/adin/pa/common/pa_hostapi.h (+253/-0)
libsent/src/adin/pa/common/pa_process.c (+1772/-0)
libsent/src/adin/pa/common/pa_process.h (+750/-0)
libsent/src/adin/pa/common/pa_ringbuffer.c (+285/-0)
libsent/src/adin/pa/common/pa_ringbuffer.h (+198/-0)
libsent/src/adin/pa/common/pa_skeleton.c (+816/-0)
libsent/src/adin/pa/common/pa_stream.c (+150/-0)
libsent/src/adin/pa/common/pa_stream.h (+205/-0)
libsent/src/adin/pa/common/pa_trace.c (+97/-0)
libsent/src/adin/pa/common/pa_trace.h (+79/-0)
libsent/src/adin/pa/common/pa_types.h (+107/-0)
libsent/src/adin/pa/common/pa_util.h (+159/-0)
libsent/src/adin/pa/dsound_wrapper.c (+0/-466)
libsent/src/adin/pa/dsound_wrapper.h (+0/-106)
libsent/src/adin/pa/hostapi/alsa/pa_linux_alsa.c (+3563/-0)
libsent/src/adin/pa/hostapi/asihpi/pa_linux_asihpi.c (+2910/-0)
libsent/src/adin/pa/hostapi/asio/ASIO-README.txt (+137/-0)
libsent/src/adin/pa/hostapi/asio/iasiothiscallresolver.cpp (+563/-0)
libsent/src/adin/pa/hostapi/asio/iasiothiscallresolver.h (+197/-0)
libsent/src/adin/pa/hostapi/asio/pa_asio.cpp (+3023/-0)
libsent/src/adin/pa/hostapi/coreaudio/notes.txt (+196/-0)
libsent/src/adin/pa/hostapi/coreaudio/pa_mac_core.c (+2327/-0)
libsent/src/adin/pa/hostapi/coreaudio/pa_mac_core_blocking.c (+585/-0)
libsent/src/adin/pa/hostapi/coreaudio/pa_mac_core_blocking.h (+136/-0)
libsent/src/adin/pa/hostapi/coreaudio/pa_mac_core_internal.h (+164/-0)
libsent/src/adin/pa/hostapi/coreaudio/pa_mac_core_old.c (+913/-0)
libsent/src/adin/pa/hostapi/coreaudio/pa_mac_core_utilities.c (+620/-0)
libsent/src/adin/pa/hostapi/coreaudio/pa_mac_core_utilities.h (+205/-0)
libsent/src/adin/pa/hostapi/dsound/pa_win_ds.c (+2510/-0)
libsent/src/adin/pa/hostapi/dsound/pa_win_ds_dynlink.c (+180/-0)
libsent/src/adin/pa/hostapi/dsound/pa_win_ds_dynlink.h (+95/-0)
libsent/src/adin/pa/hostapi/jack/pa_jack.c (+1761/-0)
libsent/src/adin/pa/hostapi/oss/pa_unix_oss.c (+1957/-0)
libsent/src/adin/pa/hostapi/oss/recplay.c (+114/-0)
libsent/src/adin/pa/hostapi/wasapi/pa_win_wasapi.cpp (+1911/-0)
libsent/src/adin/pa/hostapi/wdmks/pa_win_wdmks.c (+3283/-0)
libsent/src/adin/pa/hostapi/wdmks/readme.txt (+82/-0)
libsent/src/adin/pa/hostapi/wmme/pa_win_wmme.c (+3900/-0)
libsent/src/adin/pa/include/pa_asio.h (+129/-0)
libsent/src/adin/pa/include/pa_jack.h (+75/-0)
libsent/src/adin/pa/include/pa_linux_alsa.h (+93/-0)
libsent/src/adin/pa/include/pa_mac_core.h (+171/-0)
libsent/src/adin/pa/include/pa_win_ds.h (+100/-0)
libsent/src/adin/pa/include/pa_win_waveformat.h (+180/-0)
libsent/src/adin/pa/include/pa_win_wmme.h (+176/-0)
libsent/src/adin/pa/include/portaudio.h (+1133/-0)
libsent/src/adin/pa/os/mac_osx/pa_mac_hostapis.c (+87/-0)
libsent/src/adin/pa/os/unix/pa_unix_hostapis.c (+78/-0)
libsent/src/adin/pa/os/unix/pa_unix_util.c (+666/-0)
libsent/src/adin/pa/os/unix/pa_unix_util.h (+224/-0)
libsent/src/adin/pa/os/win/pa_win_hostapis.c (+100/-0)
libsent/src/adin/pa/os/win/pa_win_util.c (+147/-0)
libsent/src/adin/pa/os/win/pa_win_waveformat.c (+159/-0)
libsent/src/adin/pa/os/win/pa_win_wdmks_utils.c (+260/-0)
libsent/src/adin/pa/os/win/pa_win_wdmks_utils.h (+65/-0)
libsent/src/adin/pa/os/win/pa_x86_plain_converters.c (+1219/-0)
libsent/src/adin/pa/os/win/pa_x86_plain_converters.h (+60/-0)
libsent/src/adin/pa/pa_convert.c (+0/-470)
libsent/src/adin/pa/pa_dsound.c (+0/-1042)
libsent/src/adin/pa/pa_host.h (+0/-189)
libsent/src/adin/pa/pa_lib.c (+0/-806)
libsent/src/adin/pa/pa_trace.c (+0/-83)
libsent/src/adin/pa/pa_trace.h (+0/-67)
libsent/src/adin/pa/pa_unix.c (+0/-1122)
libsent/src/adin/pa/pa_unix.h (+0/-141)
libsent/src/adin/pa/pa_unix_oss.c (+0/-385)
libsent/src/adin/pa/pa_unix_solaris.c (+0/-397)
libsent/src/adin/pa/pa_win_wmme.c (+0/-1714)
libsent/src/adin/pa/pablio.c (+0/-327)
libsent/src/adin/pa/pablio.h (+0/-109)
libsent/src/adin/pa/portaudio.h (+0/-463)
libsent/src/adin/pa/ringbuffer.c (+0/-199)
libsent/src/adin/pa/ringbuffer.h (+0/-102)
libsent/src/adin/zc-e.c (+3/-3)
libsent/src/adin/zmean.c (+3/-3)
libsent/src/anlz/param_malloc.c (+3/-3)
libsent/src/anlz/paramselect.c (+3/-3)
libsent/src/anlz/paramtypes.c (+3/-3)
libsent/src/anlz/rdparam.c (+3/-3)
libsent/src/anlz/strip.c (+3/-3)
libsent/src/anlz/strip_mfcc.c (+3/-3)
libsent/src/anlz/wrsamp.c (+3/-3)
libsent/src/anlz/wrwav.c (+3/-3)
libsent/src/dfa/cpair.c (+3/-3)
libsent/src/dfa/dfa_lookup.c (+3/-3)
libsent/src/dfa/dfa_malloc.c (+3/-3)
libsent/src/dfa/dfa_util.c (+3/-3)
libsent/src/dfa/init_dfa.c (+3/-3)
libsent/src/dfa/mkcpair.c (+3/-3)
libsent/src/dfa/mkterminfo.c (+3/-3)
libsent/src/dfa/rddfa.c (+3/-3)
libsent/src/hmminfo/cdhmm.c (+3/-3)
libsent/src/hmminfo/cdset.c (+12/-7)
libsent/src/hmminfo/check_hmm_restriction.c (+3/-3)
libsent/src/hmminfo/check_hmmtype.c (+3/-3)
libsent/src/hmminfo/chkhmmlist.c (+3/-3)
libsent/src/hmminfo/guess_cdHMM.c (+3/-3)
libsent/src/hmminfo/hmm_lookup.c (+3/-3)
libsent/src/hmminfo/init_phmm.c (+10/-5)
libsent/src/hmminfo/put_htkdata_info.c (+3/-3)
libsent/src/hmminfo/rdhmmdef.c (+23/-15)
libsent/src/hmminfo/rdhmmdef_data.c (+3/-3)
libsent/src/hmminfo/rdhmmdef_dens.c (+4/-4)
libsent/src/hmminfo/rdhmmdef_mpdf.c (+3/-3)
libsent/src/hmminfo/rdhmmdef_options.c (+3/-3)
libsent/src/hmminfo/rdhmmdef_regtree.c (+3/-3)
libsent/src/hmminfo/rdhmmdef_state.c (+3/-3)
libsent/src/hmminfo/rdhmmdef_streamweight.c (+2/-2)
libsent/src/hmminfo/rdhmmdef_tiedmix.c (+3/-3)
libsent/src/hmminfo/rdhmmdef_trans.c (+3/-3)
libsent/src/hmminfo/rdhmmdef_var.c (+3/-3)
libsent/src/hmminfo/rdhmmlist.c (+3/-3)
libsent/src/hmminfo/read_binhmm.c (+20/-2)
libsent/src/hmminfo/read_binhmmlist.c (+102/-4)
libsent/src/hmminfo/write_binhmm.c (+3/-3)
libsent/src/hmminfo/write_binhmmlist.c (+59/-4)
libsent/src/net/rdwt.c (+3/-3)
libsent/src/net/server-client.c (+3/-3)
libsent/src/ngram/init_ngram.c (+44/-22)
libsent/src/ngram/ngram_access.c (+3/-3)
libsent/src/ngram/ngram_compact_context.c (+3/-3)
libsent/src/ngram/ngram_lookup.c (+4/-4)
libsent/src/ngram/ngram_malloc.c (+5/-4)
libsent/src/ngram/ngram_read_arpa.c (+6/-6)
libsent/src/ngram/ngram_read_bin.c (+14/-3)
libsent/src/ngram/ngram_util.c (+8/-6)
libsent/src/ngram/ngram_write_bin.c (+3/-3)
libsent/src/phmm/addlog.c (+3/-3)
libsent/src/phmm/calc_mix.c (+3/-3)
libsent/src/phmm/calc_tied_mix.c (+3/-3)
libsent/src/phmm/gms.c (+3/-3)
libsent/src/phmm/gms_gprune.c (+3/-3)
libsent/src/phmm/gprune_beam.c (+3/-3)
libsent/src/phmm/gprune_common.c (+3/-3)
libsent/src/phmm/gprune_heu.c (+3/-3)
libsent/src/phmm/gprune_none.c (+3/-3)
libsent/src/phmm/gprune_safe.c (+4/-4)
libsent/src/phmm/mkwhmm.c (+3/-3)
libsent/src/phmm/outprob.c (+3/-3)
libsent/src/phmm/outprob_init.c (+3/-3)
libsent/src/phmm/vsegment.c (+3/-3)
libsent/src/util/aptree.c (+3/-3)
libsent/src/util/confout.c (+6/-3)
libsent/src/util/endian.c (+3/-3)
libsent/src/util/gzfile.c (+3/-3)
libsent/src/util/jlog.c (+3/-3)
libsent/src/util/mybmalloc.c (+3/-3)
libsent/src/util/mymalloc.c (+3/-3)
libsent/src/util/mystrtok.c (+3/-3)
libsent/src/util/ptree.c (+26/-35)
libsent/src/util/readfile.c (+3/-3)
libsent/src/util/strcasecmp.c (+3/-3)
libsent/src/voca/init_voca.c (+3/-3)
libsent/src/voca/voca_load_htkdict.c (+52/-20)
libsent/src/voca/voca_load_wordlist.c (+27/-3)
libsent/src/voca/voca_lookup.c (+3/-3)
libsent/src/voca/voca_malloc.c (+19/-10)
libsent/src/voca/voca_util.c (+3/-3)
libsent/src/wav2mfcc/mfcc-core.c (+3/-3)
libsent/src/wav2mfcc/para.c (+3/-3)
libsent/src/wav2mfcc/ss.c (+3/-3)
libsent/src/wav2mfcc/wav2mfcc-buffer.c (+3/-3)
libsent/src/wav2mfcc/wav2mfcc-pipe.c (+4/-4)
man/Makefile.in (+3/-3)
man/adinrec.1 (+5/-0)
man/adintool.1 (+5/-0)
man/gram2sapixml.pl.1 (+1/-7)
man/ja/adinrec.1 (+6/-0)
man/ja/adintool.1 (+6/-0)
man/ja/gram2sapixml.pl.1 (+1/-7)
man/ja/julius.1 (+6/-0)
man/julius.1 (+5/-0)
mkbingram/00readme-ja.txt (+4/-1)
mkbingram/00readme.txt (+4/-1)
mkbingram/Makefile.in (+3/-3)
mkbingram/mkbingram.c (+4/-4)
mkbinhmm/Makefile.in (+3/-3)
mkbinhmm/mkbinhmm.c (+3/-3)
mkbinhmm/mkbinhmmlist.c (+13/-5)
mkgshmm/Makefile.in (+2/-2)
mkgshmm/configure (+1/-1)
mkgshmm/configure.in (+2/-2)
mkgshmm/mkgshmm.in (+2/-2)
mkss/Makefile.in (+3/-3)
mkss/mkss.c (+3/-3)
msvc/00README-ja.txt (+153/-0)
msvc/00README.txt (+5/-0)
msvc/Debug/LICENSE_portaudio.txt (+25/-0)
msvc/Release/LICENSE_portaudio.txt (+25/-0)
msvc/SampleApp/Julius.cpp (+2/-2)
msvc/SampleApp/Julius.h (+1/-1)
msvc/config/config-msvc-libjulius.h (+7/-7)
msvc/config/config-msvc-libsent.h (+4/-1)
msvc/config/version.c (+21/-15)
plugin/plugin_defs.h (+3/-3)
support/build-all.sh (+1/-1)
To merge this branch: bzr merge lp:~logan/ubuntu/quantal/julius/new-upstream
Reviewer Review Type Date Requested Status
Luke Yelavich (community) Approve
Ubuntu branches Pending
Review via email: mp+118035@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Luke Yelavich (themuso) wrote :

Thanks for your work.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file '00readme-ja.txt'
2--- 00readme-ja.txt 2010-07-04 15:18:40 +0000
3+++ 00readme-ja.txt 2012-08-03 04:20:23 +0000
4@@ -4,11 +4,10 @@
5
6 Julius
7
8+ (Rev 4.2.2 2012/08/01)
9+ (Rev 4.2.1 2011/12/25)
10+ (Rev 4.2 2011/05/01)
11 (Rev 4.1.5 2010/06/04)
12- (Rev 4.1.4 2009/12/25)
13- (Rev 4.1.3 2009/11/02)
14- (Rev 4.1.2 2009/02/12)
15- (Rev 4.1.1 2008/12/13)
16 (Rev 4.1 2008/10/03)
17 (Rev 4.0.2 2008/05/27)
18 (Rev 4.0 2007/12/19)
19@@ -17,10 +16,10 @@
20 (Rev 2.0 1999/02/20)
21 (Rev 1.0 1998/02/20)
22
23- Copyright (c) 1991-2010 ‹ž“s‘åŠw ‰ÍŒ´Œ¤‹†Žº
24+ Copyright (c) 1991-2012 ‹ž“s‘åŠw ‰ÍŒ´Œ¤‹†Žº
25 Copyright (c) 1997-2000 �î•ñ�ˆ—��U‹»Ž–‹Æ‹¦‰ï(IPA)
26 Copyright (c) 2000-2005 “Þ—Ç�æ’[‰ÈŠw‹Z�p‘åŠw‰@‘åŠw Ž­–쌤‹†Žº
27- Copyright (c) 2005-2010 –¼ŒÃ‰®�H‹Æ‘åŠw JuliusŠJ”­ƒ`�[ƒ€
28+ Copyright (c) 2005-2012 –¼ŒÃ‰®�H‹Æ‘åŠw JuliusŠJ”­ƒ`�[ƒ€
29 All rights reserved
30 ======================================================================
31
32@@ -37,14 +36,14 @@
33 http://julius.sourceforge.jp/
34
35
36-Julius-4.1.5
37+Julius-4.2.2
38 =============
39
40-ƒo�[ƒWƒ‡ƒ“ 4.1.5 ‚̓oƒO�C�³‚̃ŠƒŠ�[ƒX‚Å‚·�DƒAƒ‹ƒSƒŠƒYƒ€�ã‚̃oƒO�C�³‚Æ
41-‚µ‚Ä�A1) •¶–@”FŽ¯Žž‚ÉŽå‚É‘æ2ƒpƒX‚Å’PŒê‘}“üƒyƒiƒ‹ƒeƒB‚ª�³‚µ‚­ˆµ‚í‚ê‚Ä‚¢
42-‚È‚¢�A2) ‘æ2ƒpƒX‚Å�Å�‰‚Ì’PŒê("</s>"‚ɌŒè)‚Ì1-gramŠm—¦‚ªLMƒXƒRƒA‚ɃJƒE
43-ƒ“ƒg‚³‚ê‚Ä‚¢‚È‚¢�A‚Ì2“_‚ª�C�³‚³‚ê‚Ü‚µ‚½�B‘æ2ƒpƒX‚Å—�—R•s–¾‚Ì’T�õŽ¸”s‚ª
44-‘½‚­Œ©‚ç‚ê‚Ä‚¢‚½�ê�‡�A‚±‚Ì�Å�V”Å‚ðŽg‚¤‚±‚Æ‚ÅŒyŒ¸‚³‚ê‚é‰Â”\�«‚ª‚ ‚è‚Ü‚·�B
45+ƒo�[ƒWƒ‡ƒ“ 4.2.2 ‚̓oƒO�C�³‚݂̂̃ŠƒŠ�[ƒX‚Å‚·�B
46+‚¢‚­‚‚©‚Ì•s‹ï�‡‚ª�C�³‚³‚ê‚Ü‚µ‚½�B
47+‚Ü‚½�A•¶–@ƒRƒ“ƒpƒCƒ‰ (mkfa) ‚ª flex ‚̃‰ƒCƒuƒ‰ƒŠ‚ðƒŠƒ“ƒN‚µ‚È‚¢‚悤
48+•Ï�X‚³‚ê‚Ü‚µ‚½�B‚±‚ê‚É‚æ‚è�Aflex ‚ªƒCƒ“ƒXƒg�[ƒ‹‚³‚ê‚Ä‚¢‚È‚¢ŠÂ‹«‚Å‚à
49+ƒRƒ“ƒpƒCƒ‹‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚µ‚½�B
50
51 •Ï�X“_‚Ì�Ú�ׂȈꗗ‚Í Release-ja.txt ‚ð‚²——‚­‚¾‚³‚¢�D
52
53@@ -103,7 +102,7 @@
54
55 Julius ‚̓I�[ƒvƒ“ƒ\�[ƒXƒ\ƒtƒgƒEƒFƒA‚Å‚·�D
56 Šw�p—p“r�E�¤—p‚ðŠÜ‚ß�C—˜—p‚ÉŠÖ‚µ‚Ä“Á‚É�§ŒÀ‚Í‚ ‚è‚Ü‚¹‚ñ�D
57-—˜—p‹–‘ø‚ɂ‚¢‚Ä‚Í�C“¯�«‚Ì•¶�‘ "LICENSE.txt" ‚É‚ ‚è‚Ü‚·‚Ì‚Å‚¨“ǂ݉º‚³‚¢�D
58+—˜—p‹–‘ø‚ɂ‚¢‚Ä‚Í�C“¯�«‚Ì•¶�‘ "LICENSE.txt" ‚ð‚¨“Ç‚Ý‰º‚³‚¢�D
59
60
61 ˜A—��æ
62
63=== modified file '00readme.txt'
64--- 00readme.txt 2010-07-04 15:18:40 +0000
65+++ 00readme.txt 2012-08-03 04:20:23 +0000
66@@ -4,11 +4,10 @@
67
68 Julius
69
70+ (Rev 4.2.2 2012/08/01)
71+ (Rev 4.2.1 2011/12/25)
72+ (Rev 4.2 2011/05/01)
73 (Rev 4.1.5 2010/06/04)
74- (Rev 4.1.4 2009/12/25)
75- (Rev 4.1.3 2009/11/02)
76- (Rev 4.1.2 2009/02/12)
77- (Rev 4.1.1 2008/12/13)
78 (Rev 4.1 2008/10/03)
79 (Rev 4.0.2 2008/05/27)
80 (Rev 4.0 2007/12/19)
81@@ -17,10 +16,10 @@
82 (Rev 2.0 1999/02/20)
83 (Rev 1.0 1998/02/20)
84
85- Copyright (c) 1991-2010 Kawahara Lab., Kyoto University
86+ Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
87 Copyright (c) 1997-2000 Information-technology Promotion Agency, Japan
88 Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
89- Copyright (c) 2005-2010 Julius project team, Nagoya Institute of Technology
90+ Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
91 All rights reserved
92 ======================================================================
93
94@@ -49,21 +48,17 @@
95 together with source codes.
96
97
98-What's new in Julius-4.1.5
99+What's new in Julius-4.2.2
100 ===========================
101
102-The version 4.1.5 is a bug-fix release. Two bugs are found relating
103-search algorithm, word insertion penalty handling on grammar
104-recognition and LM score handling of the first word on the second
105-pass. They have been fixed on this release. If you have been
106-encountering unreasonable search failures on the second pass, they
107-may be eased by using the newest version.
108-
109-Other bugs are also fixed. See "Release.txt" for the full list of the
110-fixed bugs.
111-
112-
113-Contents of Julius-4.1.5
114+Version 4.2.2 is a bug fix release. Several bugs has been fixed. The
115+grammar compiler (mkfa) now does not link flex library, so you can
116+compile without flex.
117+
118+See the "Release.txt" file for the full list of updates.
119+
120+
121+Contents of Julius-4.2.2
122 =========================
123
124 (Documents with suffix "ja" are written in Japanese)
125
126=== modified file 'LICENSE.txt'
127--- LICENSE.txt 2010-07-04 15:18:40 +0000
128+++ LICENSE.txt 2012-08-03 04:20:23 +0000
129@@ -3,10 +3,10 @@
130 �u‘åŒêœb˜A‘±‰¹�º”FŽ¯ƒGƒ“ƒWƒ“ Julius�v
131 —˜—p‹–‘ø�‘
132
133- Copyright (c) 1991-2010 ‹ž“s‘åŠw ‰ÍŒ´Œ¤‹†Žº
134+ Copyright (c) 1991-2012 ‹ž“s‘åŠw ‰ÍŒ´Œ¤‹†Žº
135 Copyright (c) 1997-2000 �î•ñ�ˆ—��U‹»Ž–‹Æ‹¦‰ï(IPA)
136 Copyright (c) 2000-2005 “Þ—Ç�æ’[‰ÈŠw‹Z�p‘åŠw‰@‘åŠw Ž­–쌤‹†Žº
137- Copyright (c) 2005-2010 –¼ŒÃ‰®�H‹Æ‘åŠw JuliusŠJ”­ƒ`�[ƒ€
138+ Copyright (c) 2005-2012 –¼ŒÃ‰®�H‹Æ‘åŠw JuliusŠJ”­ƒ`�[ƒ€
139
140 ----------------------------------------------------------------------------
141
142@@ -40,10 +40,10 @@
143 ‚È‚­‚»‚Ì‚Ü‚Ü•\Ž¦‚µ“Y•t‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñ�B
144
145 ‹L
146- Copyright (c) 1991-2010 ‹ž“s‘åŠw ‰ÍŒ´Œ¤‹†Žº
147+ Copyright (c) 1991-2012 ‹ž“s‘åŠw ‰ÍŒ´Œ¤‹†Žº
148 Copyright (c) 1997-2000 �î•ñ�ˆ—��U‹»Ž–‹Æ‹¦‰ï(IPA)
149 Copyright (c) 2000-2005 “Þ—Ç�æ’[‰ÈŠw‹Z�p‘åŠw‰@‘åŠw Ž­–쌤‹†Žº
150- Copyright (c) 2005-2010 –¼ŒÃ‰®�H‹Æ‘åŠw JuliusŠJ”­ƒ`�[ƒ€
151+ Copyright (c) 2005-2012 –¼ŒÃ‰®�H‹Æ‘åŠw JuliusŠJ”­ƒ`�[ƒ€
152
153 3. –{ƒ\ƒtƒgƒEƒFƒA‚ð—˜—p‚µ‚Ä“¾‚ç‚ꂽ’mŒ©‚ÉŠÖ‚µ‚Ä”­•\‚ð�s‚È‚¤�Û‚É‚Í�A
154 �u‘åŒêœb˜A‘±‰¹�º”FŽ¯ƒGƒ“ƒWƒ“ Julius�v‚ð—˜—p‚µ‚½‚±‚Ƃ𖾋L‚µ‚ĉº‚³‚¢�B
155@@ -57,12 +57,12 @@
156 ‚µ‚È‚¢‚±‚Æ‚Ì•Û�Ø‚ðŠÜ‚Ý‚Ü‚·‚ª�A‚»‚ê‚ÉŒÀ’肳‚ê‚é‚à‚Ì‚Å‚Í‚ ‚è‚Ü‚¹‚ñ�B‚ ‚È
157 ‚½‚ðŠÜ‚ß–{ƒ\ƒtƒgƒEƒFƒA‚Ì—˜—pŽÒ‚Í�A–{ƒ\ƒtƒgƒEƒFƒA‚ª–³•Û�Ø‚Å‚ ‚邱‚Æ‚ð�³
158 ‘ø‚µ�A–{ƒ\ƒtƒgƒEƒFƒA‚ª–³•Û�Ø‚Å‚ ‚邱‚Ƃ̃ŠƒXƒN‚ð—˜—pŽÒŽ©�g‚Å•‰‚¤‚à‚Ì‚Æ
159-‚µ‚Ü‚·�B�Ù”»�Š‚Ì”»Œˆ‚»‚Ì‘¼‰½‚ç‚©‚Ì—�—R‚É‚æ‚è‚ ‚È‚½‚ɉۂ¹‚ç‚ꂽ‹`–±‚Æ–{
160-—˜—p�ðŒ�‚ª‘Š—e‚ê‚È‚¢‚Æ‚«‚Í�A–{ƒ\ƒtƒgƒEƒFƒA‚ð—˜—p‚µ‚Ä‚Í‚È‚è‚Ü‚¹‚ñ�B–{ƒ\
161-ƒtƒgƒEƒFƒA‚Ì—˜—p–”‚Í—˜—p‚Å‚«‚È‚¢‚±‚Æ‚ÉŠÖ‚µ‚Ä‚ ‚È‚½‹y‚Ñ‘æŽOŽÒ‚É�¶‚¶‚é’Ê
162-�푹ŠQ�A“Á•Ê‘¹ŠQ�A’¼�Ú“I�AŠÔ�Ú“I�A•t��“I�A”h�¶“I‚È‘¹ŠQ�iˆíŽ¸—˜‰v‚ðŠÜ‚Þ�j
163-ˆê�؂ɂ‚«�A‚»‚ꂪŒ_–ñ�A•s–@�sˆ×�Ó”C�Aàêár’S•Û�Ó”C�A�»‘¢•¨�Ó”C“™‚¢‚©‚È
164-‚é�‘‚Ì‚¢‚©‚È‚é–@—¥Œ´ˆö‚É‚æ‚é‚©‚ð–â‚킸�A”…�ž‚µ‚Ü‚¹‚ñ�B
165+‚µ‚Ü‚·�B�Ù”»�Š‚Ì”»Œˆ‚É‚æ‚è‚ ‚È‚½‚ɉۂ¹‚ç‚ꂽ‹`–±‚É‚æ‚Á‚Ä‚ ‚È‚½‚ª–{—˜—p
166+�ðŒ�‚É�]‚¤‚±‚Æ‚ª•s‰Â”\‚É‚È‚Á‚½‚Æ‚«‚Í�A–{ƒ\ƒtƒgƒEƒFƒA‚ð—˜—p‚µ‚Ä‚Í‚È‚è‚Ü
167+‚¹‚ñ�B–{ƒ\ƒtƒgƒEƒFƒA‚Ì—˜—p–”‚Í—˜—p‚Å‚«‚È‚¢‚±‚Æ‚ÉŠÖ‚µ‚Ä‚ ‚È‚½‹y‚Ñ‘æŽOŽÒ
168+‚É�¶‚¶‚é’Ê�푹ŠQ�A“Á•Ê‘¹ŠQ�A’¼�Ú“I�AŠÔ�Ú“I�A•t��“I�A”h�¶“I‚È‘¹ŠQ�iˆíŽ¸
169+—˜‰v‚ðŠÜ‚Þ�jˆê�؂ɂ‚«�A‚»‚ꂪŒ_–ñ�A•s–@�sˆ×�Ó”C�Aàêár’S•Û�Ó”C�A�»‘¢•¨
170+�Ó”C“™‚¢‚©‚È‚é�‘‚Ì‚¢‚©‚È‚é–@—¥Œ´ˆö‚É‚æ‚é‚©‚ð–â‚킸�A”…�ž‚µ‚Ü‚¹‚ñ�B
171
172 5. –{ƒ\ƒtƒgƒEƒFƒA‚Ì—˜—p‚ÉŠÖ‚µ‚Ä‚Í�A“ú–{�‘‚Ì–@—¥‚ð�€‹’–@‚Æ‚µ�A‹ž“s’n•û
173 �Ù”»�Š‚ð‘æˆê�R‚Ì�ê‘®ŠÇŠ��Ù”»�Š‚Æ‚µ‚Ü‚·�B
174@@ -79,10 +79,10 @@
175 Large Vocabulary Continuous Speech Recognition Engine Julius
176
177
178+ Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
179 Copyright (c) 1997-2000 Information-technology Promotion Agency, Japan
180- Copyright (c) 1991-2010 Kawahara Lab., Kyoto University
181 Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
182- Copyright (c) 2005-2010 Julius project team, Nagoya Institute of Technology
183+ Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
184
185 "Large Vocabulary Continuous Speech Recognition Engine Julius",
186 including Julian, is being developed at Kawahara Lab., Kyoto
187@@ -129,10 +129,10 @@
188
189 Form of copyright notice:
190
191+ Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
192 Copyright (c) 1997-2000 Information-technology Promotion Agency, Japan
193- Copyright (c) 1991-2010 Kawahara Lab., Kyoto University
194 Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
195- Copyright (c) 2005-2010 Julius project team, Nagoya Institute of Technology
196+ Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
197
198 3. When you publish or present any results by using the Software, you
199 must explicitly mention your use of "Large Vocabulary Continuous
200@@ -151,9 +151,9 @@
201 other user of the Software hereby acknowledge that the Software is
202 licensed without any warranty or guaranty, and assume all risks
203 arising out of the absence of any warranty or guaranty. In the event
204-the terms and conditions of this license are inconsistent with the
205-obligations imposed upon you by judgment of a court or for any other
206-reason, you may not use the Software.
207+that obligations imposed upon you by judgment of a court would make it
208+impossible for you to comply with the conditions of this license, you
209+may not use the Software.
210
211 The Licensers shall not have any liability to you or to any third
212 party for damages or liabilities of any nature whatsoever arising out
213
214=== modified file 'Makefile.in'
215--- Makefile.in 2009-06-18 13:08:41 +0000
216+++ Makefile.in 2012-08-03 04:20:23 +0000
217@@ -1,11 +1,11 @@
218-# Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
219+# Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
220 # Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
221-# Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
222+# Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
223 # All rights reserved
224 #
225 # Makefile.in --- Makefile Template for configure
226 #
227-# $Id: Makefile.in,v 1.3 2008/10/02 08:57:01 sumomo Exp $
228+# $Id: Makefile.in,v 1.5 2012/07/27 08:44:47 sumomo Exp $
229 #
230 SHELL=/bin/sh
231
232
233=== modified file 'Release-ja.txt'
234--- Release-ja.txt 2010-07-04 15:18:40 +0000
235+++ Release-ja.txt 2012-08-03 04:20:23 +0000
236@@ -1,3 +1,91 @@
237+4.2.2 (2012.08.01)
238+==================
239+
240+�›�C�³“_
241+
242+- Flex ƒ‰ƒCƒuƒ‰ƒŠ–³‚µ‚ŃRƒ“ƒpƒCƒ‹‚Å‚«‚é‚悤‚É‚È‚Á‚½
243+- "--enable-words-int" Žw’莞‚É’Ê�í‚̃oƒCƒiƒŠ N-gram ‚ª“Ç‚ß‚È‚¢•s‹ï�‡‚ð�C�³
244+- Windows ‚É‚¨‚¢‚Ä jconf “à‚ŃoƒbƒNƒXƒ‰ƒbƒVƒ…‚Ì“ü‚Á‚½ƒpƒX‚ðˆµ‚¦‚È‚¢ƒoƒO‚ð�C�³
245+- ƒGƒ‰�[‚ðŠÜ‚Þ’PŒêŽ«�‘‚ð“Ç‚ñ‚¾‚Æ‚«‚É segfault ‚·‚é•s‹ï�‡‚ð�C�³
246+- ’T�õ’†‚É‹H‚É segfault ‚·‚é•s‹ï�‡‚ð�C�³
247+
248+
249+4.2.1 (2011.12.25)
250+===================
251+
252+�›�V‹@”\
253+- •¶–@”FŽ¯‚É‚¨‚¢‚Ä’PŒê•Ê‚Ì‘}“üƒyƒiƒ‹ƒeƒB�Ý’è‚ðƒTƒ|�[ƒg�D
254+ Ž«�‘‚É‚¨‚¢‚Ĉȉº‚̂悤‚ÉŽw’è‚·‚é
255+ 15 @-2.0 15 [a] a
256+ ‘æ‚PƒtƒB�[ƒ‹ƒh‚Í�]—ˆ‚Æ“¯‚¶ƒJƒeƒSƒŠ”Ô�†�B
257+�@‘æ‚QƒtƒB�[ƒ‹ƒh‚É "@" ‚É‘±‚¯‚Ä‘}“üƒyƒiƒ‹ƒeƒB‚ð‘Î�”‚ÅŽw’è‚·‚é�B
258+�@‘æ‚RƒtƒB�[ƒ‹ƒh‚Í‘æ‚PƒtƒB�[ƒ‹ƒh‚Æ“¯‚¶’l‚ð�‘‚­�B
259+
260+- �VƒIƒvƒVƒ‡ƒ“ "-chunk_size": ƒI�[ƒfƒBƒI“ü—͂̃oƒbƒtƒ@’·‚ðƒTƒ“ƒvƒ‹�”‚Å
261+ Žw’è‰Â”\�iƒfƒtƒHƒ‹ƒg�F 1000�j�¬‚³‚­‚·‚é‚Æ’x‰„‚ð�¬‚³‚­‚Å‚«‚邪�¬‚³‚·
262+ ‚¬‚é‚Æ•sˆÀ’è‚É‚È‚é�B
263+- adintool ‚Å•W�€“ü—ÍŽž‚ÉŒŸ�o‚ðƒfƒtƒHƒ‹ƒg‚Å—LŒø‰»
264+
265+�›�C�³‚³‚ꂽƒoƒO
266+- “Á’¥—Ê‚É C0 ‚ðŽg‚Á‚Ä‚¢‚é‚Æ‚«�CC0 ‚É CMN ‚ª�s‚í‚ê‚È‚¢
267+�@�i‚±‚̃oƒO‚Í4.1.3�`4.2‚Ü‚Å‚ÌJulius‚É‘¶�Ý‚·‚é�j
268+- mkbingram�Cgenerate-ngram ‚ª cygwin ‚Å—Ž‚¿‚é
269+- "-adddict" ‚ŒljÁ‚µ‚½Ž«�‘‚É "-forcedict" ‚ªŒø‚©‚È‚¢
270+- ‰¹�º˜^‰¹Žž�CCTRL+C ‚ÅŽ~‚ß‚é‚Æ WAV ƒwƒbƒ_‚Ƀf�[ƒ^’·‚ª�‘‚«‚±‚Ü‚ê‚È‚¢
271+- ƒGƒ‰�[‚ðŠÜ‚ÞŽ«�‘‚ð“Ç‚ñ‚¾‚Æ‚«�AƒGƒ‰�[‚ð“f‚©‚¸‚É segfault ‚·‚é
272+- "--enable-word-graph" ‚ŃRƒ“ƒpƒCƒ‹ƒGƒ‰�[‚ª�o‚é
273+
274+
275+4.2 (2011.05.01)
276+=================
277+
278+�›�V‹@”\
279+- ‘æ‚PƒpƒX‚̃XƒRƒAƒvƒ‹�[ƒjƒ“ƒO�D"-bs ’l" ‚Å—LŒø‰», "’l" ‚̓XƒRƒA•��D
280+ ’Ê�í‚̃‰ƒ“ƒNƒvƒ‹�[ƒjƒ“ƒO(-b ’l) ‚Æ•¹—p�DƒfƒtƒHƒ‹ƒg‚̓Iƒt�D
281+- �VƒIƒvƒVƒ‡ƒ“ "-adddict" "-addword"�FŽ«�‘�E’PŒêƒGƒ“ƒgƒŠ‚ð’ljÁ“Ç‚Ý�ž‚Ý�D
282+- PulseAudio ƒTƒ|�[ƒg (--with-mictype=pulseaudio)
283+- Portaudio ‚ð V19 ‚É�X�V�D
284+- Portaudio ‚ðŽg‚¤‘S‚Ä‚Ì�ê�‡‚É‚¨‚¢‚Ä�C•¡�”‚̘^‰¹ƒfƒoƒCƒX‚ª—˜—p‰Â”\‚È‚Æ‚«�C
285+ ŠÂ‹«•Ï�” PORTAUDIO_DEV_NUM ‚ÅŽg—p‚·‚é˜^‰¹ƒfƒoƒCƒX‚ðŽw’è‰Â”\‚É‚µ‚½�D
286+ ‹N“®Žž‚É�o—Í‚³‚ê‚éƒfƒoƒCƒXˆê——‚Ì’l‚ðŽw’è‚·‚é�D
287+
288+�›Žd—l•Ï�X‚𔺂¤‰ü‘P
289+- mkbinhmmlist ‚ª‰¹‹¿ƒ‚ƒfƒ‹‚©‚ç’Š�o‚µ‚½ pseudo phone �î•ñ‚à�‘‚«‚¾‚·‚æ
290+ ‚¤‚É‚È‚Á‚½�D‹N“®‚Ì�‚‘¬‰»‚ÉŠñ—^‚·‚é�D‚½‚¾‚µ�ì�¬‚µ‚½‰¹‹¿ƒ‚ƒfƒ‹‚ƃZƒbƒg
291+ ‚ÅŽg—p‚·‚é•K—v‚ª‚ ‚é�D‚Ü‚½�C‚±‚̃o�[ƒWƒ‡ƒ“ˆÈ�~‚Ì mkbinhmmlist ‚Å�ì�¬
292+ ‚µ‚½ binhmmlist ƒtƒ@ƒCƒ‹‚͈ȑO‚̃o�[ƒWƒ‡ƒ“‚Å‚ÍŽg—p‚Å‚«‚È‚¢�D
293+- ƒI�[ƒfƒBƒIƒ‰ƒCƒuƒ‰ƒŠ‚̃Šƒ“ƒN•û–@‚Ì•Ï�X�Dconfigure ‚É
294+ "--with-mictype" ‚ðŽw’肵‚½‚Æ‚«‚Í�C‚»‚ÌŽw’肳‚ꂽƒ‰ƒCƒuƒ‰ƒŠ�–‚Ì‚Ý�–
295+ ‚ðƒŠƒ“ƒN‚·‚é‚悤‚É‚È‚Á‚½�DŽw’肪‚È‚¢‚Æ‚«‚Í�C�]—ˆ’Ê‚è�CŒŸ�o‚³‚ꂽ
296+ ƒ‰ƒCƒuƒ‰ƒŠ‚ð‘S‚ăŠƒ“ƒN‚·‚é�D
297+
298+�›ƒ‰ƒCƒuƒ‰ƒŠŠÖ�”
299+- j_config_load_string_new(char *str): j_config_load_file() ‚Æ“¯—l�C
300+ ‚½‚¾‚µƒtƒ@ƒCƒ‹‚Å‚Í‚È‚­ str ‚ÉŠÜ‚Ü‚ê‚éƒIƒvƒVƒ‡ƒ“Žw’蕶Žš—ñ‚ð’¼�Ú
301+ •]‰¿‚·‚é�D
302+- add_dict() ‚¨‚æ‚Ñ add_word(): ƒIƒvƒVƒ‡ƒ“ "-adddict" "-addword" ‚Æ“¯
303+ ‚¶‚­�CŽ«�‘‚â’PŒê‚ð’ljÁ‚·‚é�DƒGƒ“ƒWƒ“‹N“®Œã“®“I‚É‚Í‚Å‚«‚È‚¢‚Ì‚Å�C
304+ ƒGƒ“ƒWƒ“ƒCƒ“ƒXƒ^ƒ“ƒX�¶�¬‘O‚ɌĂԂ±‚Æ�D
305+- portaudio Žg—pŽž(Windows“™), ŠÂ‹«•Ï�” PORTAUDIO_DEV_NUM ‚Æ“¯—l‚É�C
306+ j_open_stream(recog, NUMSTR) ‚Æ‚µ‚Ĉø�”‚Å‚àƒfƒoƒCƒX‘I‘ð‚ª‰Â”\�D
307+- portaudio Žg—pŽž(Windows“™)�Cget_device_list() ‚Å—˜—p‰Â”\‚ȃfƒoƒCƒX
308+ ˆê——‚ðŽæ“¾‚Å‚«‚é�D
309+
310+�›�«”\‰ü‘P�EƒoƒO�C�³
311+- –Ø�\‘¢‰»Ž«�‘‚ðˆê•”�Å“K‰»�C“Á‚É‘åŒêœb‚Ń�ƒ‚ƒŠ—Ê‚ð�팸
312+- N-gram“Ç‚Ý�ž‚ÝŽž�C�ê�‡‚É‚æ‚Á‚Ä‚Í�”–œ‰ñmalloc‚µ‚Ä‚¢‚½‚Ì‚ðŒ¸‚ç‚µ‚½
313+- ƒ�ƒ‚ƒŠƒŠ�[ƒN‚ð‚Ù‚Ú–o–Å�iValgrindŽg—p�j
314+- j_close_stream() ‚ÉŠÖ‚·‚é•s‹ï�‡‚ð•¡�”�C�³
315+- "-iwsp" ‚ðƒ}ƒ‹ƒ`ƒpƒX‰¹‹¿ƒ‚ƒfƒ‹‚¾‚¯‚ÅŽg‚¦‚é‚悤�C�³
316+
317+
318+4.1.5.1 (2010.12.25)
319+=====================
320+
321+�›�C�³
322+ - ƒ‰ƒCƒZƒ“ƒX‚ÉŠÖ‚·‚é–â‘è‚ð�C�³
323+
324+
325 4.1.5 (2010.06.04)
326 ===================
327
328
329=== modified file 'Release.txt'
330--- Release.txt 2010-07-04 15:18:40 +0000
331+++ Release.txt 2012-08-03 04:20:23 +0000
332@@ -1,3 +1,89 @@
333+4.2.2 (2012.08.01)
334+==================
335+
336+Fixes:
337+- Now can be compiled without flex library
338+- Fix failure of reading binary N-gram when compiled with "--enable-words-int"
339+- Fix incorrect handling of file paths with backslash in jconf file at Windows
340+- Fix segfault when reading an errorous word dictionary.
341+- Fix occasional segfault which may occur while search.
342+
343+
344+4.2.1 (2011.12.25)
345+===================
346+
347+New features:
348+- Add support for per-word insertion penalty setting at grammar
349+ recognition. You can set different word insertion score for each word
350+ entry at .dict file. For example, if you have an entry
351+ 15 [a] a
352+ in .dict file and want to assign word insertion score of "-2.0" to
353+ this word, you can write like this:
354+ 15 @-2.0 15 [a] a
355+ The figure after "@" is the insertion penalty. The third
356+ element should be the same as the first element.
357+
358+- New option "-chunk_size" can specify the audio fragment size in
359+ number of samples. The default value is 1000.
360+
361+- At "adintool", enable input detection by default for standard input.
362+
363+Fixed bugs:
364+- (IMPORTANT) CMN is not performed for C0 coef. This bug exists in
365+ the versions from 4.1.3 to 4.2.
366+- "-forcedict" won't work for additional dictionaries given by "-adddict".
367+- Corrupted header of recorded WAV file when interrupted by CTRL+C.
368+- Occasional segfault when reading a wrongly formatted dictionary.
369+- Won't compile with configure option "--enable-word-graph".
370+- Segfault of "mkbingram" and "generate-ngram" at cygwin.
371+
372+
373+4.2 (2011.05.01)
374+=================
375+
376+New features:
377+- Additional score-based pruning at the 1st pass. It is disabled by
378+ default, you can enable by using an option "-bs arg". The argument
379+ is score range.
380+- New support for PulseAudio (--with-mictype=pulseaudio)
381+- New Option "-adddict", "-addword" to read additional dictionaries / words.
382+- Portaudio library updated to V19. Audio capture device can be
383+ changed by env. "PORTAUDIO_DEV_NUM". The device list will be
384+ output at start up.
385+
386+Changed behavior:
387+- "mkbinhmmlist" now saves pseudo phone list extracted from AM for
388+ faster start up. The output should be used with the same AM
389+ specified at generation. Note that the converted binhmmlist file
390+ can not be used with older Julius.
391+- Audio library linking was modified at configure script.
392+ When "--with-mictype=..." is explicitly specified, Julius will link
393+ ONLY the audio library. If not specified, Julius will link all the
394+ audio devices whose development file was detected by the configure.
395+
396+Library functions:
397+- j_config_load_string_new(char *str): like j_config_load_file(), but
398+ parse the given string to set parameters.
399+- add_dict(), add_word(): the same as "-adddict" and "-addword".
400+ (They should be called at start up before starting engine)
401+- (portaudio/Windows) j_open_stream(recog, NUMSTR) to choose device NUM.
402+ ex. 'j_open_stream(recog, "1")' will open device number one.
403+- (portaudio/Windows) get_device_list(): obtain list of available devices.
404+
405+Fixes:
406+- Improved tree lexicon structure for better memory management.
407+- Reduce malloc calls at reading N-gram.
408+- Eliminated memory leaks using Valgrind.
409+- Workarounds to avoid crash with j_close_stream().
410+- Now allow "-iwsp" only with multi-path acoustic model.
411+
412+
413+4.1.5.1 (2010.12.25)
414+=====================
415+
416+Modified:
417+ - Fixed problem related to the license.
418+
419 4.1.5 (2010.06.04)
420 ===================
421 Bug fixes:
422
423=== modified file 'Sample.jconf'
424--- Sample.jconf 2009-06-18 13:08:41 +0000
425+++ Sample.jconf 2012-08-03 04:20:23 +0000
426@@ -1,6 +1,6 @@
427 #
428 # Sample Jconf configuration file
429-# for Julius library rev.4.1.1
430+# for Julius library rev.4.2
431 #
432 # 1) Options can also be specified in command line option.
433 # The values are default values in Julius.
434@@ -204,6 +204,8 @@
435 #-iwspword # add a pause word to the dictionary
436 #-iwspentry "<UNK> [sp] sp sp" # word that will be added by "-iwspword"
437 #-sepnum 150 # num of high freq words to linearize
438+#-adddict dictfile # append additional word dictionary
439+#-addword entry # append additional word entry
440
441 ####
442 #### Grammar
443@@ -326,6 +328,7 @@
444 #-lmp weight penalty # LM weight and word insertion penalty (pass1)
445 #-penalty1 penalty # word insertion penalty for grammar (pass1)
446 #-b width # beam width (# of nodes)
447+#-bs score # beam width (score)
448 #-nlimit 3 # with enable-wpair-nlimit, set max N at nodes
449 #-progout # progressive output while decoding
450 #-proginterval 300 # output interval in msec for "-progout"
451
452=== modified file 'adinrec/00readme-ja.txt'
453--- adinrec/00readme-ja.txt 2009-06-18 13:08:41 +0000
454+++ adinrec/00readme-ja.txt 2012-08-03 04:20:23 +0000
455@@ -46,6 +46,10 @@
456 esd‚Í�C‰¹�ºƒfƒoƒCƒX‚Ì‹¤—LŽè’i‚Æ‚µ‚Ä‘½‚­‚Ì Linux‚̃fƒXƒNƒgƒbƒvŠÂ‹«‚Å
457 —˜—p‚³‚ê‚Ä‚¢‚é EsounD daemon ‚©‚ç“ü—Í‚·‚é�D
458
459+ -chunk_size samples
460+ ‰¹�º“ü—Í‚Ì�ˆ—�ƒoƒbƒtƒ@�iƒtƒ‰ƒOƒ�ƒ“ƒg�j‚̃TƒCƒY�D’l‚̓Tƒ“ƒvƒ‹
461+ �”�D(default: 1000)
462+
463 -lv thres
464 �U•�ƒŒƒxƒ‹‚Ì‚µ‚«‚¢’l�D’l‚Í 0 ‚©‚ç 32767 ‚͈̔͂Ŏw’è‚·‚é�D (default:
465 2000)
466
467=== modified file 'adinrec/00readme.txt'
468--- adinrec/00readme.txt 2009-06-18 13:08:41 +0000
469+++ adinrec/00readme.txt 2012-08-03 04:20:23 +0000
470@@ -49,6 +49,9 @@
471 At Linux, you can choose API at run time by specifying alsa, oss and
472 esd.
473
474+ -chunk_size samples
475+ Audio fragment size in number of samples. (default: 1000)
476+
477 -lv thres
478 Level threshold for speech input detection. Values should be in
479 range from 0 to 32767. (default: 2000)
480
481=== modified file 'adinrec/Makefile.in'
482--- adinrec/Makefile.in 2010-07-04 15:18:40 +0000
483+++ adinrec/Makefile.in 2012-08-03 04:20:23 +0000
484@@ -1,9 +1,9 @@
485-# Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
486+# Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
487 # Copyright (c) 2001-2005 Shikano Lab., Nara Institute of Science and Technology
488-# Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
489+# Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
490 # All rights reserved
491 #
492-# $Id: Makefile.in,v 1.5 2010/02/03 10:11:57 sumomo Exp $
493+# $Id: Makefile.in,v 1.7 2012/07/27 08:44:48 sumomo Exp $
494 #
495 SHELL=/bin/sh
496 .SUFFIXES:
497
498=== modified file 'adinrec/adinrec.c'
499--- adinrec/adinrec.c 2010-07-04 15:18:40 +0000
500+++ adinrec/adinrec.c 2012-08-03 04:20:23 +0000
501@@ -12,13 +12,13 @@
502 * @author Akinobu LEE
503 * @date Wed Mar 23 20:33:01 2005
504 *
505- * $Revision: 1.4 $
506+ * $Revision: 1.10 $
507 *
508 */
509 /*
510- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
511+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
512 * Copyright (c) 2001-2005 Shikano Lab., Nara Institute of Science and Technology
513- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
514+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
515 * All rights reserved
516 */
517
518@@ -44,13 +44,14 @@
519 {
520 fprintf(stderr, "adinrec --- record one sentence input to a file\n");
521 fprintf(stderr, "Usage: adinrec [options..] filename\n");
522- fprintf(stderr, " [-input mic|alsa|oss|esd|...] input source (mic)\n");
523+ fprintf(stderr, " [-input mic|pulseaudio|alsa|oss|esd|...] input source (mic)\n");
524 fprintf(stderr, " [-freq frequency] sampling frequency in Hz (%ld)\n", jconf->am_root->analysis.para_default.smp_freq);
525 fprintf(stderr, " [-48] 48000Hz recording with down sampling (16kHz only)\n");
526 fprintf(stderr, " [-lv unsignedshort] silence cut level threshold (%d)\n", jconf->detect.level_thres);
527 fprintf(stderr, " [-zc zerocrossnum] silence cut zerocross num (%d)\n", jconf->detect.zero_cross_num);
528 fprintf(stderr, " [-headmargin msec] head margin length (%d)\n", jconf->detect.head_margin_msec);
529 fprintf(stderr, " [-tailmargin msec] tail margin length (%d)\n", jconf->detect.tail_margin_msec);
530+ fprintf(stderr, " [-chunksize sample] chunk size for processing (%d)\n", jconf->detect.chunk_size);
531 fprintf(stderr, " [-nostrip] not strip off zero samples\n");
532 fprintf(stderr, " [-zmean] remove DC by zero mean\n");
533 fprintf(stderr, " [-nocutsilence] disable VAD, record all stream\n");
534@@ -280,10 +281,23 @@
535 }
536 }
537 }
538- /* set interrupt signal handler to properly close output file */
539+ /* set signal handlers to properly close output file */
540 if (signal(SIGINT, interrupt_record) == SIG_ERR) {
541 fprintf(stderr, "Warning: signal intterupt may collapse output\n");
542 }
543+ if (signal(SIGTERM, interrupt_record) == SIG_ERR) {
544+ fprintf(stderr, "Warning: signal intterupt may collapse output\n");
545+ }
546+#ifdef SIGPIPE
547+ if (signal(SIGPIPE, interrupt_record) == SIG_ERR) {
548+ fprintf(stderr, "Warning: signal intterupt may collapse output\n");
549+ }
550+#endif
551+#ifdef SIGQUIT
552+ if (signal(SIGQUIT, interrupt_record) == SIG_ERR) {
553+ fprintf(stderr, "Warning: signal intterupt may collapse output\n");
554+ }
555+#endif
556
557 recog = j_recog_new();
558 recog->jconf = jconf;
559
560=== modified file 'adintool/00readme-ja.txt'
561--- adintool/00readme-ja.txt 2009-06-18 13:08:41 +0000
562+++ adintool/00readme-ja.txt 2012-08-03 04:20:23 +0000
563@@ -123,6 +123,10 @@
564 �i�ÅŒã‚ÉŽw’肵‚½‚Ù‚¤‚ª—D�悳‚ê‚é�j�Desd ‚âƒvƒ‰ƒOƒCƒ““ü—Í‚ª Žw’è‰Â”\
565 ‚Å‚ ‚é�D
566
567+ -chunk_size samples
568+ ‰¹�º“ü—Í‚Ì�ˆ—�ƒoƒbƒtƒ@�iƒtƒ‰ƒOƒ�ƒ“ƒg�j‚̃TƒCƒY�D’l‚̓Tƒ“ƒvƒ‹
569+ �”�D(default: 1000)
570+
571 -lv thres
572 �U•�ƒŒƒxƒ‹‚Ì‚µ‚«‚¢’l�D’l‚Í 0 ‚©‚ç 32767 ‚͈̔͂Ŏw’è‚·‚é�D (default:
573 2000)
574
575=== modified file 'adintool/00readme.txt'
576--- adintool/00readme.txt 2009-06-18 13:08:41 +0000
577+++ adintool/00readme.txt 2012-08-03 04:20:23 +0000
578@@ -123,6 +123,9 @@
579 At Linux, you can choose API at run time by specifying alsa, oss and
580 esd.
581
582+ -chunk_size samples
583+ Audio fragment size in number of samples. (default: 1000)
584+
585 -lv thres
586 Level threshold for speech input detection. Values should be in
587 range from 0 to 32767. (default: 2000)
588
589=== modified file 'adintool/Makefile.in'
590--- adintool/Makefile.in 2010-07-04 15:18:40 +0000
591+++ adintool/Makefile.in 2012-08-03 04:20:23 +0000
592@@ -1,9 +1,9 @@
593-# Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
594+# Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
595 # Copyright (c) 2001-2005 Shikano Lab., Nara Institute of Science and Technology
596-# Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
597+# Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
598 # All rights reserved
599 #
600-# $Id: Makefile.in,v 1.5 2010/02/03 10:11:57 sumomo Exp $
601+# $Id: Makefile.in,v 1.7 2012/07/27 08:44:48 sumomo Exp $
602 #
603 SHELL=/bin/sh
604 .SUFFIXES:
605
606=== modified file 'adintool/adintool.c'
607--- adintool/adintool.c 2010-07-04 15:18:40 +0000
608+++ adintool/adintool.c 2012-08-03 04:20:23 +0000
609@@ -35,13 +35,13 @@
610 * @author Akinobu LEE
611 * @date Wed Mar 23 20:43:32 2005
612 *
613- * $Revision: 1.8 $
614+ * $Revision: 1.15 $
615 *
616 */
617 /*
618- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
619+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
620 * Copyright (c) 2001-2005 Shikano Lab., Nara Institute of Science and Technology
621- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
622+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
623 * All rights reserved
624 */
625
626@@ -102,7 +102,7 @@
627 fprintf(stderr, " file speech file (filename given from prompt)\n");
628 fprintf(stderr, " adinnet from adinnet client (I'm server)\n");
629 fprintf(stderr, " stdin standard tty input\n");
630- fprintf(stderr, " (\"-input xxx\" can be used instead, as same as Julius)\n");
631+ fprintf(stderr, " (other input can be specified by \"-input xxx\" as in Julius)\n");
632 fprintf(stderr, "outputdev: output data to:\n");
633 fprintf(stderr, " file speech file (\"foo.0000.wav\" - \"foo.N.wav\"\n");
634 fprintf(stderr, " adinnet to adinnet server (I'm client)\n");
635@@ -119,7 +119,11 @@
636 fprintf(stderr, " -startid id (file-out) recording start id (%04d)\n", startid);
637
638 fprintf(stderr, "Recording and Pause segmentation options:\n");
639+
640+ fprintf(stderr, " (input segmentation: on for file/mic/stdin, off for adinnet)\n");
641 fprintf(stderr, " [-nosegment] not segment input speech\n");
642+ fprintf(stderr, " [-segment] force segmentation of input speech\n");
643+ fprintf(stderr, " [-cutsilence] (same as \"-segment\")\n");
644 fprintf(stderr, " [-oneshot] record only the first segment\n");
645 fprintf(stderr, " [-freq frequency] sampling frequency in Hz (%ld)\n", jconf->am_root->analysis.para_default.smp_freq);
646 fprintf(stderr, " [-48] 48000Hz recording with down sampling (16kHz only)\n");
647@@ -127,12 +131,15 @@
648 fprintf(stderr, " [-zc zerocrossnum] silence cut zerocross num (%d)\n", jconf->detect.zero_cross_num);
649 fprintf(stderr, " [-headmargin msec] head margin length (%d)\n", jconf->detect.head_margin_msec);
650 fprintf(stderr, " [-tailmargin msec] tail margin length (%d)\n", jconf->detect.tail_margin_msec);
651+ fprintf(stderr, " [-chunksize sample] chunk size for processing (%d)\n", jconf->detect.chunk_size);
652 fprintf(stderr, " [-nostrip] do not strip zero samples\n");
653 fprintf(stderr, " [-zmean] remove DC by zero mean\n");
654 fprintf(stderr, " [-raw] output in RAW format\n");
655 fprintf(stderr, " [-autopause] automatically pause at each input end\n");
656 fprintf(stderr, " [-loosesync] loose sync of resume among servers\n");
657 fprintf(stderr, " [-rewind msec] rewind input if spoken while pause at resume\n");
658+ fprintf(stderr, " [-C jconffile] load jconf to set parameters (ignore other options\n");
659+
660 fprintf(stderr, "\nLibrary configuration: ");
661 confout_version(stderr);
662 confout_audio(stderr);
663@@ -162,6 +169,7 @@
664 break;
665 case 's':
666 jconf->input.speech_input = SP_STDIN;
667+ jconf->detect.silence_cut = 1;
668 break;
669 case 'a':
670 jconf->input.speech_input = SP_ADINNET;
671@@ -289,6 +297,12 @@
672 return TRUE;
673 }
674 static boolean
675+opt_segment(Jconf *jconf, char *arg[], int argnum)
676+{
677+ jconf->detect.silence_cut = 1;
678+ return TRUE;
679+}
680+static boolean
681 opt_oneshot(Jconf *jconf, char *arg[], int argnum)
682 {
683 continuous_segment = FALSE;
684@@ -377,6 +391,7 @@
685 case SP_INPUT_ALSA: fprintf(stderr, "alsa\n"); break;
686 case SP_INPUT_OSS: fprintf(stderr, "oss\n"); break;
687 case SP_INPUT_ESD: fprintf(stderr, "esd\n"); break;
688+ case SP_INPUT_PULSEAUDIO: fprintf(stderr, "pulseaudio\n"); break;
689 }
690 }
691
692@@ -1006,6 +1021,7 @@
693 j_add_option("-startid", 1, 1, "recording start id (-out file)", opt_startid);
694 j_add_option("-freq", 1, 1, "sampling frequency in Hz", opt_freq);
695 j_add_option("-nosegment", 0, 0, "not segment input speech, record all", opt_nosegment);
696+ j_add_option("-segment", 0, 0, "force segment input speech", opt_segment);
697 j_add_option("-oneshot", 0, 0, "exit after the first input", opt_oneshot);
698 j_add_option("-raw", 0, 0, "save in raw (BE) format", opt_raw);
699 j_add_option("-autopause", 0, 0, "automatically pause at each input end", opt_autopause);
700@@ -1111,8 +1127,21 @@
701 /* interrupt handling */
702 /**********************/
703 if (signal(SIGINT, interrupt_record) == SIG_ERR) {
704- fprintf(stderr, "Warning: signal intterupt may collapse output\n");
705- }
706+ fprintf(stderr, "Warning: signal interruption may collapse output\n");
707+ }
708+ if (signal(SIGTERM, interrupt_record) == SIG_ERR) {
709+ fprintf(stderr, "Warning: signal interruption may collapse output\n");
710+ }
711+#ifdef SIGPIPE
712+ if (signal(SIGPIPE, interrupt_record) == SIG_ERR) {
713+ fprintf(stderr, "Warning: signal interruption may collapse output\n");
714+ }
715+#endif
716+#ifdef SIGQUIT
717+ if (signal(SIGQUIT, interrupt_record) == SIG_ERR) {
718+ fprintf(stderr, "Warning: signal interruption may collapse output\n");
719+ }
720+#endif
721
722 /***************************/
723 /* initialize input device */
724
725=== modified file 'configure'
726--- configure 2010-07-04 15:18:40 +0000
727+++ configure 2012-08-03 04:20:23 +0000
728@@ -1065,7 +1065,7 @@
729 if { (eval echo configure:1066: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
730 for file in conftest.*; do
731 case $file in
732- *.$ac_ext | *.c | *.o | *.obj) ;;
733+ *.c | *.o | *.obj) ;;
734 *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
735 esac
736 done
737@@ -1446,7 +1446,7 @@
738 fi
739 fi
740
741- cd "$ac_popdir"
742+ cd $ac_popdir
743 done
744 fi
745
746
747=== modified file 'configure.in'
748--- configure.in 2010-07-04 15:18:40 +0000
749+++ configure.in 2012-08-03 04:20:23 +0000
750@@ -1,9 +1,9 @@
751-dnl Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
752+dnl Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
753 dnl Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
754-dnl Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
755+dnl Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
756 dnl All rights reserved
757 dnl
758-dnl $Id: configure.in,v 1.4 2010/02/03 10:11:57 sumomo Exp $
759+dnl $Id: configure.in,v 1.6 2012/07/27 08:44:47 sumomo Exp $
760 dnl
761 AC_INIT(Sample.jconf)
762 AC_CONFIG_AUX_DIR(support)
763
764=== modified file 'debian/changelog'
765--- debian/changelog 2010-07-04 15:18:40 +0000
766+++ debian/changelog 2012-08-03 04:20:23 +0000
767@@ -1,3 +1,10 @@
768+julius (4.2.2-0ubuntu1) quantal; urgency=low
769+
770+ * New upstream release. (LP: #1032429)
771+ * Bump Standards-Version to 3.9.3.
772+
773+ -- Logan Rosen <logatronico@gmail.com> Fri, 03 Aug 2012 00:14:06 -0400
774+
775 julius (4.1.5-0ubuntu1) maverick; urgency=low
776
777 * New upstream version. See Release.txt for a list of changes.
778
779=== modified file 'debian/control'
780--- debian/control 2010-07-04 15:18:40 +0000
781+++ debian/control 2012-08-03 04:20:23 +0000
782@@ -9,7 +9,7 @@
783 debhelper (>= 5),
784 flex,
785 perl
786-Standards-Version: 3.8.4
787+Standards-Version: 3.9.3
788
789 Package: julius
790 Architecture: any
791
792=== modified file 'generate-ngram/Makefile.in'
793--- generate-ngram/Makefile.in 2010-07-04 15:18:40 +0000
794+++ generate-ngram/Makefile.in 2012-08-03 04:20:23 +0000
795@@ -1,9 +1,9 @@
796-# Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
797+# Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
798 # Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
799-# Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
800+# Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
801 # All rights reserved
802 #
803-# $Id: Makefile.in,v 1.8 2010/02/03 10:11:57 sumomo Exp $
804+# $Id: Makefile.in,v 1.10 2012/07/27 08:44:48 sumomo Exp $
805 #
806 SHELL=/bin/sh
807 .SUFFIXES:
808
809=== modified file 'gramtools/Makefile.in'
810--- gramtools/Makefile.in 2009-06-18 13:08:41 +0000
811+++ gramtools/Makefile.in 2012-08-03 04:20:23 +0000
812@@ -1,10 +1,10 @@
813-# Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
814+# Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
815 # Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
816-# Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
817+# Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
818
819 # All rights reserved
820 #
821-# $Id: Makefile.in,v 1.3 2008/10/02 08:57:02 sumomo Exp $
822+# $Id: Makefile.in,v 1.5 2012/07/27 08:44:48 sumomo Exp $
823 #
824 SHELL=/bin/sh
825 RM=@RM@ -f
826
827=== modified file 'gramtools/accept_check/Makefile.in'
828--- gramtools/accept_check/Makefile.in 2010-07-04 15:18:40 +0000
829+++ gramtools/accept_check/Makefile.in 2012-08-03 04:20:23 +0000
830@@ -1,6 +1,6 @@
831-# Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
832+# Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
833 # Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
834-# Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
835+# Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
836 # All rights reserved
837
838 SHELL=/bin/sh
839
840=== modified file 'gramtools/accept_check/accept_check.c'
841--- gramtools/accept_check/accept_check.c 2008-07-25 17:44:08 +0000
842+++ gramtools/accept_check/accept_check.c 2012-08-03 04:20:23 +0000
843@@ -1,7 +1,7 @@
844 /*
845- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
846+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
847 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
848- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
849+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
850 * All rights reserved
851 */
852
853
854=== modified file 'gramtools/accept_check/common.h'
855--- gramtools/accept_check/common.h 2008-07-25 17:44:08 +0000
856+++ gramtools/accept_check/common.h 2012-08-03 04:20:23 +0000
857@@ -1,7 +1,7 @@
858 /*
859- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
860+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
861 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
862- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
863+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
864 * All rights reserved
865 */
866
867
868=== modified file 'gramtools/accept_check/rdterm.c'
869--- gramtools/accept_check/rdterm.c 2008-07-25 17:44:08 +0000
870+++ gramtools/accept_check/rdterm.c 2012-08-03 04:20:23 +0000
871@@ -1,7 +1,7 @@
872 /*
873- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
874+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
875 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
876- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
877+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
878 * All rights reserved
879 */
880
881
882=== modified file 'gramtools/configure'
883--- gramtools/configure 2010-07-04 15:18:40 +0000
884+++ gramtools/configure 2012-08-03 04:20:23 +0000
885@@ -1024,7 +1024,7 @@
886 if { (eval echo configure:1025: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
887 for file in conftest.*; do
888 case $file in
889- *.$ac_ext | *.c | *.o | *.obj) ;;
890+ *.c | *.o | *.obj) ;;
891 *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
892 esac
893 done
894@@ -1130,58 +1130,10 @@
895 { echo "configure: error: perl not found! installation terminated" 1>&2; exit 1; }
896 fi
897
898-echo $ac_n "checking for yywrap in -lfl""... $ac_c" 1>&6
899-echo "configure:1135: checking for yywrap in -lfl" >&5
900-ac_lib_var=`echo fl'_'yywrap | sed 'y%./+-%__p_%'`
901-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
902- echo $ac_n "(cached) $ac_c" 1>&6
903-else
904- ac_save_LIBS="$LIBS"
905-LIBS="-lfl $LIBS"
906-cat > conftest.$ac_ext <<EOF
907-#line 1143 "configure"
908-#include "confdefs.h"
909-/* Override any gcc2 internal prototype to avoid an error. */
910-/* We use char because int might match the return type of a gcc2
911- builtin and then its argument prototype would still apply. */
912-char yywrap();
913-
914-int main() {
915-yywrap()
916-; return 0; }
917-EOF
918-if { (eval echo configure:1154: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
919- rm -rf conftest*
920- eval "ac_cv_lib_$ac_lib_var=yes"
921-else
922- echo "configure: failed program was:" >&5
923- cat conftest.$ac_ext >&5
924- rm -rf conftest*
925- eval "ac_cv_lib_$ac_lib_var=no"
926-fi
927-rm -f conftest*
928-LIBS="$ac_save_LIBS"
929-
930-fi
931-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
932- echo "$ac_t""yes" 1>&6
933- ac_tr_lib=HAVE_LIB`echo fl | sed -e 's/[^a-zA-Z0-9_]/_/g' \
934- -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
935- cat >> confdefs.h <<EOF
936-#define $ac_tr_lib 1
937-EOF
938-
939- LIBS="-lfl $LIBS"
940-
941-else
942- echo "$ac_t""no" 1>&6
943-{ echo "configure: error: flex library not found! installation terminated" 1>&2; exit 1; }
944-fi
945-
946 # Extract the first word of "iconv", so it can be a program name with args.
947 set dummy iconv; ac_word=$2
948 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
949-echo "configure:1185: checking for $ac_word" >&5
950+echo "configure:1137: checking for $ac_word" >&5
951 if eval "test \"`echo '$''{'ac_cv_path_ICONV'+set}'`\" = set"; then
952 echo $ac_n "(cached) $ac_c" 1>&6
953 else
954@@ -1217,7 +1169,7 @@
955 echo "configure: warning: no iconv, gram2sapixml.pl may not work" 1>&2
956 else
957 echo $ac_n "checking for Jcode module in perl""... $ac_c" 1>&6
958-echo "configure:1221: checking for Jcode module in perl" >&5
959+echo "configure:1173: checking for Jcode module in perl" >&5
960 if $PERL -mJcode -e "print;"; then
961 echo "$ac_t""yes" 1>&6
962 else
963@@ -1228,17 +1180,17 @@
964 READLINE_LIBS=""
965 ac_safe=`echo "readline/readline.h" | sed 'y%./+-%__p_%'`
966 echo $ac_n "checking for readline/readline.h""... $ac_c" 1>&6
967-echo "configure:1232: checking for readline/readline.h" >&5
968+echo "configure:1184: checking for readline/readline.h" >&5
969 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
970 echo $ac_n "(cached) $ac_c" 1>&6
971 else
972 cat > conftest.$ac_ext <<EOF
973-#line 1237 "configure"
974+#line 1189 "configure"
975 #include "confdefs.h"
976 #include <readline/readline.h>
977 EOF
978 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
979-{ (eval echo configure:1242: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
980+{ (eval echo configure:1194: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
981 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
982 if test -z "$ac_err"; then
983 rm -rf conftest*
984@@ -1255,7 +1207,7 @@
985 if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
986 echo "$ac_t""yes" 1>&6
987 echo $ac_n "checking for readline in -lreadline""... $ac_c" 1>&6
988-echo "configure:1259: checking for readline in -lreadline" >&5
989+echo "configure:1211: checking for readline in -lreadline" >&5
990 ac_lib_var=`echo readline'_'readline | sed 'y%./+-%__p_%'`
991 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
992 echo $ac_n "(cached) $ac_c" 1>&6
993@@ -1263,7 +1215,7 @@
994 ac_save_LIBS="$LIBS"
995 LIBS="-lreadline $LIBS"
996 cat > conftest.$ac_ext <<EOF
997-#line 1267 "configure"
998+#line 1219 "configure"
999 #include "confdefs.h"
1000 /* Override any gcc2 internal prototype to avoid an error. */
1001 /* We use char because int might match the return type of a gcc2
1002@@ -1274,7 +1226,7 @@
1003 readline()
1004 ; return 0; }
1005 EOF
1006-if { (eval echo configure:1278: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
1007+if { (eval echo configure:1230: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
1008 rm -rf conftest*
1009 eval "ac_cv_lib_$ac_lib_var=yes"
1010 else
1011@@ -1294,11 +1246,11 @@
1012 else
1013 echo "$ac_t""no" 1>&6
1014 echo $ac_n "checking for readline in -lreadline with -ltermcap""... $ac_c" 1>&6
1015-echo "configure:1298: checking for readline in -lreadline with -ltermcap" >&5
1016+echo "configure:1250: checking for readline in -lreadline with -ltermcap" >&5
1017 ac_save_LIBS="$LIBS"
1018 LIBS="$ac_save_LIBS -lreadline -ltermcap"
1019 cat > conftest.$ac_ext <<EOF
1020-#line 1302 "configure"
1021+#line 1254 "configure"
1022 #include "confdefs.h"
1023 #include <stdio.h>
1024 #include <readline/readline.h>
1025@@ -1306,7 +1258,7 @@
1026 readline("");
1027 ; return 0; }
1028 EOF
1029-if { (eval echo configure:1310: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
1030+if { (eval echo configure:1262: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
1031 rm -rf conftest*
1032 echo "$ac_t""yes" 1>&6
1033 READLINE_LIBS="-lreadline -ltermcap"
1034@@ -1318,10 +1270,10 @@
1035 rm -rf conftest*
1036 echo "$ac_t""no" 1>&6
1037 echo $ac_n "checking for readline in -lreadline with -lncurses""... $ac_c" 1>&6
1038-echo "configure:1322: checking for readline in -lreadline with -lncurses" >&5
1039+echo "configure:1274: checking for readline in -lreadline with -lncurses" >&5
1040 LIBS="$ac_save_LIBS -lreadline -lncurses"
1041 cat > conftest.$ac_ext <<EOF
1042-#line 1325 "configure"
1043+#line 1277 "configure"
1044 #include "confdefs.h"
1045 #include <stdio.h>
1046 #include <readline/readline.h>
1047@@ -1329,7 +1281,7 @@
1048 readline("");
1049 ; return 0; }
1050 EOF
1051-if { (eval echo configure:1333: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
1052+if { (eval echo configure:1285: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
1053 rm -rf conftest*
1054 echo "$ac_t""yes" 1>&6
1055 READLINE_LIBS="-lreadline -lncurses"
1056@@ -1362,9 +1314,9 @@
1057 EOF
1058
1059 echo $ac_n "checking for readline verion > 4.1""... $ac_c" 1>&6
1060-echo "configure:1366: checking for readline verion > 4.1" >&5
1061+echo "configure:1318: checking for readline verion > 4.1" >&5
1062 cat > conftest.$ac_ext <<EOF
1063-#line 1368 "configure"
1064+#line 1320 "configure"
1065 #include "confdefs.h"
1066 #include <readline/readline.h>
1067 EOF
1068@@ -1390,17 +1342,17 @@
1069 do
1070 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
1071 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
1072-echo "configure:1394: checking for $ac_hdr" >&5
1073+echo "configure:1346: checking for $ac_hdr" >&5
1074 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
1075 echo $ac_n "(cached) $ac_c" 1>&6
1076 else
1077 cat > conftest.$ac_ext <<EOF
1078-#line 1399 "configure"
1079+#line 1351 "configure"
1080 #include "confdefs.h"
1081 #include <$ac_hdr>
1082 EOF
1083 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
1084-{ (eval echo configure:1404: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
1085+{ (eval echo configure:1356: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
1086 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
1087 if test -z "$ac_err"; then
1088 rm -rf conftest*
1089
1090=== modified file 'gramtools/configure.in'
1091--- gramtools/configure.in 2010-07-04 15:18:40 +0000
1092+++ gramtools/configure.in 2012-08-03 04:20:23 +0000
1093@@ -1,6 +1,6 @@
1094-dnl Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
1095+dnl Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
1096 dnl Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
1097-dnl Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1098+dnl Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1099 dnl All rights reserved
1100
1101 AC_INIT(00readme.txt)
1102@@ -57,7 +57,6 @@
1103 dnl if test -z "$FLEX"; then
1104 dnl AC_MSG_ERROR([flex not found! installation terminated])
1105 dnl fi
1106-AC_CHECK_LIB(fl, yywrap,,AC_MSG_ERROR([flex library not found! installation terminated]))
1107 AC_PATH_PROG(ICONV,iconv)
1108 if test -z "$ICONV"; then
1109 AC_MSG_WARN([no iconv, gram2sapixml.pl may not work])
1110
1111=== modified file 'gramtools/dfa_determinize/Makefile.in'
1112--- gramtools/dfa_determinize/Makefile.in 2010-07-04 15:18:40 +0000
1113+++ gramtools/dfa_determinize/Makefile.in 2012-08-03 04:20:23 +0000
1114@@ -1,6 +1,6 @@
1115-# Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
1116+# Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
1117 # Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
1118-# Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1119+# Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1120 # All rights reserved
1121
1122 SHELL=/bin/sh
1123
1124=== modified file 'gramtools/dfa_determinize/dfa_determinize.c'
1125--- gramtools/dfa_determinize/dfa_determinize.c 2008-07-25 17:44:08 +0000
1126+++ gramtools/dfa_determinize/dfa_determinize.c 2012-08-03 04:20:23 +0000
1127@@ -6,12 +6,12 @@
1128 * @author Akinobu Lee
1129 * @date Wed Oct 4 17:42:16 2006
1130 *
1131- * $Revision: 1.2 $
1132+ * $Revision: 1.4 $
1133 *
1134 */
1135 /*
1136- * Copyright (c) 2006 Kawahara Lab., Kyoto University
1137- * Copyright (c) 2006 Julius project team, Nagoya Institute of Technology
1138+ * Copyright (c) 2006-2012 Kawahara Lab., Kyoto University
1139+ * Copyright (c) 2006-2012 Julius project team, Nagoya Institute of Technology
1140 * All rights reserved
1141 */
1142 #include <sent/stddefs.h>
1143
1144=== modified file 'gramtools/dfa_minimize/Makefile.in'
1145--- gramtools/dfa_minimize/Makefile.in 2010-07-04 15:18:40 +0000
1146+++ gramtools/dfa_minimize/Makefile.in 2012-08-03 04:20:23 +0000
1147@@ -1,6 +1,6 @@
1148-# Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
1149+# Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
1150 # Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
1151-# Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1152+# Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1153 # All rights reserved
1154
1155 SHELL=/bin/sh
1156
1157=== modified file 'gramtools/dfa_minimize/dfa_minimize.c'
1158--- gramtools/dfa_minimize/dfa_minimize.c 2008-07-25 17:44:08 +0000
1159+++ gramtools/dfa_minimize/dfa_minimize.c 2012-08-03 04:20:23 +0000
1160@@ -6,12 +6,12 @@
1161 * @author Akinobu Lee
1162 * @date Wed Oct 4 17:42:16 2006
1163 *
1164- * $Revision: 1.2 $
1165+ * $Revision: 1.4 $
1166 *
1167 */
1168 /*
1169- * Copyright (c) 2006 Kawahara Lab., Kyoto University
1170- * Copyright (c) 2006 Julius project team, Nagoya Institute of Technology
1171+ * Copyright (c) 2006-2012 Kawahara Lab., Kyoto University
1172+ * Copyright (c) 2006-2012 Julius project team, Nagoya Institute of Technology
1173 * All rights reserved
1174 */
1175
1176
1177=== modified file 'gramtools/generate/Makefile.in'
1178--- gramtools/generate/Makefile.in 2010-07-04 15:18:40 +0000
1179+++ gramtools/generate/Makefile.in 2012-08-03 04:20:23 +0000
1180@@ -1,6 +1,6 @@
1181-# Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
1182+# Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
1183 # Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
1184-# Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1185+# Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1186 # All rights reserved
1187
1188 SHELL=/bin/sh
1189
1190=== modified file 'gramtools/generate/common.h'
1191--- gramtools/generate/common.h 2008-07-25 17:44:08 +0000
1192+++ gramtools/generate/common.h 2012-08-03 04:20:23 +0000
1193@@ -1,7 +1,7 @@
1194 /*
1195- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
1196+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
1197 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
1198- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1199+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1200 * All rights reserved
1201 */
1202
1203
1204=== modified file 'gramtools/generate/gen_next.c'
1205--- gramtools/generate/gen_next.c 2008-07-25 17:44:08 +0000
1206+++ gramtools/generate/gen_next.c 2012-08-03 04:20:23 +0000
1207@@ -1,7 +1,7 @@
1208 /*
1209- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
1210+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
1211 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
1212- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1213+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1214 * All rights reserved
1215 */
1216
1217
1218=== modified file 'gramtools/generate/gen_next.h'
1219--- gramtools/generate/gen_next.h 2008-07-25 17:44:08 +0000
1220+++ gramtools/generate/gen_next.h 2012-08-03 04:20:23 +0000
1221@@ -1,7 +1,7 @@
1222 /*
1223- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
1224+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
1225 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
1226- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1227+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1228 * All rights reserved
1229 */
1230
1231
1232=== modified file 'gramtools/generate/generate.c'
1233--- gramtools/generate/generate.c 2009-06-18 13:08:41 +0000
1234+++ gramtools/generate/generate.c 2012-08-03 04:20:23 +0000
1235@@ -1,7 +1,7 @@
1236 /*
1237- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
1238+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
1239 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
1240- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1241+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1242 * All rights reserved
1243 */
1244
1245
1246=== modified file 'gramtools/generate/rdterm.c'
1247--- gramtools/generate/rdterm.c 2008-07-25 17:44:08 +0000
1248+++ gramtools/generate/rdterm.c 2012-08-03 04:20:23 +0000
1249@@ -1,7 +1,7 @@
1250 /*
1251- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
1252+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
1253 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
1254- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1255+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1256 * All rights reserved
1257 */
1258
1259
1260=== modified file 'gramtools/gram2sapixml/00readme-ja.txt'
1261--- gramtools/gram2sapixml/00readme-ja.txt 2009-06-18 13:08:41 +0000
1262+++ gramtools/gram2sapixml/00readme-ja.txt 2012-08-03 04:20:23 +0000
1263@@ -37,13 +37,7 @@
1264 �‡�CƒGƒ‰�[‚Æ‚È‚è‚Ü‚·�D
1265
1266 COPYRIGHT
1267- Copyright (c) 1991-2008 ‹ž“s‘åŠw ‰ÍŒ´Œ¤‹†Žº
1268-
1269- Copyright (c) 1997-2000 �î•ñ�ˆ—��U‹»Ž–‹Æ‹¦‰ï(IPA)
1270-
1271- Copyright (c) 2000-2008 “Þ—Ç�æ’[‰ÈŠw‹Z�p‘åŠw‰@‘åŠw Ž­–쌤‹†Žº
1272-
1273- Copyright (c) 2005-2008 –¼ŒÃ‰®�H‹Æ‘åŠw JuliusŠJ”­ƒ`�[ƒ€
1274+ Copyright (c) 2002 Takashi Sumiyoshi
1275
1276 LICENSE
1277 Julius ‚ÌŽg—p‹–‘ø‚É�€‚¶‚Ü‚·�D
1278
1279=== modified file 'gramtools/gram2sapixml/00readme.txt'
1280--- gramtools/gram2sapixml/00readme.txt 2009-06-18 13:08:41 +0000
1281+++ gramtools/gram2sapixml/00readme.txt 2012-08-03 04:20:23 +0000
1282@@ -37,15 +37,7 @@
1283 application.
1284
1285 COPYRIGHT
1286- Copyright (c) 1997-2000 Information-technology Promotion Agency, Japan
1287-
1288- Copyright (c) 1991-2008 Kawahara Lab., Kyoto University
1289-
1290- Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and
1291- Technology
1292-
1293- Copyright (c) 2005-2008 Julius project team, Nagoya Institute of
1294- Technology
1295+ Copyright (c) 2002 Takashi Sumiyoshi
1296
1297 LICENSE
1298 The same as Julius.
1299
1300=== modified file 'gramtools/gram2sapixml/Makefile.in'
1301--- gramtools/gram2sapixml/Makefile.in 2008-07-25 17:44:08 +0000
1302+++ gramtools/gram2sapixml/Makefile.in 2012-08-03 04:20:23 +0000
1303@@ -1,6 +1,6 @@
1304-# Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
1305+# Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
1306 # Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
1307-# Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1308+# Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1309 # All rights reserved
1310
1311 SHELL=/bin/sh
1312
1313=== modified file 'gramtools/mkdfa/Makefile.in'
1314--- gramtools/mkdfa/Makefile.in 2008-07-25 17:44:08 +0000
1315+++ gramtools/mkdfa/Makefile.in 2012-08-03 04:20:23 +0000
1316@@ -1,6 +1,6 @@
1317-# Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
1318+# Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
1319 # Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
1320-# Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1321+# Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1322 # All rights reserved
1323
1324 SHELL=/bin/sh
1325
1326=== modified file 'gramtools/mkdfa/mkdfa.pl.in'
1327--- gramtools/mkdfa/mkdfa.pl.in 2008-07-25 17:44:08 +0000
1328+++ gramtools/mkdfa/mkdfa.pl.in 2012-08-03 04:20:23 +0000
1329@@ -1,7 +1,7 @@
1330 #!@PERL@
1331-# Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
1332+# Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
1333 # Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
1334-# Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1335+# Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1336 #
1337 # @configure_input@
1338 #
1339
1340=== modified file 'gramtools/mkdfa/mkfa-1.44-flex/Makefile.in'
1341--- gramtools/mkdfa/mkfa-1.44-flex/Makefile.in 2010-07-04 15:18:40 +0000
1342+++ gramtools/mkdfa/mkfa-1.44-flex/Makefile.in 2012-08-03 04:20:23 +0000
1343@@ -1,6 +1,6 @@
1344-# Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
1345+# Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
1346 # Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
1347-# Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1348+# Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1349 # All rights reserved
1350
1351 ## Makefile for mkfa, DFA compiler
1352
1353=== modified file 'gramtools/mkdfa/mkfa-1.44-flex/dfa.c'
1354--- gramtools/mkdfa/mkfa-1.44-flex/dfa.c 2009-06-18 13:08:41 +0000
1355+++ gramtools/mkdfa/mkfa-1.44-flex/dfa.c 2012-08-03 04:20:23 +0000
1356@@ -1,7 +1,7 @@
1357 /*
1358- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
1359+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
1360 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
1361- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1362+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1363 * All rights reserved
1364 */
1365 #include "mkfa.h"
1366
1367=== modified file 'gramtools/mkdfa/mkfa-1.44-flex/dfa.h'
1368--- gramtools/mkdfa/mkfa-1.44-flex/dfa.h 2008-07-25 17:44:08 +0000
1369+++ gramtools/mkdfa/mkfa-1.44-flex/dfa.h 2012-08-03 04:20:23 +0000
1370@@ -1,7 +1,7 @@
1371 /*
1372- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
1373+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
1374 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
1375- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1376+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1377 * All rights reserved
1378 */
1379
1380
1381=== modified file 'gramtools/mkdfa/mkfa-1.44-flex/gram.y'
1382--- gramtools/mkdfa/mkfa-1.44-flex/gram.y 2008-07-25 17:44:08 +0000
1383+++ gramtools/mkdfa/mkfa-1.44-flex/gram.y 2012-08-03 04:20:23 +0000
1384@@ -1,8 +1,8 @@
1385 %{
1386 /*
1387- * Copyright (c) 1991-2005 Kawahara Lab., Kyoto University
1388+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
1389 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
1390- * Copyright (c) 2005 Julius project team, Nagoya Institute of Technology
1391+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1392 * All rights reserved
1393 */
1394 #include "mkfa.h"
1395
1396=== modified file 'gramtools/mkdfa/mkfa-1.44-flex/lex.yy.c'
1397--- gramtools/mkdfa/mkfa-1.44-flex/lex.yy.c 2009-06-18 13:08:41 +0000
1398+++ gramtools/mkdfa/mkfa-1.44-flex/lex.yy.c 2012-08-03 04:20:23 +0000
1399@@ -1,14 +1,14 @@
1400 /*
1401- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
1402+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
1403 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
1404- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1405+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1406 * All rights reserved
1407 */
1408
1409 /* A lexical scanner generated by flex */
1410
1411 /* Scanner skeleton version:
1412- * $Header: /cvsroot/julius/julius4/gramtools/mkdfa/mkfa-1.44-flex/lex.yy.c,v 1.3 2008/12/05 06:45:36 sumomo Exp $
1413+ * $Header: /cvsroot/julius/julius4/gramtools/mkdfa/mkfa-1.44-flex/lex.yy.c,v 1.6 2012/07/27 08:44:48 sumomo Exp $
1414 */
1415
1416 #define FLEX_SCANNER
1417@@ -77,6 +77,10 @@
1418 #define YY_PROTO(proto) ()
1419 #endif
1420
1421+
1422+#define YY_SKIP_YYWRAP
1423+int yywrap(void){ return 1; }
1424+
1425 /* Returned upon end-of-file. */
1426 #define YY_NULL 0
1427
1428
1429=== modified file 'gramtools/mkdfa/mkfa-1.44-flex/main.c'
1430--- gramtools/mkdfa/mkfa-1.44-flex/main.c 2008-07-25 17:44:08 +0000
1431+++ gramtools/mkdfa/mkfa-1.44-flex/main.c 2012-08-03 04:20:23 +0000
1432@@ -1,7 +1,7 @@
1433 /*
1434- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
1435+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
1436 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
1437- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1438+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1439 * All rights reserved
1440 */
1441 #include "mkfa.h"
1442
1443=== modified file 'gramtools/mkdfa/mkfa-1.44-flex/mkfa.h'
1444--- gramtools/mkdfa/mkfa-1.44-flex/mkfa.h 2008-07-25 17:44:08 +0000
1445+++ gramtools/mkdfa/mkfa-1.44-flex/mkfa.h 2012-08-03 04:20:23 +0000
1446@@ -1,7 +1,7 @@
1447 /*
1448- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
1449+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
1450 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
1451- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1452+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1453 * All rights reserved
1454 */
1455 #include <stdio.h>
1456
1457=== modified file 'gramtools/mkdfa/mkfa-1.44-flex/nfa.c'
1458--- gramtools/mkdfa/mkfa-1.44-flex/nfa.c 2008-07-25 17:44:08 +0000
1459+++ gramtools/mkdfa/mkfa-1.44-flex/nfa.c 2012-08-03 04:20:23 +0000
1460@@ -1,7 +1,7 @@
1461 /*
1462- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
1463+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
1464 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
1465- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1466+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1467 * All rights reserved
1468 */
1469 #include "mkfa.h"
1470
1471=== modified file 'gramtools/mkdfa/mkfa-1.44-flex/nfa.h'
1472--- gramtools/mkdfa/mkfa-1.44-flex/nfa.h 2008-07-25 17:44:08 +0000
1473+++ gramtools/mkdfa/mkfa-1.44-flex/nfa.h 2012-08-03 04:20:23 +0000
1474@@ -1,7 +1,7 @@
1475 /*
1476- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
1477+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
1478 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
1479- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1480+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1481 * All rights reserved
1482 */
1483 void makeNFA( void );
1484
1485=== modified file 'gramtools/mkdfa/mkfa-1.44-flex/triplet.c'
1486--- gramtools/mkdfa/mkfa-1.44-flex/triplet.c 2009-06-18 13:08:41 +0000
1487+++ gramtools/mkdfa/mkfa-1.44-flex/triplet.c 2012-08-03 04:20:23 +0000
1488@@ -1,7 +1,7 @@
1489 /*
1490- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
1491+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
1492 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
1493- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1494+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1495 * All rights reserved
1496 */
1497 #include "mkfa.h"
1498
1499=== modified file 'gramtools/mkdfa/mkfa-1.44-flex/triplet.h'
1500--- gramtools/mkdfa/mkfa-1.44-flex/triplet.h 2008-07-25 17:44:08 +0000
1501+++ gramtools/mkdfa/mkfa-1.44-flex/triplet.h 2012-08-03 04:20:23 +0000
1502@@ -1,7 +1,7 @@
1503 /*
1504- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
1505+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
1506 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
1507- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1508+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1509 * All rights reserved
1510 */
1511 void makeTriplet( void );
1512
1513=== modified file 'gramtools/mkdfa/mkfa-1.44-flex/voca.c'
1514--- gramtools/mkdfa/mkfa-1.44-flex/voca.c 2008-07-25 17:44:08 +0000
1515+++ gramtools/mkdfa/mkfa-1.44-flex/voca.c 2012-08-03 04:20:23 +0000
1516@@ -1,7 +1,7 @@
1517 /*
1518- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
1519+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
1520 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
1521- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1522+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1523 * All rights reserved
1524 */
1525 #include "mkfa.h"
1526
1527=== modified file 'gramtools/nextword/Makefile.in'
1528--- gramtools/nextword/Makefile.in 2010-07-04 15:18:40 +0000
1529+++ gramtools/nextword/Makefile.in 2012-08-03 04:20:23 +0000
1530@@ -1,6 +1,6 @@
1531-# Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
1532+# Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
1533 # Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
1534-# Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1535+# Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1536 # All rights reserved
1537
1538 SHELL=/bin/sh
1539
1540=== modified file 'gramtools/nextword/common.h'
1541--- gramtools/nextword/common.h 2008-07-25 17:44:08 +0000
1542+++ gramtools/nextword/common.h 2012-08-03 04:20:23 +0000
1543@@ -1,7 +1,7 @@
1544 /*
1545- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
1546+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
1547 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
1548- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1549+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1550 * All rights reserved
1551 */
1552
1553
1554=== modified file 'gramtools/nextword/get_next.c'
1555--- gramtools/nextword/get_next.c 2008-07-25 17:44:08 +0000
1556+++ gramtools/nextword/get_next.c 2012-08-03 04:20:23 +0000
1557@@ -1,7 +1,7 @@
1558 /*
1559- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
1560+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
1561 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
1562- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1563+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1564 * All rights reserved
1565 */
1566
1567
1568=== modified file 'gramtools/nextword/nextword.c'
1569--- gramtools/nextword/nextword.c 2008-07-25 17:44:08 +0000
1570+++ gramtools/nextword/nextword.c 2012-08-03 04:20:23 +0000
1571@@ -1,7 +1,7 @@
1572 /*
1573- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
1574+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
1575 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
1576- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1577+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1578 * All rights reserved
1579 */
1580
1581
1582=== modified file 'gramtools/nextword/nextword.h'
1583--- gramtools/nextword/nextword.h 2008-07-25 17:44:08 +0000
1584+++ gramtools/nextword/nextword.h 2012-08-03 04:20:23 +0000
1585@@ -1,7 +1,7 @@
1586 /*
1587- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
1588+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
1589 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
1590- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1591+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1592 * All rights reserved
1593 */
1594
1595
1596=== modified file 'gramtools/nextword/rdterm.c'
1597--- gramtools/nextword/rdterm.c 2008-07-25 17:44:08 +0000
1598+++ gramtools/nextword/rdterm.c 2012-08-03 04:20:23 +0000
1599@@ -1,7 +1,7 @@
1600 /*
1601- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
1602+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
1603 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
1604- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1605+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1606 * All rights reserved
1607 */
1608
1609
1610=== modified file 'gramtools/nextword/readline.c'
1611--- gramtools/nextword/readline.c 2008-07-25 17:44:08 +0000
1612+++ gramtools/nextword/readline.c 2012-08-03 04:20:23 +0000
1613@@ -1,7 +1,7 @@
1614 /*
1615- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
1616+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
1617 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
1618- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1619+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1620 * All rights reserved
1621 */
1622
1623
1624=== modified file 'gramtools/nextword/wtoken.c'
1625--- gramtools/nextword/wtoken.c 2008-07-25 17:44:08 +0000
1626+++ gramtools/nextword/wtoken.c 2012-08-03 04:20:23 +0000
1627@@ -1,7 +1,7 @@
1628 /*
1629- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
1630+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
1631 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
1632- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1633+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1634 * All rights reserved
1635 */
1636
1637
1638=== modified file 'gramtools/yomi2voca/Makefile.in'
1639--- gramtools/yomi2voca/Makefile.in 2008-07-25 17:44:08 +0000
1640+++ gramtools/yomi2voca/Makefile.in 2012-08-03 04:20:23 +0000
1641@@ -1,6 +1,6 @@
1642-# Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
1643+# Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
1644 # Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
1645-# Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1646+# Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1647 # All rights reserved
1648
1649 SHELL=/bin/sh
1650
1651=== modified file 'gramtools/yomi2voca/yomi2voca.pl.in'
1652--- gramtools/yomi2voca/yomi2voca.pl.in 2009-06-18 13:08:41 +0000
1653+++ gramtools/yomi2voca/yomi2voca.pl.in 2012-08-03 04:20:23 +0000
1654@@ -1,7 +1,7 @@
1655 #!@PERL@
1656-# Copyright (c) 1991-2008 Kawahara Lab., Kyoto University
1657+# Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
1658 # Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
1659-# Copyright (c) 2005-2008 Julius project team, Nagoya Institute of Technology
1660+# Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1661 # All rights reserved
1662 #
1663 # @configure_input@
1664
1665=== modified file 'jclient-perl/Makefile.in'
1666--- jclient-perl/Makefile.in 2009-06-18 13:08:41 +0000
1667+++ jclient-perl/Makefile.in 2012-08-03 04:20:23 +0000
1668@@ -1,6 +1,6 @@
1669-# Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
1670+# Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
1671 # Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
1672-# Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1673+# Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1674 # All rights reserved
1675
1676 SHELL=/bin/sh
1677
1678=== modified file 'jcontrol/Makefile.in'
1679--- jcontrol/Makefile.in 2010-07-04 15:18:40 +0000
1680+++ jcontrol/Makefile.in 2012-08-03 04:20:23 +0000
1681@@ -1,9 +1,9 @@
1682-# Copyright (c) 2002-2007 Kawahara Lab., Kyoto University
1683+# Copyright (c) 2002-2012 Kawahara Lab., Kyoto University
1684 # Copyright (c) 2002-2005 Shikano Lab., Nara Institute of Science and Technology
1685-# Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1686+# Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1687 # All rights reserved
1688 #
1689-# $Id: Makefile.in,v 1.4 2010/02/03 10:11:58 sumomo Exp $
1690+# $Id: Makefile.in,v 1.6 2012/07/27 08:44:49 sumomo Exp $
1691 #
1692 SHELL=/bin/sh
1693 .SUFFIXES:
1694
1695=== modified file 'jcontrol/configure'
1696--- jcontrol/configure 2010-07-04 15:18:40 +0000
1697+++ jcontrol/configure 2012-08-03 04:20:23 +0000
1698@@ -1046,7 +1046,7 @@
1699 if { (eval echo configure:1047: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
1700 for file in conftest.*; do
1701 case $file in
1702- *.$ac_ext | *.c | *.o | *.obj) ;;
1703+ *.c | *.o | *.obj) ;;
1704 *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
1705 esac
1706 done
1707
1708=== modified file 'jcontrol/configure.in'
1709--- jcontrol/configure.in 2010-07-04 15:18:40 +0000
1710+++ jcontrol/configure.in 2012-08-03 04:20:23 +0000
1711@@ -1,6 +1,6 @@
1712-dnl Copyright (c) 2002-2007 Kawahara Lab., Kyoto University
1713+dnl Copyright (c) 2002-2012 Kawahara Lab., Kyoto University
1714 dnl Copyright (c) 2002-2005 Shikano Lab., Nara Institute of Science and Technology
1715-dnl Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1716+dnl Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1717 dnl All rights reserved
1718 AC_INIT(jcontrol.c)
1719 AC_CANONICAL_HOST
1720
1721=== modified file 'jcontrol/japi.h'
1722--- jcontrol/japi.h 2009-06-18 13:08:41 +0000
1723+++ jcontrol/japi.h 2012-08-03 04:20:23 +0000
1724@@ -12,13 +12,13 @@
1725 * @author Akinobu LEE
1726 * @date Thu Mar 24 07:12:32 2005
1727 *
1728- * $Revision: 1.3 $
1729+ * $Revision: 1.5 $
1730 *
1731 */
1732 /*
1733- * Copyright (c) 2002-2007 Kawahara Lab., Kyoto University
1734+ * Copyright (c) 2002-2012 Kawahara Lab., Kyoto University
1735 * Copyright (c) 2002-2005 Shikano Lab., Nara Institute of Science and Technology
1736- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1737+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1738 * All rights reserved
1739 */
1740
1741
1742=== modified file 'jcontrol/japi_grammar.c'
1743--- jcontrol/japi_grammar.c 2010-07-04 15:18:40 +0000
1744+++ jcontrol/japi_grammar.c 2012-08-03 04:20:23 +0000
1745@@ -12,13 +12,13 @@
1746 * @author Akinobu LEE
1747 * @date Thu Mar 24 07:13:41 2005
1748 *
1749- * $Revision: 1.4 $
1750+ * $Revision: 1.6 $
1751 *
1752 */
1753 /*
1754- * Copyright (c) 2002-2007 Kawahara Lab., Kyoto University
1755+ * Copyright (c) 2002-2012 Kawahara Lab., Kyoto University
1756 * Copyright (c) 2002-2005 Shikano Lab., Nara Institute of Science and Technology
1757- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1758+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1759 * All rights reserved
1760 */
1761
1762
1763=== modified file 'jcontrol/japi_misc.c'
1764--- jcontrol/japi_misc.c 2008-07-25 17:44:08 +0000
1765+++ jcontrol/japi_misc.c 2012-08-03 04:20:23 +0000
1766@@ -12,13 +12,13 @@
1767 * @author Akinobu LEE
1768 * @date Thu Mar 24 11:24:18 2005
1769 *
1770- * $Revision: 1.2 $
1771+ * $Revision: 1.4 $
1772 *
1773 */
1774 /*
1775- * Copyright (c) 2002-2007 Kawahara Lab., Kyoto University
1776+ * Copyright (c) 2002-2012 Kawahara Lab., Kyoto University
1777 * Copyright (c) 2002-2005 Shikano Lab., Nara Institute of Science and Technology
1778- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1779+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1780 * All rights reserved
1781 */
1782
1783
1784=== modified file 'jcontrol/japi_process.c'
1785--- jcontrol/japi_process.c 2008-07-25 17:44:08 +0000
1786+++ jcontrol/japi_process.c 2012-08-03 04:20:23 +0000
1787@@ -12,13 +12,13 @@
1788 * @author Akinobu LEE
1789 * @date Thu Mar 24 11:24:18 2005
1790 *
1791- * $Revision: 1.1 $
1792+ * $Revision: 1.3 $
1793 *
1794 */
1795 /*
1796- * Copyright (c) 2002-2007 Kawahara Lab., Kyoto University
1797+ * Copyright (c) 2002-2012 Kawahara Lab., Kyoto University
1798 * Copyright (c) 2002-2005 Shikano Lab., Nara Institute of Science and Technology
1799- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1800+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1801 * All rights reserved
1802 */
1803
1804
1805=== modified file 'jcontrol/jcontrol.c'
1806--- jcontrol/jcontrol.c 2009-06-18 13:08:41 +0000
1807+++ jcontrol/jcontrol.c 2012-08-03 04:20:23 +0000
1808@@ -12,13 +12,13 @@
1809 * @author Akinobu LEE
1810 * @date Thu Mar 24 11:49:27 2005
1811 *
1812- * $Revision: 1.4 $
1813+ * $Revision: 1.6 $
1814 *
1815 */
1816 /*
1817- * Copyright (c) 2002-2007 Kawahara Lab., Kyoto University
1818+ * Copyright (c) 2002-2012 Kawahara Lab., Kyoto University
1819 * Copyright (c) 2002-2005 Shikano Lab., Nara Institute of Science and Technology
1820- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1821+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1822 * All rights reserved
1823 */
1824 #include "japi.h"
1825
1826=== modified file 'jcontrol/server.c'
1827--- jcontrol/server.c 2008-07-25 17:44:08 +0000
1828+++ jcontrol/server.c 2012-08-03 04:20:23 +0000
1829@@ -12,13 +12,13 @@
1830 * @author Akinobu LEE
1831 * @date Thu Mar 24 12:07:24 2005
1832 *
1833- * $Revision: 1.2 $
1834+ * $Revision: 1.4 $
1835 *
1836 */
1837 /*
1838- * Copyright (c) 2002-2007 Kawahara Lab., Kyoto University
1839+ * Copyright (c) 2002-2012 Kawahara Lab., Kyoto University
1840 * Copyright (c) 2002-2005 Shikano Lab., Nara Institute of Science and Technology
1841- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1842+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1843 * All rights reserved
1844 */
1845
1846
1847=== modified file 'julius/00readme-ja.txt'
1848--- julius/00readme-ja.txt 2009-06-18 13:08:41 +0000
1849+++ julius/00readme-ja.txt 2012-08-03 04:20:23 +0000
1850@@ -113,6 +113,10 @@
1851 ƒfƒoƒCƒX‚Ì‹¤—LŽè’i‚Æ‚µ‚Ä‘½‚­‚Ì Linux‚̃fƒXƒNƒgƒbƒvŠÂ‹«‚Å—˜—p
1852 ‚³‚ê‚Ä‚¢‚é EsounD daemon ‚©‚ç‚Ì“ü —Í‚ð”FŽ¯‚·‚é�D
1853
1854+ -chunk_size samples
1855+ ‰¹�º“ü—Í‚Ì�ˆ—�ƒoƒbƒtƒ@�iƒtƒ‰ƒOƒ�ƒ“ƒg�j‚̃TƒCƒY�D’l‚̓Tƒ“ƒvƒ‹
1856+ �”�D(default: 1000)
1857+
1858 -filelist filename
1859 (-input rawfile|mfcfile Žž) filename“à‚É—ñ‹“‚³‚ê‚Ä‚¢‚é‘S‚Ä‚Ì
1860 ƒtƒ@ ƒCƒ‹‚ɂ‚¢‚Ä”FŽ¯‚ð�‡ŽŸ�s‚¤�D filename‚É‚Í”FŽ¯‚·‚é“ü—Í
1861@@ -343,6 +347,11 @@
1862 �‘ƒtƒ@ ƒCƒ‹‚Ì�s”Ô�†-1�j‚ÅŽw’è‚·‚é�DƒfƒtƒHƒ‹ƒg‚Í‚»‚ꂼ‚ê
1863 "<s>", "</s>" ‚Å‚ ‚é�D
1864
1865+ -mapunk word_string
1866+ unknown ‚ɑΉž‚·‚é’PŒê–¼‚ðŽw’è‚·‚é�DƒfƒtƒHƒ‹ƒg‚Í�C "<unk>" ‚ 
1867+ ‚é‚¢‚Í "<UNK>" ‚Å‚ ‚é�D‚±‚Ì’PŒê‚Í�C ”FŽ¯Ž«�‘‚É‚¨‚¢‚Ä N-gram
1868+ ‚É‚È‚¢’PŒê‚ðŽw’肵‚½�ê�‡‚Ƀ}ƒbƒsƒ“ƒO‚³‚ê ‚é’PŒê‚Å‚ ‚é�D
1869+
1870 -iwspword
1871 ƒ|�[ƒY‚ɑΉž‚·‚é–³‰¹’PŒê‚ðŽ«�‘‚ɒljÁ‚·‚é�D’ljÁ‚³‚ê‚é’PŒê‚Ì“à
1872 —e‚Í ƒIƒvƒVƒ‡ƒ“-iwspentry‚Å•Ï�X‚Å‚«‚é�D
1873@@ -999,4 +1008,4 @@
1874
1875
1876
1877- 10/02/2008 JULIUS(1)
1878+ 02/11/2009 JULIUS(1)
1879
1880=== modified file 'julius/00readme.txt'
1881--- julius/00readme.txt 2009-06-18 13:08:41 +0000
1882+++ julius/00readme.txt 2012-08-03 04:20:23 +0000
1883@@ -196,6 +196,9 @@
1884 At Linux, you can choose API at run time by specifying alsa,
1885 oss and esd.
1886
1887+ -chunk_size samples
1888+ Audio fragment size in number of samples. (default: 1000)
1889+
1890 -filelist filename
1891 (With -input rawfile|mfcfile) perform recognition on all
1892 files listed in the file. The file should contain input file
1893@@ -494,6 +497,11 @@
1894 beginning of sentence and end of sentence. (default: "<s>",
1895 "</s>")
1896
1897+ -mapunk word_string
1898+ Specify unknown word. Default is "<unk>" or "<UNK>". This
1899+ will be used to assign word probability on unknown words,
1900+ i.e. words in dictionary that are not in N-gram vocabulary.
1901+
1902 -iwspword
1903 Add a word entry to the dictionary that should correspond to
1904 inter-word pauses. This may improve recognition accuracy in
1905@@ -1279,4 +1287,4 @@
1906
1907
1908
1909- 10/02/2008 JULIUS(1)
1910+ 02/11/2009 JULIUS(1)
1911
1912=== modified file 'julius/Makefile.in'
1913--- julius/Makefile.in 2010-07-04 15:18:40 +0000
1914+++ julius/Makefile.in 2012-08-03 04:20:23 +0000
1915@@ -1,11 +1,11 @@
1916-# Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
1917+# Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
1918 # Copyright (c) 1997-2000 Information-technology Promotion Agency, Japan
1919 # Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
1920-# Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1921+# Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1922 # All rights reserved
1923
1924 #
1925-# $Id: Makefile.in,v 1.8 2010/02/04 05:22:35 sumomo Exp $
1926+# $Id: Makefile.in,v 1.10 2012/07/27 08:44:49 sumomo Exp $
1927 #
1928 SHELL=/bin/sh
1929 .SUFFIXES:
1930
1931=== modified file 'julius/charconv.c'
1932--- julius/charconv.c 2008-07-25 17:44:08 +0000
1933+++ julius/charconv.c 2012-08-03 04:20:23 +0000
1934@@ -19,13 +19,13 @@
1935 * @author Akinobu LEE
1936 * @date Thu Feb 17 16:02:41 2005
1937 *
1938- * $Revision: 1.2 $
1939+ * $Revision: 1.4 $
1940 *
1941 */
1942 /*
1943- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
1944+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
1945 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
1946- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1947+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1948 * All rights reserved
1949 */
1950
1951
1952=== modified file 'julius/charconv_iconv.c'
1953--- julius/charconv_iconv.c 2008-07-25 17:44:08 +0000
1954+++ julius/charconv_iconv.c 2012-08-03 04:20:23 +0000
1955@@ -14,13 +14,13 @@
1956 * @author Akinobu LEE
1957 * @date Thu Feb 17 16:02:41 2005
1958 *
1959- * $Revision: 1.3 $
1960+ * $Revision: 1.5 $
1961 *
1962 */
1963 /*
1964- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
1965+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
1966 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
1967- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1968+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1969 * All rights reserved
1970 */
1971
1972
1973=== modified file 'julius/charconv_libjcode.c'
1974--- julius/charconv_libjcode.c 2008-07-25 17:44:08 +0000
1975+++ julius/charconv_libjcode.c 2012-08-03 04:20:23 +0000
1976@@ -19,13 +19,13 @@
1977 * @author Akinobu LEE
1978 * @date Thu Feb 17 16:02:41 2005
1979 *
1980- * $Revision: 1.2 $
1981+ * $Revision: 1.4 $
1982 *
1983 */
1984 /*
1985- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
1986+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
1987 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
1988- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
1989+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
1990 * All rights reserved
1991 */
1992
1993
1994=== modified file 'julius/charconv_win32.c'
1995--- julius/charconv_win32.c 2008-07-25 17:44:08 +0000
1996+++ julius/charconv_win32.c 2012-08-03 04:20:23 +0000
1997@@ -29,13 +29,13 @@
1998 * @author Akinobu LEE
1999 * @date Thu Feb 17 16:02:41 2005
2000 *
2001- * $Revision: 1.3 $
2002+ * $Revision: 1.5 $
2003 *
2004 */
2005 /*
2006- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
2007+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
2008 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
2009- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
2010+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
2011 * All rights reserved
2012 */
2013
2014
2015=== modified file 'julius/configure.in'
2016--- julius/configure.in 2010-07-04 15:18:40 +0000
2017+++ julius/configure.in 2012-08-03 04:20:23 +0000
2018@@ -1,10 +1,10 @@
2019-dnl Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
2020+dnl Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
2021 dnl Copyright (c) 1997-2000 Information-technology Promotion Agency, Japan
2022 dnl Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
2023-dnl Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
2024+dnl Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
2025 dnl All rights reserved
2026 dnl
2027-dnl $Id: configure.in,v 1.5 2010/02/03 10:11:58 sumomo Exp $
2028+dnl $Id: configure.in,v 1.7 2012/07/27 08:44:49 sumomo Exp $
2029 dnl
2030
2031 AC_INIT(main.c)
2032
2033=== modified file 'julius/main.c'
2034--- julius/main.c 2008-07-25 17:44:08 +0000
2035+++ julius/main.c 2012-08-03 04:20:23 +0000
2036@@ -12,14 +12,14 @@
2037 * @author Akinobu Lee
2038 * @date Wed May 18 15:02:55 2005
2039 *
2040- * $Revision: 1.3 $
2041+ * $Revision: 1.5 $
2042 *
2043 */
2044 /*
2045- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
2046+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
2047 * Copyright (c) 1997-2000 Information-technology Promotion Agency, Japan
2048 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
2049- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
2050+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
2051 * All rights reserved
2052 */
2053
2054
2055=== modified file 'julius/output_file.c'
2056--- julius/output_file.c 2009-06-18 13:08:41 +0000
2057+++ julius/output_file.c 2012-08-03 04:20:23 +0000
2058@@ -12,13 +12,13 @@
2059 * @author Akinobu Lee
2060 * @date Wed Dec 12 11:07:46 2007
2061 *
2062- * $Revision: 1.2 $
2063+ * $Revision: 1.4 $
2064 *
2065 */
2066 /*
2067- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
2068+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
2069 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
2070- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
2071+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
2072 * All rights reserved
2073 */
2074
2075
2076=== modified file 'julius/output_module.c'
2077--- julius/output_module.c 2010-07-04 15:18:40 +0000
2078+++ julius/output_module.c 2012-08-03 04:20:23 +0000
2079@@ -12,13 +12,13 @@
2080 * @author Akinobu Lee
2081 * @date Tue Sep 06 14:46:49 2005
2082 *
2083- * $Revision: 1.6 $
2084+ * $Revision: 1.8 $
2085 *
2086 */
2087 /*
2088- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
2089+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
2090 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
2091- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
2092+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
2093 * All rights reserved
2094 */
2095
2096
2097=== modified file 'julius/output_stdout.c'
2098--- julius/output_stdout.c 2009-06-18 13:08:41 +0000
2099+++ julius/output_stdout.c 2012-08-03 04:20:23 +0000
2100@@ -12,13 +12,13 @@
2101 * @author Akinobu Lee
2102 * @date Tue Sep 06 17:18:46 2005
2103 *
2104- * $Revision: 1.7 $
2105+ * $Revision: 1.10 $
2106 *
2107 */
2108 /*
2109- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
2110+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
2111 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
2112- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
2113+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
2114 * All rights reserved
2115 */
2116
2117@@ -555,8 +555,8 @@
2118 /* debug: output all graph word info */
2119 wordgraph_dump(stdout, r->result.wg1, winfo);
2120 for(wg=r->result.wg1;wg;wg=wg->next) {
2121- tw1 = (TEXTWIDTH * wg->lefttime) / recog->peseqlen;
2122- tw2 = (TEXTWIDTH * wg->righttime) / recog->peseqlen;
2123+ tw1 = (TEXTWIDTH * wg->lefttime) / r->peseqlen;
2124+ tw2 = (TEXTWIDTH * wg->righttime) / r->peseqlen;
2125 printf("%4d:", wg->id);
2126 for(i=0;i<tw1;i++) printf(" ");
2127 myprintf(" %s\n", winfo->woutput[wg->wid]);
2128
2129=== modified file 'julius/recogloop.c'
2130--- julius/recogloop.c 2010-07-04 15:18:40 +0000
2131+++ julius/recogloop.c 2012-08-03 04:20:23 +0000
2132@@ -12,14 +12,14 @@
2133 * @author Akinobu Lee
2134 * @date Sun Sep 02 21:12:52 2007
2135 *
2136- * $Revision: 1.3 $
2137+ * $Revision: 1.5 $
2138 *
2139 */
2140 /*
2141- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
2142+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
2143 * Copyright (c) 1997-2000 Information-technology Promotion Agency, Japan
2144 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
2145- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
2146+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
2147 * All rights reserved
2148 */
2149
2150
2151=== modified file 'julius/record.c'
2152--- julius/record.c 2009-06-18 13:08:41 +0000
2153+++ julius/record.c 2012-08-03 04:20:23 +0000
2154@@ -29,13 +29,13 @@
2155 * @author Akinobu Lee
2156 * @date Tue Sep 06 14:13:54 2005
2157 *
2158- * $Revision: 1.4 $
2159+ * $Revision: 1.6 $
2160 *
2161 */
2162 /*
2163- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
2164+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
2165 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
2166- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
2167+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
2168 * All rights reserved
2169 */
2170
2171
2172=== modified file 'julius/visual.c'
2173--- julius/visual.c 2008-07-25 17:44:08 +0000
2174+++ julius/visual.c 2012-08-03 04:20:23 +0000
2175@@ -21,12 +21,12 @@
2176 * @author Akinobu Lee
2177 * @date Mon Sep 12 01:49:44 2005
2178 *
2179- * $Revision: 1.2 $
2180+ * $Revision: 1.4 $
2181 *
2182 */
2183 /*
2184 * Copyright (c) 2003-2005 Shikano Lab., Nara Institute of Science and Technology
2185- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
2186+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
2187 * All rights reserved
2188 */
2189
2190
2191=== modified file 'libjulius/Makefile.in'
2192--- libjulius/Makefile.in 2009-06-18 13:08:41 +0000
2193+++ libjulius/Makefile.in 2012-08-03 04:20:23 +0000
2194@@ -1,11 +1,11 @@
2195-# Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
2196+# Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
2197 # Copyright (c) 1997-2000 Information-technology Promotion Agency, Japan
2198 # Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
2199-# Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
2200+# Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
2201 # All rights reserved
2202
2203 #
2204-# $Id: Makefile.in,v 1.6 2008/10/02 15:01:59 sumomo Exp $
2205+# $Id: Makefile.in,v 1.8 2012/07/27 08:44:49 sumomo Exp $
2206 #
2207 SHELL=/bin/sh
2208 .SUFFIXES:
2209
2210=== modified file 'libjulius/configure'
2211--- libjulius/configure 2010-07-04 15:18:40 +0000
2212+++ libjulius/configure 2012-08-03 04:20:23 +0000
2213@@ -592,7 +592,7 @@
2214
2215
2216 JULIUS_PRODUCTNAME=JuliusLib
2217-JULIUS_VERSION=4.1.5
2218+JULIUS_VERSION=4.2.2
2219
2220
2221 # Check whether --enable-pthread or --disable-pthread was given.
2222
2223=== modified file 'libjulius/configure.in'
2224--- libjulius/configure.in 2010-07-04 15:18:40 +0000
2225+++ libjulius/configure.in 2012-08-03 04:20:23 +0000
2226@@ -1,10 +1,10 @@
2227-dnl Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
2228+dnl Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
2229 dnl Copyright (c) 1997-2000 Information-technology Promotion Agency, Japan
2230 dnl Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
2231-dnl Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
2232+dnl Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
2233 dnl All rights reserved
2234 dnl
2235-dnl $Id: configure.in,v 1.13 2010/05/17 09:04:17 sumomo Exp $
2236+dnl $Id: configure.in,v 1.17 2012/07/27 10:02:04 sumomo Exp $
2237 dnl
2238
2239 AC_INIT(src/search_bestfirst_main.c)
2240@@ -12,7 +12,7 @@
2241 AC_CONFIG_AUX_DIR(../support)
2242
2243 JULIUS_PRODUCTNAME=JuliusLib
2244-JULIUS_VERSION=4.1.5
2245+JULIUS_VERSION=4.2.2
2246
2247 dnl Checks for options
2248
2249
2250=== modified file 'libjulius/include/julius/beam.h'
2251--- libjulius/include/julius/beam.h 2008-07-25 17:44:08 +0000
2252+++ libjulius/include/julius/beam.h 2012-08-03 04:20:23 +0000
2253@@ -12,13 +12,13 @@
2254 * @author Akinobu LEE
2255 * @date Mon Mar 7 15:12:29 2005
2256 *
2257- * $Revision: 1.2 $
2258+ * $Revision: 1.4 $
2259 *
2260 */
2261 /*
2262- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
2263+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
2264 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
2265- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
2266+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
2267 * All rights reserved
2268 */
2269
2270
2271=== modified file 'libjulius/include/julius/callback.h'
2272--- libjulius/include/julius/callback.h 2008-07-25 17:44:08 +0000
2273+++ libjulius/include/julius/callback.h 2012-08-03 04:20:23 +0000
2274@@ -12,13 +12,13 @@
2275 * @author Akinobu Lee
2276 * @date Mon Nov 5 18:30:04 2007
2277 *
2278- * $Revision: 1.2 $
2279+ * $Revision: 1.4 $
2280 *
2281 */
2282 /*
2283- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
2284+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
2285 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
2286- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
2287+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
2288 * All rights reserved
2289 */
2290
2291
2292=== modified file 'libjulius/include/julius/define.h'
2293--- libjulius/include/julius/define.h 2009-06-18 13:08:41 +0000
2294+++ libjulius/include/julius/define.h 2012-08-03 04:20:23 +0000
2295@@ -27,13 +27,13 @@
2296 * @author Akinobu LEE
2297 * @date Mon Mar 7 15:17:26 2005
2298 *
2299- * $Revision: 1.4 $
2300+ * $Revision: 1.8 $
2301 *
2302 */
2303 /*
2304- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
2305+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
2306 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
2307- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
2308+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
2309 * All rights reserved
2310 */
2311
2312@@ -57,6 +57,7 @@
2313 #define LM_NGRAM_USER 3 ///< User-defined statistical LM
2314
2315 /* recognition status */
2316+#define J_RESULT_STATUS_BUFFER_OVERFLOW -7 ///< Input buffer overflow
2317 #define J_RESULT_STATUS_REJECT_POWER -6 ///< Input rejected by power
2318 #define J_RESULT_STATUS_TERMINATE -5 ///< Input was terminated by app. request
2319 #define J_RESULT_STATUS_ONLY_SILENCE -4 ///< Input contains only silence
2320@@ -282,6 +283,11 @@
2321 */
2322 #define FAST_FACTOR1_SUCCESSOR_LIST
2323
2324+/**
2325+ * Enable score based pruning at the 1st pass.
2326+ *
2327+ */
2328+#define SCORE_PRUNING
2329
2330 #endif /* __J_DEFINE_H__ */
2331
2332
2333=== modified file 'libjulius/include/julius/extern.h'
2334--- libjulius/include/julius/extern.h 2010-07-04 15:18:40 +0000
2335+++ libjulius/include/julius/extern.h 2012-08-03 04:20:23 +0000
2336@@ -12,13 +12,13 @@
2337 * @author Akinobu LEE
2338 * @date Mon Mar 7 23:19:14 2005
2339 *
2340- * $Revision: 1.16 $
2341+ * $Revision: 1.19 $
2342 *
2343 */
2344 /*
2345- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
2346+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
2347 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
2348- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
2349+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
2350 * All rights reserved
2351 */
2352
2353@@ -171,6 +171,7 @@
2354 void opt_release(Jconf *jconf);
2355 /* m_jconf.c */
2356 void get_dirname(char *path);
2357+boolean config_string_parse(char *str, Jconf *jconf);
2358 boolean config_file_parse(char *conffile, Jconf *jconf);
2359 /* m_chkparam.c */
2360 boolean checkpath(char *filename);
2361
2362=== modified file 'libjulius/include/julius/global.h'
2363--- libjulius/include/julius/global.h 2009-06-18 13:08:41 +0000
2364+++ libjulius/include/julius/global.h 2012-08-03 04:20:23 +0000
2365@@ -14,13 +14,13 @@
2366 * @author Akinobu Lee
2367 * @date Sun Sep 18 23:53:17 2005
2368 *
2369- * $Revision: 1.4 $
2370+ * $Revision: 1.6 $
2371 *
2372 */
2373 /*
2374- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
2375+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
2376 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
2377- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
2378+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
2379 * All rights reserved
2380 */
2381
2382
2383=== modified file 'libjulius/include/julius/graph.h'
2384--- libjulius/include/julius/graph.h 2008-07-25 17:44:08 +0000
2385+++ libjulius/include/julius/graph.h 2012-08-03 04:20:23 +0000
2386@@ -17,13 +17,13 @@
2387 * @author Akinobu Lee
2388 * @date Thu Aug 16 00:30:54 2007
2389 *
2390- * $Revision: 1.2 $
2391+ * $Revision: 1.4 $
2392 *
2393 */
2394 /*
2395- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
2396+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
2397 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
2398- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
2399+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
2400 * All rights reserved
2401 */
2402
2403
2404=== modified file 'libjulius/include/julius/jconf.h'
2405--- libjulius/include/julius/jconf.h 2009-06-18 13:08:41 +0000
2406+++ libjulius/include/julius/jconf.h 2012-08-03 04:20:23 +0000
2407@@ -23,13 +23,13 @@
2408 * @author Akinobu Lee
2409 * @date Fri Feb 16 13:42:28 2007
2410 *
2411- * $Revision: 1.8 $
2412+ * $Revision: 1.13 $
2413 *
2414 */
2415 /*
2416- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
2417+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
2418 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
2419- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
2420+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
2421 * All rights reserved
2422 */
2423
2424@@ -220,6 +220,22 @@
2425 } JCONF_AM;
2426
2427 /**
2428+ * Name lister for language model configurations
2429+ *
2430+ */
2431+typedef struct __jconf_lm_namelist__ {
2432+ /**
2433+ * Entry name
2434+ */
2435+ char *name;
2436+ /**
2437+ * Pointer to next object
2438+ */
2439+ struct __jconf_lm_namelist__ *next;
2440+
2441+} JCONF_LM_NAMELIST;
2442+
2443+/**
2444 * Language models (N-gram / DFA), dictionary, and related parameters.
2445 *
2446 */
2447@@ -340,6 +356,16 @@
2448 char unknown_name[UNK_WORD_MAXLEN];
2449
2450 /**
2451+ * List of additional dictionary files
2452+ */
2453+ JCONF_LM_NAMELIST *additional_dict_files;
2454+
2455+ /**
2456+ * List of additional dictionary entries
2457+ */
2458+ JCONF_LM_NAMELIST *additional_dict_entries;
2459+
2460+ /**
2461 * Pointer to next instance
2462 *
2463 */
2464@@ -444,11 +470,20 @@
2465 */
2466 struct {
2467 /**
2468- * Beam width of 1st pass. If value is -1 (not specified), system
2469- * will guess the value from dictionary size. If 0, a possible
2470- * maximum value will be assigned to do full search.
2471+ * Beam width of rank pruning for the 1st pass. If value is -1
2472+ * (not specified), system will guess the value from dictionary
2473+ * size. If 0, a possible maximum value will be assigned to do
2474+ * full search.
2475 */
2476 int specified_trellis_beam_width;
2477+
2478+#ifdef SCORE_PRUNING
2479+ /**
2480+ * Another beam width for score pruning at the 1st pass. If value
2481+ * is -1, or not specified, score pruning will be disabled.
2482+ */
2483+#endif
2484+ LOGPROB score_pruning_width;
2485
2486 #if defined(WPAIR) && defined(WPAIR_KEEP_NLIMIT)
2487 /**
2488@@ -869,6 +904,12 @@
2489 * (-cutsilence / -nocutsilence)
2490 */
2491 int silence_cut;
2492+ /**
2493+ * Chunk size in samples, i.e. processing unit for audio input
2494+ * detection. Segmentation will be done by this unit.
2495+ *
2496+ */
2497+ int chunk_size;
2498 #ifdef GMM_VAD
2499 /**
2500 * (GMM_VAD) Backstep margin when speech trigger is detected.
2501
2502=== modified file 'libjulius/include/julius/jfunc.h'
2503--- libjulius/include/julius/jfunc.h 2010-07-04 15:18:40 +0000
2504+++ libjulius/include/julius/jfunc.h 2012-08-03 04:20:23 +0000
2505@@ -12,13 +12,13 @@
2506 * @author Akinobu Lee
2507 * @date Tue Nov 6 22:41:00 2007
2508 *
2509- * $Revision: 1.7 $
2510+ * $Revision: 1.10 $
2511 *
2512 */
2513 /*
2514- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
2515+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
2516 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
2517- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
2518+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
2519 * All rights reserved
2520 */
2521
2522@@ -52,9 +52,13 @@
2523 void j_internal_error(char *fmt, ...);
2524
2525 int j_config_load_args(Jconf *jconf, int argc, char *argv[]);
2526+int j_config_load_string(Jconf *jconf, char *string);
2527 int j_config_load_file(Jconf *jconf, char *filename);
2528 Jconf *j_config_load_args_new(int argc, char *argv[]);
2529+Jconf *j_config_load_string_new(char *string);
2530 Jconf *j_config_load_file_new(char *filename);
2531+void j_add_dict(JCONF_LM *lm, char *dictfile);
2532+void j_add_word(JCONF_LM *lm, char *wordentry);
2533 boolean j_adin_init(Recog *recog);
2534 char *j_get_current_filename(Recog *recog);
2535 void j_recog_info(Recog *recog);
2536
2537=== modified file 'libjulius/include/julius/julius.h'
2538--- libjulius/include/julius/julius.h 2010-07-04 15:18:40 +0000
2539+++ libjulius/include/julius/julius.h 2012-08-03 04:20:23 +0000
2540@@ -12,13 +12,13 @@
2541 * @author Akinobu LEE
2542 * @date Thu Mar 17 21:08:21 2005
2543 *
2544- * $Revision: 1.6 $
2545+ * $Revision: 1.8 $
2546 *
2547 */
2548 /*
2549- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
2550+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
2551 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
2552- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
2553+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
2554 * All rights reserved
2555 */
2556
2557
2558=== modified file 'libjulius/include/julius/juliuslib.h'
2559--- libjulius/include/julius/juliuslib.h 2008-07-25 17:44:08 +0000
2560+++ libjulius/include/julius/juliuslib.h 2012-08-03 04:20:23 +0000
2561@@ -12,13 +12,13 @@
2562 * @author Akinobu Lee
2563 * @date Tue Nov 6 22:42:12 2007
2564 *
2565- * $Revision: 1.2 $
2566+ * $Revision: 1.4 $
2567 *
2568 */
2569 /*
2570- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
2571+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
2572 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
2573- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
2574+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
2575 * All rights reserved
2576 */
2577
2578
2579=== modified file 'libjulius/include/julius/misc.h'
2580--- libjulius/include/julius/misc.h 2008-07-25 17:44:08 +0000
2581+++ libjulius/include/julius/misc.h 2012-08-03 04:20:23 +0000
2582@@ -12,13 +12,13 @@
2583 * @author Akinobu Lee
2584 * @date Mon May 30 15:58:16 2005
2585 *
2586- * $Revision: 1.2 $
2587+ * $Revision: 1.4 $
2588 *
2589 */
2590 /*
2591- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
2592+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
2593 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
2594- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
2595+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
2596 * All rights reserved
2597 */
2598
2599
2600=== modified file 'libjulius/include/julius/multi-gram.h'
2601--- libjulius/include/julius/multi-gram.h 2008-07-25 17:44:08 +0000
2602+++ libjulius/include/julius/multi-gram.h 2012-08-03 04:20:23 +0000
2603@@ -12,13 +12,13 @@
2604 * @author Akinobu Lee
2605 * @date Fri Jul 8 14:47:05 2005
2606 *
2607- * $Revision: 1.2 $
2608+ * $Revision: 1.4 $
2609 *
2610 */
2611 /*
2612- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
2613+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
2614 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
2615- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
2616+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
2617 * All rights reserved
2618 */
2619
2620
2621=== modified file 'libjulius/include/julius/plugin.h'
2622--- libjulius/include/julius/plugin.h 2009-06-18 13:08:41 +0000
2623+++ libjulius/include/julius/plugin.h 2012-08-03 04:20:23 +0000
2624@@ -12,13 +12,13 @@
2625 * @author Akinobu Lee
2626 * @date Sat Aug 2 13:04:15 2008
2627 *
2628- * $Revision: 1.1 $
2629+ * $Revision: 1.3 $
2630 *
2631 */
2632 /*
2633- * Copyright (c) 1991-2008 Kawahara Lab., Kyoto University
2634+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
2635 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
2636- * Copyright (c) 2005-2008 Julius project team, Nagoya Institute of Technology, Nagoya Institute of Technology
2637+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology, Nagoya Institute of Technology
2638 * All rights reserved
2639 */
2640
2641
2642=== modified file 'libjulius/include/julius/recog.h'
2643--- libjulius/include/julius/recog.h 2010-07-04 15:18:40 +0000
2644+++ libjulius/include/julius/recog.h 2012-08-03 04:20:23 +0000
2645@@ -70,13 +70,13 @@
2646 * @author Akinobu Lee
2647 * @date Fri Feb 16 13:42:28 2007
2648 *
2649- * $Revision: 1.11 $
2650+ * $Revision: 1.16 $
2651 *
2652 */
2653 /*
2654- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
2655+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
2656 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
2657- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
2658+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
2659 * All rights reserved
2660 */
2661
2662@@ -123,6 +123,11 @@
2663 int n_end; ///< end index of in-beam nodes on @a tindex
2664 int tl; ///< Current work area id (0 or 1, swapped for each frame)
2665 int tn; ///< Next work area id (0 or 1, swapped for each frame)
2666+#ifdef SCORE_PRUNING
2667+ LOGPROB score_pruning_max; ///< Maximum score at current frame
2668+ LOGPROB score_pruning_threshold;///< Score threshold for score pruning
2669+ int score_pruning_count; ///< Number of tokens pruned by score (debug)
2670+#endif
2671
2672 /* Active token list */
2673 TOKENID *token; ///< Active token list that holds currently assigned tokens for each tree node
2674@@ -224,6 +229,7 @@
2675 LOGPROB *sentcm = NULL; ///< Confidence score of each sentence
2676 LOGPROB *wordcm = NULL; ///< Confidence score of each word voted from @a sentcm
2677 int sentnum; ///< Allocated length of @a sentcm
2678+ int wordnum; ///< Allocated length of @a wordcm
2679 # endif
2680 #endif /* CONFIDENCE_MEASURE */
2681
2682@@ -356,6 +362,7 @@
2683 int thres; ///< Input Level threshold (0-32767)
2684 int noise_zerocross; ///< Computed threshold of zerocross num in the cycle buffer
2685 int nc_max; ///< Computed number of fragments for tail margin
2686+ int chunk_size; ///< audio process unit
2687 boolean adin_cut_on; ///< TRUE if do input segmentation by silence
2688 boolean silence_cut_default; ///< Device-dependent default value of adin_cut_on()
2689 boolean strip_flag; ///< TRUE if skip invalid zero samples
2690@@ -426,6 +433,7 @@
2691
2692 unsigned int total_captured_len; ///< Total number of recorded samples from start until now
2693 unsigned int last_trigger_sample; ///< Last speech area was triggeed at this sample
2694+ unsigned int last_trigger_len; // Length of last speech area
2695
2696 char current_input_name[MAXPATHLEN]; ///< File or device name of current input
2697
2698
2699=== modified file 'libjulius/include/julius/search.h'
2700--- libjulius/include/julius/search.h 2008-07-25 17:44:08 +0000
2701+++ libjulius/include/julius/search.h 2012-08-03 04:20:23 +0000
2702@@ -29,13 +29,13 @@
2703 * @author Akinobu Lee
2704 * @date Wed Sep 07 07:40:11 2005
2705 *
2706- * $Revision: 1.2 $
2707+ * $Revision: 1.4 $
2708 *
2709 */
2710 /*
2711- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
2712+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
2713 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
2714- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
2715+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
2716 * All rights reserved
2717 */
2718
2719
2720=== modified file 'libjulius/include/julius/useropt.h'
2721--- libjulius/include/julius/useropt.h 2008-07-25 17:44:08 +0000
2722+++ libjulius/include/julius/useropt.h 2012-08-03 04:20:23 +0000
2723@@ -12,13 +12,13 @@
2724 * @author Akinobu Lee
2725 * @date Sun Sep 02 03:09:12 2007
2726 *
2727- * $Revision: 1.2 $
2728+ * $Revision: 1.4 $
2729 *
2730 */
2731 /*
2732- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
2733+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
2734 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
2735- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
2736+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
2737 * All rights reserved
2738 */
2739
2740
2741=== modified file 'libjulius/include/julius/wchmm.h'
2742--- libjulius/include/julius/wchmm.h 2009-06-18 13:08:41 +0000
2743+++ libjulius/include/julius/wchmm.h 2012-08-03 04:20:23 +0000
2744@@ -28,13 +28,13 @@
2745 * @author Akinobu Lee
2746 * @date Sun Sep 18 21:31:32 2005
2747 *
2748- * $Revision: 1.4 $
2749+ * $Revision: 1.7 $
2750 *
2751 */
2752 /*
2753- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
2754+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
2755 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
2756- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
2757+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
2758 * All rights reserved
2759 */
2760
2761@@ -43,16 +43,6 @@
2762
2763 //#define MAXWCNSTEP 40000 ///< Number of states to be allocated at once
2764
2765-/**
2766- * Element of successor word list for LM factoring computation.
2767- *
2768- */
2769-typedef struct s_cell {
2770- WORD_ID word; ///< N-gram word ID
2771- struct s_cell *next; ///< Pointer to next element, or NULL if terminated
2772-} S_CELL;
2773-
2774-
2775 #ifdef PASS1_IWCD
2776
2777 /* Cross-word triphone handling */
2778@@ -251,13 +241,16 @@
2779 #endif
2780 /* Successor lists on the tree are stored on sequencial list at @a sclist,
2781 and each node has index to the list */
2782- S_CELL **sclist; ///< List of successor list [scid]
2783- int *sclist2node; ///< Mapping successor list [scid] to node
2784- int scnum; ///< Number of factoring nodes that has successor list
2785+ /* sclist and sclen are used at 2-gram factoring only */
2786+ /* scword is used at 1-gram factoring only */
2787 #ifdef UNIGRAM_FACTORING
2788+ WORD_ID *scword; ///< successor word[scid]
2789 LOGPROB *fscore; ///< List of 1-gram factoring score [-scid]
2790 int fsnum; ///< Number of @a fscore
2791 #endif
2792+ WORD_ID **sclist; ///< List of successor list [scid]
2793+ WORD_ID *sclen; ///< Length of each succcessor list [scid]
2794+ int scnum; ///< Total number of factoring nodes that has successor list
2795 BMALLOC_BASE *malloc_root; ///< Pointer for block memory allocation
2796 #ifdef PASS1_IWCD
2797 APATNODE *lcdset_category_root; ///< Index of lexicon-dependent category-aware pseudo phone set when used on Julian
2798
2799=== modified file 'libjulius/src/adin-cut.c'
2800--- libjulius/src/adin-cut.c 2010-07-04 15:18:40 +0000
2801+++ libjulius/src/adin-cut.c 2012-08-03 04:20:23 +0000
2802@@ -95,13 +95,13 @@
2803 * @author Akinobu LEE
2804 * @date Sat Feb 12 13:20:53 2005
2805 *
2806- * $Revision: 1.12 $
2807+ * $Revision: 1.18 $
2808 *
2809 */
2810 /*
2811- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
2812+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
2813 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
2814- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
2815+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
2816 * All rights reserved
2817 */
2818
2819@@ -162,12 +162,17 @@
2820 /* calc & set internal parameter from configuration */
2821 freq = jconf->input.sfreq;
2822 samples_in_msec = (float) freq / (float)1000.0;
2823+ adin->chunk_size = jconf->detect.chunk_size;
2824 /* cycle buffer length = head margin length */
2825 adin->c_length = (int)((float)jconf->detect.head_margin_msec * samples_in_msec); /* in msec. */
2826+ if (adin->chunk_size > adin->c_length) {
2827+ jlog("ERROR: adin_setup_param: chunk size (%d) > header margin (%d)\n", adin->chunk_size, adin->c_length);
2828+ return FALSE;
2829+ }
2830 /* compute zerocross trigger count threshold in the cycle buffer */
2831 adin->noise_zerocross = jconf->detect.zero_cross_num * adin->c_length / freq;
2832 /* variables that comes from the tail margin length (in wstep) */
2833- adin->nc_max = (int)((float)(jconf->detect.tail_margin_msec * samples_in_msec / (float)DEFAULT_WSTEP)) + 2;
2834+ adin->nc_max = (int)((float)(jconf->detect.tail_margin_msec * samples_in_msec / (float)adin->chunk_size)) + 2;
2835 adin->sbsize = jconf->detect.tail_margin_msec * samples_in_msec + (adin->c_length * jconf->detect.zero_cross_num / 200);
2836 adin->c_offset = 0;
2837
2838@@ -299,7 +304,7 @@
2839 int ad_process_ret;
2840 int imax, len, cnt;
2841 int wstep;
2842- int end_status; /* return value */
2843+ int end_status = 0; /* return value */
2844 boolean transfer_online_local; /* local repository of transfer_online */
2845 int zc; /* count of zero cross */
2846
2847@@ -363,7 +368,7 @@
2848 If no data exists in the device (in case of mic input), ad_read()
2849 will return 0. If reached end of stream (in case end of file or
2850 receive end ack from tcpip client), it will return -1.
2851- If error, returns -2.
2852+ If error, returns -2. If the device requests segmentation, returns -3.
2853 */
2854 if (a->down_sample) {
2855 /* get 48kHz samples to temporal buffer */
2856@@ -493,7 +498,7 @@
2857 /* prepare for processing samples in temporary buffer */
2858 /******************************************************/
2859
2860- wstep = DEFAULT_WSTEP; /* process unit (should be smaller than cycle buffer) */
2861+ wstep = a->chunk_size; /* process unit (should be smaller than cycle buffer) */
2862
2863 /* imax: total length that should be processed at one ad_read() call */
2864 /* if in real-time mode and not threaded, recognition process
2865@@ -562,6 +567,10 @@
2866 /* record time */
2867 a->last_trigger_sample = a->total_captured_len - a->current_len + i + wstep - a->zc.valid_len;
2868 callback_exec(CALLBACK_EVENT_SPEECH_START, recog);
2869+ a->last_trigger_len = 0;
2870+ if (a->zc.valid_len > wstep) {
2871+ a->last_trigger_len += a->zc.valid_len - wstep;
2872+ }
2873
2874 /****************************************/
2875 /* flush samples stored in cycle buffer */
2876@@ -638,6 +647,10 @@
2877 /* reset noise counter */
2878 a->nc = 0;
2879
2880+ if (a->sblen > 0) {
2881+ a->last_trigger_len += a->sblen;
2882+ }
2883+
2884 #ifdef TMP_FIX_200602
2885 if (ad_process != NULL
2886 #ifdef HAVE_PTHREAD
2887@@ -771,6 +784,8 @@
2888 jlog("DEBUG: %d processed, rest_tail=%d\n", wstep, a->rest_tail);
2889 #endif
2890 }
2891+ a->last_trigger_len += wstep;
2892+
2893 #ifdef TMP_FIX_200602
2894 if (ad_process != NULL
2895 #ifdef HAVE_PTHREAD
2896@@ -875,7 +890,9 @@
2897 /* reset status */
2898 a->need_init = TRUE; /* bufer status shoule be reset at next call */
2899 }
2900- end_status = (a->bp) ? 1 : 0;
2901+ if (end_status >= 0) {
2902+ end_status = (a->bp) ? 1 : 0;
2903+ }
2904 }
2905
2906 return(end_status);
2907@@ -948,7 +965,9 @@
2908
2909 ret = adin_cut(adin_store_buffer, NULL, recog);
2910
2911- if (ret == -1) { /* error */
2912+ if (ret == -2) { /* termination request by ad_check? */
2913+ jlog("Error: adin thread exit with termination request by checker\n");
2914+ } else if (ret == -1) { /* error */
2915 jlog("Error: adin thread exit with error\n");
2916 } else if (ret == 0) { /* EOF */
2917 jlog("Stat: adin thread end with EOF\n");
2918@@ -1021,17 +1040,40 @@
2919
2920 if (recog->adin->adinthread_ended) return TRUE;
2921
2922+ /* send a cencellation request to the A/D-in thread */
2923 ret = pthread_cancel(recog->adin->adin_thread);
2924- if (ret == 0) {
2925- jlog("STAT: AD-in thread deleted\n");
2926- } else {
2927+ if (ret != 0) {
2928 if (ret == ESRCH) {
2929 jlog("STAT: adin_thread_cancel: no A/D-in thread\n");
2930+ recog->adin->adinthread_ended = TRUE;
2931+ return TRUE;
2932 } else {
2933 jlog("Error: adin_thread_cancel: failed to cancel A/D-in thread\n");
2934 return FALSE;
2935 }
2936 }
2937+ /* wait for the thread to terminate */
2938+ ret = pthread_join(recog->adin->adin_thread, NULL);
2939+ if (ret != 0) {
2940+ if (ret == EINVAL) {
2941+ jlog("InternalError: adin_thread_cancel: AD-in thread is invalid\n");
2942+ recog->adin->adinthread_ended = TRUE;
2943+ return FALSE;
2944+ } else if (ret == ESRCH) {
2945+ jlog("STAT: adin_thread_cancel: no A/D-in thread\n");
2946+ recog->adin->adinthread_ended = TRUE;
2947+ return TRUE;
2948+ } else if (ret == EDEADLK) {
2949+ jlog("InternalError: adin_thread_cancel: dead lock or self thread?\n");
2950+ recog->adin->adinthread_ended = TRUE;
2951+ return FALSE;
2952+ } else {
2953+ jlog("Error: adin_thread_cancel: failed to wait end of A/D-in thread\n");
2954+ return FALSE;
2955+ }
2956+ }
2957+
2958+ jlog("STAT: AD-in thread deleted\n");
2959 recog->adin->adinthread_ended = TRUE;
2960 return TRUE;
2961 }
2962@@ -1084,6 +1126,7 @@
2963 #ifdef THREAD_DEBUG
2964 jlog("DEBUG: process: reset, speechlen = %d, online=%d\n", a->speechlen, a->transfer_online);
2965 #endif
2966+ a->adinthread_buffer_overflowed = FALSE;
2967 pthread_mutex_unlock(&(a->mutex));
2968
2969 /* main processing loop */
2970@@ -1106,7 +1149,6 @@
2971 jlog("WARNING: adin_thread_process: too long input (> %d samples), segmented now\n", MAXSPEECHLEN);
2972 /* segment input here */
2973 pthread_mutex_lock(&(a->mutex));
2974- a->adinthread_buffer_overflowed = FALSE;
2975 a->speechlen = 0;
2976 a->transfer_online = transfer_online_local = FALSE;
2977 pthread_mutex_unlock(&(a->mutex));
2978@@ -1289,6 +1331,7 @@
2979 if (debug2_flag && a->input_side_segment) jlog("Stat: adin_begin: skip\n");
2980 if (a->input_side_segment == FALSE) {
2981 a->total_captured_len = 0;
2982+ a->last_trigger_len = 0;
2983 if (a->need_zmean) zmean_reset();
2984 if (a->ad_begin != NULL) return(a->ad_begin(file_or_dev_name));
2985 }
2986
2987=== modified file 'libjulius/src/backtrellis.c'
2988--- libjulius/src/backtrellis.c 2008-07-25 17:44:08 +0000
2989+++ libjulius/src/backtrellis.c 2012-08-03 04:20:23 +0000
2990@@ -46,13 +46,13 @@
2991 * @author Akinobu LEE
2992 * @date Tue Feb 22 15:40:01 2005
2993 *
2994- * $Revision: 1.2 $
2995+ * $Revision: 1.4 $
2996 *
2997 */
2998 /*
2999- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
3000+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
3001 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
3002- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
3003+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
3004 * All rights reserved
3005 */
3006
3007
3008=== modified file 'libjulius/src/beam.c'
3009--- libjulius/src/beam.c 2010-07-04 15:18:40 +0000
3010+++ libjulius/src/beam.c 2012-08-03 04:20:23 +0000
3011@@ -42,13 +42,13 @@
3012 * @author Akinobu LEE
3013 * @date Tue Feb 22 17:00:45 2005
3014 *
3015- * $Revision: 1.14 $
3016+ * $Revision: 1.21 $
3017 *
3018 */
3019 /*
3020- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
3021+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
3022 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
3023- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
3024+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
3025 * All rights reserved
3026 */
3027
3028@@ -219,6 +219,7 @@
3029 static void
3030 re_compute_lattice_lm(WordGraph *root, WCHMM_INFO *wchmm)
3031 {
3032+ WordGraph *wg;
3033 int i;
3034
3035 for(wg=root;wg;wg=wg->next) {
3036@@ -1707,6 +1708,10 @@
3037 new->last_lscore = 0.0;
3038 #else
3039 new->last_lscore = d->penalty1;
3040+#ifdef CLASS_NGRAM
3041+ /* add per-word penalty */
3042+ new->last_lscore += wchmm->winfo->cprob[i];
3043+#endif
3044 #endif
3045 if (wchmm->hmminfo->multipath) {
3046 new->score = new->last_lscore;
3047@@ -1875,6 +1880,11 @@
3048 }
3049 #endif
3050
3051+#ifdef SCORE_PRUNING
3052+ d->score_pruning_threshold = LOG_ZERO;
3053+ d->score_pruning_count = 0;
3054+#endif
3055+
3056 return TRUE;
3057 }
3058
3059@@ -1907,6 +1917,9 @@
3060 TOKEN2 *tknext;
3061 TOKENID tknextid;
3062
3063+ /* does not propagate invalid token */
3064+ if (next_score <= LOG_ZERO) return;
3065+
3066 if ((tknextid = node_exist_token(d, d->tn, next_node, last_tre->wid)) != TOKENID_UNDEFINED) {
3067 /* Á«°ÜÀè¥Î¡¼¥É¤Ë¤Ï´û¤Ë¾¥Î¡¼¥É¤«¤éÅÁȺѤß: ¥¹¥³¥¢¤¬¹â¤¤¤Û¤¦¤ò»Ä¤¹ */
3068 /* the destination node already has a token: compare score */
3069@@ -1922,9 +1935,7 @@
3070 } else {
3071 /* Á«°ÜÀè¥Î¡¼¥É¤Ï̤ÅÁÈÂ: ¿·µ¬¥È¡¼¥¯¥ó¤òºî¤Ã¤Æ³ä¤êÉÕ¤±¤ë */
3072 /* token unassigned: create new token and assign */
3073- if (next_score > LOG_ZERO) { /* valid token */
3074- tknextid = create_token(d); /* get new token */
3075- }
3076+ tknextid = create_token(d); /* get new token */
3077 tknext = &(d->tlist[d->tn][tknextid]);
3078 tknext->last_tre = last_tre; /* propagate last word info */
3079 tknext->last_cword = last_cword; /* propagate last context word info */
3080@@ -2387,6 +2398,10 @@
3081 /* grammar: ñ¸ìÁÞÆþ¥Ú¥Ê¥ë¥Æ¥£¤òÄɲà */
3082 /* grammar: add insertion penalty */
3083 ngram_score_cache = d->penalty1;
3084+#ifdef CLASS_NGRAM
3085+ /* add per-word penalty of last word as delayed penalty */
3086+ ngram_score_cache += wchmm->winfo->cprob[last_word];
3087+#endif
3088 tmpsum += ngram_score_cache;
3089
3090 /* grammar: deterministic factoring (in case category-tree not enabled) */
3091@@ -2514,7 +2529,12 @@
3092 if (wchmm->winfo->is_transparent[sword] && wchmm->winfo->is_transparent[d->wordend_best_last_cword]) {
3093 tmpsum += d->lm_penalty_trans;
3094 }
3095-
3096+#ifdef SCORE_PRUNING
3097+ if (tmpsum < d->score_pruning_threshold) {
3098+ d->score_pruning_count++;
3099+ continue;
3100+ }
3101+#endif
3102 if (wchmm->hmminfo->multipath) {
3103 /* since top node has no ouput, we should go one more step further */
3104 if (wchmm->self_a[next_node] != LOG_ZERO) {
3105@@ -2605,6 +2625,7 @@
3106 FSBeam *d;
3107 int j;
3108 TOKEN2 *tk;
3109+ LOGPROB minscore;
3110
3111 /* local copied variables */
3112 int tn, tl;
3113@@ -2686,6 +2707,12 @@
3114 /* tk: token data node: lexicon tree node ID that holds the 'tk' */
3115 tk = &(d->tlist[tl][d->tindex[tl][j]]);
3116 if (tk->score <= LOG_ZERO) continue; /* invalid node */
3117+#ifdef SCORE_PRUNING
3118+ if (tk->score < d->score_pruning_threshold) {
3119+ d->score_pruning_count++;
3120+ continue;
3121+ }
3122+#endif
3123 node = tk->node;
3124 /*********************************/
3125 /* 2.1. ñ¸ìÆâÁ«°Ü */
3126@@ -2706,7 +2733,12 @@
3127 for(j = d->n_start; j <= d->n_end; j++) {
3128 tk = &(d->tlist[tn][d->tindex[tn][j]]);
3129 node = tk->node;
3130-
3131+#ifdef SCORE_PRUNING
3132+ if (tk->score < d->score_pruning_threshold) {
3133+ d->score_pruning_count++;
3134+ continue;
3135+ }
3136+#endif
3137 /* Á«°Ü¸µ¥Î¡¼¥É¤¬Ã±¸ì½ªÃ¼¤Ê¤é¤Ð */
3138 /* if source node is end state of a word, */
3139 if (wchmm->stend[node] != WORD_INVALID) {
3140@@ -2761,6 +2793,12 @@
3141 /* tk: token data node: lexicon tree node ID that holds the 'tk' */
3142 tk = &(d->tlist[tl][d->tindex[tl][j]]);
3143 if (tk->score <= LOG_ZERO) continue; /* invalid node */
3144+#ifdef SCORE_PRUNING
3145+ if (tk->score < d->score_pruning_threshold) {
3146+ d->score_pruning_count++;
3147+ continue;
3148+ }
3149+#endif
3150 node = tk->node;
3151
3152 /*********************************/
3153@@ -2838,6 +2876,10 @@
3154 /* º£°·¤Ã¤Æ¤¤¤ë¤Î¤¬ÆþÎϤκǽª¥Õ¥ì¡¼¥à¤Î¾ì¹ç½ÐÎϳÎΨ¤Ï·×»»¤·¤Ê¤¤ */
3155 /* don't calculate the last frame (transition only) */
3156
3157+#ifdef SCORE_PRUNING
3158+ d->score_pruning_max = LOG_ZERO;
3159+ minscore = 0.0;
3160+#endif
3161 if (wchmm->hmminfo->multipath) {
3162 if (! final_for_multipath) {
3163 for (j = 0; j < d->tnum[tn]; j++) {
3164@@ -2845,15 +2887,31 @@
3165 /* skip non-output state */
3166 if (wchmm->state[tk->node].out.state == NULL) continue;
3167 tk->score += outprob_style(wchmm, tk->node, tk->last_tre->wid, t, param);
3168+#ifdef SCORE_PRUNING
3169+ if (d->score_pruning_max < tk->score) d->score_pruning_max = tk->score;
3170+ if (minscore > tk->score) minscore = tk->score;
3171+#endif
3172 }
3173 }
3174 } else {
3175 for (j = 0; j < d->tnum[tn]; j++) {
3176 tk = &(d->tlist[tn][d->tindex[tn][j]]);
3177 tk->score += outprob_style(wchmm, tk->node, tk->last_tre->wid, t, param);
3178+#ifdef SCORE_PRUNING
3179+ if (d->score_pruning_max < tk->score) d->score_pruning_max = tk->score;
3180+ if (minscore > tk->score) minscore = tk->score;
3181+#endif
3182 }
3183 }
3184-
3185+#ifdef SCORE_PRUNING
3186+ if (r->config->pass1.score_pruning_width >= 0.0) {
3187+ d->score_pruning_threshold = d->score_pruning_max - r->config->pass1.score_pruning_width;
3188+ //printf("width=%f, tnum=%d\n", d->score_pruning_max - minscore, d->tnum[tn]);
3189+ } else {
3190+ // disable score pruning
3191+ d->score_pruning_threshold = LOG_ZERO;
3192+ }
3193+#endif
3194 /*******************************************************/
3195 /* 4. ¥¹¥³¥¢¤Ç¥È¡¼¥¯¥ó¤ò¥½¡¼¥È¤·¥Ó¡¼¥àÉýʬ¤Î¾å°Ì¤ò·èÄê */
3196 /* sort tokens by score up to beam width */
3197@@ -2980,6 +3038,9 @@
3198 }
3199
3200 }
3201+#ifdef SCORE_PRUNING
3202+ if (debug2_flag) jlog("STAT: %d tokens pruned by score beam\n", d->score_pruning_count);
3203+#endif
3204
3205 }
3206
3207
3208=== modified file 'libjulius/src/confnet.c'
3209--- libjulius/src/confnet.c 2010-07-04 15:18:40 +0000
3210+++ libjulius/src/confnet.c 2012-08-03 04:20:23 +0000
3211@@ -16,13 +16,13 @@
3212 * @author Akinobu Lee
3213 * @date Thu Aug 16 00:15:51 2007
3214 *
3215- * $Revision: 1.4 $
3216+ * $Revision: 1.6 $
3217 *
3218 */
3219 /*
3220- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
3221+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
3222 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
3223- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
3224+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
3225 * All rights reserved
3226 */
3227
3228
3229=== modified file 'libjulius/src/default.c'
3230--- libjulius/src/default.c 2009-06-18 13:08:41 +0000
3231+++ libjulius/src/default.c 2012-08-03 04:20:23 +0000
3232@@ -17,13 +17,13 @@
3233 * @author Akinobu Lee
3234 * @date Fri Feb 16 15:05:43 2007
3235 *
3236- * $Revision: 1.10 $
3237+ * $Revision: 1.15 $
3238 *
3239 */
3240 /*
3241- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
3242+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
3243 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
3244- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
3245+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
3246 * All rights reserved
3247 */
3248
3249@@ -77,6 +77,7 @@
3250 j->detect.tail_margin_msec = 400;
3251 j->detect.zero_cross_num = 60;
3252 j->detect.silence_cut = 2; /* accept device default */
3253+ j->detect.chunk_size = 1000;
3254 #ifdef GMM_VAD
3255 j->detect.gmm_margin = DEFAULT_GMM_MARGIN;
3256 j->detect.gmm_uptrigger_thres = 0.7;
3257@@ -194,6 +195,8 @@
3258 strcpy(j->wordrecog_tail_silence_model_name, "silE");
3259 j->wordrecog_silence_context_name[0] = '\0';
3260 strcpy(j->unknown_name, UNK_WORD_DEFAULT); // or UNK_WORD_DEFAULT2
3261+ j->additional_dict_files = NULL;
3262+ j->additional_dict_entries = NULL;
3263 }
3264
3265 /**
3266@@ -233,6 +236,9 @@
3267 j->lmp.lmp_specified = FALSE;
3268
3269 j->pass1.specified_trellis_beam_width = -1;
3270+#ifdef SCORE_PRUNING
3271+ j->pass1.score_pruning_width = -1.0;
3272+#endif
3273 #if defined(WPAIR) && defined(WPAIR_KEEP_NLIMIT)
3274 j->pass1.wpair_keep_nlimit = 3;
3275 #endif
3276
3277=== modified file 'libjulius/src/dfa_decode.c'
3278--- libjulius/src/dfa_decode.c 2010-07-04 15:18:40 +0000
3279+++ libjulius/src/dfa_decode.c 2012-08-03 04:20:23 +0000
3280@@ -47,13 +47,13 @@
3281 * @author Akinobu LEE
3282 * @date Mon Mar 7 15:31:00 2005
3283 *
3284- * $Revision: 1.3 $
3285+ * $Revision: 1.6 $
3286 *
3287 */
3288 /*
3289- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
3290+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
3291 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
3292- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
3293+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
3294 * All rights reserved
3295 */
3296
3297@@ -115,6 +115,10 @@
3298 nw[num]->lscore = 0.0;
3299 #else
3300 nw[num]->lscore = r->config->lmp.penalty2;
3301+#ifdef CLASS_NGRAM
3302+ /* add per-word penalty */
3303+ nw[num]->lscore += r->wchmm->winfo->cprob[nw[num]->id];
3304+#endif
3305 #endif
3306 num++;
3307 if (num >= maxnw) return -1; /* buffer overflow */
3308@@ -179,6 +183,10 @@
3309 nw[num]->next_state = ns2;
3310 nw[num]->can_insert_sp = TRUE;
3311 nw[num]->lscore = r->config->lmp.penalty2;
3312+#ifdef CLASS_NGRAM
3313+ /* add per-word penalty */
3314+ nw[num]->lscore += r->wchmm->winfo->cprob[nw[num]->id];
3315+#endif
3316 num++;
3317 if (num >= maxnw) return -1; /* buffer overflow */
3318 }
3319@@ -189,8 +197,11 @@
3320 nw[num]->id = dfa->term.tw[cate][iw];
3321 nw[num]->next_state = ns;
3322 nw[num]->can_insert_sp = FALSE;
3323-
3324 nw[num]->lscore = r->config->lmp.penalty2;
3325+#ifdef CLASS_NGRAM
3326+ /* add per-word penalty */
3327+ nw[num]->lscore += r->wchmm->winfo->cprob[nw[num]->id];
3328+#endif
3329 num++;
3330 if (num >= maxnw) return -1; /* buffer overflow */
3331 }
3332
3333=== modified file 'libjulius/src/factoring_sub.c'
3334--- libjulius/src/factoring_sub.c 2009-06-18 13:08:41 +0000
3335+++ libjulius/src/factoring_sub.c 2012-08-03 04:20:23 +0000
3336@@ -152,14 +152,14 @@
3337 * @author Akinobu LEE
3338 * @date Mon Mar 7 23:20:26 2005
3339 *
3340- * $Revision: 1.3 $
3341+ * $Revision: 1.6 $
3342 *
3343 */
3344
3345 /*
3346- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
3347+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
3348 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
3349- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
3350+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
3351 * All rights reserved
3352 */
3353
3354@@ -169,193 +169,6 @@
3355
3356 /**
3357 * <JA>
3358- * @brief ÌÚ¹½Â¤²½¼­½ñ¾å¤Î¤¢¤ë¥Î¡¼¥É¤Î successor list ¤Ëñ¸ì¤òÄɲ乤ë.
3359- *
3360- * ¤¹¤Ç¤ËƱ¤¸Ã±¸ì¤¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ì¤Ð¡¤¿·¤¿¤ËÅÐÏ¿¤Ï¤µ¤ì¤Ê¤¤.
3361- * ñ¸ì¤ÏID¤Ç¾º½ç¤ËÊݸ¤µ¤ì¤ë.
3362- *
3363- * @param wchmm [i/o] ÌÚ¹½Â¤²½¼­½ñ
3364- * @param node [in] ¥Î¡¼¥ÉÈÖ¹æ
3365- * @param w [in] ñ¸ìID
3366- * </JA>
3367- * <EN>
3368- * @brief Add a word to the successor list on a node in tree lexicon.
3369- * Words in lists should be ordered by ID.
3370- *
3371- * @param wchmm [i/o] tree lexicon
3372- * @param node [in] node id
3373- * @param w [in] word id
3374- * </EN>
3375- */
3376-static void
3377-add_successor(WCHMM_INFO *wchmm, int node, WORD_ID w)
3378-{
3379- S_CELL *sctmp, *sc;
3380-
3381- /* malloc a new successor list element */
3382- sctmp=(S_CELL *) mymalloc(sizeof(S_CELL));
3383- /* assign word ID to the new element */
3384- sctmp->word = w;
3385- /* add the new element to existing list (keeping order) */
3386- if (wchmm->state[node].scid == 0) {
3387- j_internal_error("add_successor: sclist id not assigned to branch node?\n");
3388- }
3389- sc = wchmm->sclist[wchmm->state[node].scid];
3390- if (sc == NULL || sctmp->word < sc->word) {
3391- sctmp->next = sc;
3392- wchmm->sclist[wchmm->state[node].scid] = sctmp;
3393- } else {
3394- for(;sc;sc=sc->next) {
3395- if (sc->next == NULL || sctmp->word < (sc->next)->word) {
3396- if (sctmp->word == sc->word) break; /* avoid duplication */
3397- sctmp->next = sc->next;
3398- sc->next = sctmp;
3399- break;
3400- }
3401- }
3402- }
3403-}
3404-
3405-/**
3406- * <JA>
3407- * £²¤Ä¤Î¥Î¡¼¥É¾å¤Î successor list ¤¬°ìÃפ¹¤ë¤«¤É¤¦¤«¥Á¥§¥Ã¥¯¤¹¤ë
3408- *
3409- * @param wchmm [in] ÌÚ¹½Â¤²½¼­½ñ
3410- * @param node1 [in] £±¤Ä¤á¤Î¥Î¡¼¥ÉID
3411- * @param node2 [in] £²¤Ä¤á¤Î¥Î¡¼¥ÉID
3412- *
3413- * @return ´°Á´¤Ë°ìÃפ¹¤ì¤Ð TRUE¡¤°ìÃפ·¤Ê¤±¤ì¤Ð FALSE.
3414- * </JA>
3415- * <EN>
3416- * Check if successor lists on two nodes are the same.
3417- *
3418- * @param wchmm [in] tree lexicon
3419- * @param node1 [in] 1st node id
3420- * @param node2 [in] 2nd node id
3421- *
3422- * @return TRUE if they have the same successor list, or FALSE if they differ.
3423- * </EN>
3424- */
3425-static boolean
3426-match_successor(WCHMM_INFO *wchmm, int node1, int node2)
3427-{
3428- S_CELL *sc1,*sc2;
3429-
3430- /* assume successor is sorted by ID */
3431- if (wchmm->state[node1].scid == 0 || wchmm->state[node2].scid == 0) {
3432- j_internal_error("match_successor: sclist id not assigned to branch node?\n");
3433- }
3434- sc1 = wchmm->sclist[wchmm->state[node1].scid];
3435- sc2 = wchmm->sclist[wchmm->state[node2].scid];
3436- for (;;) {
3437- if (sc1 == NULL || sc2 == NULL) {
3438- if (sc1 == NULL && sc2 == NULL) {
3439- return TRUE;
3440- } else {
3441- return FALSE;
3442- }
3443- } else if (sc1->word != sc2->word) {
3444- return FALSE;
3445- }
3446- sc1 = sc1->next;
3447- sc2 = sc2->next;
3448- }
3449-}
3450-
3451-/**
3452- * <JA>
3453- * »ØÄê¥Î¡¼¥É¾å¤Î successor list ¤ò¶õ¤Ë¤¹¤ë.
3454- *
3455- * @param wchmm [i/o] ÌÚ¹½Â¤²½¼­½ñ
3456- * @param scid [in] node id
3457- * </JA>
3458- * <EN>
3459- * Free successor list at the node
3460- *
3461- * @param wchmm [i/o] tree lexicon
3462- * @param scid [in] node id
3463- * </EN>
3464- */
3465-static void
3466-free_successor(WCHMM_INFO *wchmm, int scid)
3467-{
3468- S_CELL *sc;
3469- S_CELL *sctmp;
3470-
3471- /* free sclist */
3472- sc = wchmm->sclist[scid];
3473- while (sc != NULL) {
3474- sctmp = sc;
3475- sc = sc->next;
3476- free(sctmp);
3477- }
3478-}
3479-
3480-/**
3481- * <JA>
3482- * ÌÚ¹½Â¤²½¼­½ñ¾å¤«¤é¥ê¥ó¥¯¤¬¾Ã¤µ¤ì¤¿ successor list ¤Ë¤Ä¤¤¤Æ¡¤
3483- * ¤½¤Î¼ÂÂΤòºï½ü¤·¤Æ¥ê¥¹¥È¤òµÍ¤á¤ë¥¬¡¼¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¤ò¹Ô¤¦.
3484- *
3485- * @param wchmm [i/o] ÌÚ¹½Â¤²½¼­½ñ
3486- * </JA>
3487- * <EN>
3488- * Garbage collection of the successor list, by deleting successor lists
3489- * to which the link was deleted on the lexicon tree.
3490- *
3491- * @param wchmm [i/o] tree lexiton
3492- * </EN>
3493- */
3494-static void
3495-compaction_successor(WCHMM_INFO *wchmm)
3496-{
3497- int src, dst;
3498-
3499- dst = 1;
3500- for(src=1;src<wchmm->scnum;src++) {
3501- if (wchmm->state[wchmm->sclist2node[src]].scid <= 0) {
3502- /* already freed, skip */
3503- continue;
3504- }
3505- if (dst != src) {
3506- wchmm->sclist[dst] = wchmm->sclist[src];
3507- wchmm->sclist2node[dst] = wchmm->sclist2node[src];
3508- wchmm->state[wchmm->sclist2node[dst]].scid = dst;
3509- }
3510- dst++;
3511- }
3512- if (debug2_flag) {
3513- jlog("DEBUG: successor list shrinked from %d to %d\n", wchmm->scnum, dst);
3514- }
3515- wchmm->scnum = dst;
3516-}
3517-
3518-/**
3519- * <JA>
3520- * successor list ÍѤ˳ä¤êÉÕ¤±¤é¤ì¤¿¥á¥â¥êÎΰè¤òÍ­¸ú¤ÊŤµ¤Ë½Ì¤á¤ë.
3521- * ½é´ü¹½ÃÛ»þ¤ä¡¤1-gram factoring ¤Î¤¿¤á¤Ëºï½ü¤µ¤ì¤¿ successor list ʬ¤Î
3522- * ¥á¥â¥ê¤ò²òÊü¤¹¤ë.
3523- *
3524- * @param wchmm [i/o] ÌÚ¹½Â¤²½¼­½ñ
3525- * </JA>
3526- * <EN>
3527- * Shrink the memory area that has been allocated for building successor list.
3528- *
3529- * @param wchmm [i/o] tree lexicon
3530- * </EN>
3531- */
3532-static void
3533-shrink_successor(WCHMM_INFO *wchmm)
3534-{
3535- if (wchmm->sclist) {
3536- wchmm->sclist = (S_CELL **)myrealloc(wchmm->sclist, sizeof(S_CELL *) * wchmm->scnum);
3537- }
3538- if (wchmm->sclist2node) {
3539- wchmm->sclist2node = (int *)myrealloc(wchmm->sclist2node, sizeof(int) * wchmm->scnum);
3540- }
3541-}
3542-
3543-/**
3544- * <JA>
3545 * ÌÚ¹½Â¤²½¼­½ñ¾å¤ÎÁ´¥Î¡¼¥É¤Ë successor list ¤ò¹½ÃÛ¤¹¤ë¥á¥¤¥ó´Ø¿ô
3546 *
3547 * @param wchmm [i/o] ÌÚ¹½Â¤²½¼­½ñ
3548@@ -375,9 +188,13 @@
3549 {
3550 int node;
3551 WORD_ID w;
3552- int i;
3553+ int i, j;
3554+ int s;
3555+ WORD_ID *scnumlist;
3556+ WORD_ID *sclen;
3557+ int scnum, new_scnum;
3558+ int *scidmap;
3559 boolean *freemark;
3560- int s;
3561
3562 jlog("STAT: make successor lists for factoring\n");
3563
3564@@ -385,49 +202,38 @@
3565 /* initialize node->sclist index on wchmm tree */
3566 for (node=0;node<wchmm->n;node++) wchmm->state[node].scid = 0;
3567
3568- /* parse the tree to get the maximum size of successor list */
3569- s = 1;
3570+ /* parse the tree to assign unique scid and get the maximum size of
3571+ successor list */
3572+ scnum = 1;
3573 for (w=0;w<wchmm->winfo->num;w++) {
3574 for (i=0;i<wchmm->winfo->wlen[w];i++) {
3575 if (wchmm->state[wchmm->offset[w][i]].scid == 0) {
3576- wchmm->state[wchmm->offset[w][i]].scid = s;
3577- s++;
3578+ wchmm->state[wchmm->offset[w][i]].scid = scnum;
3579+ scnum++;
3580 }
3581 }
3582 if (wchmm->state[wchmm->wordend[w]].scid == 0) {
3583- wchmm->state[wchmm->wordend[w]].scid = s;
3584- s++;
3585+ wchmm->state[wchmm->wordend[w]].scid = scnum;
3586+ scnum++;
3587 }
3588 }
3589- wchmm->scnum = s;
3590 if (debug2_flag) {
3591- jlog("DEBUG: initial successor list size = %d\n", wchmm->scnum);
3592+ jlog("DEBUG: initial successor list size = %d\n", scnum);
3593 }
3594
3595- /* allocate successor list for the maximum size */
3596- wchmm->sclist = (S_CELL **)mymalloc(sizeof(S_CELL *) * wchmm->scnum);
3597- for (i=1;i<wchmm->scnum;i++) wchmm->sclist[i] = NULL;
3598- wchmm->sclist2node = (int *)mymalloc(sizeof(int) * wchmm->scnum);
3599-
3600- /* allocate misc. work area */
3601- freemark = (boolean *)mymalloc(sizeof(boolean) * wchmm->scnum);
3602- for (i=1;i<wchmm->scnum;i++) freemark[i] = FALSE;
3603-
3604- /* 2. make initial successor list: assign at all possible nodes */
3605+ /* 2. count number of each successor */
3606+ sclen = (WORD_ID *)mymalloc(sizeof(WORD_ID) * scnum);
3607+ for (i=1;i<scnum;i++) sclen[i] = 0;
3608 for (w=0;w<wchmm->winfo->num;w++) {
3609- /* at each start node of phonemes */
3610 for (i=0;i<wchmm->winfo->wlen[w];i++) {
3611- wchmm->sclist2node[wchmm->state[wchmm->offset[w][i]].scid] = wchmm->offset[w][i];
3612- add_successor(wchmm, wchmm->offset[w][i], w);
3613+ sclen[wchmm->state[wchmm->offset[w][i]].scid]++;
3614 }
3615- /* at word end */
3616- wchmm->sclist2node[wchmm->state[wchmm->wordend[w]].scid] = wchmm->wordend[w];
3617- add_successor(wchmm, wchmm->wordend[w], w);
3618+ sclen[wchmm->state[wchmm->wordend[w]].scid]++;
3619 }
3620-
3621- /* 3. erase unnecessary successor list */
3622- /* sucessor list same as the previous node is not needed, so */
3623- /* parse lexicon tree from every leaf to find the same succesor list */
3624+
3625+ /* 3. delete bogus successor lists */
3626+ freemark = (boolean *)mymalloc(sizeof(boolean) * scnum);
3627+ for (i=1;i<scnum;i++) freemark[i] = FALSE;
3628 for (w=0;w<wchmm->winfo->num;w++) {
3629 node = wchmm->wordend[w]; /* begin from the word end node */
3630 i = wchmm->winfo->wlen[w]-1;
3631@@ -437,30 +243,82 @@
3632 i--;
3633 continue;
3634 }
3635- if (match_successor(wchmm, node, wchmm->offset[w][i])) {
3636+ if (wchmm->state[node].scid == 0) break; /* already parsed */
3637+ if (sclen[wchmm->state[node].scid] == sclen[wchmm->state[wchmm->offset[w][i]].scid]) {
3638 freemark[wchmm->state[node].scid] = TRUE; /* mark the node */
3639+ wchmm->state[node].scid = 0;
3640 }
3641-/*
3642- * if (freemark[wchmm->offset[w][i]] != FALSE) {
3643- * break;
3644- * }
3645- */
3646 node = wchmm->offset[w][i];
3647 i--;
3648 }
3649 }
3650- /* really free */
3651- for (i=1;i<wchmm->scnum;i++) {
3652- if (freemark[i] == TRUE) {
3653- free_successor(wchmm, i);
3654- /* reset node -> sclist link */
3655- wchmm->state[wchmm->sclist2node[i]].scid = 0;
3656- }
3657- }
3658- /* garbage collection of deleted sclist */
3659- compaction_successor(wchmm);
3660-
3661+ /* build compaction map */
3662+ scidmap = (int *)mymalloc(sizeof(int) * scnum);
3663+ scidmap[0] = 0;
3664+ j = 1;
3665+ for (i=1;i<scnum;i++) {
3666+ if (freemark[i]) {
3667+ scidmap[i] = 0;
3668+ } else {
3669+ scidmap[i] = j;
3670+ j++;
3671+ }
3672+ }
3673+ new_scnum = j;
3674+ if (debug2_flag) {
3675+ jlog("DEBUG: compacted successor list size = %d\n", new_scnum);
3676+ }
3677+
3678+ /* 4. rewrite scid and do compaction for new sclen */
3679+ for (node=0;node<wchmm->n;node++) {
3680+ if (wchmm->state[node].scid > 0) {
3681+ wchmm->state[node].scid = scidmap[wchmm->state[node].scid];
3682+ }
3683+ }
3684+ wchmm->sclen = (WORD_ID *)mybmalloc2(sizeof(WORD_ID) * new_scnum, &(wchmm->malloc_root));
3685+ for (i=1;i<scnum;i++) {
3686+ if (scidmap[i] != 0) wchmm->sclen[scidmap[i]] = sclen[i];
3687+ }
3688+ wchmm->scnum = new_scnum;
3689+
3690+ free(scidmap);
3691 free(freemark);
3692+ free(sclen);
3693+
3694+ /* 5. now index completed, make word list for each list */
3695+ wchmm->sclist = (WORD_ID **)mybmalloc2(sizeof(WORD_ID *) * wchmm->scnum, &(wchmm->malloc_root));
3696+ scnumlist = (WORD_ID *)mymalloc(sizeof(WORD_ID) * wchmm->scnum);
3697+ for(i=1;i<wchmm->scnum;i++) {
3698+ wchmm->sclist[i] = (WORD_ID *)mybmalloc2(sizeof(WORD_ID) * wchmm->sclen[i], &(wchmm->malloc_root));
3699+ scnumlist[i] = 0;
3700+ }
3701+ {
3702+ int scid;
3703+ for (w=0;w<wchmm->winfo->num;w++) {
3704+ for (i=0;i<wchmm->winfo->wlen[w];i++) {
3705+ scid = wchmm->state[wchmm->offset[w][i]].scid;
3706+ if (scid != 0) {
3707+ wchmm->sclist[scid][scnumlist[scid]] = w;
3708+ scnumlist[scid]++;
3709+ if (scnumlist[scid] > wchmm->sclen[scid]) {
3710+ jlog("hogohohoho\n");
3711+ exit(1);
3712+ }
3713+ }
3714+ }
3715+ /* at word end */
3716+ scid = wchmm->state[wchmm->wordend[w]].scid;
3717+ if (scid != 0) {
3718+ wchmm->sclist[scid][scnumlist[scid]] = w;
3719+ scnumlist[scid]++;
3720+ if (scnumlist[scid] > wchmm->sclen[scid]) {
3721+ jlog("hogohohoho\n");
3722+ exit(1);
3723+ }
3724+ }
3725+ }
3726+ }
3727+ free(scnumlist);
3728
3729 jlog("STAT: done\n");
3730 }
3731@@ -502,6 +360,7 @@
3732 int i, j, n, f;
3733 int s;
3734 LOGPROB tmpprob;
3735+ WORD_ID *mtmp;
3736
3737 jlog("STAT: make successor lists for unigram factoring\n");
3738
3739@@ -515,10 +374,8 @@
3740 jlog("DEBUG: successor list size = %d\n", wchmm->scnum);
3741 }
3742
3743- /* allocate successor list */
3744- wchmm->sclist = (S_CELL **)mymalloc(sizeof(S_CELL *) * wchmm->scnum);
3745- for (i=1;i<wchmm->scnum;i++) wchmm->sclist[i] = NULL;
3746- /* sclist2node is not used */
3747+ /* allocate successor list for 1-gram factoring */
3748+ wchmm->scword = (WORD_ID *)mybmalloc2(sizeof(WORD_ID) * wchmm->scnum, &(wchmm->malloc_root));
3749
3750 /* 2. make successor list, and count needed fscore num */
3751 f = 1;
3752@@ -532,17 +389,18 @@
3753 }
3754 if (wchmm->state[node].scid == 0) { /* not assigned */
3755 /* new node found, assign new and exit here */
3756- wchmm->state[node].scid = s++;
3757+ wchmm->state[node].scid = s;
3758+ wchmm->scword[s] = w;
3759+ s++;
3760 if (s > wchmm->scnum) {
3761 jlog("InternalError: make_successor_list_unigram_factoring: scid num exceeded?\n");
3762 return;
3763 }
3764- add_successor(wchmm, node, w);
3765 break;
3766 } else if (wchmm->state[node].scid > 0) {
3767- /* that node has sclist */
3768+ /* that node has successor */
3769 /* move it to the current first isolated node in that word */
3770- w2 = wchmm->sclist[wchmm->state[node].scid]->word;
3771+ w2 = wchmm->scword[wchmm->state[node].scid];
3772 for(j=i+1;j<wchmm->winfo->wlen[w2] + 1;j++) {
3773 if (j < wchmm->winfo->wlen[w2]) {
3774 node2 = wchmm->offset[w2][j];
3775@@ -550,7 +408,7 @@
3776 node2 = wchmm->wordend[w2];
3777 }
3778 if (wchmm->state[node2].scid == 0) { /* not assigned */
3779- /* move sclist to there */
3780+ /* move successor to there */
3781 wchmm->state[node2].scid = wchmm->state[node].scid;
3782 break;
3783 }
3784@@ -732,9 +590,6 @@
3785 LM_PROB_CACHE *l;
3786 WORD_ID wnum;
3787
3788- /* finally shrink the memory area of successor list here */
3789- shrink_successor(wchmm);
3790-
3791 /* for word-internal */
3792 l = &(wchmm->lmcache);
3793
3794@@ -880,6 +735,8 @@
3795 wchmm->isolatenum = num;
3796 }
3797
3798+#ifndef FAST_FACTOR1_SUCCESSOR_LIST
3799+
3800 /**
3801 * <JA>
3802 * @brief ÌÚ¹½Â¤²½¼­½ñ¾å¤Î 1-gram factoring Ãͤò·×»»¤·¤Æ³ÊǼ¤¹¤ë.
3803@@ -977,6 +834,8 @@
3804 compaction_successor(wchmm);
3805 }
3806
3807+#endif
3808+
3809 #else /* ~UNIGRAM_FACTORING */
3810
3811 /**
3812@@ -1004,27 +863,31 @@
3813 static LOGPROB
3814 calc_successor_prob(WCHMM_INFO *wchmm, WORD_ID lastword, int node)
3815 {
3816- S_CELL *sc;
3817 LOGPROB tmpprob, maxprob;
3818- WORD_ID lw;
3819+ WORD_ID lw, w;
3820+ int i;
3821+ int scid;
3822
3823 maxprob = LOG_ZERO;
3824 if (wchmm->ngram) {
3825 lw = wchmm->winfo->wton[lastword];
3826 }
3827
3828- for (sc = wchmm->sclist[wchmm->state[node].scid]; sc; sc = sc->next) {
3829+ scid = wchmm->state[node].scid;
3830+
3831+ for (i = 0; i < wchmm->sclen[scid]; i++) {
3832+ w = wchmm->sclist[scid][i];
3833 if (wchmm->ngram) {
3834- tmpprob = (*(wchmm->ngram->bigram_prob))(wchmm->ngram, lw , wchmm->winfo->wton[sc->word])
3835+ tmpprob = (*(wchmm->ngram->bigram_prob))(wchmm->ngram, lw , wchmm->winfo->wton[w])
3836 #ifdef CLASS_NGRAM
3837- + wchmm->winfo->cprob[sc->word]
3838+ + wchmm->winfo->cprob[w]
3839 #endif
3840 ;
3841 } else {
3842 tmpprob = LOG_ZERO;
3843 }
3844 if (wchmm->lmvar == LM_NGRAM_USER) {
3845- tmpprob = (*(wchmm->bi_prob_user))(wchmm->winfo, lastword, sc->word, tmpprob);
3846+ tmpprob = (*(wchmm->bi_prob_user))(wchmm->winfo, lastword, w, tmpprob);
3847 }
3848 if (maxprob < tmpprob) maxprob = tmpprob;
3849 }
3850@@ -1102,7 +965,7 @@
3851 /* return precise 2-gram score */
3852 if (last_nword != l->lastwcache[scid]) {
3853 /* calc and cache */
3854- w = (wchmm->sclist[scid])->word;
3855+ w = wchmm->scword[scid];
3856 if (wchmm->ngram) {
3857 maxprob = (*(wchmm->ngram->bigram_prob))(wchmm->ngram, last_nword, wchmm->winfo->wton[w])
3858 #ifdef CLASS_NGRAM
3859@@ -1251,7 +1114,7 @@
3860 /* should not happen!!! below is just for debugging */
3861 j_internal_error("max_successor_prob_iw: isolated (not shared) tree root node has unigram factoring value??\n");
3862 } else {
3863- w = (wchmm->sclist[wchmm->state[node].scid])->word;
3864+ w = wchmm->scword[wchmm->state[node].scid];
3865 if (wchmm->ngram) {
3866 p = (*(wchmm->ngram->bigram_prob))(wchmm->ngram, last_nword, wchmm->winfo->wton[w])
3867 #ifdef CLASS_NGRAM
3868@@ -1333,19 +1196,22 @@
3869 can_succeed(WCHMM_INFO *wchmm, WORD_ID lastword, int node)
3870 {
3871 int lc;
3872- S_CELL *sc;
3873+ int i;
3874+ int s;
3875
3876 /* return TRUE if at least one subtree word can connect */
3877
3878+ s = wchmm->state[node].scid;
3879+
3880 if (lastword == WORD_INVALID) { /* case at beginning-of-word */
3881- for (sc=wchmm->sclist[wchmm->state[node].scid];sc;sc=sc->next) {
3882- if (dfa_cp_begin(wchmm->dfa, sc->word) == TRUE) return(TRUE);
3883+ for (i = 0; i < wchmm->sclen[s]; i++) {
3884+ if (dfa_cp_begin(wchmm->dfa, wchmm->sclist[s][i]) == TRUE) return(TRUE);
3885 }
3886 return(FALSE);
3887 } else {
3888 lc = wchmm->winfo->wton[lastword];
3889- for (sc=wchmm->sclist[wchmm->state[node].scid];sc;sc=sc->next) {
3890- if (dfa_cp(wchmm->dfa, lc, sc->word) == TRUE) return(TRUE);
3891+ for (i = 0; i < wchmm->sclen[s]; i++) {
3892+ if (dfa_cp(wchmm->dfa, lc, wchmm->sclist[s][i]) == TRUE) return(TRUE);
3893 }
3894 return(FALSE);
3895 }
3896
3897=== modified file 'libjulius/src/gmm.c'
3898--- libjulius/src/gmm.c 2009-06-18 13:08:41 +0000
3899+++ libjulius/src/gmm.c 2012-08-03 04:20:23 +0000
3900@@ -41,13 +41,13 @@
3901 * @author Akinobu LEE
3902 * @date Tue Mar 15 05:14:10 2005
3903 *
3904- * $Revision: 1.4 $
3905+ * $Revision: 1.6 $
3906 *
3907 */
3908
3909 /*
3910 * Copyright (c) 2003-2005 Shikano Lab., Nara Institute of Science and Technology
3911- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
3912+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
3913 * All rights reserved
3914 */
3915
3916
3917=== modified file 'libjulius/src/gramlist.c'
3918--- libjulius/src/gramlist.c 2008-07-25 17:44:08 +0000
3919+++ libjulius/src/gramlist.c 2012-08-03 04:20:23 +0000
3920@@ -28,13 +28,13 @@
3921 * @author Akinobu Lee
3922 * @date Tue Oct 30 12:27:53 2007
3923 *
3924- * $Revision: 1.1 $
3925+ * $Revision: 1.3 $
3926 *
3927 */
3928 /*
3929- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
3930+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
3931 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
3932- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
3933+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
3934 * All rights reserved
3935 */
3936
3937
3938=== modified file 'libjulius/src/graphout.c'
3939--- libjulius/src/graphout.c 2008-07-25 17:44:08 +0000
3940+++ libjulius/src/graphout.c 2012-08-03 04:20:23 +0000
3941@@ -12,13 +12,13 @@
3942 * @author Akinobu LEE
3943 * @date Thu Mar 17 12:46:31 2005
3944 *
3945- * $Revision: 1.5 $
3946+ * $Revision: 1.7 $
3947 *
3948 */
3949 /*
3950- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
3951+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
3952 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
3953- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
3954+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
3955 * All rights reserved
3956 */
3957
3958
3959=== modified file 'libjulius/src/hmm_check.c'
3960--- libjulius/src/hmm_check.c 2008-07-25 17:44:08 +0000
3961+++ libjulius/src/hmm_check.c 2012-08-03 04:20:23 +0000
3962@@ -12,13 +12,13 @@
3963 * @author Akinobu LEE
3964 * @date Thu Mar 17 20:50:07 2005
3965 *
3966- * $Revision: 1.2 $
3967+ * $Revision: 1.4 $
3968 *
3969 */
3970 /*
3971- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
3972+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
3973 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
3974- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
3975+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
3976 * All rights reserved
3977 */
3978
3979
3980=== modified file 'libjulius/src/instance.c'
3981--- libjulius/src/instance.c 2010-07-04 15:18:40 +0000
3982+++ libjulius/src/instance.c 2012-08-03 04:20:23 +0000
3983@@ -12,13 +12,13 @@
3984 * @author Akinobu Lee
3985 * @date Sun Oct 28 18:06:20 2007
3986 *
3987- * $Revision: 1.4 $
3988+ * $Revision: 1.8 $
3989 *
3990 */
3991 /*
3992- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
3993+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
3994 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
3995- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
3996+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
3997 * All rights reserved
3998 */
3999
4000@@ -160,11 +160,11 @@
4001 void
4002 j_process_am_free(PROCESS_AM *am)
4003 {
4004+ /* HMMWork hmmwrk */
4005+ outprob_free(&(am->hmmwrk));
4006 if (am->hmminfo) hmminfo_free(am->hmminfo);
4007 if (am->hmm_gs) hmminfo_free(am->hmm_gs);
4008 /* not free am->jconf */
4009- /* HMMWork hmmwrk */
4010- outprob_free(&(am->hmmwrk));
4011 free(am);
4012 }
4013
4014@@ -300,6 +300,10 @@
4015 /* not free jconf, am, lm here */
4016 /* free part of StackDecode work area */
4017 wchmm_fbs_free(process);
4018+ /* free cache */
4019+ if (process->lmtype == LM_PROB) {
4020+ max_successor_cache_free(process->wchmm);
4021+ }
4022 /* free wchmm */
4023 if (process->wchmm) wchmm_free(process->wchmm);
4024 /* free backtrellis */
4025@@ -457,6 +461,21 @@
4026 void
4027 j_jconf_lm_free(JCONF_LM *lmconf)
4028 {
4029+ JCONF_LM_NAMELIST *nl, *nltmp;
4030+ nl = lmconf->additional_dict_files;
4031+ while (nl) {
4032+ nltmp = nl->next;
4033+ free(nl->name);
4034+ free(nl);
4035+ nl = nltmp;
4036+ }
4037+ nl = lmconf->additional_dict_entries;
4038+ while (nl) {
4039+ nltmp = nl->next;
4040+ free(nl->name);
4041+ free(nl);
4042+ nl = nltmp;
4043+ }
4044 free(lmconf);
4045 }
4046
4047
4048=== modified file 'libjulius/src/jfunc.c'
4049--- libjulius/src/jfunc.c 2010-07-04 15:18:40 +0000
4050+++ libjulius/src/jfunc.c 2012-08-03 04:20:23 +0000
4051@@ -19,13 +19,13 @@
4052 * @author Akinobu Lee
4053 * @date Wed Aug 8 15:04:28 2007
4054 *
4055- * $Revision: 1.6 $
4056+ * $Revision: 1.9 $
4057 *
4058 */
4059 /*
4060- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
4061+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
4062 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
4063- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
4064+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
4065 * All rights reserved
4066 */
4067
4068@@ -315,6 +315,45 @@
4069
4070 /**
4071 * <EN>
4072+ * If multiple instances defined from init, remove initial one (id=0)
4073+ * </EN>
4074+ * <JA>
4075+ * Ê£¿ô¥¤¥ó¥¹¥¿¥ó¥¹¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢½é´ü¥¤¥ó¥¹¥¿¥ó¥¹(id=0)¤Ï
4076+ * ̵¸ú¤Ê¤Î¤Ç¾Ã¤¹.
4077+ * </JA>
4078+ *
4079+ * @param jconf [i/o] global configuration instance
4080+ *
4081+ * @callgraph
4082+ * @callergraph
4083+ * @ingroup jconf
4084+ */
4085+static void
4086+j_config_remove_initial(Jconf *jconf)
4087+{
4088+ JCONF_AM *am;
4089+ JCONF_LM *lm;
4090+ JCONF_SEARCH *s;
4091+
4092+ if(jconf->am_root->next != NULL && jconf->am_root->id == 0) {
4093+ am = jconf->am_root->next;
4094+ free(jconf->am_root);
4095+ jconf->am_root = am;
4096+ }
4097+ if(jconf->lm_root->next != NULL && jconf->lm_root->id == 0) {
4098+ lm = jconf->lm_root->next;
4099+ free(jconf->lm_root);
4100+ jconf->lm_root = lm;
4101+ }
4102+ if(jconf->search_root->next != NULL && jconf->search_root->id == 0) {
4103+ s = jconf->search_root->next;
4104+ free(jconf->search_root);
4105+ jconf->search_root = s;
4106+ }
4107+}
4108+
4109+/**
4110+ * <EN>
4111 * Load parameters from command argments, and set to each configuration
4112 * instances in jconf.
4113 * </EN>
4114@@ -336,30 +375,49 @@
4115 int
4116 j_config_load_args(Jconf *jconf, int argc, char *argv[])
4117 {
4118- JCONF_AM *am;
4119- JCONF_LM *lm;
4120- JCONF_SEARCH *s;
4121-
4122 /* parse options and set variables */
4123 if (opt_parse(argc, argv, NULL, jconf) == FALSE) {
4124 return -1;
4125 }
4126 /* if multiple instances defined from init, remove initial one (id=0) */
4127- if(jconf->am_root->next != NULL && jconf->am_root->id == 0) {
4128- am = jconf->am_root->next;
4129- free(jconf->am_root);
4130- jconf->am_root = am;
4131- }
4132- if(jconf->lm_root->next != NULL && jconf->lm_root->id == 0) {
4133- lm = jconf->lm_root->next;
4134- free(jconf->lm_root);
4135- jconf->lm_root = lm;
4136- }
4137- if(jconf->search_root->next != NULL && jconf->search_root->id == 0) {
4138- s = jconf->search_root->next;
4139- free(jconf->search_root);
4140- jconf->search_root = s;
4141- }
4142+ j_config_remove_initial(jconf);
4143+
4144+ return 0;
4145+}
4146+
4147+/**
4148+ * <EN>
4149+ * Load parameters from command argment string, and set to each configuration
4150+ * instances in jconf.
4151+ * </EN>
4152+ * <JA>
4153+ * ¥³¥Þ¥ó¥É°ú¿ô¤ò´Þ¤àʸ»úÎ󤫤é¥Ñ¥é¥á¡¼¥¿¤òÆɤ߹þ¤ß¡¤jconf Æâ¤Î³ÆÀßÄꥤ¥ó¥¹¥¿¥ó¥¹¤Ë
4154+ * Ãͤò³ÊǼ¤¹¤ë.
4155+ * </JA>
4156+ *
4157+ * @param jconf [i/o] global configuration instance
4158+ * @param argstr [in] argument string
4159+ *
4160+ * @return 0 on success, or -1 on failure.
4161+ *
4162+ * @callgraph
4163+ * @callergraph
4164+ * @ingroup jconf
4165+ */
4166+int
4167+j_config_load_string(Jconf *jconf, char *string)
4168+{
4169+ int argc;
4170+ char **argv;
4171+ char *buf;
4172+
4173+ /* parse options and set variables */
4174+ if (config_string_parse(string, jconf) == FALSE) {
4175+ return -1;
4176+ }
4177+ /* if multiple instances defined from init, remove initial one (id=0) */
4178+ j_config_remove_initial(jconf);
4179+
4180 return 0;
4181 }
4182
4183@@ -385,30 +443,13 @@
4184 int
4185 j_config_load_file(Jconf *jconf, char *filename)
4186 {
4187- JCONF_AM *am;
4188- JCONF_LM *lm;
4189- JCONF_SEARCH *s;
4190-
4191 /* parse options and set variables */
4192 if (config_file_parse(filename, jconf) == FALSE) {
4193 return -1;
4194 }
4195 /* if multiple instances defined from init, remove initial one (id=0) */
4196- if(jconf->am_root->next != NULL && jconf->am_root->id == 0) {
4197- am = jconf->am_root->next;
4198- free(jconf->am_root);
4199- jconf->am_root = am;
4200- }
4201- if(jconf->lm_root->next != NULL && jconf->lm_root->id == 0) {
4202- lm = jconf->lm_root->next;
4203- free(jconf->lm_root);
4204- jconf->lm_root = lm;
4205- }
4206- if(jconf->search_root->next != NULL && jconf->search_root->id == 0) {
4207- s = jconf->search_root->next;
4208- free(jconf->search_root);
4209- jconf->search_root = s;
4210- }
4211+ j_config_remove_initial(jconf);
4212+
4213 return 0;
4214 }
4215
4216@@ -435,32 +476,11 @@
4217 j_config_load_args_new(int argc, char *argv[])
4218 {
4219 Jconf *jconf;
4220- JCONF_AM *am;
4221- JCONF_LM *lm;
4222- JCONF_SEARCH *s;
4223-
4224 jconf = j_jconf_new();
4225- /* parse options and set variables */
4226- if (opt_parse(argc, argv, NULL, jconf) == FALSE) {
4227+ if (j_config_load_args(jconf, argc, argv) == -1) {
4228 j_jconf_free(jconf);
4229 return NULL;
4230 }
4231- /* if multiple instances defined from init, remove initial one (id=0) */
4232- if(jconf->am_root->next != NULL && jconf->am_root->id == 0) {
4233- am = jconf->am_root->next;
4234- free(jconf->am_root);
4235- jconf->am_root = am;
4236- }
4237- if(jconf->lm_root->next != NULL && jconf->lm_root->id == 0) {
4238- lm = jconf->lm_root->next;
4239- free(jconf->lm_root);
4240- jconf->lm_root = lm;
4241- }
4242- if(jconf->search_root->next != NULL && jconf->search_root->id == 0) {
4243- s = jconf->search_root->next;
4244- free(jconf->search_root);
4245- jconf->search_root = s;
4246- }
4247 return jconf;
4248 }
4249
4250@@ -486,33 +506,104 @@
4251 j_config_load_file_new(char *filename)
4252 {
4253 Jconf *jconf;
4254- JCONF_AM *am;
4255- JCONF_LM *lm;
4256- JCONF_SEARCH *s;
4257-
4258- jconf = j_jconf_new();
4259- /* parse options and set variables */
4260- if (config_file_parse(filename, jconf) == FALSE) {
4261- j_jconf_free(jconf);
4262- return NULL;
4263- }
4264- /* if multiple instances defined from init, remove initial one (id=0) */
4265- if(jconf->am_root->next != NULL && jconf->am_root->id == 0) {
4266- am = jconf->am_root->next;
4267- free(jconf->am_root);
4268- jconf->am_root = am;
4269- }
4270- if(jconf->lm_root->next != NULL && jconf->lm_root->id == 0) {
4271- lm = jconf->lm_root->next;
4272- free(jconf->lm_root);
4273- jconf->lm_root = lm;
4274- }
4275- if(jconf->search_root->next != NULL && jconf->search_root->id == 0) {
4276- s = jconf->search_root->next;
4277- free(jconf->search_root);
4278- jconf->search_root = s;
4279- }
4280- return jconf;
4281+ jconf = j_jconf_new();
4282+ if (j_config_load_file(jconf, filename) == -1) {
4283+ j_jconf_free(jconf);
4284+ return NULL;
4285+ }
4286+ return jconf;
4287+}
4288+
4289+/**
4290+ * <EN>
4291+ * Create a new configuration instance and load parameters from string
4292+ * file.
4293+ * </EN>
4294+ * <JA>
4295+ * ¿·¤¿¤ÊÀßÄꥤ¥ó¥¹¥¿¥ó¥¹¤ò³ä¤êÉÕ¤±¡¤¤½¤³¤Ë
4296+ * ʸ»úÎ󤫤éÀßÄê¥Ñ¥é¥á¡¼¥¿¤òÆɤ߹þ¤ó¤ÇÊÖ¤¹.
4297+ * </JA>
4298+ *
4299+ * @param string [in] option string
4300+ *
4301+ * @return the newly allocated global configuration instance.
4302+ *
4303+ * @callgraph
4304+ * @callergraph
4305+ * @ingroup jconf
4306+ */
4307+Jconf *
4308+j_config_load_string_new(char *string)
4309+{
4310+ Jconf *jconf;
4311+ jconf = j_jconf_new();
4312+ if (j_config_load_string(jconf, string) == -1) {
4313+ j_jconf_free(jconf);
4314+ return NULL;
4315+ }
4316+ return jconf;
4317+}
4318+
4319+/**
4320+ * <EN>
4321+ * Book to read an additional dictionary file to be read.
4322+ * when called multiple times, all the file name will be stored and read.
4323+ * The file will be read just after the normal dictionary at startup.
4324+ * </EN>
4325+ * <JA>
4326+ * Äɲü­½ñ¥Õ¥¡¥¤¥ë¤ÎÆɤ߹þ¤ß¤ò»ØÄꤹ¤ë.
4327+ * Ê£¿ô²ó¸Æ¤Ð¤ì¤¿¾ì¹ç¡¢¤¹¤Ù¤ÆÆɤ߹þ¤Þ¤ì¤ë¡£
4328+ * »ØÄꤵ¤ì¤¿¼­½ñ¤Ïµ¯Æ°»þ¤ËÄ̾ï¤Î¼­½ñ¤Î¤¢¤È¤Ë³¤±¤ÆÆɤ߹þ¤Þ¤ì¤ë.
4329+ * </JA>
4330+ *
4331+ * @param lm [i/o] a LM configuration
4332+ * @param dictfile [in] dictinoary file name
4333+ *
4334+ * @return the newly allocated global configuration instance.
4335+ *
4336+ * @callgraph
4337+ * @callergraph
4338+ * @ingroup jconf
4339+ */
4340+void
4341+j_add_dict(JCONF_LM *lm, char *dictfile)
4342+{
4343+ JCONF_LM_NAMELIST *nl;
4344+ nl = (JCONF_LM_NAMELIST *)mymalloc(sizeof(JCONF_LM_NAMELIST));
4345+ nl->name = (char *)mymalloc(strlen(dictfile) + 1);
4346+ strcpy(nl->name, dictfile);
4347+ nl->next = lm->additional_dict_files;
4348+ lm->additional_dict_files = nl;
4349+}
4350+
4351+/**
4352+ * <EN>
4353+ * Add an additional word entry.
4354+ * The string should contain a word entry in as the same format as dictionary.
4355+ * If called multiple times, all the specified words will be appended.
4356+ * </EN>
4357+ * <JA>
4358+ * ÄɲäÎñ¸ì¥¨¥ó¥È¥ê¤ò»ØÄꤹ¤ë.
4359+ * ÆâÍƤϼ­½ñ¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¥Õ¥©¡¼¥Þ¥Ã¥È.
4360+ * µ¯Æ°¤Þ¤Ç¤ËÊ£¿ô²ó¸Æ¤Ð¤ì¤¿¾ì¹ç¡¢¤½¤Î¤¹¤Ù¤Æ¤¬µ¯Æ°»þ¤ËÄɲ䵤ì¤ë.
4361+ * </JA>
4362+ *
4363+ * @param lm [i/o] a LM configuration
4364+ * @param wordentry [in] word entry string in dictionary format
4365+ *
4366+ * @callgraph
4367+ * @callergraph
4368+ * @ingroup jconf
4369+ */
4370+void
4371+j_add_word(JCONF_LM *lm, char *wordentry)
4372+{
4373+ JCONF_LM_NAMELIST *nl;
4374+ nl = (JCONF_LM_NAMELIST *)mymalloc(sizeof(JCONF_LM_NAMELIST));
4375+ nl->name = (char *)mymalloc(strlen(wordentry) + 1);
4376+ strcpy(nl->name, wordentry);
4377+ nl->next = lm->additional_dict_entries;
4378+ lm->additional_dict_entries = nl;
4379 }
4380
4381 /**
4382
4383=== modified file 'libjulius/src/m_adin.c'
4384--- libjulius/src/m_adin.c 2010-07-04 15:18:40 +0000
4385+++ libjulius/src/m_adin.c 2012-08-03 04:20:23 +0000
4386@@ -12,13 +12,13 @@
4387 * @author Akinobu LEE
4388 * @date Fri Mar 18 16:17:23 2005
4389 *
4390- * $Revision: 1.11 $
4391+ * $Revision: 1.14 $
4392 *
4393 */
4394 /*
4395- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
4396+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
4397 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
4398- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
4399+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
4400 * All rights reserved
4401 */
4402
4403@@ -107,6 +107,15 @@
4404 a->ad_input_name = adin_esd_input_name;
4405 break;
4406 #endif
4407+#ifdef HAS_PULSEAUDIO
4408+ case SP_INPUT_PULSEAUDIO:
4409+ a->ad_standby = adin_pulseaudio_standby;
4410+ a->ad_begin = adin_pulseaudio_begin;
4411+ a->ad_end = adin_pulseaudio_end;
4412+ a->ad_read = adin_pulseaudio_read;
4413+ a->ad_input_name = adin_pulseaudio_input_name;
4414+ break;
4415+#endif
4416 default:
4417 jlog("ERROR: m_adin: invalid input device specified\n");
4418 }
4419
4420=== modified file 'libjulius/src/m_chkparam.c'
4421--- libjulius/src/m_chkparam.c 2009-06-18 13:08:41 +0000
4422+++ libjulius/src/m_chkparam.c 2012-08-03 04:20:23 +0000
4423@@ -20,13 +20,13 @@
4424 * @author Akinobu LEE
4425 * @date Fri Mar 18 16:31:45 2005
4426 *
4427- * $Revision: 1.5 $
4428+ * $Revision: 1.7 $
4429 *
4430 */
4431 /*
4432- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
4433+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
4434 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
4435- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
4436+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
4437 * All rights reserved
4438 */
4439
4440
4441=== modified file 'libjulius/src/m_fusion.c'
4442--- libjulius/src/m_fusion.c 2010-07-04 15:18:40 +0000
4443+++ libjulius/src/m_fusion.c 2012-08-03 04:20:23 +0000
4444@@ -20,13 +20,13 @@
4445 * @author Akinobu Lee
4446 * @date Thu May 12 13:31:47 2005
4447 *
4448- * $Revision: 1.14 $
4449+ * $Revision: 1.22 $
4450 *
4451 */
4452 /*
4453- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
4454+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
4455 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
4456- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
4457+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
4458 * All rights reserved
4459 */
4460
4461@@ -122,12 +122,17 @@
4462 #ifdef PASS1_IWCD
4463 /* make state clusters of same context for inter-word triphone approx. */
4464 if (hmminfo->is_triphone) {
4465- jlog("STAT: making pseudo bi/mono-phone for IW-triphone\n");
4466- if (make_cdset(hmminfo) == FALSE) {
4467- jlog("ERROR: m_fusion: failed to make context-dependent state set\n");
4468- hmminfo_free(hmminfo);
4469- return NULL;
4470+ if (hmminfo->cdset_root == NULL) {
4471+ jlog("STAT: making pseudo bi/mono-phone for IW-triphone\n");
4472+ if (make_cdset(hmminfo) == FALSE) {
4473+ jlog("ERROR: m_fusion: failed to make context-dependent state set\n");
4474+ hmminfo_free(hmminfo);
4475+ return NULL;
4476+ }
4477+ } else {
4478+ jlog("STAT: pseudo phones are loaded from binary hmmlist file\n");
4479 }
4480+
4481 /* add those `pseudo' biphone and monophone to the logical HMM names */
4482 /* they points not to the defined HMM, but to the CD_Set structure */
4483 hmm_add_pseudo_phones(hmminfo);
4484@@ -285,6 +290,9 @@
4485 initialize_dict(JCONF_LM *lmconf, HTK_HMM_INFO *hmminfo)
4486 {
4487 WORD_INFO *winfo;
4488+ JCONF_LM_NAMELIST *nl;
4489+ char buf[MAXLINELEN];
4490+ int n;
4491
4492 /* allocate new word dictionary */
4493 winfo = word_info_new();
4494@@ -302,6 +310,50 @@
4495 return NULL;
4496 }
4497
4498+ /* load additional entries */
4499+ for (nl = lmconf->additional_dict_files; nl; nl=nl->next) {
4500+ FILE *fp;
4501+ if ((fp = fopen(nl->name, "rb")) == NULL) {
4502+ jlog("ERROR: m_fusion: failed to open %s\n",nl->name);
4503+ word_info_free(winfo);
4504+ return NULL;
4505+ }
4506+ n = winfo->num;
4507+ while (getl_fp(buf, MAXLINELEN, fp) != NULL) {
4508+ if (voca_load_line(buf, winfo, hmminfo) == FALSE) break;
4509+ }
4510+ if (voca_load_end(winfo) == FALSE) {
4511+ if (lmconf->forcedict_flag) {
4512+ jlog("Warning: m_fusion: the error words above are ignored\n");
4513+ } else {
4514+ jlog("ERROR: m_fusion: error in reading dictionary %s\n", nl->name);
4515+ fclose(fp);
4516+ word_info_free(winfo);
4517+ return NULL;
4518+ }
4519+ }
4520+ if (fclose(fp) == -1) {
4521+ jlog("ERROR: m_fusion: failed to close %s\n", nl->name);
4522+ word_info_free(winfo);
4523+ return NULL;
4524+ }
4525+ jlog("STAT: + additional dictionary: %s (%d words)\n", nl->name, winfo->num - n);
4526+ }
4527+ n = winfo->num;
4528+ for (nl = lmconf->additional_dict_entries; nl; nl=nl->next) {
4529+ if (voca_load_line(nl->name, winfo, hmminfo) == FALSE) {
4530+ jlog("ERROR: m_fusion: failed to set entry: %s\n", nl->name);
4531+ }
4532+ }
4533+ if (lmconf->additional_dict_entries) {
4534+ if (voca_load_end(winfo) == FALSE) {
4535+ jlog("ERROR: m_fusion: failed to read additinoal word entry\n");
4536+ word_info_free(winfo);
4537+ return NULL;
4538+ }
4539+ jlog("STAT: + additional entries: %d words\n", winfo->num - n);
4540+ }
4541+
4542 if (lmconf->lmtype == LM_PROB) {
4543 /* if necessary, append a IW-sp word to the dict if "-iwspword" specified */
4544 if (lmconf->enable_iwspword) {
4545@@ -409,7 +461,9 @@
4546 }
4547
4548 /* set unknown (=OOV) word id */
4549- set_unknown_id(ngram, lmconf->unknown_name);
4550+ if (strcmp(lmconf->unknown_name, UNK_WORD_DEFAULT)) {
4551+ set_unknown_id(ngram, lmconf->unknown_name);
4552+ }
4553
4554 /* map dict item to N-gram entry */
4555 if (make_voca_ref(ngram, winfo) == FALSE) {
4556@@ -976,7 +1030,9 @@
4557 }
4558 p->am->hmminfo->iwsp_penalty = p->am->config->iwsp_penalty;
4559 } else {
4560- jlog("Warning: \"-iwsp\" is supported on multi-path mode, ignored\n");
4561+ jlog("ERROR: \"-iwsp\" needs multi-path mode\n");
4562+ jlog("ERROR: you should use multi-path AM, or specify \"-multipath\" with \"-iwsp\"\n");
4563+ return FALSE;
4564 }
4565 }
4566
4567
4568=== modified file 'libjulius/src/m_info.c'
4569--- libjulius/src/m_info.c 2009-06-18 13:08:41 +0000
4570+++ libjulius/src/m_info.c 2012-08-03 04:20:23 +0000
4571@@ -12,13 +12,13 @@
4572 * @author Akinobu Lee
4573 * @date Thu May 12 14:14:01 2005
4574 *
4575- * $Revision: 1.9 $
4576+ * $Revision: 1.15 $
4577 *
4578 */
4579 /*
4580- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
4581+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
4582 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
4583- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
4584+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
4585 * All rights reserved
4586 */
4587
4588@@ -434,6 +434,24 @@
4589 if (lm->config->enable_iwspword) {
4590 jlog("\tIW-sp word added to dict= \"%s\"\n", lm->config->iwspentry);
4591 }
4592+ if (lm->config->additional_dict_files) {
4593+ JCONF_LM_NAMELIST *nl;
4594+ jlog("\tadditional dictionaries:\n");
4595+ for(nl=lm->config->additional_dict_files;nl;nl=nl->next) {
4596+ jlog("\t\t\t%s\n", nl->name);
4597+ }
4598+ jlog("\n");
4599+ }
4600+ if (lm->config->additional_dict_entries) {
4601+ JCONF_LM_NAMELIST *nl;
4602+ int n = 0;
4603+ jlog("\tadditional dict entries:\n");
4604+ for(nl=lm->config->additional_dict_entries;nl;nl=nl->next) {
4605+ jlog("\t\t\t%s\n", nl->name);
4606+ n++;
4607+ }
4608+ jlog("--- total %d entries\n", n);
4609+ }
4610 }
4611
4612 if (lm->lmtype == LM_PROB) {
4613@@ -557,6 +575,13 @@
4614 } else {
4615 jlog("\n");
4616 }
4617+#ifdef SCORE_PRUNING
4618+ if (r->config->pass1.score_pruning_width < 0.0) {
4619+ jlog("\t(-bs)score pruning thres= disabled\n");
4620+ } else {
4621+ jlog("\t(-bs)score pruning thres= %f\n", r->config->pass1.score_pruning_width);
4622+ }
4623+#endif
4624 jlog("\t(-n)search candidate num= %d\n", r->config->pass2.nbest);
4625 jlog("\t(-s) search stack size = %d\n", r->config->pass2.stack_size);
4626 jlog("\t(-m) search overflow = after %d hypothesis poped\n", r->config->pass2.hypo_overflow);
4627@@ -811,6 +836,7 @@
4628 case SP_INPUT_ALSA: jlog("alsa\n"); break;
4629 case SP_INPUT_OSS: jlog("oss\n"); break;
4630 case SP_INPUT_ESD: jlog("esd\n"); break;
4631+ case SP_INPUT_PULSEAUDIO: jlog("pulseaudio\n"); break;
4632 }
4633 }
4634 if (jconf->input.type == INPUT_WAVEFORM) {
4635@@ -852,6 +878,7 @@
4636 jlog("\t zerocross thres = %d / sec.\n", jconf->detect.zero_cross_num);
4637 jlog("\t head margin = %d msec.\n", jconf->detect.head_margin_msec);
4638 jlog("\t tail margin = %d msec.\n", jconf->detect.tail_margin_msec);
4639+ jlog("\t chunk size = %d samples\n", jconf->detect.chunk_size);
4640 } else {
4641 jlog("\t silence cutting = off\n");
4642 }
4643
4644=== modified file 'libjulius/src/m_jconf.c'
4645--- libjulius/src/m_jconf.c 2010-07-04 15:18:40 +0000
4646+++ libjulius/src/m_jconf.c 2012-08-03 04:20:23 +0000
4647@@ -37,13 +37,13 @@
4648 * @author Akinobu Lee
4649 * @date Thu May 12 14:16:18 2005
4650 *
4651- * $Revision: 1.6 $
4652+ * $Revision: 1.10 $
4653 *
4654 */
4655 /*
4656- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
4657+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
4658 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
4659- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
4660+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
4661 * All rights reserved
4662 */
4663
4664@@ -54,6 +54,7 @@
4665 #endif
4666
4667 #define ISTOKEN(A) (A == ' ' || A == '\t' || A == '\n') ///< Determine token characters
4668+#define BUFLEN 512
4669
4670 /**
4671 * <JA>
4672@@ -359,13 +360,147 @@
4673 /* read-in and parse jconf file and process those using m_options */
4674 /**
4675 * <JA>
4676- * jconf ÀßÄê¥Õ¥¡¥¤¥ë¤òÆɤ߹þ¤ó¤Ç²òÀϤ·¡¤Âбþ¤¹¤ë¥ª¥×¥·¥ç¥ó¤òÀßÄꤹ¤ë.
4677+ * @brief ¥ª¥×¥·¥ç¥óʸ»úÎó¤òʬ²ò¤·¤ÆÄɲóÊǼ¤¹¤ë.
4678+ *
4679+ * @param buf [in] ʸ»úÎó
4680+ * @param argv [i/o] ¥ª¥×¥·¥ç¥óÎó¤Ø¤Î¥Ý¥¤¥ó¥¿
4681+ * @param argc [i/o] ¥ª¥×¥·¥ç¥óÎó¤Î¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿
4682+ * @param maxnum [i/o] ¥ª¥×¥·¥ç¥óÎó¤Î³äÉÕºÇÂç¿ô
4683+ * </JA>
4684+ * <EN>
4685+ * @brief Divide option string into option arguments and append to array.
4686+ *
4687+ * @param buf [in] option string
4688+ * @param argv [i/o] pointer to option array
4689+ * @param argc [i/o] pointer to the length of option array
4690+ * @param maxnum [i/o] pointer to the allocated length of option array
4691+ * </EN>
4692+ */
4693+static void
4694+add_to_arglist(char *buf, char ***argv_ret, int *argc_ret, int *maxnum_ret)
4695+{
4696+ char *p = buf;
4697+ char cpy[BUFLEN];
4698+ char *dst, *dst_from;
4699+ char **argv = *argv_ret;
4700+ int argc = *argc_ret;
4701+ int maxnum = *maxnum_ret;
4702+
4703+ dst = cpy;
4704+ while (1) {
4705+ while (*p != '\0' && ISTOKEN(*p)) p++;
4706+ if (*p == '\0') break;
4707+
4708+ dst_from = dst;
4709+
4710+ while (*p != '\0' && (!ISTOKEN(*p))) {
4711+#if !defined(_WIN32)
4712+ if (*p == '\\') { /* escape by '\' */
4713+ if (*(++p) == '\0') break;
4714+ *(dst++) = *(p++);
4715+ } else {
4716+#endif
4717+ if (*p == '"') { /* quote by "" */
4718+ p++;
4719+ while (*p != '\0' && *p != '"') *(dst++) = *(p++);
4720+ if (*p == '\0') break;
4721+ p++;
4722+ } else if (*p == '\'') { /* quote by '' */
4723+ p++;
4724+ while (*p != '\0' && *p != '\'') *(dst++) = *(p++);
4725+ if (*p == '\0') break;
4726+ p++;
4727+ } else if (*p == '#') { /* comment out by '#' */
4728+ *p = '\0';
4729+ break;
4730+ } else { /* other */
4731+ *(dst++) = *(p++);
4732+ }
4733+#if !defined(_WIN32)
4734+ }
4735+#endif
4736+ }
4737+ if (dst != dst_from) {
4738+ *dst = '\0'; dst++;
4739+ if ( argc >= maxnum) {
4740+ maxnum += 20;
4741+ argv = (char **)myrealloc(argv, sizeof(char *) * maxnum);
4742+ }
4743+ argv[argc++] = strcpy((char*)mymalloc(strlen(dst_from)+1), dst_from);
4744+ }
4745+ }
4746+ *argv_ret = argv;
4747+ *argc_ret = argc;
4748+ *maxnum_ret = maxnum;
4749+}
4750+
4751+/**
4752+ * <JA>
4753+ * ¥ª¥×¥·¥ç¥ó»ØÄê¤ò´Þ¤àʸ»úÎó¤ò²òÀϤ·¤ÆÃͤò¥»¥Ã¥È¤¹¤ë.
4754+ * ÁêÂХѥ¹Ì¾¤Ï¥«¥ì¥ó¥È¤«¤é¤ÎÁêÂФȤ·¤Æ°·¤ï¤ì¤ë.
4755+ *
4756+ * @param str [in] ¥ª¥×¥·¥ç¥ó»ØÄê¤ò´Þ¤àʸ»úÎó
4757+ * @param jconf [out] Ãͤò¥»¥Ã¥È¤¹¤ë jconf ÀßÄê¥Ç¡¼¥¿
4758+ * </JA>
4759+ * <EN>
4760+ * Parse a string and set the specified option values.
4761+ * Relative paths will be treated as relative to current directory.
4762+ *
4763+ * @param str [in] string which contains options
4764+ * @param jconf [out] global configuration data to be written.
4765+ * </EN>
4766+ *
4767+ * @callgraph
4768+ * @callergraph
4769+ */
4770+boolean
4771+config_string_parse(char *str, Jconf *jconf)
4772+{
4773+ int c_argc;
4774+ char **c_argv;
4775+ int maxnum;
4776+ char buf[BUFLEN];
4777+ char *cdir;
4778+ int i;
4779+ boolean ret;
4780+
4781+ jlog("STAT: parsing option string: \"%s\"\n", str);
4782+
4783+ /* set the content of jconf file into argument list c_argv[1..c_argc-1] */
4784+ maxnum = 20;
4785+ c_argv = (char **)mymalloc(sizeof(char *) * maxnum);
4786+ c_argv[0] = strcpy((char *)mymalloc(7), "string");
4787+ c_argc = 1;
4788+ add_to_arglist(str, &c_argv, &c_argc, &maxnum);
4789+ /* env expansion */
4790+ for (i=1;i<c_argc;i++) {
4791+ c_argv[i] = expand_env(c_argv[i]);
4792+ }
4793+ /* now that options are in c_argv[][], call opt_parse() to process them */
4794+ /* relative paths in string are relative to current */
4795+ ret = opt_parse(c_argc, c_argv, NULL, jconf);
4796+
4797+ /* free arguments */
4798+ while (c_argc-- > 0) {
4799+ free(c_argv[c_argc]);
4800+ }
4801+ free(c_argv);
4802+
4803+ return(ret);
4804+}
4805+
4806+/**
4807+ * <JA>
4808+ * jconf ÀßÄê¥Õ¥¡¥¤¥ë¤òÆɤ߹þ¤ó¤Ç²òÀϤ·¡¤Âбþ¤¹¤ë¥ª¥×¥·¥ç¥ó¤òÀßÄꤹ¤ë.
4809+ * ¥ª¥×¥·¥ç¥óÆâ¤ÎÁêÂХѥ¹¤Ï¡¢¤½¤Î jconf ÀßÄê¥Õ¥¡¥¤¥ë¤«¤é¤ÎÁêÂФȤʤë.
4810 *
4811 * @param conffile [in] jconf ¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹Ì¾
4812 * @param jconf [out] Ãͤò¥»¥Ã¥È¤¹¤ë jconf ÀßÄê¥Ç¡¼¥¿
4813 * </JA>
4814 * <EN>
4815 * Read and parse a jconf file, and set the specified option values.
4816+ * Relative paths in the file will be treated as relative to the file,
4817+ * not the application current.
4818 *
4819 * @param conffile [in] jconf file path name
4820 * @param jconf [out] global configuration data to be written.
4821@@ -380,10 +515,8 @@
4822 int c_argc;
4823 char **c_argv;
4824 FILE *fp;
4825- int maxnum, step;
4826-#define BUFLEN 512
4827- char buf[BUFLEN], cpy[BUFLEN];
4828- char *p, *dst, *dst_from;
4829+ int maxnum;
4830+ char buf[BUFLEN];
4831 char *cdir;
4832 int i;
4833 boolean ret;
4834@@ -397,52 +530,13 @@
4835 jlog("ERROR: m_jconf: failed to open jconf file: %s\n", conffile);
4836 return FALSE;
4837 }
4838- step = 20;
4839- maxnum = step;
4840+ maxnum = 20;
4841 c_argv = (char **)mymalloc(sizeof(char *) * maxnum);
4842 c_argv[0] = strcpy((char *)mymalloc(strlen(conffile)+1), conffile);
4843 c_argc = 1;
4844 while (fgets_jconf(buf, BUFLEN, fp) != NULL) {
4845 if (buf[0] == '\0') continue;
4846- p = buf; dst = cpy;
4847- while (1) {
4848- while (*p != '\0' && ISTOKEN(*p)) p++;
4849- if (*p == '\0') break;
4850-
4851- dst_from = dst;
4852-
4853- while (*p != '\0' && (!ISTOKEN(*p))) {
4854- if (*p == '\\') { /* escape by '\' */
4855- if (*(++p) == '\0') break;
4856- *(dst++) = *(p++);
4857- } else {
4858- if (*p == '"') { /* quote by "" */
4859- p++;
4860- while (*p != '\0' && *p != '"') *(dst++) = *(p++);
4861- if (*p == '\0') break;
4862- p++;
4863- } else if (*p == '\'') { /* quote by '' */
4864- p++;
4865- while (*p != '\0' && *p != '\'') *(dst++) = *(p++);
4866- if (*p == '\0') break;
4867- p++;
4868- } else if (*p == '#') { /* comment out by '#' */
4869- *p = '\0';
4870- break;
4871- } else { /* other */
4872- *(dst++) = *(p++);
4873- }
4874- }
4875- }
4876- if (dst != dst_from) {
4877- *dst = '\0'; dst++;
4878- if (c_argc >= maxnum) {
4879- maxnum += step;
4880- c_argv = (char **)myrealloc(c_argv, sizeof(char *) * maxnum);
4881- }
4882- c_argv[c_argc++] = strcpy((char*)mymalloc(strlen(dst_from)+1), dst_from);
4883- }
4884- }
4885+ add_to_arglist(buf, &c_argv, &c_argc, &maxnum);
4886 }
4887 if (fclose(fp) == -1) {
4888 jlog("ERROR: m_jconf: cannot close jconf file\n");
4889
4890=== modified file 'libjulius/src/m_options.c'
4891--- libjulius/src/m_options.c 2010-07-04 15:18:40 +0000
4892+++ libjulius/src/m_options.c 2012-08-03 04:20:23 +0000
4893@@ -18,13 +18,13 @@
4894 * @author Akinobu Lee
4895 * @date Thu May 12 18:52:07 2005
4896 *
4897- * $Revision: 1.19 $
4898+ * $Revision: 1.26 $
4899 *
4900 */
4901 /*
4902- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
4903+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
4904 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
4905- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
4906+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
4907 * All rights reserved
4908 */
4909
4910@@ -374,7 +374,17 @@
4911 jconf->input.device = SP_INPUT_ESD;
4912 jconf->decodeopt.realtime_flag = TRUE;
4913 #else
4914- jlog("ERROR: m_options: \"-input oss\": OSS support is not built-in\n");
4915+ jlog("ERROR: m_options: \"-input esd\": ESounD support is not built-in\n");
4916+ return FALSE;
4917+#endif
4918+ } else if (strmatch(tmparg,"pulseaudio")) {
4919+#ifdef HAS_PULSEAUDIO
4920+ jconf->input.type = INPUT_WAVEFORM;
4921+ jconf->input.speech_input = SP_MIC;
4922+ jconf->input.device = SP_INPUT_PULSEAUDIO;
4923+ jconf->decodeopt.realtime_flag = TRUE;
4924+#else
4925+ jlog("ERROR: m_options: \"-input pulseaudio\": PulseAudio support is not built-in\n");
4926 return FALSE;
4927 #endif
4928 #endif
4929@@ -559,6 +569,13 @@
4930 jlog("WARNING: m_options: SCAN_BEAM disabled, \"-sb\" ignored\n");
4931 #endif
4932 continue;
4933+#ifdef SCORE_PRUNING
4934+ } else if (strmatch(argv[i],"-bs")) { /* score beam width for 1st pass */
4935+ if (!check_section(jconf, argv[i], JCONF_OPT_SR)) return FALSE;
4936+ GET_TMPARG;
4937+ jconf->searchnow->pass1.score_pruning_width = atof(tmparg);
4938+ continue;
4939+#endif
4940 } else if (strmatch(argv[i],"-discount")) { /* (bogus) */
4941 jlog("WARNING: m_options: option \"-discount\" is now bogus, ignored\n");
4942 continue;
4943@@ -598,6 +615,11 @@
4944 GET_TMPARG;
4945 jconf->detect.tail_margin_msec = atoi(tmparg);
4946 continue;
4947+ } else if (strmatch(argv[i],"-chunksize")) { /* chunk size for detection */
4948+ if (!check_section(jconf, argv[i], JCONF_OPT_GLOBAL)) return FALSE;
4949+ GET_TMPARG;
4950+ jconf->detect.chunk_size = atoi(tmparg);
4951+ continue;
4952 } else if (strmatch(argv[i],"-hipass")||strmatch(argv[i],"-hifreq")) { /* frequency of upper band limit */
4953 if (!check_section(jconf, argv[i], JCONF_OPT_AM)) return FALSE;
4954 GET_TMPARG;
4955@@ -1270,6 +1292,18 @@
4956 plugin_load_dirs(tmparg);
4957 continue;
4958 #endif
4959+ } else if (strmatch(argv[i],"-adddict")) {
4960+ if (!check_section(jconf, argv[i], JCONF_OPT_LM)) return FALSE;
4961+ GET_TMPARG;
4962+ tmparg = filepath(tmparg, cwd);
4963+ j_add_dict(jconf->lmnow, tmparg);
4964+ free(tmparg);
4965+ continue;
4966+ } else if (strmatch(argv[i],"-addentry")) {
4967+ if (!check_section(jconf, argv[i], JCONF_OPT_LM)) return FALSE;
4968+ GET_TMPARG;
4969+ j_add_word(jconf->lmnow, tmparg);
4970+ continue;
4971 }
4972 if (argv[i][0] == '-' && strlen(argv[i]) == 2) {
4973 /* 1-letter options */
4974
4975=== modified file 'libjulius/src/m_usage.c'
4976--- libjulius/src/m_usage.c 2009-06-18 13:08:41 +0000
4977+++ libjulius/src/m_usage.c 2012-08-03 04:20:23 +0000
4978@@ -12,13 +12,13 @@
4979 * @author Akinobu Lee
4980 * @date Fri May 13 15:04:34 2005
4981 *
4982- * $Revision: 1.12 $
4983+ * $Revision: 1.17 $
4984 *
4985 */
4986 /*
4987- * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
4988+ * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University
4989 * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
4990- * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
4991+ * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology
4992 * All rights reserved
4993 */
4994
4995@@ -77,6 +77,9 @@
4996 # ifdef HAS_ESD
4997 fprintf(fp, " esd use ESounD interface\n");
4998 # endif
4999+# ifdef HAS_PULSEAUDIO
5000+ fprintf(fp, " pulseaudio use PulseAudio interface\n");
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches

to all changes: