예제 #1
0
def load_audio(audio_path, del_silence):
    sound = np.memmap(audio_path, dtype='h', mode='r').astype('float32')

    if del_silence:
        non_silence_indices = split(sound, top_db=30)
        sound = np.concatenate([sound[start:end] for start, end in non_silence_indices])

    sound /= 32767  # normalize audio
    return sound
예제 #2
0
    def extract_noise(self, audio_path):
        try:
            signal = np.memmap(audio_path, dtype='h', mode='r').astype('float32')
            non_silence_indices = split(signal, top_db=30)

            for (start, end) in non_silence_indices:
                signal[start:end] = 0

            noise = signal[signal != 0]
            return noise / 32767

        except RuntimeError:
            logger.info("RuntimeError in {0}".format(audio_path))
            return None

        except ValueError:
            logger.info("RuntimeError in {0}".format(audio_path))
            return None