Server Version#: Version 1.20.2.3402
Player Version#: Version 4.44.1
With Google Play Music (GPM) shutting down it was time for me to get serious about moving my music to Plex. I’d tried this a few times before with little success, but since GPM was working so well I had little incentive to move to Plex. All that has changed and for many reasons I don’t want to move to Youtube Music.
So I really went all out to this time successfully make the move, I’d like to share my experience below in the hope that it may prove useful to others.
- Google Takeout
To download all of the music in my Google Play Music (GPM) I selected the Download Library from the Settings tab. One used to be able to simply download all of the tracks to a hard drive, but now Google requires a “Google Takeout”.
This is both a good thing (you get your saved playlists) and a bad thing (if you have a lot of files Google will bundle them into 2 GB zip files, for my library of about 15,000 tracks it required 56 zip files).
Another good thing is that you get everything (be sure to only Takeout Google Play Music). During a previous download I only got about 10,000 of my tracks. Once you get all of your zip files downloaded you’ll need to extract the contents.
I used 7Zip which has an option “Extract Here”. You can select all of the zip files and 7Zip will extract them into a directory called Takeout. Once done (took over an hour for me) you’ll have all of your GPM music in one place.
- Setting Up to add to Plex
Unfortunately if one simply points Plex to the Tracks directory, the results will be less than ideal (at least that was my experience). Plex wants the files in a series of folders based on Artist and Album (see Plex Docs).
I decided to use MediaMonkey (free) to copy my tracks into the desired structure. First I installed MediaMonkey (https://www.mediamonkey.com/download/). Then I imported all of the tracks extracted above.
Next was to set up for what MediaMonkey calls AutoOrganize (Tools->AutoOrganize). I selected “Copy files to new destination based on file tags.” In “Configure” I entered the folder where I wanted the new Plex source folder.
For Subdirectories I selected <Artist> and for Filename - . MediaMonkey may ask you to deal with any duplicate files or tracks with filenames that are too long. When done (if required) select OK and MediaMonkey will copy (or move if you prefer) all of your tracks into the desired folder structure.
Simply point Plex to add the root folder you just set up to your Music library and Plex will now have all of your tracks.
- Playlists (fun with spreadsheets to get an m3u file)
But wait, the fun has just begun. For me one of the great benefits of GPM was how easy it was to set up Playlists and save them on my phone for offline play.
But how to get these playlists onto Plex? Remember the Takeout folder from Part 1 above?
Well all of your playlists are in there also. Each playlist is delivered as a folder with csv files for each track in the list. The first job is to combine these csv files into one which can be imported into your favorite spreadsheet program.
I used an online service (http://merge-csv.com/) to merge the csv files. Be patient if you have a long list (one of mine had 849 entries), but eventually you’ll end up with a single file. I used Google Sheets but almost any spreadsheet program can import csv files.
Once in the spreadsheet, allow the program to parse the csv file into columns. Among others you’ll have Artist, Album, and Track Title. A complete description of how I then compiled the raw data from the columns into a column with complete paths for each of the tracs is beyond the scope of this discussion.
If you’re lucky, all of your tracks will have complete information and you can simply do string concatenation to combine the columns into the paths. If some of the data is missing, then MediaMonkey will have put them into a folder named Unknown. Plex handles the folders fine but to get a working m3u file for import into Plex you’ll need to figure how to deal with the Unknown folder.
I used redirection from within the Unknown folder to get a text file with a list of all the folders (Albums) there. “Dir > folders.txt” I then imported the text file into the spreadsheet and extracted the list of Albums that had an Unknown artist (note there may be tracks where the Artist is known but not the Album).
I used a spreadsheet function (VLOOKUP) to see if an album name from the main list was in the list of Unknowns and corrected the path for each as needed (hint the MATCH function was useful here). And then there were the Albums that had Various Artists.
I used a similar process to fix the paths on these tracks. Finally I had to deal with irregular characters, I found checking the file path in Plex helpful for seeing how Plex would want to see those folders. When I was done I had a column with a complete path to each file in the playlist.
I copied all of the rows in this column and pasted them into Notepad (while this was done on a Windows computer a similar process would work on Linux or Mac). In Notepad I saved the file as a text file (playlist.m3u).
- Importing Playlist into Plex
For me most of the work was in formatting the data into m3u files as in part 3 (while it did take some time, not nearly as much as manually adding to a playlist from within Plex, plus I kind of enjoyed the challenge).
To get the m3u files into Plex I used the POST method as described in the post “How to manually import an .m3u playlist into Plex” (find it here https://www.reddit.com/r/PleX/comments/ecirqa/how_to_manually_import_an_m3u_playlist_into_plex/).
My great thanks to the author, trust me it may seem challenging but in the end it was so simple. I used Postman (https://www.postman.com/), they have a free online setup so it was pretty straight forward.
The proceedure for getting your Plex token and Library ID are covered here https://support.plex.tv/articles/204059436-finding-an-authentication-token-x-plex-token/. You’ll need the complete path for your m3u file created in Part 3.
Since I was doing this on the same computer where Plex was installed, I used 127.0.0.1 for my server address. When I clicked POST, it was like magic, I had my GPM playlist in Plex.
Still to do: Find a way to enable Google Assistant to use voice commands to run Plex.