⚠️ Disclaimer: MetroMuse is currently in beta. Some features may be incomplete, unstable, or under development.
MetroMuse is a modern, cross-platform audio editor featuring:
- Multitrack capabilities
- Enhanced waveform visualization
- An intuitive, sleek interface built for creators
- Solo, mute, and volume per track
- Color coding & track naming
- Synchronized playback
- NEW: Asynchronous audio loading
- NEW: Optimized waveform rendering
- Zoomable, interactive display
- Adaptive time grids & real-time amplitude
- NEW: Automatic downsampling
- NEW: Performance-based detail levels
- Cut, copy, paste with precision
- Non-destructive edits & track-specific editing
- NEW: Enhanced keyboard shortcuts
- NEW: Improved error recovery
- NEW:
.mmpproject save/load - NEW: Recent projects manager
- NEW: Auto-save & change tracking
- NEW: Project templates/presets
- NEW: Real-time CPU/RAM usage
- NEW: Quality/Performance modes
- NEW: System optimization engine
- NEW: Detailed logging system
- NEW: User-friendly error dialogs
- NEW: Auto recovery & warning prompts
- Volume, fade in/out, preview in real-time
- Per-track effect control
- Scrubbing & synced playback
- NEW: Optimized multitrack engine
- Dark theme, high-contrast icons (48×48 px)
- NEW: Context-aware window title
- NEW: Streamlined shortcuts
- Supports WAV, MP3, AAC, FLAC
- Drag-and-drop audio + metadata support
- NEW: Better format handling
- Sample-accurate editing
- Real-time waveform rendering
- NEW: Memory-efficient processing
- NEW: Background tasking
- NEW: Smart resource management
| Component | Status | Notes |
|---|---|---|
| Waveform Display | 🟢 Enhanced | Scrubbing, markers, optimized rendering |
| Multitrack System | 🟢 Enhanced | Full controls, async loading |
| Editing Tools | 🟢 Enhanced | Undo/redo, improved interaction |
| Project Management | 🟢 New | .mmp format, autosave, templates |
| Error Handling | 🟢 New | Logging, dialogs, recovery |
| Performance Monitor | 🟢 New | Realtime CPU/memory usage |
| Exporting | 🟡 Functional | Supports WAV, MP3, AAC, FLAC |
| Playback | 🟡 Enhanced | Real-time, multitrack improvements |
| UI/UX | 🟢 Enhanced | Shortcuts, responsiveness, polish |
PyQt5(>=5.15.0)numpy(>=1.21.0)matplotlib(>=3.5.0)pydub(>=0.25.0)librosa(>=0.9.0)sounddevice(>=0.4.0)scipy(>=1.7.0)
psutil(>=5.8.0) — system monitoringPyQt5-stubs— for development with type hinting
-
ffmpeg — for MP3, AAC, FLAC support
- Windows: binaries included in
resources/ - Linux/macOS: install via package manager or ffmpeg.org
- Windows: binaries included in
- Clone the repository:
git clone https://github.com/Ivan-Ayub97/MetroMuse-AudioEditor.git
cd MetroMuse- Install required Python packages:
pip install -r requirements.txt- Install ffmpeg (Windows):
winget install ffmpegThen, copy ffmpeg.exe, ffprobe.exe, and ffplay.exe into the resources/ folder.
python src/metro_muse.py| Action | Shortcut |
|---|---|
| New Project | Ctrl+N |
| Open Project | Ctrl+Shift+O |
| Save Project | Ctrl+S |
| Save As | Ctrl+Shift+S |
| Action | Shortcut / Action |
|---|---|
| Import Audio | Ctrl+O / Drag-and-drop / "Import Audio" |
| Export Audio | Ctrl+E |
| Add Track | "+ Add Track" |
| Delete Track | Click "✕" in header |
| Action | Shortcut |
|---|---|
| Play/Pause | Spacebar |
| Stop | Esc |
| Rewind | Home |
| Fast Forward | End |
| Scrub | Click + Drag Waveform |
| Action | Shortcut |
|---|---|
| Cut | Ctrl+X |
| Copy | Ctrl+C |
| Paste | Ctrl+V |
| Undo | Ctrl+Z |
| Redo | Ctrl+Y |
| Action | Shortcut |
|---|---|
| Zoom In | Ctrl++ / Wheel Up |
| Zoom Out | Ctrl+- / Wheel Down |
| Pan Left | ← Arrow |
| Pan Right | → Arrow |
- ✅
.mmpproject format with full save/load - ✅ Auto-save with tracking
- ✅ Detailed error logging
- ✅ Real-time performance monitor
- ✅ Async audio file handling
- ✅ Memory-optimized waveform renderer
- ✅ Shortcut improvements
- Spectrum analyzer
- VST plugin support
- Track automation
- MIDI input
- Recording interface
- Effect chain manager
- Export profiles/settings
- In-app guides/tutorials
- Full theme customization
- Exporting fails if
ffmpegisn’t properly set up - Echo/reverb effect modules still in progress
- No VST support yet
- Performance dips with large files (>500MB)
- Preview lag possible on low-spec hardware
- Python: 3.7+
- FFmpeg: Installed or placed in
resources/ - See Dependencies section above
MetroMuse/
├── Captures/ # Screenshots of the interface
│ └── ...
│
├── src/ # Main source code
│ ├── metro_muse.py # Main entry point
│ ├── audio_effects.py # Audio processing effects
│ ├── error_handler.py # Error handling utilities
│ ├── performance_monitor.py # Performance tracking
│ ├── project_manager.py # Project loading/saving logic
│ ├── track_manager.py # Handles audio tracks
│ ├── track_renderer.py # Track visualization or rendering
│ ├── ui_manager.py # GUI management
│ ├── styles.qss # Qt Style Sheet
│ ├── icon.png # App icon (PNG)
│ └── icon.ico # App icon (ICO)
│
├── resources/ # Bundled third-party binaries
│ ├── ffmpeg.exe
│ ├── ffplay.exe
│ └── ffprobe.exe
│
├── requirements.txt # Python dependencies
├── README.md # Project overview
├── CHANGELOG.md # Version history
├── LICENSE # License information
├── CODE_OF_CONDUCT.md # Contributor behavior guidelines
├── CONTRIBUTING.md # Guidelines for contributing
└── SECURITY.md # Security policies and contact
---
We welcome your help to improve MetroMuse!
- Fork the repo
- Create a new branch for your feature or fix
- Submit a pull request with a clear description
💬 Bug reports, ideas, or questions? 📧 Contact: negroayub97@gmail.com
Iván Eduardo Chavez Ayub 🔗 GitHub 📧 negroayub97@gmail.com 🛠️ Python, PyQt5, pydub, librosa
Because sometimes you just need a simple, powerful editor that works. MetroMuse is built with focus, clarity, and creativity in mind — open-source, evolving, and creator-driven.













