Exemplo n.º 1
0
def test_multiply_volume():
    clip = AudioFileClip("media/crunching.mp3")
    clip_array = clip.to_soundarray()

    # stereo mute
    clip_muted = multiply_volume(clip, 0)

    left_channel_muted = clip_muted.to_soundarray()[:, 0]
    right_channel_muted = clip_muted.to_soundarray()[:, 1]

    z_channel = np.zeros(len(left_channel_muted))

    assert np.array_equal(left_channel_muted, z_channel)
    assert np.array_equal(right_channel_muted, z_channel)

    # stereo level doubled
    clip_doubled = multiply_volume(clip, 2)
    clip_doubled_array = clip_doubled.to_soundarray()
    left_channel_doubled = clip_doubled_array[:, 0]
    right_channel_doubled = clip_doubled_array[:, 1]
    expected_left_channel_doubled = clip_array[:, 0] * 2
    expected_right_channel_doubled = clip_array[:, 1] * 2

    assert np.array_equal(left_channel_doubled, expected_left_channel_doubled)
    assert np.array_equal(right_channel_doubled,
                          expected_right_channel_doubled)

    # mono muted
    sinus_wave = lambda t: [np.sin(440 * 2 * np.pi * t)]
    mono_clip = AudioClip(sinus_wave, duration=1, fps=22050)
    muted_mono_clip = multiply_volume(mono_clip, 0)
    mono_channel_muted = muted_mono_clip.to_soundarray()

    z_channel = np.zeros(len(mono_channel_muted))
    assert np.array_equal(mono_channel_muted, z_channel)

    mono_clip = AudioClip(sinus_wave, duration=1, fps=22050)
    doubled_mono_clip = multiply_volume(mono_clip, 2)
    mono_channel_doubled = doubled_mono_clip.to_soundarray()
    d_channel = mono_clip.to_soundarray() * 2
    assert np.array_equal(mono_channel_doubled, d_channel)

    close_all_clips(locals())
Exemplo n.º 2
0
def test_multiply_stereo_volume():
    clip = AudioFileClip("media/crunching.mp3")

    # mute
    clip_left_channel_muted = multiply_stereo_volume(clip, left=0)
    clip_right_channel_muted = multiply_stereo_volume(clip, right=0, left=2)

    left_channel_muted = clip_left_channel_muted.to_soundarray()[:, 0]
    right_channel_muted = clip_right_channel_muted.to_soundarray()[:, 1]

    z_channel = np.zeros(len(left_channel_muted))

    assert np.array_equal(left_channel_muted, z_channel)
    assert np.array_equal(right_channel_muted, z_channel)

    # double level
    left_channel_doubled = clip_right_channel_muted.to_soundarray()[:, 0]
    d_channel = clip.to_soundarray()[:, 0] * 2
    assert np.array_equal(left_channel_doubled, d_channel)

    # mono muted
    sinus_wave = lambda t: [np.sin(440 * 2 * np.pi * t)]
    mono_clip = AudioClip(sinus_wave, duration=2, fps=22050)
    muted_mono_clip = multiply_stereo_volume(mono_clip, left=0)
    mono_channel_muted = muted_mono_clip.to_soundarray()

    z_channel = np.zeros(len(mono_channel_muted))
    assert np.array_equal(mono_channel_muted, z_channel)

    # mono doubled
    mono_clip = AudioClip(sinus_wave, duration=2, fps=22050)
    doubled_mono_clip = multiply_stereo_volume(
        mono_clip, left=None, right=2
    )  # using right
    mono_channel_doubled = doubled_mono_clip.to_soundarray()
    d_channel = mono_clip.to_soundarray() * 2
    assert np.array_equal(mono_channel_doubled, d_channel)

    close_all_clips(locals())