| 
					
				 | 
			
			
				@@ -249,6 +249,7 @@ def cli(): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     parser.add_argument("audio", nargs="+", type=str, help="audio file(s) to transcribe") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     parser.add_argument("--model", default="small", choices=available_models(), help="name of the Whisper model to use") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    parser.add_argument("--model_dir", type=str, default=None, help="the path to save model files; uses ~/.cache/whisper by default") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     parser.add_argument("--device", default="cuda" if torch.cuda.is_available() else "cpu", help="device to use for PyTorch inference") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     parser.add_argument("--output_dir", "-o", type=str, default=".", help="directory to save the outputs") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     parser.add_argument("--verbose", type=str2bool, default=True, help="whether to print out the progress and debug messages") 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -274,6 +275,7 @@ def cli(): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     args = parser.parse_args().__dict__ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     model_name: str = args.pop("model") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    model_dir: str = args.pop("model_dir") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     output_dir: str = args.pop("output_dir") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     device: str = args.pop("device") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     os.makedirs(output_dir, exist_ok=True) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -290,7 +292,7 @@ def cli(): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         temperature = [temperature] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     from . import load_model 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    model = load_model(model_name, device=device) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    model = load_model(model_name, device=device, download_root=model_dir) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     for audio_path in args.pop("audio"): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         result = transcribe(model, audio_path, temperature=temperature, **args) 
			 |