⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 isip_make_db.cc

📁 这是一个从音频信号里提取特征参量的程序
💻 CC
字号:
// file: $isip/util/speech/isip_make_db/isip_make_db.cc// version: $Id: isip_make_db.cc,v 1.5 2003/04/10 03:03:19 parihar Exp $//// isip include files//#include "isip_make_db.h"// isip_database_creator: utility that creates the// audio/transcription/both database//int main(int argc, const char** argv) {  // setup the command line  //  CommandLine cmdl;    cmdl.setUsage(#include "usage_message.text"                );  cmdl.setHelp(#include "help_message.text"               );  cmdl.setIdent("$Revision: 1.5 $",		"$Name: isip_r00_n11 $",		"$Date: 2003/04/10 03:03:19 $");    // add a command line option for the database type  //  String database_type;  cmdl.addOptionParam(database_type, OPTION_DATABASE_TYPE,		      DATABASE_TYPE_AUDIO);        // add a command line option for the audio list file  //  Filename audio_list;  cmdl.addOptionParam(audio_list, OPTION_AUDIO_LIST, (Filename)EMPTY);  // add a command line option for the transcription file  //  Filename transcription_list;  cmdl.addOptionParam(transcription_list, OPTION_TRANSCRIPTION_LIST, (Filename)EMPTY);      // add a command line option for the transcription level  //  String transcription_level;  cmdl.addOptionParam(transcription_level, OPTION_TRANSCRIPTION_LEVEL, EMPTY);  // add a command line option for the database name  //  String database_name;  cmdl.addOptionParam(database_name, OPTION_DATABASE_NAME, EMPTY);        // add a command line option for format of output database file  //  String database_format;  cmdl.addOptionParam(database_format, OPTION_DATABASE_FORMAT,		      DATABASE_FORMAT_TEXT);    // add a command line option for the debug level  //  DebugLevel debug_level;  cmdl.addOptionParam(debug_level, OPTION_DEBUG_LEVEL,		      DEBUG_LEVEL_DEFAULT);  // add a command line option for the log file  //  Filename log_file;  cmdl.addOptionParam(log_file, OPTION_LOG_FILE, (Filename)LOG_FILE_DEFAULT);  // parse the command line  //  if (!cmdl.parse(argc, argv)) {    cmdl.printUsage();  };  // open the log file  //  if (log_file.ne(L"-")) {    Console::open(log_file);    Console::setLineWrap(File::NO_WRAP);  }  // verify that the user has specified the format of the database  //  if (!((database_format.eq(DATABASE_FORMAT_TEXT))	||(database_format.eq(DATABASE_FORMAT_BINARY)))) {    cmdl.printUsage();  };    // set the file format  //  File::TYPE file_format = File::TEXT;  if (database_format.eq(DATABASE_FORMAT_BINARY)) {    file_format = File::BINARY;  }  // verify that the user has specified the name of the database  //  if (database_name.eq(EMPTY)) {    cmdl.printUsage();  };    // get number of unused arguments (this might include either  // audio_list.text or trans.text or both  //  long num_arg = (long)cmdl.numArguments();    // verify that the user has specified a database type  //  if (!database_type.eq(EMPTY)) {    database_type.toLower();        // database type: audio    //    if (database_type.eq(DATABASE_TYPE_AUDIO)) {      // verify that the audio list file has been specified      //      if(audio_list.eq((Filename)EMPTY)) {	cmdl.printUsage();      };      // declare the audio database object      //      AudioDatabase audio_database;      // set the debug level      //      audio_database.setDebug(debug_level);      // set the name of the audio database      //      audio_database.setDataBaseName(database_name);	      // set the debug level      //      audio_database.setDebug(debug_level);            // generate the audio database      //      Vector<Filename> tmp_vec;      audio_database.load(audio_list, tmp_vec);      // verify that the output audio database file has been specified as the      // argument without an option      //            String audio_arg;      cmdl.getArgument(audio_arg, 0);      Filename output_audio_file(audio_arg);            if((audio_arg.eq(EMPTY)) ||( num_arg != 1)) {	cmdl.printUsage();      };            // write the audio database to a file      //      Sof tmp_sof;      tmp_sof.open(output_audio_file, File::WRITE_ONLY, file_format);      audio_database.store(tmp_sof, (long)0, tmp_vec);      tmp_sof.close();    }        // database type: transcription    //    else if (database_type.eq(DATABASE_TYPE_TRANSCRIPTION)) {      // verify that the user has specified the level of the transcription      //      if (transcription_level.eq(EMPTY)) {	cmdl.printUsage();      };            // verify that the transcription file has been specified      //            if(transcription_list.eq((Filename)EMPTY)) {	cmdl.printUsage();      };            // declare the transcription database object      //      TranscriptionDatabase trans_database;      // set the name of the transcription database      //      trans_database.setDataBaseName(database_name);      // set the debug level      //      trans_database.setDebug(debug_level);      // verify that the output audio database file has been specified as the      // argument without an option      //            String trans_arg;      cmdl.getArgument(trans_arg, 0);      Filename output_trans_file(trans_arg);            if((trans_arg.eq(EMPTY)) ||( num_arg != 1)) {	cmdl.printUsage();      };      // read the transcriptions and write the transcription database      // to a file      //      Sof tmp_sof;      tmp_sof.open(output_trans_file, File::WRITE_ONLY, file_format);      trans_database.store(transcription_list, database_name,			   transcription_level, tmp_sof, (long)0);      tmp_sof.close();    }    // database type: both    //    else if (database_type.eq(DATABASE_TYPE_BOTH)) {      // verify that the user has specified the level of the transcription      //      if (transcription_level.eq(EMPTY)) {	cmdl.printUsage();      };            // verify that the audio list file and the transcription list      // file has been specified      //      if((audio_list.eq((Filename)EMPTY)) ||	 (transcription_list.eq((Filename)EMPTY))) {	cmdl.printUsage();      };      // declare the audio and transcription database objects      //      AudioDatabase audio_database;      TranscriptionDatabase trans_database;            // set the debug level      //      audio_database.setDebug(debug_level);      trans_database.setDebug(debug_level);      // set the name of the audio databases      //      audio_database.setDataBaseName(database_name);      trans_database.setDataBaseName(database_name);	            // generate the audio and transcription databases      //      Vector<Filename> tmp_vec;      audio_database.load(audio_list, tmp_vec);      // verify that the output audio database file and the output      // transcription dabase file has been specified as the argument      // without an option      //            String audio_arg;      String trans_arg;      cmdl.getArgument(audio_arg, 0);      cmdl.getArgument(trans_arg, 1);      Filename output_audio_file(audio_arg);      Filename output_trans_file(trans_arg);      if((audio_arg.eq(EMPTY)) || (trans_arg.eq(EMPTY)) || ( num_arg != 2)) {	cmdl.printUsage();      }      // write the audio database to a file      //      Sof tmp_sof;      tmp_sof.open(output_audio_file, File::WRITE_ONLY, file_format);      audio_database.store(tmp_sof, (long)0, tmp_vec);      tmp_sof.close();            // read the transcriptions and write the transcription database      // to a file      //      tmp_sof.open(output_trans_file, File::WRITE_ONLY, file_format);      trans_database.store(transcription_list, database_name,			   transcription_level, tmp_sof, (long)0);      tmp_sof.close();    }        // database type: unknown    //        else {      cmdl.printUsage();    }  }  else {    cmdl.printUsage();  }    // exit gracefully  //  return Integral::exit();}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -