|
1 |
| -# yt-audio-workbench |
2 |
| -Reliability-first, cross-platform (Windows/macOS/Linux) Python GUI for yt-dlp + FFmpeg with optional MP3Gain. Turn YouTube videos & playlists into high-quality MP3 with proper ID3 tags, loudness normalization (ReplayGain), track joining with CUE sheets, robust tool checks, and multilingual support (i18n: EN/FR). |
| 1 | +# YT-Audio-Workbench |
| 2 | + |
| 3 | +> Reliability-first, cross-platform (Windows/macOS/Linux) Python GUI for yt-dlp + FFmpeg with optional MP3Gain. Turn YouTube videos & playlists into high-quality MP3 with proper ID3 tags, loudness normalization (ReplayGain), playlist/CUE options, robust tool checks, and multilingual support (i18n: EN/FR) support. |
| 4 | +
|
| 5 | +## Features |
| 6 | +- **Reliability-first pipeline**: robust tool checks, clear error messages, cancellable jobs, logs. |
| 7 | +- **Core/GUI split**: `workbench_core.py` (engine) + `yt_audio_backup_gui.py` (UI). |
| 8 | +- **yt-dlp + FFmpeg + (optional) MP3Gain**: downloads, converts, tags, and normalizes. |
| 9 | +- **High-quality MP3 output**: proper ID3 tags; ReplayGain/MP3Gain loudness normalization. |
| 10 | +- **Playlists**: build playlist files / album joins; optional CUE/chapters. |
| 11 | +- **Multilingual (i18n)**: language files in `lang/` (EN + FR); in-app language switch. |
| 12 | +- **Tooltips everywhere**: direct, translatable tips for all key widgets; configurable delay/wrap. |
| 13 | +- **Help & About**: localized dialogs, centered windows, diagnostics copy. |
| 14 | + |
| 15 | +## Install |
| 16 | +Requirements: |
| 17 | +- Python 3.10+ (3.11 recommended) |
| 18 | +- Tools: `yt-dlp`, `ffmpeg` (and optionally `mp3gain`) |
| 19 | + |
| 20 | +Windows (PowerShell): |
| 21 | +```powershell |
| 22 | +python -m venv .venv |
| 23 | +.\.venv\Scripts\Activate.ps1 |
| 24 | +pip install -r requirements.txt # if present; otherwise no external deps required |
| 25 | +``` |
| 26 | + |
| 27 | +Install tools (any of): |
| 28 | +- **WinGet**: `winget install Gyan.FFmpeg` and `winget install yt-dlp.yt-dlp` |
| 29 | +- **Chocolatey**: `choco install ffmpeg yt-dlp` |
| 30 | +- **Scoop**: `scoop install ffmpeg yt-dlp` |
| 31 | +- **MP3Gain** (optional): `choco install mp3gain` or download official installer |
| 32 | + |
| 33 | +macOS: |
| 34 | +```bash |
| 35 | +brew install ffmpeg yt-dlp mp3gain |
| 36 | +``` |
| 37 | + |
| 38 | +Linux (Debian/Ubuntu): |
| 39 | +```bash |
| 40 | +sudo apt install ffmpeg |
| 41 | +pipx install yt-dlp # or apt/ytdlp from your distro |
| 42 | +sudo apt install mp3gain # optional |
| 43 | +``` |
| 44 | + |
| 45 | +## Run |
| 46 | +```bash |
| 47 | +python yt_audio_backup_gui.py |
| 48 | +``` |
| 49 | + |
| 50 | +## Build (Windows) |
| 51 | +PyInstaller spec included: |
| 52 | +```powershell |
| 53 | +pip install pyinstaller |
| 54 | +pyinstaller -y yt_audio_workbench.spec |
| 55 | +# Output -> dist\YT-Audio-Workbench\YT-Audio-Workbench.exe |
| 56 | +``` |
| 57 | + |
| 58 | +## Internationalization |
| 59 | +Language files live in `lang/*.json`. Add a locale file (e.g., `lang/de.json`), then restart or switch in the **Help → Language** submenu. Tooltips and dialogs resolve text from the active language file. |
| 60 | + |
| 61 | +## Configuration |
| 62 | +The app persists language and tooltip preferences. You can also tweak tooltip delay/wrap in settings (Help → Tooltips). |
| 63 | + |
| 64 | +## Help |
| 65 | +See **HELP.md** (also available in-app: Help → Open Help). About dialog provides diagnostics copy and a one-click Troubleshooting section link. |
| 66 | + |
| 67 | +## License |
| 68 | +MIT (see LICENSE). Note that FFmpeg, yt-dlp, and MP3Gain have their own licenses. |
| 69 | + |
| 70 | +## Contributing |
| 71 | +PRs welcome! Please run tests: |
| 72 | +```bash |
| 73 | +pip install pytest |
| 74 | +pytest -q |
| 75 | +``` |
0 commit comments