Jovo Audio Converter May 2026
files = [f for f in os.listdir(input_dir) if f.split('.')[-1].lower() in SUPPORTED_FORMATS] if not files: print("No supported audio files found.") return
def browse_file(self): filepath = filedialog.askopenfilename(filetypes=[("Audio Files", f"*.' *.'.join(SUPPORTED_FORMATS)")]) if filepath: self.input_file.set(filepath)
# Output format tk.Label(self.root, text="Output Format:").pack(pady=5) format_menu = ttk.Combobox(self.root, textvariable=self.output_format, values=SUPPORTED_FORMATS, state="readonly") format_menu.pack(pady=5) jovo audio converter
def convert(self): self.convert_btn.config(state=tk.DISABLED) self.progress.start() self.status_label.config(text="Converting...")
# Progress bar self.progress = ttk.Progressbar(self.root, mode='indeterminate') self.progress.pack(pady=10, fill=tk.X, padx=20) files = [f for f in os
self.status_label.config(text=f"Done! Saved to out_path", fg="green") messagebox.showinfo("Success", f"Conversion complete!\nout_path")
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") help="Target format") parser.add_argument("--bitrate"
args = parser.parse_args()
