use strict; use warnings; use Audio::FindChunks; my @min_silence_sec_list = map { $_/100 } (0..50); my @min_signal_sec_list = map { $_/100 } (0..50); my @above_thres_window_list = (0,1,2,3,4); open( my $CSV_FH, ">", "split_results.csv") or die $!; for my $min_silence_sec ( @min_silence_sec_list ) { for my $min_signal_sec ( @min_signal_sec_list ) { for my $above_thres_window ( @above_thres_window_list ) { Audio::FindChunks->new(filename => 'bere.mp3', min_silence_sec => $min_silence_sec, min_signal_sec => $min_signal_sec, above_thres_window => $above_thres_window)->split_file(); my @split_mp3_files = glob("*_bere.mp3"); my $num_chunks = scalar(@split_mp3_files); unlink(@split_mp3_files); if( $num_chunks == 7 ) { print $CSV_FH "$min_silence_sec;$min_signal_sec;$above_thres_window\n"; } } } } close($CSV_FH);