Skip to content

Ivan-Ayub97/MetroMuse-PyAudioEditor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

57 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

MetroMuse

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

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

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 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: [email protected]


๐Ÿ‘ค Author

Ivรกn Eduardo Chavez Ayub ๐Ÿ”— GitHub ๐Ÿ“ง [email protected] ๐Ÿ› ๏ธ 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.

About

A modern audio editor with multitrack capabilities, enhanced waveform visualization, and an intuitive, sleek interface.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages