new_audio = np.frombuffer(raw_audio_data,dtype = 'int32')
audio_back = librosa.util.buf_to_float(raw_audio_data,n_bytes=4, dtype=np.float32)
y, sr = librosa.load(librosa.util.example_audio_file())
ipd.Audio(y, rate=sr)
new_result = librosa.util.buf_to_float(y.tobytes(),n_bytes=4, dtype=np.float32)
ipd.Audio(new_result, rate=sr)
y, sr = librosa.load(librosa.util.example_audio_file())
ipd.Audio(y, rate=sr)
new_result = librosa.util.buf_to_float(y.tobytes(),n_bytes=4, dtype=np.float32)
ipd.Audio(new_result, rate=sr)
def ndarray_to_audiosegment(y,frame_rate): if(len(y.shape) == 2): new_array = np.zeros((y.shape[1]*2),dtype=y.dtype) new_array[::2] = y[0] new_array[1::2] = y[1] else: new_array = y audio_segment = pydub.AudioSegment( new_array.tobytes(), frame_rate=frame_rate, sample_width=new_array.dtype.itemsize, channels = len(y.shape)) return audio_segment
def audiosegment_to_ndarray(audiosegment): samples = audiosegment.get_array_of_samples() samples_float = librosa.util.buf_to_float(samples,n_bytes=2, dtype=np.float32) if audiosegment.channels==2: sample_left= np.copy(samples_float[::2]) sample_right= np.copy(samples_float[1::2]) sample_all = np.array([sample_left,sample_right]) else: sample_all = samples_float return [sample_all,audiosegment.frame_rate]