本文整理汇总了C++中cmd_ln_str_r函数的典型用法代码示例。如果您正苦于以下问题:C++ cmd_ln_str_r函数的具体用法?C++ cmd_ln_str_r怎么用?C++ cmd_ln_str_r使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了cmd_ln_str_r函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: ps_load_dict
int
ps_load_dict(ps_decoder_t *ps, char const *dictfile,
char const *fdictfile, char const *format)
{
dict2pid_t *d2p;
dict_t *dict;
hash_iter_t *search_it;
cmd_ln_t *newconfig;
/* Create a new scratch config to load this dict (so existing one
* won't be affected if it fails) */
newconfig = cmd_ln_init(NULL, ps_args(), TRUE, NULL);
cmd_ln_set_boolean_r(newconfig, "-dictcase",
cmd_ln_boolean_r(ps->config, "-dictcase"));
cmd_ln_set_str_r(newconfig, "-dict", dictfile);
if (fdictfile)
cmd_ln_set_str_extra_r(newconfig, "_fdict", fdictfile);
else
cmd_ln_set_str_extra_r(newconfig, "_fdict",
cmd_ln_str_r(ps->config, "_fdict"));
/* Try to load it. */
if ((dict = dict_init(newconfig, ps->acmod->mdef)) == NULL) {
cmd_ln_free_r(newconfig);
return -1;
}
/* Reinit the dict2pid. */
if ((d2p = dict2pid_build(ps->acmod->mdef, dict)) == NULL) {
cmd_ln_free_r(newconfig);
return -1;
}
/* Success! Update the existing config to reflect new dicts and
* drop everything into place. */
cmd_ln_free_r(newconfig);
dict_free(ps->dict);
ps->dict = dict;
dict2pid_free(ps->d2p);
ps->d2p = d2p;
/* And tell all searches to reconfigure themselves. */
for (search_it = hash_table_iter(ps->searches); search_it;
search_it = hash_table_iter_next(search_it)) {
if (ps_search_reinit(hash_entry_val(search_it->ent), dict, d2p) < 0) {
hash_table_iter_free(search_it);
return -1;
}
}
return 0;
}
开发者ID:g11086,项目名称:pocketsphinx,代码行数:52,代码来源:pocketsphinx.c
示例2: acmod_write_senfh_header
int
acmod_write_senfh_header(acmod_t *acmod, FILE *logfh)
{
char nsenstr[64], logbasestr[64];
sprintf(nsenstr, "%d", bin_mdef_n_sen(acmod->mdef));
sprintf(logbasestr, "%f", logmath_get_base(acmod->lmath));
return bio_writehdr(logfh,
"version", "0.1",
"mdef_file", cmd_ln_str_r(acmod->config, "-mdef"),
"n_sen", nsenstr,
"logbase", logbasestr, NULL);
}
开发者ID:JonGBowen,项目名称:GoodVibes,代码行数:13,代码来源:acmod.c
示例3: ps_expand_model_config
static void
ps_expand_model_config(ps_decoder_t *ps)
{
char const *hmmdir, *featparams;
/* Disable memory mapping on Blackfin (FIXME: should be uClinux in general). */
#ifdef __ADSPBLACKFIN__
E_INFO("Will not use mmap() on uClinux/Blackfin.");
cmd_ln_set_boolean_r(ps->config, "-mmap", FALSE);
#endif
/* Get acoustic model filenames and add them to the command-line */
if ((hmmdir = cmd_ln_str_r(ps->config, "-hmm")) != NULL) {
ps_add_file(ps, "-mdef", hmmdir, "mdef");
ps_add_file(ps, "-mean", hmmdir, "means");
ps_add_file(ps, "-var", hmmdir, "variances");
ps_add_file(ps, "-tmat", hmmdir, "transition_matrices");
ps_add_file(ps, "-mixw", hmmdir, "mixture_weights");
ps_add_file(ps, "-sendump", hmmdir, "sendump");
ps_add_file(ps, "-fdict", hmmdir, "noisedict");
ps_add_file(ps, "-lda", hmmdir, "feature_transform");
ps_add_file(ps, "-featparams", hmmdir, "feat.params");
ps_add_file(ps, "-senmgau", hmmdir, "senmgau");
}
/* Look for feat.params in acoustic model dir. */
if ((featparams = cmd_ln_str_r(ps->config, "-featparams"))) {
if (NULL !=
cmd_ln_parse_file_r(ps->config, feat_defn, featparams, FALSE))
E_INFO("Parsed model-specific feature parameters from %s\n",
featparams);
}
/* Print here because acmod_init might load feat.params file */
if (err_get_logfp() != NULL) {
cmd_ln_print_values_r(ps->config, err_get_logfp(), ps_args());
}
}
开发者ID:dat2,项目名称:voice-hues,代码行数:38,代码来源:pocketsphinx.c
示例4: main
int
main(int argc, char *argv[])
{
char const *cfg;
config = cmd_ln_parse_r(NULL, cont_args_def, argc, argv, TRUE);
/* Handle argument file as -argfile. */
if (config && (cfg = cmd_ln_str_r(config, "-argfile")) != NULL) {
config = cmd_ln_parse_file_r(config, cont_args_def, cfg, FALSE);
}
if (config == NULL || (cmd_ln_str_r(config, "-infile") == NULL && cmd_ln_boolean_r(config, "-inmic") == FALSE)) {
E_INFO("Specify '-infile <file.wav>' to recognize from file or '-inmic yes' to recognize from microphone.\n");
cmd_ln_free_r(config);
return 1;
}
ps_default_search_args(config);
ps = ps_init(config);
if (ps == NULL) {
cmd_ln_free_r(config);
return 1;
}
E_INFO("%s COMPILED ON: %s, AT: %s\n\n", argv[0], __DATE__, __TIME__);
if (cmd_ln_str_r(config, "-infile") != NULL) {
recognize_from_file();
} else if (cmd_ln_boolean_r(config, "-inmic")) {
recognize_from_microphone();
}
ps_free(ps);
cmd_ln_free_r(config);
return 0;
}
开发者ID:Bangybug,项目名称:pocketsphinx,代码行数:38,代码来源:continuous.c
示例5: main
int
main(int32 argc, char *argv[])
{
ps_decoder_t *ps;
cmd_ln_t *config;
char const *ctl;
FILE *ctlfh;
config = cmd_ln_parse_r(NULL, ps_args_def, argc, argv, TRUE);
/* Handle argument file as -argfile. */
if (config && (ctl = cmd_ln_str_r(config, "-argfile")) != NULL) {
config = cmd_ln_parse_file_r(config, ps_args_def, ctl, FALSE);
}
if (config == NULL) {
/* This probably just means that we got no arguments. */
return 1;
}
if ((ctl = cmd_ln_str_r(config, "-ctl")) == NULL) {
E_FATAL("-ctl argument not present, nothing to do in batch mode!\n");
}
if ((ctlfh = fopen(ctl, "r")) == NULL) {
E_FATAL_SYSTEM("Failed to open control file '%s'", ctl);
}
ps_default_search_args(config);
if (!(ps = ps_init(config)))
E_FATAL("PocketSphinx decoder init failed\n");
process_ctl(ps, config, ctlfh);
fclose(ctlfh);
ps_free(ps);
return 0;
}
开发者ID:joicemjoseph,项目名称:pocketsphinx.js,代码行数:37,代码来源:batch.c
示例6: ps_default_search_args
void
ps_default_search_args(cmd_ln_t *config)
{
#ifdef MODELDIR
/* Set default acoustic and language models. */
const char *hmmdir = cmd_ln_str_r(config, "-hmm");
if (hmmdir == NULL && hmmdir_exists(MODELDIR "/hmm/en_US/hub4wsj_sc_8k")) {
hmmdir = MODELDIR "/hmm/en_US/hub4wsj_sc_8k";
cmd_ln_set_str_r(config, "-hmm", hmmdir);
}
const char *lmfile = cmd_ln_str_r(config, "-lm");
if (lmfile == NULL && !cmd_ln_str_r(config, "-fsg")
&& !cmd_ln_str_r(config, "-jsgf")
&& !cmd_ln_str_r(config, "-kws")
&& !cmd_ln_str_r(config, "-keyphrase")
&& file_exists(MODELDIR "/lm/en_US/hub4.5000.DMP")) {
lmfile = MODELDIR "/lm/en_US/hub4.5000.DMP";
cmd_ln_set_str_r(config, "-lm", lmfile);
}
const char *dictfile = cmd_ln_str_r(config, "-dict");
if (dictfile == NULL && file_exists(MODELDIR "/lm/en_US/cmu07a.dic")) {
dictfile = MODELDIR "/lm/en_US/cmu07a.dic";
cmd_ln_set_str_r(config, "-dict", dictfile);
}
/* Expand acoustic and language model filenames relative to installation
* path. */
if (hmmdir && !path_is_absolute(hmmdir) && !hmmdir_exists(hmmdir)) {
char *tmphmm = string_join(MODELDIR "/hmm/", hmmdir, NULL);
if (hmmdir_exists(tmphmm)) {
cmd_ln_set_str_r(config, "-hmm", tmphmm);
} else {
E_ERROR("Failed to find mdef file inside the model folder "
"specified with -hmm `%s'\n", hmmdir);
}
ckd_free(tmphmm);
}
if (lmfile && !path_is_absolute(lmfile) && !file_exists(lmfile)) {
char *tmplm = string_join(MODELDIR "/lm/", lmfile, NULL);
cmd_ln_set_str_r(config, "-lm", tmplm);
ckd_free(tmplm);
}
if (dictfile && !path_is_absolute(dictfile) && !file_exists(dictfile)) {
char *tmpdict = string_join(MODELDIR "/lm/", dictfile, NULL);
cmd_ln_set_str_r(config, "-dict", tmpdict);
ckd_free(tmpdict);
}
#endif
}
开发者ID:chand3040,项目名称:pocketsphinx.js,代码行数:52,代码来源:pocketsphinx.c
示例7: s3_decode_init
int
s3_decode_init(s3_decode_t * _decode, cmd_ln_t *_config)
{
if (_decode == NULL)
return S3_DECODE_ERROR_NULL_POINTER;
/* capture decoder parameters */
kb_init(&_decode->kb, _config);
/* initialize decoder variables */
_decode->kbcore = _decode->kb.kbcore;
_decode->hyp_frame_num = -1;
_decode->uttid = NULL;
_decode->state = S3_DECODE_STATE_IDLE;
_decode->hyp_str = NULL;
_decode->hyp_segs = NULL;
_decode->swap =
strcmp(cmd_ln_str_r(_config,"-machine_endian"),
cmd_ln_str_r(_config,"-input_endian"));
if (_decode->swap)
E_INFO("Input data WILL be byte swapped\n");
else
E_INFO("Input data will NOT be byte swapped\n");
_decode->phypdump = (cmd_ln_int32_r(_config, "-phypdump"));
if (_decode->phypdump)
E_INFO("Partial hypothesis WILL be dumped\n");
else
E_INFO("Partial hypothesis will NOT be dumped\n");
_decode->rawext = (cmd_ln_str_r(_config, "-rawext"));
return S3_DECODE_SUCCESS;
}
开发者ID:Ankit77,项目名称:cmusphinx,代码行数:37,代码来源:s3_decode.c
示例8: recognize_from_mic
/*
* Continuous recognition from mic
*/
int
recognize_from_mic()
{
ad_rec_t *ad;
int16 adbuf[2048];
const char *fname;
const char* seg;
int32 k;
char str[1000]="";
uint8 utt_started, in_speech;
if ((ad = ad_open_dev(cmd_ln_str_r(config, "-adcdev"),16000)) == NULL)
perror("Failed to open audio device\n");
if (ad_start_rec(ad) < 0)
perror("Failed to start recording\n");
ps_start_utt(ps);
utt_started = FALSE;
ps_seg_t *psegt;
while (!finished) {
if ((k = ad_read(ad, adbuf, 2048)) < 0)
perror("Failed to read audio\n");
ps_process_raw(ps, adbuf, k, FALSE, FALSE);
in_speech = ps_get_in_speech(ps);
if (in_speech && !utt_started) {
utt_started = TRUE;
}
if (!in_speech && utt_started) {
ps_end_utt(ps);
psegt = ps_seg_iter(ps, NULL);
while (psegt!=NULL){
seg = ps_seg_word(psegt);
strncpy_s( str, seg, strlen(seg));
listenCallback(str);
printf("%s\n", seg);
int prob = ps_seg_prob(psegt,NULL,NULL,NULL);
printf("%d\n", prob);
psegt = ps_seg_next(psegt);
}
ps_start_utt(ps);
utt_started = FALSE;
}
Sleep(100);
}
ps_end_utt(ps);
fclose(rawfd);
return 0;
}
开发者ID:emreza,项目名称:speech_agent,代码行数:52,代码来源:kw_spotter.cpp
示例9: main
int
main(int argc, char *argv[])
{
print_appl_info(argv[0]);
cmd_ln_appl_enter(argc, argv, "default.arg", defn);
unlimit();
config = cmd_ln_get();
logmath = logs3_init(cmd_ln_float64_r(config, "-logbase"), 1,
cmd_ln_int32_r(config, "-log3table"));
E_INFO("Value of base %f \n", cmd_ln_float32_r(config, "-logbase"));
models_init();
ptmr_init(&tm_utt);
if ((inmatchsegfp = fopen(cmd_ln_str_r(config, "-inhypseg"), "r")) == NULL)
E_ERROR("fopen(%s,r) failed\n", cmd_ln_str_r(config, "-inhypseg"));
if ((outconfmatchsegfp = fopen(cmd_ln_str_r(config, "-output"), "w")) == NULL)
E_ERROR("fopen(%s,w) failed\n", cmd_ln_str_r(config, "-output"));
if (cmd_ln_str_r(config, "-ctl")) {
ctl_process(cmd_ln_str_r(config, "-ctl"),
cmd_ln_str_r(config, "-ctl_lm"),
NULL,
cmd_ln_int32_r(config, "-ctloffset"),
cmd_ln_int32_r(config, "-ctlcount"), utt_confidence, NULL);
}
else {
E_FATAL("-ctl is not specified\n");
}
#if (! WIN32)
system("ps auxwww | grep s3dag");
#endif
fclose(outconfmatchsegfp);
fclose(inmatchsegfp);
models_free();
logmath_free(logmath);
cmd_ln_free_r(config);
return 0;
}
开发者ID:4auka,项目名称:cmusphinx,代码行数:51,代码来源:main_conf.c
示例10: recognize_from_microphone
/*
* Main utterance processing loop:
* for (;;) {
* start utterance and wait for speech to process
* decoding till end-of-utterance silence will be detected
* print utterance result;
* }
*/
static void
recognize_from_microphone()
{
ad_rec_t *ad;
int16 adbuf[2048];
uint8 utt_started, in_speech;
int32 k;
char const *hyp;
if ((ad = ad_open_dev(cmd_ln_str_r(config, "-adcdev"),
(int) cmd_ln_float32_r(config,
"-samprate"))) == NULL)
E_FATAL("Failed to open audio device\n");
if (ad_start_rec(ad) < 0)
E_FATAL("Failed to start recording\n");
if (ps_start_utt(ps) < 0)
E_FATAL("Failed to start utterance\n");
utt_started = FALSE;
E_INFO("Ready....\n");
for (;;) {
if ((k = ad_read(ad, adbuf, 2048)) < 0)
E_FATAL("Failed to read audio\n");
ps_process_raw(ps, adbuf, k, FALSE, FALSE);
in_speech = ps_get_in_speech(ps);
if (in_speech && !utt_started) {
utt_started = TRUE;
E_INFO("Listening...\n");
}
if (!in_speech && utt_started) {
/* speech -> silence transition, time to start new utterance */
ps_end_utt(ps);
hyp = ps_get_hyp(ps, NULL );
if (hyp != NULL) {
printf("%s\n", hyp);
fflush(stdout);
}
if (ps_start_utt(ps) < 0)
E_FATAL("Failed to start utterance\n");
utt_started = FALSE;
E_INFO("Ready....\n");
}
sleep_msec(100);
}
ad_close(ad);
}
开发者ID:Bangybug,项目名称:pocketsphinx,代码行数:56,代码来源:continuous.c
示例11: main
int
main(int argc, char *argv[])
{
cmd_ln_t *config;
config = cmd_ln_parse_r(NULL, defs, argc, argv, TRUE);
if (config == NULL)
return 1;
printf("%d %s %d %f\n",
cmd_ln_int32_r(config, "-a"),
cmd_ln_str_r(config, "-b") ? cmd_ln_str_r(config, "-b") : "(null)",
cmd_ln_boolean_r(config, "-c"),
cmd_ln_float64_r(config, "-d"));
cmd_ln_free_r(config);
config = cmd_ln_init(NULL, NULL, FALSE,
"-b", "foobie", NULL);
if (config == NULL)
return 1;
cmd_ln_free_r(config);
config = cmd_ln_init(NULL, defs, TRUE,
"-b", "foobie", NULL);
if (config == NULL)
return 1;
printf("%d %s %d %f\n",
cmd_ln_int32_r(config, "-a"),
cmd_ln_str_r(config, "-b") ? cmd_ln_str_r(config, "-b") : "(null)",
cmd_ln_boolean_r(config, "-c"),
cmd_ln_float64_r(config, "-d"));
cmd_ln_free_r(config);
config = cmd_ln_init(NULL, NULL, FALSE,
"-b", "foobie", NULL);
if (config == NULL)
return 1;
printf("%s\n",
cmd_ln_str_r(config, "-b") ? cmd_ln_str_r(config, "-b") : "(null)");
cmd_ln_set_str_r(config, "-b", "blatz");
printf("%s\n",
cmd_ln_str_r(config, "-b") ? cmd_ln_str_r(config, "-b") : "(null)");
cmd_ln_free_r(config);
return 0;
}
开发者ID:AaronZhangL,项目名称:pocketsphinx.js,代码行数:45,代码来源:cmdln_parse_r.c
示例12: ps_set_jsgf_file
int ps_set_jsgf_file(ps_decoder_t *ps, const char *name, const char *path)
{
fsg_model_t *fsg;
jsgf_rule_t *rule;
char const *toprule;
jsgf_t *jsgf = jsgf_parse_file(path, NULL);
float lw;
int result;
if (!jsgf)
return -1;
rule = NULL;
/* Take the -toprule if specified. */
if ((toprule = cmd_ln_str_r(ps->config, "-toprule"))) {
char *ruletok;
ruletok = string_join("<", toprule, ">", NULL);
rule = jsgf_get_rule(jsgf, ruletok);
ckd_free(ruletok);
if (rule == NULL) {
E_ERROR("Start rule %s not found\n", toprule);
return -1;
}
} else {
/* Otherwise, take the first public rule. */
jsgf_rule_iter_t *itor;
for (itor = jsgf_rule_iter(jsgf); itor;
itor = jsgf_rule_iter_next(itor)) {
rule = jsgf_rule_iter_rule(itor);
if (jsgf_rule_public(rule)) {
jsgf_rule_iter_free(itor);
break;
}
}
if (rule == NULL) {
E_ERROR("No public rules found in %s\n", path);
return -1;
}
}
lw = cmd_ln_float32_r(ps->config, "-lw");
fsg = jsgf_build_fsg(jsgf, rule, ps->lmath, lw);
result = ps_set_fsg(ps, name, fsg);
fsg_model_free(fsg);
return result;
}
开发者ID:chand3040,项目名称:pocketsphinx.js,代码行数:47,代码来源:pocketsphinx.c
示例13: acmod_init_am
static int
acmod_init_am(acmod_t *acmod)
{
char const *mdeffn, *tmatfn;
/* Read model definition. */
if ((mdeffn = cmd_ln_str_r(acmod->config, "-mdef")) == NULL) {
E_ERROR("Must specify -mdef or -hmm\n");
return -1;
}
if ((acmod->mdef = bin_mdef_read(acmod->config, mdeffn)) == NULL) {
E_ERROR("Failed to read model definition from %s\n", mdeffn);
return -1;
}
/* Read transition matrices. */
if ((tmatfn = cmd_ln_str_r(acmod->config, "-tmat")) == NULL) {
E_ERROR("No tmat file specified\n");
return -1;
}
acmod->tmat = tmat_init(tmatfn, acmod->lmath,
cmd_ln_float32_r(acmod->config, "-tmatfloor"),
TRUE);
/* Read the acoustic models. */
if ((cmd_ln_str_r(acmod->config, "-mean") == NULL)
|| (cmd_ln_str_r(acmod->config, "-var") == NULL)
|| (cmd_ln_str_r(acmod->config, "-tmat") == NULL)) {
E_ERROR("No mean/var/tmat files specified\n");
return -1;
}
if (cmd_ln_str_r(acmod->config, "-senmgau")) {
E_INFO("Using general multi-stream GMM computation\n");
acmod->mgau = ms_mgau_init(acmod->config, acmod->lmath, acmod->mdef);
if (acmod->mgau == NULL)
return -1;
}
else {
E_INFO("Attempting to use SCHMM computation module\n");
if ((acmod->mgau = s2_semi_mgau_init(acmod)) == NULL) {
E_INFO("Attempting to use PTHMM computation module\n");
if ((acmod->mgau = ptm_mgau_init(acmod)) == NULL) {
E_INFO("Falling back to general multi-stream GMM computation\n");
acmod->mgau = ms_mgau_init(acmod->config, acmod->lmath, acmod->mdef);
if (acmod->mgau == NULL)
return -1;
}
}
}
return 0;
}
开发者ID:Jared-Prime,项目名称:cmusphinx,代码行数:54,代码来源:acmod.c
示例14: decode_sphinx_mfc
/**
* Process Sphinx MFCCs/logspectra from a filehandle. Assume that
* wtf->infh is positioned just after the file header.
*/
static int
decode_sphinx_mfc(sphinx_wave2feat_t *wtf)
{
int nfloat = 0, n;
int featsize = wtf->featsize;
/* If the input vector length is less than the output length, we
* need to do this one frame at a time, because there's empty
* space at the end of each vector in wtf->feat. */
if (wtf->in_veclen < wtf->veclen)
featsize = 1;
while ((n = fread(wtf->feat[0], sizeof(**wtf->feat),
featsize * wtf->in_veclen, wtf->infh)) != 0) {
int i, nfr = n / wtf->in_veclen;
if (n % wtf->in_veclen) {
E_ERROR("Size of file %d not a multiple of veclen %d\n",
n, wtf->in_veclen);
return -1;
}
/* Byteswap stuff here if necessary. */
if (wtf->byteswap) {
for (i = 0; i < n; ++i)
SWAP_FLOAT32(wtf->feat[0] + i);
}
fe_float_to_mfcc(wtf->fe, (float32 **)wtf->feat, wtf->feat, nfr);
for (i = 0; i < nfr; ++i) {
if (cmd_ln_boolean_r(wtf->config, "-spec2cep")) {
if (0 == strcmp(cmd_ln_str_r(wtf->config, "-transform"), "legacy"))
fe_logspec_to_mfcc(wtf->fe, wtf->feat[i], wtf->feat[i]);
else
fe_logspec_dct2(wtf->fe, wtf->feat[i], wtf->feat[i]);
}
else if (cmd_ln_boolean_r(wtf->config, "-cep2spec")) {
fe_mfcc_dct3(wtf->fe, wtf->feat[i], wtf->feat[i]);
}
}
if ((n = (*wtf->ot->output_frames)(wtf, wtf->feat, nfr)) < 0)
return -1;
nfloat += n;
}
if (fclose(wtf->infh) == EOF)
E_ERROR_SYSTEM("Failed to close input file");
wtf->infh = NULL;
return nfloat;
}
开发者ID:kirpen,项目名称:pocketsphinx.js,代码行数:50,代码来源:sphinx_fe.c
示例15: main
int
main(int argc, char *argv[])
{
jsgf_t *jsgf;
fsg_model_t *fsg;
cmd_ln_t *config;
if ((config = cmd_ln_parse_r(NULL, defn, argc, argv, TRUE)) == NULL)
return 1;
if (cmd_ln_boolean_r(config, "-help")) {
usagemsg(argv[0]);
}
jsgf = jsgf_parse_file(cmd_ln_str_r(config, "-jsgf"), NULL);
if (jsgf == NULL) {
return 1;
}
fsg = get_fsg(jsgf, cmd_ln_str_r(config, "-rule") ? cmd_ln_str_r(config, "-rule") : NULL);
if (cmd_ln_boolean_r(config, "-compile")) {
fsg_model_null_trans_closure(fsg, NULL);
}
if (cmd_ln_str_r(config, "-fsm")) {
const char* outfile = cmd_ln_str_r(config, "-fsm");
const char* symfile = cmd_ln_str_r(config, "-symtab");
if (outfile)
fsg_model_writefile_fsm(fsg, outfile);
else
fsg_model_write_fsm(fsg, stdout);
if (symfile)
fsg_model_writefile_symtab(fsg, symfile);
}
else {
const char *outfile = cmd_ln_str_r(config, "-fsg");
if (outfile)
fsg_model_writefile(fsg, outfile);
else
fsg_model_write(fsg, stdout);
}
fsg_model_free(fsg);
jsgf_grammar_free(jsgf);
return 0;
}
开发者ID:AtDinesh,项目名称:Jaf_pose_est,代码行数:48,代码来源:main.c
示例16: ps_expand_file_config
static void
ps_expand_file_config(ps_decoder_t *ps, const char *arg, const char *extra_arg,
const char *hmmdir, const char *file)
{
const char *val;
if ((val = cmd_ln_str_r(ps->config, arg)) != NULL) {
cmd_ln_set_str_extra_r(ps->config, extra_arg, val);
} else if (hmmdir == NULL) {
cmd_ln_set_str_extra_r(ps->config, extra_arg, NULL);
} else {
char *tmp = string_join(hmmdir, "/", file, NULL);
if (file_exists(tmp))
cmd_ln_set_str_extra_r(ps->config, extra_arg, tmp);
else
cmd_ln_set_str_extra_r(ps->config, extra_arg, NULL);
ckd_free(tmp);
}
}
开发者ID:Amponti,项目名称:SpeechRecognition_DE1-SOC,代码行数:18,代码来源:pocketsphinx.c
示例17: Run
uint32 FSpeechRecognitionWorker::Run() {
char const *hyp;
// attempt to open the default recording device
if ((ad = ad_open_dev(cmd_ln_str_r(config, "-adcdev"),
(int)cmd_ln_float32_r(config,
"-samprate"))) == NULL) {
ClientMessage(FString(TEXT("Failed to open audio device")));
return 1;
}
if (ad_start_rec(ad) < 0) {
ClientMessage(FString(TEXT("Failed to start recording")));
return 2;
}
if (ps_start_utt(ps) < 0) {
ClientMessage(FString(TEXT("Failed to start utterance")));
return 3;
}
while (StopTaskCounter.GetValue() == 0) {
if ((k = ad_read(ad, adbuf, 1024)) < 0)
ClientMessage(FString(TEXT("Failed to read audio")));
ps_process_raw(ps, adbuf, k, 0, 0);
in_speech = ps_get_in_speech(ps);
if (in_speech && !utt_started) {
utt_started = 1;
}
if (!in_speech && utt_started) {
/* speech -> silence transition, time to start new utterance */
ps_end_utt(ps);
hyp = ps_get_hyp(ps, NULL);
if (hyp != NULL)
Manager->WordSpoken_method(FString(hyp));
if (ps_start_utt(ps) < 0)
ClientMessage(FString(TEXT("Failed to start")));
utt_started = 0;
}
}
ad_close(ad);
return 0;
}
开发者ID:dbadrian,项目名称:sphinx-ue4,代码行数:43,代码来源:SpeechRecognitionWorker.cpp
示例18: ps_set_jsgf_file
int
ps_set_jsgf_file(ps_decoder_t *ps, const char *name, const char *path)
{
fsg_model_t *fsg;
jsgf_rule_t *rule;
char const *toprule;
jsgf_t *jsgf = jsgf_parse_file(path, NULL);
float lw;
int result;
if (!jsgf)
return -1;
rule = NULL;
/* Take the -toprule if specified. */
if ((toprule = cmd_ln_str_r(ps->config, "-toprule"))) {
rule = jsgf_get_rule(jsgf, toprule);
if (rule == NULL) {
E_ERROR("Start rule %s not found\n", toprule);
jsgf_grammar_free(jsgf);
return -1;
}
} else {
rule = jsgf_get_public_rule(jsgf);
if (rule == NULL) {
E_ERROR("No public rules found in %s\n", path);
jsgf_grammar_free(jsgf);
return -1;
}
}
lw = cmd_ln_float32_r(ps->config, "-lw");
fsg = jsgf_build_fsg(jsgf, rule, ps->lmath, lw);
result = ps_set_fsg(ps, name, fsg);
fsg_model_free(fsg);
jsgf_grammar_free(jsgf);
return result;
}
开发者ID:Amponti,项目名称:SpeechRecognition_DE1-SOC,代码行数:38,代码来源:pocketsphinx.c
示例19: init_fwd_dbg
static fwd_dbg_t *
init_fwd_dbg(srch_FLAT_FWD_graph_t * fwg)
{
const char *tmpstr;
fwd_dbg_t *fd;
fd = (fwd_dbg_t *) ckd_calloc(1, sizeof(fwd_dbg_t));
assert(fd);
/* Word to be traced in detail */
if ((tmpstr = cmd_ln_str_r(kbcore_config(fwg->kbcore), "-tracewhmm")) != NULL) {
fd->trace_wid = dict_wordid(fwg->kbcore->dict, tmpstr);
if (NOT_S3WID(fd->trace_wid))
E_ERROR("%s not in dictionary; cannot be traced\n", tmpstr);
}
else
fd->trace_wid = BAD_S3WID;
/* Active words to be dumped for debugging after and before the given frame nos, if any */
fd->word_dump_sf = (int32) 0x7ffffff0;
if (cmd_ln_int32_r(kbcore_config(fwg->kbcore), "-worddumpsf"))
fd->word_dump_sf = cmd_ln_int32_r(kbcore_config(fwg->kbcore), "-worddumpsf");
fd->word_dump_ef = (int32) 0x7ffffff0;
if (cmd_ln_int32_r(kbcore_config(fwg->kbcore), "-worddumpef"))
fd->word_dump_ef = cmd_ln_int32_r(kbcore_config(fwg->kbcore), "-worddumpef");
/* Active HMMs to be dumped for debugging after and before the given frame nos, if any */
fd->hmm_dump_sf = (int32) 0x7ffffff0;
if (cmd_ln_int32_r(kbcore_config(fwg->kbcore), "-hmmdumpsf"))
fd->hmm_dump_sf = cmd_ln_int32_r(kbcore_config(fwg->kbcore), "-hmmdumpsf");
fd->hmm_dump_ef = (int32) 0x7ffffff0;
if (cmd_ln_int32_r(kbcore_config(fwg->kbcore), "-hmmdumpef"))
fd->hmm_dump_ef = cmd_ln_int32_r(kbcore_config(fwg->kbcore), "-hmmdumpef");
return fd;
}
开发者ID:4auka,项目名称:cmusphinx,代码行数:38,代码来源:srch_flat_fwd.c
示例20: output_header_htk
/**
* Output HTK format header.
*/
static int
output_header_htk(sphinx_wave2feat_t *wtf, int32 nfloat)
{
int32 samp_period;
int16 samp_size;
int16 param_kind;
int swap = FALSE;
/* HTK files are big-endian. */
if (0 == strcmp("little", cmd_ln_str_r(wtf->config, "-mach_endian")))
swap = TRUE;
/* Same file size thing as in Sphinx files (I think) */
if (swap) SWAP_INT32(&nfloat);
if (fwrite(&nfloat, 4, 1, wtf->outfh) != 1)
return -1;
/* Sample period in 100ns units. */
samp_period = (int32)(1e+7 / cmd_ln_float32_r(wtf->config, "-frate"));
if (swap) SWAP_INT32(&samp_period);
if (fwrite(&samp_period, 4, 1, wtf->outfh) != 1)
return -1;
/* Sample size - veclen * sizeof each sample. */
samp_size = wtf->veclen * 4;
if (swap) SWAP_INT16(&samp_size);
if (fwrite(&samp_size, 2, 1, wtf->outfh) != 1)
return -1;
/* Format and flags. */
if (cmd_ln_boolean_r(wtf->config, "-logspec")
|| cmd_ln_boolean_r(wtf->config, "-cep2spec"))
param_kind = FBANK; /* log mel-filter bank outputs */
else
param_kind = MFCC | _O; /* MFCC + CEP0 (note reordering...) */
if (swap) SWAP_INT16(¶m_kind);
if (fwrite(¶m_kind, 2, 1, wtf->outfh) != 1)
return -1;
return 0;
}
开发者ID:kirpen,项目名称:pocketsphinx.js,代码行数:40,代码来源:sphinx_fe.c
注:本文中的cmd_ln_str_r函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论