Julius 4.2
関数 | 変数
julius/record.c

認識した入力音声をファイルに保存する. [詳細]

#include "app.h"
#include <time.h>

ソースコードを見る。

関数

static void timestring (char *t, int maxlen)
 システム時間からベースファイル名を作成する.
static void make_record_filename (char *buf, int buflen, char *basename, char *dirname)
 ベースファイル名から実際のパス名を作成する.
static void make_tmp_filename (char *buf, int buflen, char *dirname)
 一時ファイル名を作成する.
static void record_sample_open (Recog *recog, void *dummy)
 録音のために一時ファイルをオープンする.
static void record_sample_write (Recog *recog, SP16 *speech, int samplenum, void *dummy)
 入力音声断片をファイルに追加記録する.
static void record_sample_close (Recog *recog, void *dummy)
 録音を終了する.
static boolean opt_record (Jconf *jconf, char *arg[], int argnum)
void record_add_option ()
void record_setup (Recog *recog, void *data)

変数

static char * record_dirname = NULL
static char rectmpfilename [MAXLINELEN]
static char recordfilename [MAXLINELEN]
static int recordlen
static FILE * recfile_fp = NULL
static boolean open_error = FALSE

説明

認識した入力音声をファイルに保存する.

入力された音声データを1つずつファイルに保存する. ファイル名は録音時のタイムスタンプから "YYYY.MMDD.HHMMSS.wav" となる. ファイル形式は Microsoft WAVE format, 16bit, PCM (無圧縮) である.

録音はいったんメモリに確保されずに、入力と平行してファイルに直接 書き込まれる。最初は一時ファイルに記録され、録音終了後(=第1パス 終了後)に上記の形式のファイル名に変更される。

作者:
Akinobu Lee
日付:
Tue Sep 06 14:13:54 2005
Revision:
1.5

record.c で定義されています。


関数

static void timestring ( char *  t,
int  maxlen 
) [static]

システム時間からベースファイル名を作成する.

引数:
t[out] 結果を格納する文字列バッファ
maxlen[in] t の最大長

record.c68 行で定義されています。

参照元 record_sample_write().

static void make_record_filename ( char *  buf,
int  buflen,
char *  basename,
char *  dirname 
) [static]

ベースファイル名から実際のパス名を作成する.

ディレクトリは大域変数 record_dirname であらかじめ指定されている.

引数:
buf[out] 結果のパス名を格納するバッファへのポインタ
buflen[in] buf の最大長
filename[in] ベースファイル名

record.c98 行で定義されています。

参照元 record_sample_write().

static void make_tmp_filename ( char *  buf,
int  buflen,
char *  dirname 
) [static]

一時ファイル名を作成する.

引数:
buf[out] 結果のファイル名を格納するポインタ
buflen[in] buf の最大長

record.c128 行で定義されています。

参照元 record_sample_open().

static void record_sample_write ( Recog recog,
SP16 speech,
int  samplenum,
void *  dummy 
) [static]

入力音声断片をファイルに追加記録する.

引数:
speech[in] 音声データのバッファ
samplenum[in] 音声データの長さ(サンプル数)

record.c181 行で定義されています。

static void record_sample_close ( Recog recog,
void *  dummy 
) [static]

録音を終了する.

録音用の一時ファイルをクローズし、本来の名前にrenameする。

record.c217 行で定義されています。