Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

KROFN/melodine

Repository files navigation

 ♫ ♪ ♫ ♪ ♫
 __ __ _ _ _
 | \/ | ___| | ___ __| (_)_ __ ___
 | |\/| |/ _ \ |/ _ \ / _` | | '_ \ / _ \
 | | | | __/ | (_) | (_| | | | | | __/
 |_| |_|\___|_|\___/ \__,_|_|_| |_|\___|

Your playlist. Downloaded. Beautifully.

Python License Platform

English · Русский


Русский

🎵 Что это?

Melodine — интерактивный консольный загрузчик музыки. Скачивает треки из текстового плейлиста, конвертирует в MP3, добавляет теги — всё через красивый TUI-интерфейс.

✨ Возможности

Фича Описание
📥 Скачивание плейлистов Многопоточная загрузка из .txt файлов
🔍 Поиск треков Поиск с превью — выбирай нужный вариант
🧠 Smart Search Если трек не найден — пробует разные варианты запроса
🔄 Auto-retry Повторные попытки при ошибках соединения
🏷️ ID3-теги Автоматически прописывает артиста и название
📊 Статистика Графики, топ артистов, история загрузок
🎨 7 тем Dracula, Nord, Monokai, Cyberpunk и другие
🌐 RU / EN Полная локализация интерфейса
Пауза Ctrl+C — пауза, не потеря прогресса
📋 Умный парсер Переваривает номера строк, мусор, разные форматы

📦 Установка

1. Клонируй репозиторий:

git clone https://github.com/KROFN/melodine.git
cd melodine

2. Установи зависимости:

pip install -r requirements.txt

3. Установи FFmpeg:

Windows
winget install FFmpeg

Или скачай с ffmpeg.org и добавь в PATH.

Linux
sudo apt install ffmpeg
macOS
brew install ffmpeg

4. Запусти:

python main.py

📝 Формат плейлиста

Создай .txt файл со списком треков. Melodine понимает разные форматы:

ХАННА - Потеряла голову
Perfect Pitch, Rocco, L'EXAIS - APT.
SEREBRO — Отпусти меня

А также справится с «грязными» файлами:

# Мой плейлист
1. ХАННА - Потеряла голову
2) SEREBRO — Отпусти меня
3 Руки Вверх! - Только для тебя
Всего: 3 трека

🎨 Темы

Тема Стиль
🧛 Dracula Фиолетовая, тёмная
🌑 Dark Стандартная тёмная
❄️ Nord Северная, спокойная
🌈 Monokai Как в Sublime Text
🌊 Ocean Синие тона
🔥 Cyberpunk Неон, яркая
🍦 Pastel Мягкие цвета

⚙️ Конфигурация

При первом запуске создаётся config.yaml. Все параметры настраиваются через меню:

theme: dracula
language: ru
download:
 threads: 4
 pause: 0.5
 retry_attempts: 3
 quality: 320
 smart_search: true

🗂 Структура проекта

melodine/
├── main.py # Точка входа
├── requirements.txt
├── config.yaml # Создаётся при запуске
├── melodine/
│ ├── app.py # Главный цикл, меню
│ ├── downloader.py # Движок скачивания
│ ├── config.py # Управление конфигом
│ ├── database.py # SQLite история
│ ├── display.py # Отрисовка UI (Rich)
│ ├── themes.py # Цветовые схемы
│ ├── locales.py # Локализация RU/EN
│ ├── search.py # Поиск на YouTube
│ ├── tagger.py # ID3-теги
│ └── utils.py # Парсер плейлистов, утилиты

English

🎵 What is it?

Melodine is an interactive console music downloader. It downloads tracks from a text playlist, converts to MP3, adds tags — all through a beautiful TUI interface.

✨ Features

Feature Description
📥 Playlist download Multi-threaded downloading from .txt files
🔍 Track search Search with preview — pick the right one
🧠 Smart Search Tries different query variations if track not found
🔄 Auto-retry Automatic retries on connection errors
🏷️ ID3 tags Automatically sets artist and title
📊 Statistics Charts, top artists, download history
🎨 7 themes Dracula, Nord, Monokai, Cyberpunk and more
🌐 RU / EN Full interface localization
Pause Ctrl+C — pause, not lose progress
📋 Smart parser Handles line numbers, junk lines, various formats

📦 Installation

git clone https://github.com/KROFN/melodine.git
cd melodine
pip install -r requirements.txt
python main.py

⚠️ FFmpeg required. Install: winget install FFmpeg (Win) / sudo apt install ffmpeg (Linux) / brew install ffmpeg (Mac)

📝 Playlist format

Artist - Song Title
Another Artist — Another Song

⚙️ Configuration

All settings are configurable through the interactive menu. Config is stored in config.yaml.


📄 License

MIT © KROFN


Star this repo if you find it useful!

About

🎵 Interactive music downloader with beautiful TUI. Multi-threaded, smart search, 7 themes, RU/EN.

Topics

Resources

License

Stars

Watchers

Forks

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /