#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 the daemon. | |
変数 | |
static SP16 * | speech |
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 |
Juliusはミキサーデバイスの設定を一切行いません.録音デバイスの 選択(マイク/ライン)や録音ボリュームの調節はWindowsの 「ボリュームコントロール」 や Linux の xmixer など,他のツールで 行なって下さい.
portaudio はフリーでクロスプラットホームのオーディオ入出力ライブラリ です.ソースは libsent/src/adin/pa/ に含まれています.このプログラムでは スレッドを利用したcallback を利用して入力音声をリングバッファに取り込んで います.
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) |
adin_portaudio.c の 85 行で定義されています。
参照元 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 |
adin_portaudio.c の 151 行で定義されています。
参照元 adin_select().
boolean adin_mic_start | ( | ) |
boolean adin_mic_stop | ( | ) |
int adin_mic_read | ( | SP16 * | buf, | |
int | sampnum | |||
) |
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 |
adin_portaudio.c の 239 行で定義されています。
参照元 adin_select().