Waveform.from_file_into_numpy()¶
- static Waveform.from_file_into_numpy(filename, start_time_milliseconds=0, end_time_milliseconds=0, frame_rate_hz=0, num_channels=0, convert_to_mono=False, zero_pad_ending=False, repeat_pad_ending=False, resample_mode=0, decoding_backend=0)¶
Decodes audio stored in a local file, directly returning a NumPy array.
This method is just like
from_file(), but it returns a NumPy array of shape(frames, channels)instead of aWaveformobject.See the documentation for
from_file()for a complete list of raised exceptions.- Parameters
filename (str) – The path to an audio file on the local filesystem.
start_time_milliseconds (int, optional) – 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.
end_time_milliseconds (int, optional) – 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
start_time_millisecondsis specified, thenend_time_millisecondsmust be greater. The resultingframe_rate_hz (int, optional) – 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
frame_rate_hzis equal to the audio’s original frame rate.num_channels (int, optional) – 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 anum_channelsgreater than the actual number of channels in the audio.convert_to_mono (bool, optional) – 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 thatconvert_to_monocannot be set toTruewhile also settingnum_channels = 1.zero_pad_ending (bool, optional) – 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.repeat_pad_ending (bool, optional) – 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_milliseconds. Note that settingrepeat_pad_ending = Trueis mutually exclusive with settingzero_pad_ending = True.resample_mode (int, optional) – If you set
frame_rate_hzto resample the audio when decoding, you can also setresample_modeto pick which resampling backend to use. Thebabycat.resample_modesubmodule contains the various available resampling algorithms compiled into Babycat. By default, Babycat resamples audio using libsamplerate at its highest-quality setting.decoding_backend (int, optional) – Sets the audio decoding backend to use. Defaults to the Symphonia backend.
- Returns
A NumPy array of shape
(frames, channels)of the decoded audio waveform.- Return type