#include <sent/stddefs.h>
#include <sent/speech.h>
#include <sent/adin.h>
#include "pa/portaudio.h"
Include dependency graph for adin_portaudio.c:
Go to the source code of this file.
Functions | |
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. | |
Variables | |
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 does not alter any mixer device setting at all. You should configure the mixer for recording source (mic/line) and recording volume correctly using other audio tool such as xmixer on Linux, or 'Volume Control' on Windows.
Portaudio is a free, cross platform, open-source audio I/O library. The sources are included at libsent/src/adin/pa/. This program uses ring buffer to store captured samples in callback functions with threading.
Definition in file 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) |
Definition at line 85 of file adin_portaudio.c.
Referenced by 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 |
Definition at line 151 of file adin_portaudio.c.
Referenced by adin_select().
boolean adin_mic_start | ( | ) |
Start recording.
Definition at line 192 of file adin_portaudio.c.
Referenced by adin_mic_standby(), and adin_select().
boolean adin_mic_stop | ( | ) |
Stop recording.
Definition at line 212 of file adin_portaudio.c.
Referenced by adin_mic_standby(), and adin_select().
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 |
Definition at line 239 of file adin_portaudio.c.
Referenced by adin_select().