babycat_WaveformArgs¶
Struct members¶
-
struct babycat_WaveformArgs¶
Specifies what transformations to apply to the audio during the decoding process.
The default value for this struct will tell Babycat to decode audio as-is and not change anything.
Public Members
-
uintptr_t start_time_milliseconds¶
We discard any audio before this millisecond offset. By default, this does nothing and the audio is decoded from the beginning. Negative offsets are invalid.
-
uintptr_t end_time_milliseconds¶
We discard any audio after this millisecond offset. By default, this does nothing and the audio is decoded all the way to the end. If is specified, then must be greater.
-
uint32_t frame_rate_hz¶
A destination frame rate to resample the audio to. Do not specify this parameter if you wish Babycat to preserve the audio’s original frame rate. This does nothing if is equal to the audio’s original frame rate.
-
uint16_t num_channels¶
Set this to a positive integer
nto select the firstnchannels stored in the audio file. By default, Babycat will return all of the channels in the original audio. This will raise an exception if you specify a greater than the actual number of channels in the audio.
-
bool convert_to_mono¶
Set to
trueto average all channels into a single monophonic (mono) channel. Ifnum_channels = nis also specified, then only the firstnchannels will be averaged. Note that cannot be set totruewhile also settingnum_channels = 1.
-
bool zero_pad_ending¶
If you set this to
true, Babycat will zero-pad the ending of the decoded waveform to ensure that the output waveform’s duration is exactlyend_time_milliseconds - start_time_milliseconds. By default,zero_pad_ending = false, in which case the output waveform will be shorter thanend_time_milliseconds - start_time_millisecondsif the input audio is shorter thanend_time_milliseconds. Note that settingzero_pad_ending = trueis mutually exclusive with settingrepeat_pad_ending = true.
-
bool repeat_pad_ending¶
If you set this to
true, Babycat will repeat the audio waveform to ensure that the output waveform’s duration is exactlyend_time_milliseconds - start_time_milliseconds. By default,repeat_pad_ending = false, in which case the output waveform will be shorter thanend_time_milliseconds - start_time_millisecondsif the input audio is shorter thanend_time_milliseconds. Note that settingrepeat_pad_ending = trueis mutually exclusive with settingzero_pad_ending = true.
-
uint32_t resample_mode¶
Sets which resampling method is used if you have set . This usually defaults to the highest-accuracy resampler compiled into Babycat. The available choices are:
[
RESAMPLE_MODE_LIBSAMPLERATE](crate::constants::RESAMPLE_MODE_LIBSAMPLERATE)[
RESAMPLE_MODE_BABYCAT_LANCZOS](crate::constants::RESAMPLE_MODE_BABYCAT_LANCZOS)[
RESAMPLE_MODE_BABYCAT_SINC](crate::constants::RESAMPLE_MODE_BABYCAT_SINC)
-
uint32_t decoding_backend¶
Sets which audio decoding backend to use. Currently the only available decoding backend is [
DECODING_BACKEND_SYMPHONIA](crate::constants::DECODING_BACKEND_SYMPHONIA), which corresponds to the [SymphoniaDecoder](crate::decoder::SymphoniaDecoder), which is a wrapper for the library.
-
uintptr_t start_time_milliseconds¶