Jovo Audio Converter -

# Load audio print(f"Loading input_path...") try: audio = AudioSegment.from_file(input_path, format=input_ext) except Exception as e: print(f"Error loading file: e") return False

# Output path base_name = os.path.splitext(os.path.basename(input_path))[0] output_name = f"base_name_converted.output_format" if output_dir: os.makedirs(output_dir, exist_ok=True) output_path = os.path.join(output_dir, output_name) else: output_path = output_name jovo audio converter

self.status_label.config(text=f"Done! Saved to out_path", fg="green") messagebox.showinfo("Success", f"Conversion complete!\nout_path") # Load audio print(f"Loading input_path

thread = threading.Thread(target=self.convert) thread.start() exist_ok=True) output_path = os.path.join(output_dir

self.input_file = tk.StringVar() self.output_format = tk.StringVar(value="mp3") self.bitrate = tk.StringVar(value="192k") self.output_dir = tk.StringVar()

for file in files: input_path = os.path.join(input_dir, file) convert_audio(input_path, output_format, bitrate, output_dir) def main(): parser = argparse.ArgumentParser(description="Jovo Audio Converter") parser.add_argument("input", help="Input file or directory (for batch)") parser.add_argument("output_format", choices=SUPPORTED_FORMATS, help="Target format") parser.add_argument("--bitrate", default="192k", help="Bitrate (e.g., 128k, 320k)") parser.add_argument("--output_dir", help="Output directory (optional)") parser.add_argument("--batch", action="store_true", help="Batch convert all audio in input directory")