Speech-Swift
view release on metacpan or search on metacpan
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 )