Speech-Swift

 view release on metacpan or  search on metacpan

Swift.xs  view on Meta::CPAN

		swift_port *_port
		const void *_text
	CODE:
		RETVAL = swift_port_get_wave(_port, _text, strlen(_text), NULL, 0, NULL);
	OUTPUT:
		RETVAL
			
swift_waveform*
swift_waveform_new()

swift_result_t
swift_waveform_save(_wave, _filename, _format)
	swift_waveform *_wave
	const char *_filename
	const char *_format

int
swift_waveform_get_sps(_wave)
	swift_waveform *_wave

const char*
swift_waveform_get_encoding(_wave)
	swift_waveform *_wave

int
swift_waveform_get_channels(_wave)
		swift_waveform *_wave
	CODE:
		RETVAL = _wave->num_channels;
	OUTPUT:
		RETVAL

swift_result_t
swift_waveform_resample(_wave, _new_sps)
	swift_waveform *_wave
	int _new_sps

swift_result_t
swift_waveform_convert(_wave, _encoding)
	swift_waveform *_wave
	const char *_encoding

swift_result_t
swift_waveform_set_channels(_wave, _channels)
	swift_waveform *_wave
	int _channels

void
swift_waveform_close(_wave)
	swift_waveform *_wave

void
swift_waveform_get_samples(_wave)
		swift_waveform *_wave
	INIT:
		int16_t *buffer = NULL;
		int samples = 0;
		int bytes_per_sample = 0;
		int i = 0;

	PPCODE:
		if (SWIFT_FAILED(swift_waveform_get_samples(_wave, (const void**)&buffer, &samples, &bytes_per_sample)))
		{
			croak("failed to get samples from waveform object");
		}

		if ( (samples > 0) && (bytes_per_sample > 0) )
		{
			for(i=0; i<samples; i++)
			{
				XPUSHs(sv_2mortal(newSVnv(buffer[i])));
			}
		} else
		{
			croak("invalid waveform: samples=%d, bytes_per_sample=%d", samples, bytes_per_sample);
		}



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