Julius 4.2
関数
libsent/src/adin/zc-e.c

音声区間検出のための零交差数カウント [詳細]

#include <sent/stddefs.h>
#include <sent/adin.h>

ソースコードを見る。

関数

void init_count_zc_e (ZEROCROSS *zc, int length)
 Allocate buffers for zerocross counting.
void reset_count_zc_e (ZEROCROSS *zc, int c_trigger, int c_length, int c_offset)
 Initialize all parameters and buffers for zero-cross counting.
void free_count_zc_e (ZEROCROSS *zc)
 End procedure: free all buffers.
int count_zc_e (ZEROCROSS *zc, SP16 *buf, int step)
 Adding buf[0..step-1] to the cycle buffer and update the count of zero cross.
void zc_copy_buffer (ZEROCROSS *zc, SP16 *newbuf, int *len)
 Flush samples in the current cycle buffer.

説明

音声区間検出のための零交差数カウント

与えられたバッファ長内の零交差数をカウントします. 同時に, 呼ばれたバッファを順次バッファ長分だけ古いものに入れ替えます. このため入力はバッファ長分だけ遅延することになります.

作者:
Akinobu LEE
日付:
Mon Feb 14 19:11:34 2005
Revision:
1.3

zc-e.c で定義されています。


関数

void init_count_zc_e ( ZEROCROSS zc,
int  length 
)

Allocate buffers for zerocross counting.

引数:
zc[i/o] zerocross work area
length[in] Cycle buffer size = Number of samples to hold

zc-e.c49 行で定義されています。

参照元 adin_setup_param(), と reset_count_zc_e().

void reset_count_zc_e ( ZEROCROSS zc,
int  c_trigger,
int  c_length,
int  c_offset 
)

Initialize all parameters and buffers for zero-cross counting.

引数:
zc[i/o] zerocross work area
c_trigger[in] Tgigger level threshold
c_length[in] Cycle buffer size = Number of samples to hold
c_offset[in] Static DC offset of input data

zc-e.c68 行で定義されています。

参照元 adin_cut().

void free_count_zc_e ( ZEROCROSS zc)

End procedure: free all buffers.

引数:
zc[i/o] zerocross work area

zc-e.c98 行で定義されています。

参照元 adin_free_param(), と reset_count_zc_e().

int count_zc_e ( ZEROCROSS zc,
SP16 buf,
int  step 
)

Adding buf[0..step-1] to the cycle buffer and update the count of zero cross.

Also swap them with the oldest ones in the cycle buffer. Also get the maximum level in the cycle buffer.

引数:
zc[i/o] zerocross work area
buf[I/O] new samples, will be swapped by old samples when returned.
step[in] length of above.
戻り値:
zero-cross count of the samples in the cycle buffer.

zc-e.c116 行で定義されています。

参照元 adin_cut().

void zc_copy_buffer ( ZEROCROSS zc,
SP16 newbuf,
int *  len 
)

Flush samples in the current cycle buffer.

引数:
zc[i/o] zerocross work area
newbuf[out] the samples in teh cycle buffer will be written here.
len[out] length of above.

zc-e.c165 行で定義されています。

参照元 adin_cut().