https://github.com/ivan-ayub97/metromuse-audioeditor
A modern audio editor with multitrack capabilities, enhanced waveform visualization, and an intuitive, sleek interface.
https://github.com/ivan-ayub97/metromuse-audioeditor
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 year 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-audioeditor
- Owner: Ivan-Ayub97
- License: mit
- Created: 2025-04-28T11:06:24.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-28T11:42:45.000Z (about 1 year ago)
- Last Synced: 2025-04-28T12:31:28.193Z (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: 2.41 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- 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
# 
## MetroMuse โ Audio Editor
**Version 0.10.0 (INCOMPLETE BETA)**
> โ ๏ธ **Disclaimer:** MetroMuse is currently in beta. Some features may be incomplete, unstable, or under development.
A **modern, cross-platform audio editor** with multitrack capabilities, enhanced waveform visualization, and an intuitive, sleek interface.
---
## ๐ธ Preview

---
## ๐ค Contributing
MetroMuse is open source and welcomes contributors! You can help by:
- Reporting issues
- Improving existing features
- Refactoring code
- Designing UI components
- Translating to other languages
---
## โจ Features
### ๐๏ธ Multitrack Support
- Manage multiple audio tracks effortlessly
- Solo, mute, and volume control per track
- Individual color coding and track organization
- Synchronized playback across all tracks
- Easy track naming and management
### ๐ Enhanced Waveform Visualization
- Interactive, zoomable waveform display
- Adaptive time grids and markers
- Real-time amplitude monitoring
- Smooth zoom, scroll, and scrubbing functionality
### โ๏ธ Audio Editing Tools
- Cut, copy, paste with precision
- Selection-based and track-specific editing
- Multiple undo/redo levels
- Non-destructive editing workflow
### ๐๏ธ Audio Effects
- Volume gain adjustment
- Fade-in and fade-out effects
- Real-time effect preview
- Per-track parameter control
### โถ๏ธ Advanced Playback
- Synchronized multi-track playback
- Real-time scrubbing and position tracking
- Solo/mute functionality for detailed mixing
### ๐จ Modern Interface
- Dark theme with accent color highlights
- Large, accessible UI elements (48x48px)
- Collapsible panels and intuitive navigation
- Enhanced visual feedback
### ๐พ File Format Support
- Import and export: WAV, FLAC, MP3, AAC
- Drag-and-drop audio importing
- Recent files management
- Display of file metadata and information
### ๐ง Under-the-Hood Technical Features
- Sample-accurate editing
- High-quality multi-channel audio processing
- Real-time waveform updates
- Efficient rendering pipeline
---
## ๐ ๏ธ Development Status (v0.10.0)
| Component | Status | Notes |
| ---------------- | ------------- | ------------------------------------------------- |
| Waveform Display | ๐ก Functional | Includes scrubbing, time grid, and markers |
| Multitrack | ๐ก Functional | Fully functional with controls and organization |
| Editing Tools | ๐ก Functional | Basic editing tools with undo/redo support |
| Exporting | ๐ก Functional | WAV, FLAC, MP3, AAC export supported |
| Playback | ๐ก Functional | Synchronized, real-time multitrack playback |
| UI/UX | ๐ก Functional | Dark-themed, responsive interface |
---
## ๐๏ธ Project Structure
```
MetroMuse/
โ
โโโ src/
โ โโโ metro_muse.py # Main application
โ โโโ track_manager.py # Multitrack management
โ โโโ track_renderer.py # Waveform rendering
โ โโโ styles.qss # UI styling (QSS format)
โ โโโ icon.png # App icon (PNG)
โ โโโ icon.ico # App icon (ICO for Windows)
โ
โโโ resources/
โ โโโ ffmpeg.exe # Audio processing binary
โ โโโ ffprobe.exe # Media analysis binary
โ โโโ ffplay.exe # Audio playback binary
โ
โโโ requirements.txt # Python dependencies list
โโโ README.md # Project documentation
```
---
## ๐ฆ Dependencies
- **PyQt5** โ GUI framework
- **numpy** โ Audio processing
- **matplotlib** โ Waveform visualization
- **pydub** โ Audio file handling
- **librosa** โ Audio analysis
- **sounddevice** โ Audio playback
- **qtsvg** โ SVG icon support
- **python-qss** โ Stylesheet management
- **PyQt5-stubs** โ Type hinting for PyQt5
- **ffmpeg** (external) โ Media processing (MP3, AAC, FLAC support)
---
## ๐ Installation
1. Clone the repository:
```bash
git clone https://github.com/Ivan-Ayub97/MetroMuse-AudioEditor.git
cd MetroMuse
```
2. Install Python dependencies:
```bash
pip install -r requirements.txt
```
3. Install **ffmpeg**:
- **Windows**:
```bash
winget install ffmpeg
```
Or manually place `ffmpeg.exe`, `ffprobe.exe`, and `ffplay.exe` inside the `resources/` folder.
- **macOS**:
```bash
brew install ffmpeg
```
- **Linux**:
```bash
sudo apt install ffmpeg
```
---
## ๐ฎ Usage Guide
Run MetroMuse:
```bash
python src/metro_muse.py
```
### Key Operations
| Action | Shortcut/Action |
| ----------------- | ------------------------------- |
| Add Track | "+ Add Track" button |
| Import Audio | "Import Audio" button / Drag-and-drop |
| Delete Track | Click "โ" on track header |
| Play/Pause | Spacebar |
| Stop Playback | Esc |
| Rewind | Home key |
| Fast Forward | End key |
| Scrub | Click and drag on waveform |
| Zoom In/Out | Mouse Wheel / Ctrl + Mouse Wheel |
| Pan View | Arrow keys |
---
## ๐ฅ Planned Features
- Spectrum analysis view
- Additional effects: echo, reverb, equalization
- VST plugin support
- Project saving and loading
- Track automation features
- Improved error handling
- In-app user guides and onboarding dialogs
---
## โ ๏ธ Known Issues
- Exporting may fail if **ffmpeg** is not correctly configured
- Some audio effects (echo, reverb) are under active development
- VST plugin support is pending implementation
- Project saving/loading is not yet functional
---
## ๐ป System Requirements
- **Python**: 3.7 or higher
- **External Tools**: ffmpeg (must be installed or included in `resources/`)
- **All listed dependencies** (see [Dependencies](#-dependencies))
---
## ๐ License
This project is licensed under the **[MIT License](LICENSE)**.
---
## ๐จโ๐ป Author
- **Developer**: [Ivรกn Eduardo Chavez Ayub](https://github.com/Ivan-Ayub97)
- **Contact**:
- **Technologies**: Python 3, PyQt5, pydub, librosa
---
## ๐ Why MetroMuse?
Because **sometimes you just need a simple, powerful editor that works**.
MetroMuse is built to provide a **clean, accessible** environment for audio editingโ**open-source, evolving**, and designed with a focus on **what matters most to creators**.