106 #include <sphinx_config.h> 108 #if defined (__CYGWIN__) 109 #include <w32api/windows.h> 110 #include <w32api/mmsystem.h> 111 #elif (defined(WIN32) && !defined(GNUWINCE)) || defined(_WIN32_WCE) 113 #include <mmsystem.h> 114 #elif defined(AD_BACKEND_JACK) 115 #include <jack/jack.h> 116 #include <jack/ringbuffer.h> 117 #ifdef HAVE_SAMPLERATE_H 118 #include <samplerate.h> 120 #elif defined(AD_BACKEND_PULSEAUDIO) 121 #include <pulse/pulseaudio.h> 122 #include <pulse/simple.h> 123 #elif defined(AD_BACKEND_ALSA) 124 #include <alsa/asoundlib.h> 128 #include <sphinxbase/sphinxbase_export.h> 140 #define AD_SAMPLE_SIZE (sizeof(int16)) 141 #define DEFAULT_SAMPLES_PER_SEC 16000 146 #define AD_ERR_GEN -1 147 #define AD_ERR_NOT_OPEN -2 148 #define AD_ERR_WAVE -3 151 #if (defined(WIN32) || defined(AD_BACKEND_WIN32)) && !defined(GNUWINCE) 167 #if (defined(WIN32) || defined(AD_BACKEND_WIN32)) && !defined(GNUWINCE) 169 #define DEFAULT_DEVICE (char*)DEV_MAPPER 174 typedef struct ad_rec_s {
188 #elif defined(AD_BACKEND_OSS) 190 #define DEFAULT_DEVICE "/dev/dsp" 202 #elif defined(AD_BACKEND_PULSEAUDIO) 204 #define DEFAULT_DEVICE NULL 213 #elif defined(AD_BACKEND_ALSA) 215 #define DEFAULT_DEVICE "default" 223 #elif defined(AD_BACKEND_JACK) 226 jack_client_t *client;
227 jack_port_t *input_port;
228 jack_port_t *output_port;
229 jack_ringbuffer_t* rbuffer;
230 jack_default_audio_sample_t* sample_buffer;
234 #ifdef HAVE_SAMPLERATE_H 235 SRC_STATE *resample_state;
236 jack_default_audio_sample_t *resample_buffer;
240 #elif defined(AD_BACKEND_S60) 242 typedef struct ad_rec_s {
250 ad_rec_t *ad_open_sps_bufsize (int32 samples_per_sec, int32 bufsize_msec);
254 #define DEFAULT_DEVICE NULL 276 int32 samples_per_sec
284 int32 samples_per_sec
295 #if defined(WIN32) && !defined(GNUWINCE) 301 ad_rec_t *ad_open_sps_bufsize (int32 samples_per_sec, int32 bufsize_msec);
326 int32 ad_read (
ad_rec_t *, int16 *buf, int32 max);
331 #if defined(WIN32) && !defined(GNUWINCE) 355 ad_play_t *ad_open_play_sps (int32 samples_per_sec);
389 unsigned char *inbuf,
SPHINXBASE_EXPORT void ad_mu2li(int16 *outbuf, unsigned char *inbuf, int32 n_samp)
Convert mu-law data to int16 linear PCM format.
Basic type definitions used in Sphinx.
SPHINXBASE_EXPORT ad_rec_t * ad_open(void)
Open the default audio device.
SPHINXBASE_EXPORT ad_rec_t * ad_open_dev(const char *dev, int32 samples_per_sec)
Open a specific audio device for recording.
SPHINXBASE_EXPORT ad_rec_t * ad_open_sps(int32 samples_per_sec)
Open the default audio device with a given sampling rate.
SPHINXBASE_EXPORT int32 ad_write(ad_play_t *, int16 *buf, int32 len)
Queue a block of audio samples for playback.