def test_default_windowsize(self): num_samples = 1000 one_track = MonoAudioWave([1] * num_samples, 44000) hanned = one_track.transform(HanningWindow()) for idx, value in enumerate(hanned.samples): self.assertAlmostEqual(hanning(num_samples)[idx], value, places=2)
def test_peak_from_below(self): sine_track = MonoAudioWave(np.sin(np.linspace(0, 1000, 10000)), 44000) # Normalized initialization self.assertAlmostEqual(max(abs(sine_track.samples)), 1, places=1) # Reduce to half-scale sine_track.samples /= 2 self.assertAlmostEqual(max(abs(sine_track.samples)), 0.5, places=1) # Normalize again sine_track = sine_track.transform(PeakNormalizer()) self.assertAlmostEqual(max(abs(sine_track.samples)), 1, places=1)
def test_peak_from_above(self): sine_track = MonoAudioWave(np.sin(np.linspace(0, 1000, 10000)), 44000) # Normalized initialization self.assertAlmostEqual(max(abs(sine_track.samples)), 1, places=1) # Amplify to double-cale sine_track.samples = sine_track.samples * 2 self.assertAlmostEqual(max(abs(sine_track.samples)), 2, places=1) # Normalize again sine_track = sine_track.transform(PeakNormalizer()) self.assertAlmostEqual(max(abs(sine_track.samples)), 1, places=1)
def test_peak_from_above(self): sine_track = MonoAudioWave(np.sin(np.linspace(0, 1000, 10000)), 44000) # Normalize to 3dB -> factor 2 amplitude increase sine_track = sine_track.transform(RmsNormalizer(2)) self.assertAlmostEqual(rms(sine_track.samples), 2, places=1)
def test_rms_from_above(self): sine_track = MonoAudioWave(np.sin(np.linspace(0, 1000, 10000)), 44000) sine_track = sine_track.transform(RmsNormalizer(0.5)) self.assertAlmostEqual(rms(sine_track.samples), 0.5, places=1)