Skip to main content

A lightweight, keyboard-centric terminal player for streaming YouTube music.

Project description

๐ŸŽต MyTunes Pro (Korean)

ํ˜„๋Œ€์ ์ธ CLI ์œ ํŠœ๋ธŒ ๋ฎค์ง ํ”Œ๋ ˆ์ด์–ด (v1.4.6)
ํ„ฐ๋ฏธ๋„ ํ™˜๊ฒฝ์—์„œ YouTube ์Œ์•…์„ ๊ฒ€์ƒ‰ํ•˜์—ฌ ๋“ฃ๋Š” ๊ฐ€๋ณ๊ณ  ๋น ๋ฅธ ํ‚ค๋ณด๋“œ ์ค‘์‹ฌ์˜ ํ”Œ๋ ˆ์ด์–ด์ž…๋‹ˆ๋‹ค.
ํ•œ๊ตญ์–ด ์ž…๋ ฅ ํ™˜๊ฒฝ์—์„œ๋„ **์ˆซ์ž ํ‚ค(1~5)**๋ฅผ ํ†ตํ•ด ์ง€์—ฐ ์—†๋Š” ์พŒ์ ํ•œ ์กฐ์ž‘์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ’ก ๊ฐœ๋ฐœ ๋ฐฐ๊ฒฝ
์ด ํ”„๋กœ๊ทธ๋žจ์€ ํ•˜๋ฃจ ์ข…์ผ ํ„ฐ๋ฏธ๋„์„ ๋ณด๋Š” ๊ฐœ๋ฐœ์ž๋“ค์ด ์ž‘์—… ํ๋ฆ„์„ ๋Š์ง€ ์•Š๊ณ  ํŽธํ•˜๊ฒŒ ์Œ์•…์„ ๋“ฃ๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค.
ํŠนํžˆ **๋ชจ๋‹ˆํ„ฐ๊ฐ€ ์—†๋Š”(Headless) ๋ฏธ๋‹ˆ PC (Debian Server)**๋ฅผ ๊ฑฐ์‹ค์ด๋‚˜ ์ฑ…์ƒ์˜ '๋ฎค์ง ์Šคํ…Œ์ด์…˜'์œผ๋กœ ํ™œ์šฉํ•˜๊ณ ์ž ํ–ˆ๋˜ ๊ฐœ์ธ์ ์ธ ํ•„์š”์—์„œ ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
๋ณต์žกํ•œ ์„ค์ • ์—†์ด, ํ„ฐ๋ฏธ๋„ ํ•˜๋‚˜๋งŒ ์žˆ์œผ๋ฉด ์–ด๋””์„œ๋“  ๋‹น์‹ ๋งŒ์˜ ์˜ค๋””์˜ค ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

Python License

๐Ÿ“ธ Screenshots

Main Search
Play List

โœจ ์ฃผ์š” ๊ธฐ๋Šฅ

  • ๊ฐ•๋ ฅํ•œ ๊ฒ€์ƒ‰: yt-dlp ์—”์ง„์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ด‘๊ณ  ์—†๋Š” ๊ณ ์Œ์งˆ ์˜ค๋””์˜ค ์ŠคํŠธ๋ฆฌ๋ฐ.
  • ์พŒ์ ํ•œ ์กฐ์ž‘: curses ๊ธฐ๋ฐ˜ TUI๋กœ ๋น ๋ฅด๊ณ  ์ง๊ด€์ ์ธ ์ธํ„ฐํŽ˜์ด์Šค.
  • ์—ฐ์† ์žฌ์ƒ: ํ•œ ๊ณก์ด ๋๋‚˜๋ฉด ๋ฆฌ์ŠคํŠธ์˜ ๋‹ค์Œ ๊ณก์„ ์ž๋™์œผ๋กœ ์žฌ์ƒํ•ฉ๋‹ˆ๋‹ค.
  • ์ด์–ด๋“ฃ๊ธฐ: ์ค‘๋‹จ๋œ ์œ„์น˜๋ถ€ํ„ฐ ์ด์–ด์„œ ์žฌ์ƒํ• ์ง€ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ•œ๊ธ€ ์ตœ์ ํ™”: ํ•œ๊ธ€ ์ž์†Œ ์กฐํ•ฉ ๋Œ€๊ธฐ ์‹œ๊ฐ„ ์—†์ด ์ฆ‰์‹œ ๋ฐ˜์‘ํ•˜๋Š” ์ˆซ์ž ๋‹จ์ถ•ํ‚ค ์ง€์›.
  • ์Šค๋งˆํŠธ ๊ธฐ๋Šฅ: ์ฆ๊ฒจ์ฐพ๊ธฐ, ์žฌ์ƒ ๊ธฐ๋ก(์ตœ๋Œ€ 100๊ณก), ์ž๋™ ์Œ์•… ํ•„ํ„ฐ๋ง ๊ฒ€์ƒ‰.
  • ๋น„์ฃผ์–ผ: ํ˜„๋Œ€์ ์ธ ์‹ฌ๋ณผ ์•„์ด์ฝ˜(โŒ•, โ˜…, โ—ท)๊ณผ ๊น”๋”ํ•œ ๋””์ž์ธ.

์ด ํ”„๋กœ๊ทธ๋žจ์€ ์˜ค๋””์˜ค ์žฌ์ƒ์„ ์œ„ํ•ด mpv๊ฐ€ ์‹œ์Šคํ…œ์— ์„ค์น˜๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿš€ ๋น ๋ฅธ ์„ค์น˜ (Quick Install)

ํ„ฐ๋ฏธ๋„์—์„œ ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ์ฆ‰์‹œ ์„ค์น˜ํ•˜์„ธ์š”:

pip install mytunes-pro

์„ค์น˜ ํ›„ ํ„ฐ๋ฏธ๋„ ์–ด๋””์„œ๋“  **mytunes**๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค!


๐Ÿ›  ํ™˜๊ฒฝ๋ณ„ ์š”๊ตฌ์‚ฌํ•ญ (Prerequisites)

pip install ์ดํ›„ ์‹คํ–‰์ด ์•ˆ ๋œ๋‹ค๋ฉด, ๊ฐ ์šด์˜์ฒด์ œ์— ๋งž๋Š” ์˜ค๋””์˜ค ์—”์ง„(mpv)์„ ์„ค์น˜ํ•ด ์ฃผ์„ธ์š”.

macOS

brew install mpv

Linux (Ubuntu/Debian)

sudo apt update && sudo apt install mpv

Windows (WSL)

  1. WSL ์„ค์น˜: wsl --install -d Debian (PowerShell ๊ด€๋ฆฌ์ž ๊ถŒํ•œ)
  2. ํ•„์ˆ˜ ๋„๊ตฌ: sudo apt update && sudo apt install mpv -y

๐Ÿง‘โ€๐Ÿ’ป ๊ฐœ๋ฐœ์ž์šฉ ์ˆ˜๋™ ์„ค์น˜ (Manual Installation)

์ง์ ‘ ์†Œ์Šค๋ฅผ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ๊ฐœ๋ฐœ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์•„๋ž˜ ๊ณผ์ •์„ ๋”ฐ๋ฅด์„ธ์š”.

  1. ์ €์žฅ์†Œ ํด๋ก :

    git clone https://github.com/postgresql-co-kr/mytunes.git
    cd mytunes
    
  2. ๊ฐ€์ƒํ™˜๊ฒฝ ์„ค์ •:

    python3 -m venv venv
    source venv/bin/activate  # macOS/Linux
    pip install -r requirements.txt
    
  3. ์‹คํ–‰:

    python3 mytune.py
    
  4. ์—…๋ฐ์ดํŠธ:

    git pull
    

โŒจ๏ธ ์กฐ์ž‘ ๋ฐฉ๋ฒ• (Controls)

MyTunes Pro๋Š” ํ‚ค๋ณด๋“œ๋งŒ์œผ๋กœ ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค.
ํ•œ๊ธ€ ์ž…๋ ฅ ์ƒํƒœ์—์„œ๋„ ๋Š๊น€ ์—†๋Š” ์กฐ์ž‘์„ ์œ„ํ•ด ์ˆซ์ž ๋‹จ์ถ•ํ‚ค ์‚ฌ์šฉ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

โšก๏ธ ์ฆ‰์‹œ ๋ฐ˜์‘ ๋‹จ์ถ•ํ‚ค (์ˆซ์žํ‚ค)

ํ•œ์˜ ์ „ํ™˜ ์—†์ด ์–ธ์ œ๋“  ๋ˆ„๋ฅด๋ฉด ์ฆ‰์‹œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

ํ‚ค ๊ธฐ๋Šฅ ์„ค๋ช…
1 ๊ฒ€์ƒ‰ (Search) ์Œ์•… ๊ฒ€์ƒ‰์ฐฝ ์—ด๊ธฐ (๋‹จ์ถ•ํ‚ค S์™€ ๋™์ผ)
2 ์ฆ๊ฒจ์ฐพ๊ธฐ (Fav) ์ €์žฅ๋œ ์ฆ๊ฒจ์ฐพ๊ธฐ ๋ชฉ๋ก ๋ณด๊ธฐ (๋‹จ์ถ•ํ‚ค F์™€ ๋™์ผ)
3 ๊ธฐ๋ก (History) ์ตœ๊ทผ ์žฌ์ƒํ•œ 100๊ณก ๋ณด๊ธฐ (๋‹จ์ถ•ํ‚ค R์™€ ๋™์ผ)
4 ๋ฉ”์ธ (Main) ๋ฉ”์ธ ํ™”๋ฉด์œผ๋กœ ๋Œ์•„๊ฐ€๊ธฐ (๋‹จ์ถ•ํ‚ค M์™€ ๋™์ผ)
5 ์ถ”๊ฐ€/์‚ญ์ œ ์„ ํƒํ•œ ๊ณก ์ฆ๊ฒจ์ฐพ๊ธฐ ํ† ๊ธ€ (๋‹จ์ถ•ํ‚ค A์™€ ๋™์ผ)
+ ๋ณผ๋ฅจ UP ๋ณผ๋ฅจ +5% (๋‹จ์ถ•ํ‚ค =์™€ ๋™์ผ)
- ๋ณผ๋ฅจ DOWN ๋ณผ๋ฅจ -5% (๋‹จ์ถ•ํ‚ค _์™€ ๋™์ผ)
6 ๋’ค๋กœ๊ฐ€๊ธฐ ์ด์ „ ํ™”๋ฉด์œผ๋กœ ์ด๋™ (๋‹จ์ถ•ํ‚ค Q, H์™€ ๋™์ผ)
ESC ๋ฐฐ๊ฒฝ์žฌ์ƒ ์Œ์•… ๋„์ง€ ์•Š๊ณ  ๋‚˜๊ฐ€๊ธฐ (๋ฐฑ๊ทธ๋ผ์šด๋“œ ์žฌ์ƒ)

๐Ÿงญ ๊ธฐ๋ณธ ํƒ์ƒ‰

ํ‚ค ๋™์ž‘
โ†‘ / โ†“ / k / j ๋ฆฌ์ŠคํŠธ ์œ„/์•„๋ž˜ ์ด๋™ (Vim ํ‚ค ์ง€์›)
Enter / l ์„ ํƒ / ์žฌ์ƒ (ํ•œ๊ธ€ ใ…ฃ๋„ ์ง€์›)
Space ์žฌ์ƒ / ์ผ์‹œ์ •์ง€ (Play/Pause)
- / + ๋ณผ๋ฅจ ์กฐ์ ˆ (- / +)
, / . 10์ดˆ ๋’ค๋กœ / ์•ž์œผ๋กœ ๊ฐ๊ธฐ
< / > 30์ดˆ ๋’ค๋กœ / ์•ž์œผ๋กœ ๊ฐ๊ธฐ (Shift)
Backspace / h / q ๋’ค๋กœ ๊ฐ€๊ธฐ / ๊ฒ€์ƒ‰์–ด ์ง€์šฐ๊ธฐ
/ ๊ฒ€์ƒ‰ (Vim Style)

๐Ÿ“‚ ๋ฐ์ดํ„ฐ ์ €์žฅ

  • ์ฆ๊ฒจ์ฐพ๊ธฐ์™€ ์žฌ์ƒ ๊ธฐ๋ก์€ ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ์˜ ~/.pymusic_data.json ํŒŒ์ผ์— ์˜๊ตฌ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.
  • ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ ํ›„ ๋‹ค์‹œ ์‹คํ–‰ํ•ด๋„ ๋ฐ์ดํ„ฐ๊ฐ€ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.


๐ŸŽต MyTunes Pro (English)

Modern CLI YouTube Music Player (v1.4.6)
A lightweight, keyboard-centric terminal player for streaming YouTube music.
Designed for speed and efficiency, with optimized controls for international keyboard imports.

๐Ÿ’ก Preface
This project was created to give developers a seamless way to enjoy music without leaving their terminal environment.
It basically started from a personal need to turn a headless mini-PC running Debian Server into a dedicated living room music station (with no monitor or GUI).
Just bring your terminal, and you have a full-featured audio player.

โœจ Key Features

  • Powerful Search: High-quality audio streaming via yt-dlp.
  • Pagination: Explicit [ Load Next 20... ] button to load more results.
  • Sequential Play: Automatically plays the next song in the list.
  • Smart Resume: Option to resume playback from where you left off.
  • Fast TUI: Responsive curses interface.
  • Smart Shortcuts: Instant number keys (1-5) for quick navigation.
  • Visuals: Clean aesthetic with system-style glyphs (โŒ•, โ˜…, โ—ท).

This app requires mpv to be installed on your system.

๐Ÿš€ Quick Start

Install via pip:

pip install mytunes-pro

Run simply by typing mytunes in your terminal!


๐Ÿ›  Prerequisites

If the command fails, please ensure the mpv audio engine is installed.

macOS

brew install mpv

Linux (Ubuntu/Debian)

sudo apt update && sudo apt install mpv

Windows (WSL)

  1. Install WSL: wsl --install -d Debian (PowerShell Admin)
  2. Install mpv: sudo apt update && sudo apt install mpv -y

๐Ÿง‘โ€๐Ÿ’ป Manual Installation (For Developers)

  1. Clone Repository:

    git clone https://github.com/postgresql-co-kr/mytunes.git
    cd mytunes
    
  2. Virtual Environment:

    python3 -m venv venv
    source venv/bin/activate  # macOS/Linux
    pip install -r requirements.txt
    
  3. Run:

    python3 mytune.py
    
  4. How to Update:

    git pull
    

โŒจ๏ธ English Controls

โšก๏ธ Instant Shortcuts (Number Keys)

Works instantly even with non-English keyboard layouts.

Key Function Description
1 Search Open search bar (Same as S)
2 Favs View favorites list (Same as F)
3 Hist View history (Same as R)
4 Main Go to Main Menu (Same as M)
5 Add/Del Toggle Favorite (Same as A)
+ Vol Up Volume +5% (Same as =)
- Vol Down Volume -5% (Same as _)
6 Back Go back (Same as Q, H)
ESC Bg Play Exit app but keep music playing

๐Ÿงญ Navigation

Key Action
โ†‘ / โ†“ / k / j Move selection (Vim style supported)
Enter / l Select / Play (Includes L)
Space Play / Pause
- / + Volume (- / +)
, / . Seek -10s / +10s
< / > Seek -30s / +30s (Shift)
Backspace / h / q Go back
/ Search (Vim Style)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mytunes_pro-1.4.6.tar.gz (22.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mytunes_pro-1.4.6-py3-none-any.whl (18.5 kB view details)

Uploaded Python 3

File details

Details for the file mytunes_pro-1.4.6.tar.gz.

File metadata

  • Download URL: mytunes_pro-1.4.6.tar.gz
  • Upload date:
  • Size: 22.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mytunes_pro-1.4.6.tar.gz
Algorithm Hash digest
SHA256 6ede48ff45c9011243dc1590ac80c12d99b58a3f71ee8cd1d637ed5c5b03fdc3
MD5 1611ef9a807cadf9e69703c8fe2f0169
BLAKE2b-256 2bed3d4a3b8d7478a16f945dddb066d3a41994223e235a1266e4bd03008268e7

See more details on using hashes here.

Provenance

The following attestation bundles were made for mytunes_pro-1.4.6.tar.gz:

Publisher: pypi.yml on postgresql-co-kr/mytunes

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mytunes_pro-1.4.6-py3-none-any.whl.

File metadata

  • Download URL: mytunes_pro-1.4.6-py3-none-any.whl
  • Upload date:
  • Size: 18.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mytunes_pro-1.4.6-py3-none-any.whl
Algorithm Hash digest
SHA256 f3d55079866e7b5d3bd9013c581ff0d20144753e092219aa3becad63a9fbc253
MD5 5b2b527cb632eae82cfa4c3a51d0d32e
BLAKE2b-256 3ee260e56c186ae79c0e33da29f337b949e0a73f81e95e996b46af55c3105e48

See more details on using hashes here.

Provenance

The following attestation bundles were made for mytunes_pro-1.4.6-py3-none-any.whl:

Publisher: pypi.yml on postgresql-co-kr/mytunes

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page