README.md

August 12, 2025 ยท View on GitHub

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)

ComponentStatusNotes
Waveform Display๐ŸŸข EnhancedScrubbing, markers, optimized rendering
Multitrack System๐ŸŸข EnhancedFull controls, async loading
Editing Tools๐ŸŸข EnhancedUndo/redo, improved interaction
Project Management๐ŸŸข New.mmp format, autosave, templates
Error Handling๐ŸŸข NewLogging, dialogs, recovery
Performance Monitor๐ŸŸข NewRealtime CPU/memory usage
Exporting๐ŸŸก FunctionalSupports WAV, MP3, AAC, FLAC
Playback๐ŸŸก EnhancedReal-time, multitrack improvements
UI/UX๐ŸŸข EnhancedShortcuts, responsiveness, polish

๐Ÿ“ธ Interface Preview

๐Ÿ”น New Icon

Icon

๐Ÿ”น General UI

General UI

๐Ÿ”น Effects Options

Effects Options

๐Ÿ”น Quick Effects Menu

Quick Effects

๐Ÿ”น Audio Effects Studio

Audio Effects Audio Effects 2 Audio Effects 3

๐Ÿ”น File & Edit Menus

File Options Edit Options

๐Ÿ”น View Menu

View Options View Options 2 View Options 3

๐Ÿ”น Shortcuts & About

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

๐Ÿš€ Installation

  1. Clone the repository:
git clone https://github.com/Ivan-Ayub97/MetroMuse-AudioEditor.git
cd MetroMuse
  1. Install required Python packages:
pip install -r requirements.txt
  1. Install ffmpeg (Windows):
winget install ffmpeg

Then, copy ffmpeg.exe, ffprobe.exe, and ffplay.exe into the resources/ folder.


๐ŸŽฎ Usage

Launch the App

python src/metro_muse.py

๐Ÿ—‚๏ธ Project Shortcuts

ActionShortcut
New ProjectCtrl+N
Open ProjectCtrl+Shift+O
Save ProjectCtrl+S
Save AsCtrl+Shift+S

๐ŸŽง Audio Tasks

ActionShortcut / Action
Import AudioCtrl+O / Drag-and-drop / "Import Audio"
Export AudioCtrl+E
Add Track"+ Add Track"
Delete TrackClick "โœ•" in header

โฏ Playback Controls

ActionShortcut
Play/PauseSpacebar
StopEsc
RewindHome
Fast ForwardEnd
ScrubClick + Drag Waveform

โœ‚๏ธ Edit Commands

ActionShortcut
CutCtrl+X
CopyCtrl+C
PasteCtrl+V
UndoCtrl+Z
RedoCtrl+Y
ActionShortcut
Zoom InCtrl++ / Wheel Up
Zoom OutCtrl+- / 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 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


๐Ÿ‘ค Author

Ivรกn Eduardo Chavez Ayub ๐Ÿ”— GitHub ๐Ÿ“ง 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.