Go to the source code of this file.
|Maximum Data fragment Length in msec. |
|static int||Callback (void *inbuf, void *outbuf, unsigned long len, PaTimestamp outTime, void *userdata)|
|PortAudio callback to store the incoming speech data into the cycle buffer. |
|boolean||adin_mic_standby (int sfreq, void *dummy)|
|Device initialization: check device capability and open for recording. |
|Start recording. |
|Stop recording. |
|int||adin_mic_read (SP16 *buf, int sampnum)|
|Read samples from device. |
|static SP16 *||speech|
|cycle buffer for incoming speech data |
|writing point |
|reading point |
|static boolean||buffer_overflowed = FALSE|
|TRUE if buffer overflowed. |
|length of cycle buffer based on INPUT_DELAY_SEC |
|static PortAudioStream *||stream|
|Stream information. |
Low level I/O functions for microphone input using portaudio library. To use, please specify "--with-mictype=portaudio" options to configure script. This function is currently available for Linux and Win32. On Windows, this is default.
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.
|#define MAX_FRAGMENT_MSEC 128|
|static int Callback||(||void *||inbuf,|
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)|
Referenced by adin_mic_standby().
|int adin_mic_read||(||SP16 *||buf,|
Read samples from device.
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|
Referenced by adin_select().