Download songs from Google Music

Download App

Download Source Code

Google Music is a new service from Google that allows you to store your music on the cloud and listen to them wherever you want :) However, there is no option available at this time to download the songs you’ve previously uploaded.

I’ve created a simple app that allows you to download ALL the music you’ve on Google Music. It supports the download of all the songs, searches and playlists… mainly because download all the songs when you only want one is not very useful :P

It is quite simple:

  1. Open the app (just in case :P)
  2. Login to Google Music (you’ll be asked, don’t worry)
  3. Go to “Songs” or search something or go to a playlist
  4. Click “Download those songs!”
  5. Wait until it finishes and enjoy :)

Songs will be stored on the same directory under the name “<Artist> – <Title>.mp3″ where artist and title are the real title and artist of the song.

I’d love to hear from you and use your feedback to improve the app ;)

Updates

01/12/2011

  • Download link now points to the correct location… sorry about that

17/11/2011

  • UltraID3Lib replaced with TagLibSharp

11/11/2011

  • [Feature] Title, album and artist are now written to the file with ID3 tags using UltraID3Lib (Alex McChesney)
  • [FIX] Application now closes instead of running in background without notice (Alex McChesney)
  • [FIX] Invalid characters are now changed to underscores (Alex McChesney)
  • [FIX] When downloading multiple files with the same name, the application will now rename them to file(counter) instead of overwriting it all over again (Alex McChesney)

Download App

Download Source Code

48 Responses to Download songs from Google Music

  1. Pingback: Upload any kind of file into Google Music: Google Data Uploader « Namespace Carballude

  2. Hi there.

    I was looking for a tool to let me download my extensive Google Music library. This almost fits the bill, but there are a couple of things that might be nice to add.

    Firstly, the song titles in Google Music are read from the original MP3’s ID3 tags. This means that they can contain characters that aren’t always allowed in Windows file names. Your downloader just seems to skip any song that has an invalid character, where it should ideally rename them in a windows-friendly fashion. It also doesn’t maintain ID3 data, so there’s no indication of the album that a particular track comes from.

    I realise that adding ID3 data might be a little tricky, however, as you would probably have to insert it yourself.

  3. Hi again. Would you be willing to share the source for this, perhaps? I’d love to be able to tweak it myself.

  4. Hi Alex M,

    I’ve updated the post with a link to the source code. Any contribution would be greatly welcomed ;)

  5. where do i find the songs once i download them ?

  6. maria The songs are stored in the same directory of the application. If, for example, you downloaded the application to your desktop, the songs will be stored in your desktop.

  7. I have a quick question. I was looking for an app to do exactly what yours does except for some reason I am only able to download about half of my music collection. When I try to continue downloading the rest, it downloads one song and then gives me an error. Any suggestions?

    Here is a copy of the error if it helps…

    System.IO.FileNotFoundException: Could not load file or assembly ‘taglib-sharp, Version=2.0.4.0, Culture=neutral, PublicKeyToken=db62eba44689b5b0′ or one of its dependencies. The system cannot find the file specified.
    File name: ‘taglib-sharp, Version=2.0.4.0, Culture=neutral, PublicKeyToken=db62eba44689b5b0′

    Any help you could provide would be greatly appreciated…

    Dave

    • During some days the link to download the program was pointing to the wrong exe file which produced the failure you’re experiencing. It is due to a missing dll file I was supposed to distribute with the application.

      If you download the application again you should get a zip file containing both the exe and a dll that will prevent that failure :)

  8. So it looks like this app downloads all the music in the songs section of Music. I just purchased an album through Google Music that I want to download back to my computer. Is it possible to do that without going through each individual track to download?

    • I didn’t tried myself, but I’m guessing that you could create a playlist with all the songs you want to download (in this case, all songs of that album) and then download the playlist (which is supported by the program).

      To easily create the playlist, you could search by album and select all the songs in just one click, then right button to create the playlist containing the selected songs ;)

      • PERFECT solution. Thank you so much for your help. Each time i tried to download it straight from the album, it told me i had to be in the songs section.

  9. so this means that google is removing the mp3 tags once the files are uploaded oh their site? or ar the tags lost at download? losing the tags would be a major bummer for me…

    • I do not know the details about how Google Music operates because, to the best of my knowledge, they’re not public.

      What I can say is that the method I use to download songs seems to strip out the tags. Fortunately enough, Alex M has implemented a system that will acquire the title, artist and album from the web page and write the appropriate tags to the MP3.

      However, I’m afraid any other tags are lost in the process :(

  10. Thanks Pablo, useful application, but there is not options to download one, or more songs. Only all of them
    Download “Search Results” or “Playlist” don’t work for me.
    Windows 7 Ultimate
    Google Chrome 16.0.912.63 m

  11. Pingback: Как да създадете и как да имате достъп до Google Music акаунта си, ако сте извън САЩ « ◦ Malone ◦ Blogging & Purification ◦

  12. Pingback: Google Music Hesabınızdaki Şarkıları Kolayca İndirin | PCkoloji.com

  13. Hi. I only want to download certain playlists, but the app is trying to download my ENTIRE collection and then it crashes. How do I just download a few songs from a playlist or an album?

    • You can create a Playlist and then download it. Some people with large collections are experimenting similar issues… creating playlists with less than 1000 songs seems to be a good workaround.

  14. Amazing, great job!

    I know that the program is new but if you want to implement the future more, it would be interesting:
    – Download the songs in folders “Artist – Album Name”
    – Be able to define what albums / artists

  15. Once you’ve downloaded 1,000 times the problem is. This is a correct information? I wonder.

  16. Pingback: Google Müzik Hesabına Ulaşma | İlk Öğretmen

  17. Pingback: Google Music Hesabınızdaki Şarkıları İndirin | İlk Öğretmen

  18. The Source Code download link doesn’t work anymore

  19. This sounds perfect, but first curious to know if when downloading my songs back are they going to be the same quality or not. As I just read here: http://www.google.com/support/forum/p/Google%20Mobile/thread?tid=46ff4c31351e4627&hl=en that getting your songs back from Google Music can sometimes change the mp3 to 128kpbs.
    Thanks in advance for any infos

  20. THANK YOU!! Awesome downloader…the songs we purchased are now OURS!!

  21. I only seem to be able to grab 1,000 songs at a time? Am I missing something to get the rest?

    • Issues downloading large collections have been reported in the past, however it doesn’t seem to happen to everyone or with a fix amount of songs.

      A workaround that seems to work for all situations is the creation of different playlists, each of them with a fare amount of songs. Downloading these playlist one by one allow you to download your entire collection with just a few clicks.

  22. Hey,
    This App Sounds Great! I downloaded it, but when i tried to open it my Mac wouldn’t let me because it was a Windows app. Is there any way you can make it compatible for Macs?
    -Thanks

    • The main issue is the use of an embedded Internet Explorer within the application. It seems fairly reasonable to think that changing it for a WebKit component will make it work under Mac.

      I’ve never developed for Mac before and I’m afraid I lack the time I’d need to make the appropriate changes. However, the source code is public and anyone with the necessary skills and the time, could add Mac compatibility.

  23. great job. but I can only download 1000 songs at a time. Please make a way to download all music.

  24. any option to download albums to folders ? for every album create folder

  25. Pingback: Music by kizashi - Pearltrees

  26. The Vulcan Jedi

    Thanks a lot for this! It helped me out. You da man!

  27. I cant open the app after i download it keeps saying I have a .net framework problem???

  28. Pingback: Zakstudio » Récupérer les musique sur Google Music

  29. It seems to be downloading my songs but I cant find where they are being downloaded to? I checked my downloads folder (where I downloaded the ZIP to) and nothing was in there? Please help I want my music.

  30. Hi, this is exactly what i need! however i am having a problem opening the app. i downloaded it but it only opens in read-only format. what should i do? your help would be greatly appreciated!

    sidenote: im using a mac.

  31. First of thank you for this program. It’s great. It was working perfect for me but now I keep getting this error. Any ideas?

    See the end of this message for details on invoking
    just-in-time (JIT) debugging instead of this dialog box.

    ************** Exception Text **************
    System.NullReferenceException: Object reference not set to an instance of an object.
    at GoogleMusic_Downloader.FindFilesWindow.btDownloadSongs_Click(Object sender, EventArgs e)
    at System.Windows.Forms.Control.OnClick(EventArgs e)
    at System.Windows.Forms.Button.OnClick(EventArgs e)
    at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
    at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
    at System.Windows.Forms.Control.WndProc(Message& m)
    at System.Windows.Forms.ButtonBase.WndProc(Message& m)
    at System.Windows.Forms.Button.WndProc(Message& m)
    at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

    ************** Loaded Assemblies **************
    mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
    —————————————-
    GoogleMusic Downloader
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Users/Randy/Desktop/GoogleMusic%20Downloader.exe
    —————————————-
    System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.1 built by: RTMRel
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
    —————————————-
    System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.1 built by: RTMRel
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
    —————————————-
    System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.1 built by: RTMRel
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
    —————————————-
    Microsoft.mshtml
    Assembly Version: 7.0.3300.0
    Win32 Version: 7.0.3300.0
    CodeBase: file:///C:/Windows/assembly/GAC/Microsoft.mshtml/7.0.3300.0__b03f5f7f11d50a3a/Microsoft.mshtml.dll
    —————————————-

    ************** JIT Debugging **************
    To enable just-in-time (JIT) debugging, the .config file for this
    application or computer (machine.config) must have the
    jitDebugging value set in the system.windows.forms section.
    The application must also be compiled with debugging
    enabled.

    For example:

    When JIT debugging is enabled, any unhandled exception
    will be sent to the JIT debugger registered on the computer
    rather than be handled by this dialog box.

  32. I try using the ap but when I log into Google music and click on the cd I want to download I get message saying there is a source code error and it won’t open the list of songs. Any idea what’s up?

    Thanks,

    Terry

  33. check that, it says an error has occured in the script. Whats wrong? Thanks!!!

  34. I am getting the error as well :(

  35. When Google switched over to the Google Play moniker, it changed the source code. The change rendered this tool and all similar tools useless.

  36. I really want to use this app! But I’m getting the following error when I am on the Songs screen and click Download…

    ************** Exception Text **************
    System.NullReferenceException: Object reference not set to an instance of an object.
    at GoogleMusic_Downloader.FindFilesWindow.btDownloadSongs_Click(Object sender, EventArgs e)
    at System.Windows.Forms.Control.OnClick(EventArgs e)
    at System.Windows.Forms.Button.OnClick(EventArgs e)
    at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
    at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
    at System.Windows.Forms.Control.WndProc(Message& m)
    at System.Windows.Forms.ButtonBase.WndProc(Message& m)
    at System.Windows.Forms.Button.WndProc(Message& m)
    at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

  37. any news?
    I’d like to find a way to download albums from Google Music.

  38. Thank you for taking the time to explain this.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Go back to top