本节主要涉及kaldi的代码组织,依赖的结构,以及修改代码,调试代码。
通用基础类库
src目录下的base和util是kaldi里面最基础的两个目录,几乎每一个kaldi的程序都依赖于这两个目录,查看base/kaldi-common.h, kaldi-common.h这个头文件中包含了base这个目录下的除了io-funcs-inl.h下的其他所有的头文件以及系统库,其中io-funcs-inl.h则被io-funcs.h包含,而io-funcs.h这包含在kaldi-common.h,可以说kaldi-common.h中包含了所有的头文件。我们可以通过头文件名知道对应的功能,比如日志记录,类型定义,数学库等。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
#ifndef KALDI_BASE_KALDI_COMMON_H_ #define KALDI_BASE_KALDI_COMMON_H_ 1
#include <cstddef> #include <cstdlib> #include <cstring> // C string stuff like strcpy #include <string> #include <sstream> #include <stdexcept> #include <cassert> #include <vector> #include <iostream> #include <fstream>
#include "base/kaldi-utils.h" #include "base/kaldi-error.h" #include "base/kaldi-types.h" #include "base/io-funcs.h" #include "base/kaldi-math.h" #include "base/timer.h"
#endif
|