def test_audio_buffer_volume_filter(self): graph = Graph() self.link_nodes( graph.add_abuffer( format="fltp", sample_rate=48000, layout="stereo", time_base=Fraction(1, 48000), ), graph.add("volume", volume="0.5"), graph.add("abuffersink"), ) graph.configure() input_frame = generate_audio_frame(0, input_format="fltp", layout="stereo", sample_rate=48000) graph.push(input_frame) out_frame = graph.pull() self.assertEqual(out_frame.format.name, "fltp") self.assertEqual(out_frame.layout.name, "stereo") self.assertEqual(out_frame.sample_rate, 48000) input_data = input_frame.to_ndarray() output_data = out_frame.to_ndarray() self.assertTrue(np.allclose(input_data * 0.5, output_data), "Check that volume is reduced")
def test_audio_buffer_resample(self): graph = Graph() self.link_nodes( graph.add_abuffer( format="fltp", sample_rate=48000, layout="stereo", time_base=Fraction(1, 48000), ), graph.add( "aformat", "sample_fmts=s16:sample_rates=44100:channel_layouts=stereo"), graph.add("abuffersink"), ) graph.configure() graph.push( generate_audio_frame(0, input_format="fltp", layout="stereo", sample_rate=48000)) out_frame = graph.pull() self.assertEqual(out_frame.format.name, "s16") self.assertEqual(out_frame.layout.name, "stereo") self.assertEqual(out_frame.sample_rate, 44100)