diff --git a/reaper/batch_reaper.py b/reaper/batch_reaper.py index 3573c1c..28c3296 100644 --- a/reaper/batch_reaper.py +++ b/reaper/batch_reaper.py @@ -7,7 +7,8 @@ output_directory = r'' -def analyze_directory(data_directory, reaper_path = None, output_directory = None): +def analyze_directory(data_directory, reaper_path = None, output_directory = None, + min_pitch = 80, max_pitch = 600, time_step = 0.005): if reaper_path is None: reaper_path = 'reaper' elif not os.path.exists(reaper_path): @@ -37,7 +38,10 @@ def analyze_directory(data_directory, reaper_path = None, output_directory = Non os.makedirs(new_root) output_path = os.path.join(new_root, base_name + '.f0') pm_path = os.path.join(new_root, base_name + '.pm') - subprocess.call([reaper_path, '-i', wav_path, '-f', output_path, '-p', pm_path, '-a']) + subprocess.call([reaper_path, '-i', wav_path, '-f', + output_path, '-p', pm_path, '-a', + '-e', str(time_step), '-u', str(time_step), + '-x', str(max_pitch), '-m', str(min_pitch)]) processed += 1 if __name__ == '__main__': diff --git a/reaper/command_line/batch_reaper.py b/reaper/command_line/batch_reaper.py index 1691da7..293fbad 100644 --- a/reaper/command_line/batch_reaper.py +++ b/reaper/command_line/batch_reaper.py @@ -12,6 +12,9 @@ def main(): parser.add_argument('data_directory', help='Full path to wav files') parser.add_argument('-r', '--reaper_path', default = '', type=str, help='Path to reaper binary if not on path') parser.add_argument('-o', '--output_directory', default='', type=str, help='Directory to save output if not with the wav files') + parser.add_argument('-t', '--time_step', default=0.001, type=float, help='Interval between pitch marks') + parser.add_argument('-x', '--max_pitch', default=600, type=int, help='Maximum pitch (in Hz) to look for') + parser.add_argument('-m', '--min_pitch', default=80, type=int, help='Minimum pitch (in Hz) to look for') args = parser.parse_args() @@ -23,7 +26,17 @@ def main(): output = args.output_directory if output == '': output = None - analyze_directory(data, reaper, output) + kwargs = {} + step = args.time_step + if step: + kwargs['time_step'] = step + mp = args.max_pitch + if mp: + kwargs['max_pitch'] = mp + mp = args.min_pitch + if mp: + kwargs['min_pitch'] = mp + analyze_directory(data, reaper, output, **kwargs) if __name__ == '__main__':