libsent/src/adin/adin_portaudio.c

マイク入力 (portaudioライブラリ) [詳細]

#include <sent/stddefs.h>
#include <sent/speech.h>
#include <sent/adin.h>
#include "pa/portaudio.h"
adin_portaudio.cのインクルード依存関係図

ソースコードを見る。

関数

static int Callback (void *inbuf, void *outbuf, unsigned long len, PaTimestamp outTime, void *userdata)
boolean adin_mic_standby (int sfreq, void *dummy)
boolean adin_mic_start ()
boolean adin_mic_stop ()
int adin_mic_read (SP16 *buf, int sampnum)
 Read samples from device.

変数

static SP16speech
 cycle buffer for incoming speech data
static int current
 writing point
static int processed
 reading point
static boolean buffer_overflowed = FALSE
 TRUE if buffer overflowed.
static int cycle_buffer_len
 length of cycle buffer based on INPUT_DELAY_SEC
static PortAudioStream * stream
 Stream information.

説明

マイク入力 (portaudioライブラリ)

作者:
Akinobu LEE
日付:
Mon Feb 14 12:03:48 2005

portaudiooライブラリを使用したマイク入力のための低レベル関数です. 使用するには configure 時に "--with-mictype=portaudio" を指定して下さい. Linux および Win32 で使用可能です.Win32モードではこれが デフォルトとなります.

Juliusはミキサーデバイスの設定を一切行いません.録音デバイスの 選択(マイク/ライン)や録音ボリュームの調節はWindowsの 「ボリュームコントロール」 や Linux の xmixer など,他のツールで 行なって下さい.

portaudio はフリーでクロスプラットホームのオーディオ入出力ライブラリ です.ソースは libsent/src/adin/pa/ に含まれています.このプログラムでは スレッドを利用したcallback を利用して入力音声をリングバッファに取り込んで います.

参照:
http://www.portaudio.com/
Revision
1.5

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


関数

static int Callback ( void *  inbuf,
void *  outbuf,
unsigned long  len,
PaTimestamp  outTime,
void *  userdata 
) [static]

PortAudio callback to store the incoming speech data into the cycle buffer.

引数:
inbuf [in] portaudio input buffer
outbuf [in] portaudio output buffer (not used)
len [in] length of above
outTime [in] output time (not used)
userdata [in] user defined data (not used)
戻り値:
0 when no error, or 1 to terminate recording.

adin_portaudio.c85 行で定義されています。

参照元 adin_mic_standby().

boolean adin_mic_standby ( int  sfreq,
void *  dummy 
)

Device initialization: check device capability and open for recording.

引数:
sfreq [in] required sampling frequency.
dummy [in] a dummy data
戻り値:
TRUE on success, FALSE on failure.

adin_portaudio.c151 行で定義されています。

参照元 adin_select().

boolean adin_mic_start (  ) 

Start recording.

戻り値:
TRUE on success, FALSE on failure.

adin_portaudio.c192 行で定義されています。

参照元 adin_mic_standby(), と adin_select().

boolean adin_mic_stop (  ) 

Stop recording.

戻り値:
TRUE on success, FALSE on failure.

adin_portaudio.c212 行で定義されています。

参照元 adin_mic_standby(), と adin_select().

int adin_mic_read ( SP16 buf,
int  sampnum 
)

Read samples from device.

Read samples from the daemon.

Try to read sampnum samples and returns actual number of recorded samples currently available. This function will block until at least some samples are obtained.

引数:
buf [out] samples obtained in this function
sampnum [in] wanted number of samples to be read
戻り値:
actural number of read samples, -2 if an error occured.

adin_portaudio.c239 行で定義されています。

参照元 adin_select().


Juliusに対してTue Sep 22 00:15:01 2009に生成されました。  doxygen 1.6.0