{"id":29138626,"url":"https://github.com/ivan-ayub97/metromuse-pyaudioeditor","last_synced_at":"2026-05-23T02:31:52.486Z","repository":{"id":290360447,"uuid":"974168537","full_name":"Ivan-Ayub97/MetroMuse-PyAudioEditor","owner":"Ivan-Ayub97","description":"A modern audio editor with multitrack capabilities, enhanced waveform visualization, and an intuitive, sleek interface.","archived":false,"fork":false,"pushed_at":"2025-06-13T06:38:40.000Z","size":5903,"stargazers_count":6,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-13T07:35:41.384Z","etag":null,"topics":["audio","audio-analysis","audio-player","audio-processing","audio-visualizer","audioediting","editor","editor-tool","ffmpeg","ffmpeg-gui","ffprobe","pyqt5","pyqt5-desktop-application","python","waveform"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Ivan-Ayub97.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-28T11:06:24.000Z","updated_at":"2025-06-13T06:38:43.000Z","dependencies_parsed_at":"2025-04-28T12:31:42.794Z","dependency_job_id":"37f73c8f-da5a-4886-a997-914880023a6e","html_url":"https://github.com/Ivan-Ayub97/MetroMuse-PyAudioEditor","commit_stats":null,"previous_names":["ivan-ayub97/metromuse-audioeditor","ivan-ayub97/metromuse-pyaudioeditor-","ivan-ayub97/metromuse-pyaudioeditor"],"tags_count":1,"template":true,"template_full_name":null,"purl":"pkg:github/Ivan-Ayub97/MetroMuse-PyAudioEditor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ivan-Ayub97%2FMetroMuse-PyAudioEditor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ivan-Ayub97%2FMetroMuse-PyAudioEditor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ivan-Ayub97%2FMetroMuse-PyAudioEditor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ivan-Ayub97%2FMetroMuse-PyAudioEditor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ivan-Ayub97","download_url":"https://codeload.github.com/Ivan-Ayub97/MetroMuse-PyAudioEditor/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ivan-Ayub97%2FMetroMuse-PyAudioEditor/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262788745,"owners_count":23364399,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audio","audio-analysis","audio-player","audio-processing","audio-visualizer","audioediting","editor","editor-tool","ffmpeg","ffmpeg-gui","ffprobe","pyqt5","pyqt5-desktop-application","python","waveform"],"created_at":"2025-06-30T14:10:41.833Z","updated_at":"2026-05-23T02:31:52.479Z","avatar_url":"https://github.com/Ivan-Ayub97.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ![MetroMuse](Banner.png)\n\n\u003cdiv align=\"center\"\u003e\n \n### Version 0.12.0 — *INCOMPLETE BETA*\n\n\u003e ⚠️ **Disclaimer:** *MetroMuse is currently in beta. Some features may be incomplete, unstable, or under development.*\n\n---\n\n## 🎵 What is MetroMuse?\n\n**MetroMuse** is a **modern, cross-platform audio editor** featuring:\n\n* Multitrack capabilities\n* Enhanced waveform visualization\n* An intuitive, sleek interface built for creators\n\n---\n\n## ✨ Features Overview\n\n### 🎚️ Multitrack Support\n\n* Solo, mute, and volume per track\n* Color coding \u0026 track naming\n* Synchronized playback\n* **NEW:** Asynchronous audio loading\n* **NEW:** Optimized waveform rendering\n\n### 📊 Waveform Visualization\n\n* Zoomable, interactive display\n* Adaptive time grids \u0026 real-time amplitude\n* **NEW:** Automatic downsampling\n* **NEW:** Performance-based detail levels\n\n### ✂️ Editing Tools\n\n* Cut, copy, paste with precision\n* Non-destructive edits \u0026 track-specific editing\n* **NEW:** Enhanced keyboard shortcuts\n* **NEW:** Improved error recovery\n\n### 💾 Project System\n\n* **NEW:** `.mmp` project save/load\n* **NEW:** Recent projects manager\n* **NEW:** Auto-save \u0026 change tracking\n* **NEW:** Project templates/presets\n\n### 🔧 Performance Monitoring\n\n* **NEW:** Real-time CPU/RAM usage\n* **NEW:** Quality/Performance modes\n* **NEW:** System optimization engine\n\n### 🛡️ Error Handling\n\n* **NEW:** Detailed logging system\n* **NEW:** User-friendly error dialogs\n* **NEW:** Auto recovery \u0026 warning prompts\n\n### 🎛️ Audio Effects\n\n* Volume, fade in/out, preview in real-time\n* Per-track effect control\n\n### ▶️ Playback\n\n* Scrubbing \u0026 synced playback\n* **NEW:** Optimized multitrack engine\n\n### 🎨 UI/UX\n\n* Dark theme, high-contrast icons (48×48 px)\n* **NEW:** Context-aware window title\n* **NEW:** Streamlined shortcuts\n\n### 💾 File Formats\n\n* Supports WAV, MP3, AAC, FLAC\n* Drag-and-drop audio + metadata support\n* **NEW:** Better format handling\n\n### ⚙️ Technical Highlights\n\n* Sample-accurate editing\n* Real-time waveform rendering\n* **NEW:** Memory-efficient processing\n* **NEW:** Background tasking\n* **NEW:** Smart resource management\n\n---\n\n## 🛠️ Development Status (v0.12.0)\n\n| Component           | Status        | Notes                                   |\n| ------------------- | ------------- | --------------------------------------- |\n| Waveform Display    | 🟢 Enhanced   | Scrubbing, markers, optimized rendering |\n| Multitrack System   | 🟢 Enhanced   | Full controls, async loading            |\n| Editing Tools       | 🟢 Enhanced   | Undo/redo, improved interaction         |\n| Project Management  | 🟢 New        | `.mmp` format, autosave, templates      |\n| Error Handling      | 🟢 New        | Logging, dialogs, recovery              |\n| Performance Monitor | 🟢 New        | Realtime CPU/memory usage               |\n| Exporting           | 🟡 Functional | Supports WAV, MP3, AAC, FLAC            |\n| Playback            | 🟡 Enhanced   | Real-time, multitrack improvements      |\n| UI/UX               | 🟢 Enhanced   | Shortcuts, responsiveness, polish       |\n\n---\n\n## 📸 Interface Preview\n\n### 🔹 New Icon\n\n![Icon](src/icon.ico)\n\n### 🔹 General UI\n\n![General UI](Captures/General_UI.png)\n\n### 🔹 Effects Options\n\n![Effects Options](Captures/Effects_Options.png)\n\n### 🔹 Quick Effects Menu\n\n![Quick Effects](Captures/Quick_Effects.png)\n\n### 🔹 Audio Effects Studio\n\n![Audio Effects](Captures/Audio_Effects.png)\n![Audio Effects 2](Captures/Audio_Effects2.png)\n![Audio Effects 3](Captures/Audio_Effects3.png)\n\n### 🔹 File \u0026 Edit Menus\n\n![File Options](Captures/File_Options.png)\n![Edit Options](Captures/Edit_Options.png)\n\n### 🔹 View Menu\n\n![View Options](Captures/View_Options.png)\n![View Options 2](Captures/View_Options2.png.png)\n![View Options 3](Captures/View_Options3.png.png)\n\n### 🔹 Shortcuts \u0026 About\n\n![Shortcuts](Captures/Shortcuts_UI.png)\n![About](Captures/About_UI.png)\n\n---\n\n## 📦 Dependencies\n\n### Core Libraries\n\n* `PyQt5` (\u003e=5.15.0)\n* `numpy` (\u003e=1.21.0)\n* `matplotlib` (\u003e=3.5.0)\n* `pydub` (\u003e=0.25.0)\n* `librosa` (\u003e=0.9.0)\n* `sounddevice` (\u003e=0.4.0)\n* `scipy` (\u003e=1.7.0)\n\n### Optional Enhancements\n\n* `psutil` (\u003e=5.8.0) — system monitoring\n* `PyQt5-stubs` — for development with type hinting\n\n### External Tools\n\n* **ffmpeg** — for MP3, AAC, FLAC support\n\n  * Windows: binaries included in `resources/`\n  * Linux/macOS: install via package manager or [ffmpeg.org](https://ffmpeg.org)\n\n---\n\n## 🚀 Installation\n\n1. **Clone the repository:**\n\n```bash\ngit clone https://github.com/Ivan-Ayub97/MetroMuse-AudioEditor.git\ncd MetroMuse\n```\n\n2. **Install required Python packages:**\n\n```bash\npip install -r requirements.txt\n```\n\n3. **Install ffmpeg (Windows):**\n\n```bash\nwinget install ffmpeg\n```\n\nThen, copy `ffmpeg.exe`, `ffprobe.exe`, and `ffplay.exe` into the `resources/` folder.\n\n---\n\n## 🎮 Usage\n\n### Launch the App\n\n```bash\npython src/metro_muse.py\n```\n\n### 🗂️ Project Shortcuts\n\n| Action       | Shortcut     |\n| ------------ | ------------ |\n| New Project  | Ctrl+N       |\n| Open Project | Ctrl+Shift+O |\n| Save Project | Ctrl+S       |\n| Save As      | Ctrl+Shift+S |\n\n### 🎧 Audio Tasks\n\n| Action       | Shortcut / Action                       |\n| ------------ | --------------------------------------- |\n| Import Audio | Ctrl+O / Drag-and-drop / \"Import Audio\" |\n| Export Audio | Ctrl+E                                  |\n| Add Track    | \"+ Add Track\"                           |\n| Delete Track | Click \"✕\" in header                     |\n\n### ⏯ Playback Controls\n\n| Action       | Shortcut              |\n| ------------ | --------------------- |\n| Play/Pause   | Spacebar              |\n| Stop         | Esc                   |\n| Rewind       | Home                  |\n| Fast Forward | End                   |\n| Scrub        | Click + Drag Waveform |\n\n### ✂️ Edit Commands\n\n| Action | Shortcut |\n| ------ | -------- |\n| Cut    | Ctrl+X   |\n| Copy   | Ctrl+C   |\n| Paste  | Ctrl+V   |\n| Undo   | Ctrl+Z   |\n| Redo   | Ctrl+Y   |\n\n### 🧭 Navigation\n\n| Action    | Shortcut            |\n| --------- | ------------------- |\n| Zoom In   | Ctrl++ / Wheel Up   |\n| Zoom Out  | Ctrl+- / Wheel Down |\n| Pan Left  | ← Arrow             |\n| Pan Right | → Arrow             |\n\n---\n\n## 🔥 Recent Enhancements (v0.12.0)\n\n* ✅ `.mmp` project format with full save/load\n* ✅ Auto-save with tracking\n* ✅ Detailed error logging\n* ✅ Real-time performance monitor\n* ✅ Async audio file handling\n* ✅ Memory-optimized waveform renderer\n* ✅ Shortcut improvements\n\n---\n\n## 🚧 Upcoming Features\n\n* Spectrum analyzer\n* VST plugin support\n* Track automation\n* MIDI input\n* Recording interface\n* Effect chain manager\n* Export profiles/settings\n* In-app guides/tutorials\n* Full theme customization\n\n---\n\n## ⚠️ Known Issues\n\n* Exporting fails if `ffmpeg` isn’t properly set up\n* Echo/reverb effect modules still in progress\n* No VST support yet\n* Performance dips with large files (\u003e500MB)\n* Preview lag possible on low-spec hardware\n\n---\n\n## 💻 System Requirements\n\n* **Python**: 3.7+\n* **FFmpeg**: Installed or placed in `resources/`\n* See [Dependencies](#-dependencies) section above\n\n---\n\n## 🗂️ Project Structure\n\n\u003c/div\u003e\n\n```\nMetroMuse/\n├── Captures/                      # Screenshots of the interface\n│   └── ...                       \n│\n├── src/                           # Main source code\n│   ├── metro_muse.py             # Main entry point\n│   ├── audio_effects.py          # Audio processing effects\n│   ├── error_handler.py          # Error handling utilities\n│   ├── performance_monitor.py    # Performance tracking\n│   ├── project_manager.py        # Project loading/saving logic\n│   ├── track_manager.py          # Handles audio tracks\n│   ├── track_renderer.py         # Track visualization or rendering\n│   ├── ui_manager.py             # GUI management\n│   ├── styles.qss                # Qt Style Sheet\n│   ├── icon.png                  # App icon (PNG)\n│   └── icon.ico                  # App icon (ICO)\n│\n├── resources/                    # Bundled third-party binaries\n│   ├── ffmpeg.exe\n│   ├── ffplay.exe\n│   └── ffprobe.exe\n│\n├── requirements.txt              # Python dependencies\n├── README.md                     # Project overview\n├── CHANGELOG.md                  # Version history\n├── LICENSE                       # License information\n├── CODE_OF_CONDUCT.md           # Contributor behavior guidelines\n├── CONTRIBUTING.md              # Guidelines for contributing\n└── SECURITY.md                  # Security policies and contact\n\n```\n\u003cdiv align=\"center\"\u003e\n---\n\n## 🤝 Contributions\n\nWe welcome your help to improve MetroMuse!\n\n1. Fork the repo\n2. Create a new branch for your feature or fix\n3. Submit a **pull request** with a clear description\n\n💬 Bug reports, ideas, or questions?\n📧 Contact: [negroayub97@gmail.com](mailto:negroayub97@gmail.com)\n\n---\n\n## 👤 Author\n\n**Iván Eduardo Chavez Ayub**\n🔗 [GitHub](https://github.com/Ivan-Ayub97)\n📧 [negroayub97@gmail.com](mailto:negroayub97@gmail.com)\n🛠️ Python, PyQt5, pydub, librosa\n\n---\n\n## 🌟 Why MetroMuse?\n\nBecause sometimes you just need a **simple, powerful editor that works**.\n**MetroMuse** is built with **focus, clarity, and creativity in mind** — open-source, evolving, and creator-driven.\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fivan-ayub97%2Fmetromuse-pyaudioeditor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fivan-ayub97%2Fmetromuse-pyaudioeditor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fivan-ayub97%2Fmetromuse-pyaudioeditor/lists"}