https://github.com/ivan-ayub97/metromuse-pyaudioeditor
A modern audio editor with multitrack capabilities, enhanced waveform visualization, and an intuitive, sleek interface.
https://github.com/ivan-ayub97/metromuse-pyaudioeditor
audio audio-analysis audio-player audio-processing audio-visualizer audioediting editor editor-tool ffmpeg ffmpeg-gui ffprobe pyqt5 pyqt5-desktop-application python waveform
Last synced: about 1 month ago
JSON representation
A modern audio editor with multitrack capabilities, enhanced waveform visualization, and an intuitive, sleek interface.
- Host: GitHub
- URL: https://github.com/ivan-ayub97/metromuse-pyaudioeditor
- Owner: Ivan-Ayub97
- License: mit
- Created: 2025-04-28T11:06:24.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-13T06:38:40.000Z (about 1 year ago)
- Last Synced: 2025-06-13T07:35:41.384Z (about 1 year ago)
- Topics: audio, audio-analysis, audio-player, audio-processing, audio-visualizer, audioediting, editor, editor-tool, ffmpeg, ffmpeg-gui, ffprobe, pyqt5, pyqt5-desktop-application, python, waveform
- Language: Python
- Homepage:
- Size: 5.63 MB
- Stars: 6
- Watchers: 1
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# 
### Version 0.12.0 โ *INCOMPLETE BETA*
> โ ๏ธ **Disclaimer:** *MetroMuse is currently in beta. Some features may be incomplete, unstable, or under development.*
---
## ๐ต What is MetroMuse?
**MetroMuse** is a **modern, cross-platform audio editor** featuring:
* Multitrack capabilities
* Enhanced waveform visualization
* An intuitive, sleek interface built for creators
---
## โจ Features Overview
### ๐๏ธ Multitrack Support
* Solo, mute, and volume per track
* Color coding & track naming
* Synchronized playback
* **NEW:** Asynchronous audio loading
* **NEW:** Optimized waveform rendering
### ๐ Waveform Visualization
* Zoomable, interactive display
* Adaptive time grids & real-time amplitude
* **NEW:** Automatic downsampling
* **NEW:** Performance-based detail levels
### โ๏ธ Editing Tools
* Cut, copy, paste with precision
* Non-destructive edits & track-specific editing
* **NEW:** Enhanced keyboard shortcuts
* **NEW:** Improved error recovery
### ๐พ Project System
* **NEW:** `.mmp` project save/load
* **NEW:** Recent projects manager
* **NEW:** Auto-save & change tracking
* **NEW:** Project templates/presets
### ๐ง Performance Monitoring
* **NEW:** Real-time CPU/RAM usage
* **NEW:** Quality/Performance modes
* **NEW:** System optimization engine
### ๐ก๏ธ Error Handling
* **NEW:** Detailed logging system
* **NEW:** User-friendly error dialogs
* **NEW:** Auto recovery & warning prompts
### ๐๏ธ Audio Effects
* Volume, fade in/out, preview in real-time
* Per-track effect control
### โถ๏ธ Playback
* Scrubbing & synced playback
* **NEW:** Optimized multitrack engine
### ๐จ UI/UX
* Dark theme, high-contrast icons (48ร48 px)
* **NEW:** Context-aware window title
* **NEW:** Streamlined shortcuts
### ๐พ File Formats
* Supports WAV, MP3, AAC, FLAC
* Drag-and-drop audio + metadata support
* **NEW:** Better format handling
### โ๏ธ Technical Highlights
* Sample-accurate editing
* Real-time waveform rendering
* **NEW:** Memory-efficient processing
* **NEW:** Background tasking
* **NEW:** Smart resource management
---
## ๐ ๏ธ Development Status (v0.12.0)
| 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 |
---
## ๐ธ Interface Preview
### ๐น New Icon

### ๐น General UI

### ๐น Effects Options

### ๐น Quick Effects Menu

### ๐น Audio Effects Studio



### ๐น File & Edit Menus


### ๐น View Menu



### ๐น Shortcuts & About


---
## ๐ฆ Dependencies
### Core Libraries
* `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)
### Optional Enhancements
* `psutil` (>=5.8.0) โ system monitoring
* `PyQt5-stubs` โ for development with type hinting
### External Tools
* **ffmpeg** โ for MP3, AAC, FLAC support
* Windows: binaries included in `resources/`
* Linux/macOS: install via package manager or [ffmpeg.org](https://ffmpeg.org)
---
## ๐ Installation
1. **Clone the repository:**
```bash
git clone https://github.com/Ivan-Ayub97/MetroMuse-AudioEditor.git
cd MetroMuse
```
2. **Install required Python packages:**
```bash
pip install -r requirements.txt
```
3. **Install ffmpeg (Windows):**
```bash
winget install ffmpeg
```
Then, copy `ffmpeg.exe`, `ffprobe.exe`, and `ffplay.exe` into the `resources/` folder.
---
## ๐ฎ Usage
### Launch the App
```bash
python src/metro_muse.py
```
### ๐๏ธ Project Shortcuts
| Action | Shortcut |
| ------------ | ------------ |
| New Project | Ctrl+N |
| Open Project | Ctrl+Shift+O |
| Save Project | Ctrl+S |
| Save As | Ctrl+Shift+S |
### ๐ง Audio Tasks
| 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 |
### โฏ Playback Controls
| Action | Shortcut |
| ------------ | --------------------- |
| Play/Pause | Spacebar |
| Stop | Esc |
| Rewind | Home |
| Fast Forward | End |
| Scrub | Click + Drag Waveform |
### โ๏ธ Edit Commands
| Action | Shortcut |
| ------ | -------- |
| Cut | Ctrl+X |
| Copy | Ctrl+C |
| Paste | Ctrl+V |
| Undo | Ctrl+Z |
| Redo | Ctrl+Y |
### ๐งญ Navigation
| Action | Shortcut |
| --------- | ------------------- |
| Zoom In | Ctrl++ / Wheel Up |
| Zoom Out | Ctrl+- / Wheel Down |
| Pan Left | โ Arrow |
| Pan Right | โ Arrow |
---
## ๐ฅ Recent Enhancements (v0.12.0)
* โ
`.mmp` project 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
---
## ๐ง Upcoming Features
* Spectrum analyzer
* VST plugin support
* Track automation
* MIDI input
* Recording interface
* Effect chain manager
* Export profiles/settings
* In-app guides/tutorials
* Full theme customization
---
## โ ๏ธ Known Issues
* Exporting fails if `ffmpeg` isnโ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
---
## ๐ป System Requirements
* **Python**: 3.7+
* **FFmpeg**: Installed or placed in `resources/`
* See [Dependencies](#-dependencies) section above
---
## ๐๏ธ Project Structure
```
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
```
---
## ๐ค Contributions
We welcome your help to improve MetroMuse!
1. Fork the repo
2. Create a new branch for your feature or fix
3. Submit a **pull request** with a clear description
๐ฌ Bug reports, ideas, or questions?
๐ง Contact: [negroayub97@gmail.com](mailto:negroayub97@gmail.com)
---
## ๐ค Author
**Ivรกn Eduardo Chavez Ayub**
๐ [GitHub](https://github.com/Ivan-Ayub97)
๐ง [negroayub97@gmail.com](mailto:negroayub97@gmail.com)
๐ ๏ธ Python, PyQt5, pydub, librosa
---
## ๐ Why MetroMuse?
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.