summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorSuleyman Farajli <suleyman@farajli.net>2025-05-02 17:19:18 +0400
committerSuleyman Farajli <suleyman@farajli.net>2025-05-02 17:19:18 +0400
commitdfe79997c1f6249b2c969007f18a01a2db78bf66 (patch)
tree5cec26fea23a1ec5a08f6f81e8ca74643674b805 /README.md
first commit
Diffstat (limited to 'README.md')
-rw-r--r--README.md45
1 files changed, 45 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..ea5ad17
--- /dev/null
+++ b/README.md
@@ -0,0 +1,45 @@
+# Pamus
+This script allows you to download audio files from YouTube Music based on a list of song names,
+and it also tags the downloaded files with relevant metadata (such as title, artist, album, genre).
+
+## Dependencies:
+- [Python 3](https://www.python.org)
+- [yt-dlp](https://github.com/yt-dlp/yt-dlp)
+- [mutagen](https://mutagen.readthedocs.io/en/latest/)
+- [ytmusicapi](https://ytmusicapi.readthedocs.io/en/stable/)
+
+## Script Overview
+1. **Reads a list of song names** from a specified input file (by default $HOME/.config/pamus/list.txt).
+2. **Searches for each song on YouTube Music** using the YTMusic API.
+3. **Downloads the audio** in the specified format (mp3, flac, etc.) to specified directory (by default $HOME/music).
+4. **Tags the audio files** with metadata (title, artist, album, genre).
+5. Supports downloading multiple songs concurrently using threads.
+
+## Help
+For help run:
+```Bash
+pamus -h
+```
+
+## Install
+Simply run:
+``` Bash
+ make
+```
+### Examples
+
+``` Bash
+pamus
+```
+This will download the songs listed in `$HOME/.config/pamus/list.txt` to the `$HOME/music` directory in mp3 format.
+
+```bash
+pamus -o /path/to/save/music -i /path/to/song_list.txt -f mp3 -v
+```
+This will download the songs listed in `song_list.txt` to the specified output directory in MP3 format with verbose output enabled.
+
+### Example list.txt file (supports comments)
+```txt
+# Rock
+Queen - Bohemian Rhapsody # One of the best
+```