def main(path): settings = json.load(open('settings.json')) a = Audio(filename=path, input_device_index=settings['audio']['input_device_index'], output_device_index=settings['audio']['output_device_index'], rate=settings['audio']['rate'], audio_format=settings['audio']['audio_format'], min_seconds=settings['audio']['min_seconds'], max_seconds=settings['audio']['max_seconds'], volume=settings['audio']['volume']) record_thread = threading.Thread(target=record_audio, args=(a, ), daemon=True) record_thread.start() threading.Thread(target=stop_handler, args=(a, ), daemon=True).start() record_thread.join() a.close_stream() sys.exit(1)