Speech-Recognizer-SPX

 view release on metacpan or  search on metacpan

Audio/SPX.xs  view on Meta::CPAN


SYSRET
cont_ad_read(ad, buf, max)
	cont_ad_t *	ad
	SV *		buf
	int32		max
	PREINIT:
		STRLEN dummy;
	CODE:
		if (!SvPOK(buf)) {
			sv_setpv(buf, "");
		}
		SvGROW(buf, max * sizeof(int16));
		RETVAL = cont_ad_read(ad, (int16 *)SvPV(buf, dummy), max);
		if (RETVAL != -1) {
			SvCUR_set(buf, RETVAL * sizeof(int16));
		}
	OUTPUT:
		RETVAL
		buf

SYSRET
cont_ad_set_thresh(cont, sil, sp)
	cont_ad_t *	cont
	int32		sil
	int32		sp

SYSRET
cont_ad_set_params(cont, delta_sil, delta_speech, min_noise, max_noise, winsize, speech_onset, sil_onset, leader, trailer, adapt_rate=0.2)
	cont_ad_t *	cont
	int32		delta_sil
	int32		delta_speech
	int32		min_noise
	int32		max_noise
	int32		winsize
	int32		speech_onset
	int32		sil_onset
	int32		leader
	int32		trailer
	float32		adapt_rate
	CODE:
#ifdef HAVE_ADAPT_RATE
		RETVAL = cont_ad_set_params(cont, delta_sil, delta_speech,
					min_noise, max_noise, winsize, speech_onset,
					sil_onset, leader, trailer, adapt_rate);
#else
		RETVAL = cont_ad_set_params(cont, delta_sil, delta_speech,
					min_noise, max_noise, winsize, speech_onset,
					sil_onset, leader, trailer);
#endif
	OUTPUT:
		RETVAL

void
cont_ad_get_params(cont)
	cont_ad_t *	cont
	PREINIT:
		int32	res, delta_sil, delta_speech, min_noise, max_noise,
			winsize, speech_onset, sil_onset, leader, trailer;
		float32 adapt_rate;
	PPCODE:
#ifdef HAVE_ADAPT_RATE
		res = cont_ad_get_params(cont, &delta_sil, &delta_speech,
					&min_noise, &max_noise, &winsize, &speech_onset,
					&sil_onset, &leader, &trailer, &adapt_rate);
#else
		res = cont_ad_get_params(cont, &delta_sil, &delta_speech,
					&min_noise, &max_noise, &winsize, &speech_onset,
					&sil_onset, &leader, &trailer);
#endif
		if (res == -1)
			return; /* empty list */
		EXTEND(SP, 9);
		PUSHs(sv_2mortal(newSViv(delta_sil)));
		PUSHs(sv_2mortal(newSViv(delta_speech)));
		PUSHs(sv_2mortal(newSViv(min_noise)));
		PUSHs(sv_2mortal(newSViv(max_noise)));
		PUSHs(sv_2mortal(newSViv(winsize)));
		PUSHs(sv_2mortal(newSViv(speech_onset)));
		PUSHs(sv_2mortal(newSViv(sil_onset)));
		PUSHs(sv_2mortal(newSViv(leader)));
		PUSHs(sv_2mortal(newSViv(trailer)));
		PUSHs(sv_2mortal(newSVnv(adapt_rate)));

SYSRET
cont_ad_reset(cont)
	cont_ad_t *	cont

SYSRET
cont_ad_close(cont)
	cont_ad_t *	cont

SYSRET
cont_ad_DESTROY(cont)
	cont_ad_t *	cont
	CODE:
		RETVAL = cont_ad_close(cont);
	OUTPUT:
		RETVAL

SYSRET
cont_ad_detach(cont)
	cont_ad_t *	cont

SYSRET
cont_ad_attach(c, a)
	cont_ad_t *	c
	ad_rec_t *	a
	CODE:
		RETVAL = cont_ad_attach(c, a, ad_read);
	OUTPUT:
		RETVAL

int32
cont_ad_read_ts(c)
	cont_ad_t *	c
	CODE:
		RETVAL = c->read_ts;
	OUTPUT:
		RETVAL



( run in 0.716 second using v1.01-cache-2.11-cpan-5511b514fd6 )