audio ripping automation doing rip/tag/format/playlist
Go to file
.[d]. f98264a831 v2.1 update 2022-08-12 21:53:45 -05:00
screenshots info 2022-03-01 07:27:40 -06:00
README.md v2.1 update 2022-08-12 21:53:45 -05:00
dp3.sh v2.1 update 2022-08-12 21:53:45 -05:00

.[d]. ircd.chat/6697 #tcpdirect

MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMh+MMMMMMMMMMMMMMhsMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMm/ oMMMMMMMMMMMMMMm +NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMy`  yMMMMMMMMMMMMMMM- -mMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMs+dMMMMMMMMMM+    sMMMMMMMMMMMMMMM-  `dMMMMMMMMMMms/NMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMM+ .omMMMMMM:     -MMMMMMMMMMMMMMo    `yMMMMMMMy: `dMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMM-   /dMMM+       sMMMMMMMMMMMMh      `hMMMNo`   sMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMd     :dm        `mMMMMMMMMMMN.       .NNo`    .MMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMM:      -         :MMMMMMMMMMs         :`      sMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMs                 ymNMMMMMNm.                 NMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMy                    `-/-`                   .MMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMo                                            .NMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMNh+.                                               :sdMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMhso+:.                                                      `-/+syMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMM-                                                                 dMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMM`   `.:+/.                                              `/s+:.    sMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMNo   -oms.             .//-`               `:/:`            `+md+`  .hMMMMMMMMMMMMMMM
MMMMMMMMMMMMMNs`                        .odNdo.       .ohmd+`                        :dMMMMMMMMMMMMM
MMMMMMMMMMMNo`                             ..           .-                             :hMMMMMMMMMMM
MMMMMMMMMd+`                                                                             -sNMMMMMMMM
MMMMMMNs-                         `..                          `/-.                        `+dMMMMMM
MMMNy:                       ./sdNMMMh:                      `sNMMMNds/.                      .odMMM
MM+                       :ymMMMMMMMMMMh.                   +NMMMMMMMMMMmo-                      /NM
MMMh:                  .sNMMMMMMMMMMMMMMN-                `hMMMMMMMMMMMMMMMm+`                 :hMMM
MMMMMd:`       ``-:+shmMMMMMMMMMMMMMMMMMMN.               hMMMMMMMMMMMMMMMMMMMmhs+/-..``````./dMMMMM
MMMMMMMMMNNNNNNMMMMMMMMMMMMMMMMMMMMMMMMMMMo              .MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMy              .MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMN.             /MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMN+`         `+NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNs.    -hMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMdyymMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM

summary

dp3 v2.1 - parallel music ripping batch processing automation utility 

changelog - v2.1

  • fixed the way some pip modules were checked

changelog - v2.0

  • fixed some automation bugs
  • added an auto-redownload feature for missed files, REDOWNLOAD_LIMIT variable is at top of code

changelog - v1.8

  • updated progress indicators to reflect differences in webm/youtube, aiff/bandcamp, wav/soundcloud

changelog - v1.7

  • added a sense of progess indication to the site indexing, helpful if you are ripping channels
  • updated the dp3 tagging tool, mishandled unicode splitting and would omit downloaded files
  • altered some ui elements, examples, indications and color coding
  • updated the tmux layout, it wasn't tiling in fractions between perfect vertical/horizontal splits
  • updated the way file progress is realized so window panes close accordingly
  • changed some flags to youtube-dl so that stale downloads were not hanging large batches

changelog - v1.6

  • added MULTI-LINE mode - rather than feeding arguments as parameters you can paste a bunch on boot
  • added mixed processing - can MULTI-LINE playlists from soundcloud/youtube/bandcamp intermingled
  • sets/playlists/channels - these now all operate no differently than a single media link
  • stepped up parallelism
  • increased thread count - variable set at top of dp3.sh
  • added archive prefix - variable set at top of dp3.sh
  • added soundcloud
  • added bandcamp
  • changed archive method to include original playlist url into the process log
  • changed archive method to also include the coverart into the archive as well as encoded into id3tag
  • updated progress/download windows

screenshots


MULTI-LINE mode

screenshots screenshots screenshots screenshots

command line mode

screenshots screenshots screenshots screenshots screenshots screenshots

overview

you supply this script a playlist from either bandcamp, soundcloud or youtube and it will mass download
all of that media content in parallel. the files will then be renamed to a different naming method, the
information like coverart, name, artist, url, notes and other text are encoded into the mp3s as well
as the urls as to where the content came from. a playlist is created and then the content is archived.
[ batch / rip / encode / rename / art / tag / playlist ]

prerequisites

  • python3
  • python3-pip
  • tmux
  • parallel
  • jq
  • elinks
  • youtube-dl
  • ffmpeg

content

  • dp3.sh - main file

usage

command line mode
  • syntax: bash dp3.sh name_of_playlist genre_of_playlist url_to_playlist
  • example: bash dp3.sh dr1pp1ng techno https://www.youtube.com/playlist?list=PLrdcKN79B4UG1xoQ8-L3eiaI1cYzFCiW
MULTI-LINE mode
  • syntax: bash dp3.sh - without arguments - when the script loads it will be accepting MULTI-LINE input
  • example: MULTI-LINE paste.. first line - playlist name, 2nd line - genre, rest of the lines can be intermingled
`bash dp3.sh`

[ ENTER MULTI-LINE PLAYLISTS, PRESS CTRL+D WHEN YOU'RE DONE OR CTRL+C TO ABORT ]

dr1pr3kt_dp3_t3st
mixed
https://www.youtube.com/playlist?list=PLrdcKN79B4UEatA0qrCJkxQrWGoIP4h3T
https://www.youtube.com/playlist?list=PLrdcKN79B4UEUJWovJJpG6nGpy9eVpP9T
https://www.youtube.com/channel/UCT__fJTyOLsXxzyfeJllGJA
https://soundcloud.com/whiteeyes
https://www.youtube.com/c/eliozie
https://the--hacker.bandcamp.com/
https://saralandry.bandcamp.com/
https://schwefelgelb.bandcamp.com/
https://www.youtube.com/channel/UClaFw_6RjEF-LVFMe_3V2KQ
https://soundcloud.com/phosgore
https://snts.bandcamp.com/album/the-unfinished-fight-against-humanity-lp
https://soundcloud.com/vanta_sec
https://soundcloud.com/daxj
https://blackdresses.bandcamp.com/album/forget-your-own-face?from=hp
https://bspliveseries.bandcamp.com/album/bsp-live-series-2021-09-04-kharkiv?from=hp
https://ohmresistance.bandcamp.com/album/heroes-of-snake-island-i?from=hp
https://youwillloveeachother.bandcamp.com/album/disco4-part-ii?from=hp
https://svaj.bandcamp.com/album/rewind-ep?from=hp
https://gregpuciato.bandcamp.com/album/mirrorcell?from=hp
https://jkflesh.bandcamp.com/album/new-religions-old-rules?from=hp
https://shilparay.bandcamp.com/album/portrait-of-a-lady?from=hp

^D

setting up environment

  • git clone --recursive https://git.tcp.direct/decoded/dp3.git

notes

  • playlist/genre names dont matter but the url must be valid otherwise there is nothing to download
  • if a window seems hung leave it alone, some files probably still encoding
  • if it does indeed crash it's probably because the playlist is private, it needs to be public or unlisted