📄 changes
字号:
- bug: the raw samples dir is .ears/raw not .earsraw- included dummy nc_* functions in lib_getch.c for older ncurses versions (AL)- bug: couldn't ESC out of recording_window when no speech- recording_window was not unwindable- keyboard input in recording_window wasn't raw- nodelay() didn't always work. timeout() seems to.- encapsulated calls to usleep() in Time(int) constructor. Beware!----------------------------------------------------------------------------05-Apr-1996: Version 0.21- we no longer need to link with libg++.a by using libstdc++ 'string' and emulating some other funcs from libg++.a . Removed string_less.{cc,h}, new files: mystring.{cc.h}, mygetopt.h, myrandom.h- bugfix: we didn't always create a dir for raw samples- bug: templates.cc had a debug #include- cursor is now always hidden, except in NCinputbox- introduced canonic singletons: classes recording_window----------------------------------------------------------------------------06-Mar-1996: Version 0.20- included sources for libmrasta, we build from there with mymath.h included inline-math-1.9, so we don't need to link libm anymore (i386)- included patches to compile on systems with AF_tools (Niels Thorwirth) Not tested! New files: README.af, config.sh, doc/INDEX.ger- ported the dialog package to ncurses/c++, wrote some help screens new files: curses{w,p,d}.{cc,h}, {,t,l}screen.{cc,h} new option -c to turn off curses user interface- implemented key control for recording/listening (^C,PAUSE,STOP) to get real key control and shut down gracefully, we emulate exceptions new files: rec_win.{cc,h}, unwind.{cc,h}, exception.{cc,h}. The classes sound,screen,NCursesDialog are unwindable.- made speechstream::e_limit_ adaptive. We now simply wait 200 ms then record some samples to have noise level to compare against.- fixed the bug that no dtors are called when hitting Control-C in 'listen' by installing a SIGINT handler and throwing an exception- libstdc++ bug workaround: reimplemented class words as list<Word*>- some patches to work around a gcc-2.7.2 bug- ncurses' notimeout() doesn't work as described in the man page, so we use a patched lib_getch.c from ncurses to get immediate response to ESC- we check for the words file now also in the current dir- config.cc: after chdir/mkdir, go back to the current directory- word_pattern::copyctor now also copies empty patterns- templates are now handled with -fno-implicit-templates. This reduces object file size heavily, esp. with -g. New source file: templates.cc Removed <algo.h> and <function.h> from files. Further reductions.- isolated classes sample, sndblock, speechstream new source files: sample.{cc,h} sndblock.{cc,h}, speechstream.{cc,h}- placed #ifdefs into r_* files to be able to compile stripped down versions- changed default sound_bits to 16- forgot to include contrib/ in binary distribution- updated INDEX.ger, wrote INDEX.eng- README: included pointer to new mailing list----------------------------------------------------------------------------21-Aug-1995: Version 0.15- speedup in NDTW::do_dtw() by comparing with the best value so far therefore, even less local distances need to be computed no comparison at all whenever unknown>2*reference and vice versa- implemented FEATURE=MRASTA, not only is this default now, but we also don't use any other feature extractors from the OGI library, exchanged libnspeech.a with libmrasta.a in source distribution Rasta model is now always 7 (no need for it being a parameter)- made a contrib directory with the act program (chaney@dans.com) and a perl script for launching programs (runge@redhook.llnl.gov) - included inline-math-1.3 for i386s as new file mymath.h- yet another bugfix in cfg_file.h- we now catch errors when DTW pattern files are bogus- some changes to isndstream::ctor() to make it usable with plain files- listen: wrote usage text, implemented -n and -t options- alphabet.words was missing 'delta d' and noone noticed... 8-)- README: included pointer to mailinglist, to contrib/- README: included pointer to GPL============ Many design changes:- we use revision control (RCS)- ears now doesn't compile with gcc older than 2.7.0, because we - implemented all containers via the Standard Template Library (STL) - adhere to the new for-scope standard (ANSI C++)- we now use the new bool type (ANSI C++, gcc 2.6.x)- no more global instances of config, messages, the_words renamed class 'the_words' to 'words'- implemented WordSLList as SLList<Word>, intSLList as SLList<int>- implemented exception handling, BUT #defined it out again due to bugs in gcc-2.7.0. You can get real exception code with -DEXCEPTIONS.- eliminated need to have a friend class <recog> inside patterns also, using word_pattern::base() wasn't really correct- word_pattern::ctor now uses recognizer::pat_type()- design bug: config should have-a, not be-a-kind-of-a map- wrote some other copy ctors- tribute to const correctness in most class interfaces- split recording class, new source files: rec_aw.{cc,h}- isolated class feature, new source files: feature.{cc,h}- split recognizer.cc/h and isolated riff_wave.h new source files: r_dtw.{cc,h}, r_bp.{cc,h}, r_elman.{cc,h}- began coding of a C++ Rasta feature extractor, not ready yet new source files: dsp_fvec.{cc,h}, dsp_fft.cc, fmat.h, fvec.h---------------------------------------------------------------------16-Apr-95: Version 0.14- implemented RECOGNIZER = NDTW: improved implementation/heuristics over DTW (speedup factor nearly 2). This is the default now.- renamed .C to .cc and made filenames consistent- changed net filenames to <basename>.<recognizer> so one can have multiple different rec's with the same name for comparison.- what do we do if the net file does not match the recognizer? we now save the recognizer type with the .net file and check for it.- ditched all times() calls in favor of gettimeofday(), wrote timer.h- DTW::eval(): included code for timing the recognition- started coding of an ELMAN recognizer. Doesn't train yet, sorry.- fixed nframe<trace feature by introducing pattern::bad()- allowed graceful exit by introducing recognizer::bad()- added copy ctor to class Word. Ho hum.- some changes to make the code compile with gcc-2.6.3- somehow README and COPYING weren't distributed...- somewhat expanded doc/implementation.txt- made first binary distribution (Linux)--------------------------------------------------------------------08-Jan-95: Version 0.13- implemented RECOGNIZER = BP (vanilla backpropagation)- implemented RECOGNIZER = BPMT (backprop with momentum term)- implemented util/showpat, a quick'n'dirty svga viewer for pattern files- don't ask if no recognizer::training_needed()- patterns are now put in <EARS_PATH>/<FEATURE>-{V,F,B} (implemented recognizer::pat_type() and config::pattern_path for this)- implemented -d flag, mainly for recognition to output more info- listen didn't complain when no .net file exists- fixed bug with filling the pattern table in training.C- random number generators now use times() for seeding- changed misleading message M_Default_Words- wrote comments in sound, pattern, recognizer, listen.--------------------------------------------------------------------18-Dec-94: Version 0.12- implemented and tested new feature extractors: LPC, PLP, MEL. these seem inferior to RASTA, so that stays the default. LPC code in the OGI library seems to be buggy, too.- tried to set a minimum distance for DTW so that noise results in '?' (implemented a recognizer::eval() return value of -1)- yikes! alphabet.words was not included in 0.11. Changed Makefile.- changed Makefile, so old versions of tar are supported- improved doc/implementation.txt--------------------------------------------------------------------13-Dec-94: Version 0.11 released
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -