Category: Software

Using eyeD3 to change a bunch of mp3’s information in bulk.

I needed to modify a ton of mp3 files today, and thought I would document it for me, and, for you.

rename all files based on id3 tags ** use with caution

eyeD3 --rename '$artist - $album - $title' *.mp3

RENAME ALL FILES IN ALL SUB DIRS BASED ON FILE NAME ** use with caution

find . -name \*.mp3 -execdir eyeD3 --rename '$artist - $album - $title' *.mp3 {} \;

DELETE FILES OF SPECIFIC TYPE AND DOTFILES

find . -type f -name ".*" -delete
find . -type f -name "*.m3u" -delete
find . -type f -name "*.nfo" -delete
find . -type f -name "*.sfv" -delete
find . -type f -name "*.zip" -delete

SET ALL TAGS TO ID3 Version 2.4

find . -name \*.mp3 -execdir eyeD3 --to-v2.4 {} \;

REMOVE GENRE AND COMMENTS FROM ALL FILES

find . -name \*.mp3 -execdir eyeD3 --genre= --remove-object Comments {} \;

SET ALL GENRES TO A SPECIFIC GENRE (SEE BELOW FOR LIST)

find . -name \*.mp3 -execdir eyeD3 --genre "Drum & Bass" {} \;
find . -name \*.mp3 -execdir eyeD3 --genre "Breakbeat" {} \;
find . -name \*.mp3 -execdir eyeD3 --genre "Rock" {} \;

RUN DETOX TO RENAME ALL FILES (AS A TEST RUN)

detox -n -r -v -s utf_8 /mnt/gluster/Music

ACTUALLY RUN DETOX TO RENAME ALL FILES

detox -r -v -s utf_8 /mnt/gluster/Music

RENAME ALL – TO _ USING RENAME 

find . -name \*.mp3 -exec rename - _ '{}' \;

GENRES

# eyeD3 --plugin=genres

  0: Blues                               96: Big Band
  1: Classic Rock                        97: Chorus
  2: Country                             98: Easy Listening
  3: Dance                               99: Acoustic
  4: Disco                              100: Humour
  5: Funk                               101: Speech
  6: Grunge                             102: Chanson
  7: Hip-Hop                            103: Opera
  8: Jazz                               104: Chamber Music
  9: Metal                              105: Sonata
 10: New Age                            106: Symphony
 11: Oldies                             107: Booty Bass
 12: Other                              108: Primus
 13: Pop                                109: Porn Groove
 14: R&B                                110: Satire
 15: Rap                                111: Slow Jam
 16: Reggae                             112: Club
 17: Rock                               113: Tango
 18: Techno                             114: Samba
 19: Industrial                         115: Folklore
 20: Alternative                        116: Ballad
 21: Ska                                117: Power Ballad
 22: Death Metal                        118: Rhythmic Soul
 23: Pranks                             119: Freestyle
 24: Soundtrack                         120: Duet
 25: Euro-Techno                        121: Punk Rock
 26: Ambient                            122: Drum Solo
 27: Trip-Hop                           123: A Cappella
 28: Vocal                              124: Euro-House
 29: Jazz+Funk                          125: Dance Hall
 30: Fusion                             126: Goa
 31: Trance                             127: Drum & Bass
 32: Classical                          128: Club-House
 33: Instrumental                       129: Hardcore
 34: Acid                               130: Terror
 35: House                              131: Indie
 36: Game                               132: BritPop
 37: Sound Clip                         133: Negerpunk
 38: Gospel                             134: Polsk Punk
 39: Noise                              135: Beat
 40: AlternRock                         136: Christian Gangsta Rap
 41: Bass                               137: Heavy Metal
 42: Soul                               138: Black Metal
 43: Punk                               139: Crossover
 44: Space                              140: Contemporary Christian
 45: Meditative                         141: Christian Rock
 46: Instrumental Pop                   142: Merengue
 47: Instrumental Rock                  143: Salsa
 48: Ethnic                             144: Thrash Metal
 49: Gothic                             145: Anime
 50: Darkwave                           146: JPop
 51: Techno-Industrial                  147: Synthpop
 52: Electronic                         148: Abstract
 53: Pop-Folk                           149: Art Rock
 54: Eurodance                          150: Baroque
 55: Dream                              151: Bhangra
 56: Southern Rock                      152: Big Beat
 57: Comedy                             153: Breakbeat
 58: Cult                               154: Chillout
 59: Gangsta Rap                        155: Downtempo
 60: Top 40                             156: Dub
 61: Christian Rap                      157: EBM
 62: Pop / Funk                         158: Eclectic
 63: Jungle                             159: Electro
 64: Native American                    160: Electroclash
 65: Cabaret                            161: Emo
 66: New Wave                           162: Experimental
 67: Psychedelic                        163: Garage
 68: Rave                               164: Global
 69: Showtunes                          165: IDM
 70: Trailer                            166: Illbient
 71: Lo-Fi                              167: Industro-Goth
 72: Tribal                             168: Jam Band
 73: Acid Punk                          169: Krautrock
 74: Acid Jazz                          170: Leftfield
 75: Polka                              171: Lounge
 76: Retro                              172: Math Rock
 77: Musical                            173: New Romantic
 78: Rock & Roll                        174: Nu-Breakz
 79: Hard Rock                          175: Post-Punk
 80: Folk                               176: Post-Rock
 81: Folk-Rock                          177: Psytrance
 82: National Folk                      178: Shoegaze
 83: Swing                              179: Space Rock
 84: Fast Fusion                        180: Trop Rock
 85: Bebob                              181: World Music
 86: Latin                              182: Neoclassical
 87: Revival                            183: Audiobook
 88: Celtic                             184: Audio Theatre
 89: Bluegrass                          185: Neue Deutsche Welle
 90: Avantgarde                         186: Podcast
 91: Gothic Rock                        187: Indie Rock
 92: Progressive Rock                   188: G-Funk
 93: Psychedelic Rock                   189: Dubstep
 94: Symphonic Rock                     190: Garage Rock
 95: Slow Rock                          191: Psybient

Getting NZBHydra Working on MacOS Sierra

This seems to mostly work, but still having some issues keeping it stable. Maybe this will help someone else anyway 🙂

Here’s what I did on Mac OSX Sierra Latest:

first:

# nano ~/Library/LaunchAgents/com.nzbhydra.nzbhydra.plist

put this (change path + username):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
 <dict>
 <key>Label</key>
 <string>com.jackett.jackett</string>
 <key>ProgramArguments</key>
 <array>
 <string>/Users/YOUR_USERNAME/NZB-APPS/nzbhydra/run.sh</string>
 </array>
 <key>RunAtLoad</key>
 <true/>
 <key>KeepAlive</key>
 <false/>
 <key>StandardErrorPath</key>
 <string>/usr/local/var/log/nzbhydra.log</string>
 <key>StandardOutPath</key>
 <string>/usr/local/var/log/nzbhydra.log</string>
 </dict>
</plist>

make this:

# nano /Users/YOUR_USERNAME/NZB-APPS/nzbhydra/run.sh

with this content (change username, and path and IP):

#!/bin/bash
/usr/bin/python /Users/YOUR_USERNAME/NZB-APPS/nzbhydra/nzbhydra.py --logfile /usr/local/var/log/nzbhydra.log --host YOUR_IP_ADD_RESS --nobrowser --daemon

save and exit then:

# chmod +x run.sh

test:

# touch /usr/local/var/log/nzbhydra.log
# tail -f /usr/local/var/log/nzbhydra.log 
# /Users/YOUR_USERNAME/NZB-APPS/nzbhydra/run.sh

you should see output and nzbyhydra should be available at http://YOUR.IP:5075
if it all runs you probably want to make it start on reboot:

launchctl load ~/Library/LaunchAgents/com.jackett.jackett.plist
launchctl start com.jackett.jackett

and here’s how you unload if you need to:

launchctl unload ~/Library/LaunchAgents/com.jackett.jackett.plist

Let me know if this helps you or have a better way by commenting!

Megapinger Review

A couple of weeks ago I was happy to receive a review copy of MegaPinger from the Mattseh at the WickedFire Forums. Fast forward a couple weeks, and I’ve finally had a chance to put it through the tests and see what it’s like for pinging massive amounts of links quickly, and efficiently.

What came in the file?

An executable, some text files, the license, and a pretty boring Readme file. I understand this program was made by a programmer, so documentation will by default be lackluster; however the documentation for this is pretty much nonexistent. If you don’t know what you’re doing I could see this getting a bit confusing (and, from some of the comments in the forum thread for the program, it’s apparent that it is). But, if you

First Impressions

First off, I must say the threading is incredible. It did bog down my computer a little bit when I would put it up to 100+ threads, but that’s fine if doing it overnight and nothing else is running. When running with more than 10 threads, I did experience problems in Ableton Live and Reason though, so it is something to note. Especially since I’m running on a Quad Core with 4GB of Ram.

What’s It Do?

So, what’s the program all about? Simple really, you load into it a list of your links, and optionally some spun titles, and it will run through your list and submit them to the common services out there to hopefully aid you in getting quick and relevant backlinks (depending on your titles, and submissions of course).

Does It Support Proxies?

The other great thing about this program is the option of using proxies. I used scrapebox to sort my list of proxies, and then I just loaded the same file in MegaPinger and was instantly sending my pings out through proxies instead of direct to the site from my lowly cable modem. Great stuff.

First Run

I tested it out on some small link lists, and everything worked great including the title spinning for submissions. Then I decided I should put it to the real test, and I loaded up my list of all links from the past little while (around ~4400 of them).  This told me there was about 398912 pings to be sent out, and gave me a fancy little progress bar.

Then I loaded my list of proxies into Megapinger and set it to run. These proxies are kept in a simple text file in the MegaPinger directory. Along with the failed and succeeded ping lists text file that you can refer to later.

I let this run, and kept an eye on the CPU usage and memory usage, and it was pretty constant to what this screenshot shows below.

This process took about 24 hours to run, if I kept it down at 50 threads. When I increased it I was up to about 300 pings a minute, so the time went drastically down. So far so good. Much quicker than any other pinger I’ve used and I’m sure I could have tossed it up to 500 threads and got upwards of 800 pings a minute with fast proxies, but I didn’t have time to test that much.

Problems

I did notice a slight issue, that if you pause the pinger and start it again, for some reason it would double my ‘left to be pinged’ list, and thusly re-ping all the sites it had already done. Minor annoyance since I don’t really pause MegaPinger, but something to note.

As of this writing a support ticket, and message has been sent on the forum to Mattseh without a reply (but it hasn’t been very long! ).

Overall

MegaPinger is a Great product with a great price. Aside from the small bug mentioned above I don’t see why you shouldn’t be using this to ping your links.

I’m not going to get into whether pinging is worth it or not, there are many sides to that argument, which you guys can discuss in the comments 🙂