[HOW TO] Migrate your iTunes library to Linux


Recommended Posts

Ok so you've encoded you're ENTIRE iTunes library in Apple's ACC, like me :). But now you want to play those files on you're new Linux box. Problem is .m4a support is sketchy, at least for me it was. I could get the files to play with KPlayer but not with XMMS or amarok, amarok being what I really wanted to use. So I decided I'd just convert them instead of re-encoding them from the discs.

WARNING!!: THE FOLLOWING SCRIPT CONVERTS .M4A'S TO .MP3'S. THE PROCESS CONVERTS .M4A'S TO .WAV'S FIRST, WHICH ARE QUITE LARGE(~400MB), SO BE SURE TO HAVE SOME EXTRA SPACE ON YOUR HARD DRIVE SO THE SCRIPT CAN COMPLETE. THE ORIGINAL FILES AS WELL AS THE .WAVS ARE DELETED AT THE END OF THE SCRIPT. IF YOU DON'T WANT THIS TO HAPPEN REMOVE THE APPROPRIATE LINES FROM THE BOTTOM. YOU HAVE BEEN WARNED!!!

WARNING!!: THE FOLLOWING CONVERSION PROCESS STRIPS THE FILES OF ANY META-DATA(i.e Artists,Albums) ASSOCIATED WITH THEM. YOU WILL HAVE TO RE-APPLY THE META-DATA WITH SOME OTHER APP. YOU HAVE BEEN WARNED!!

NOTE: This HOWTO assumes you have mplayer and lame installed.

1. First of of all make a file for the conversion script and call it whatever you please. Copy the following into that file. I named my allinone.sh


#!/bin/bash
#
# Dump m4a to wav (first step in conversion)

for i in *.m4a
do
mplayer -ao pcm "$i" -aofile "$i.wav"
done

#!/bin/bash
#
#Second step... use lame to convert into .mp3

for i in *.wav
do
lame -h -b 192 "$i" "$i.mp3"
done

#!/bin/bash
#
# Remove extrenuous extensions.

for i in *.mp3
do
x=`echo "$i"|sed -e 's/m4a.wav.mp3/mp3/'`
mv "$i" "$x"
done

rm *.wav
rm *.m4a

2. Now give the file execution access with chmod +x allinone.sh

3.Next get your .m4a files you want to convert organized. Mine are still in the directory structure that iTunes has, Artists as root directories with Albums as subdirectories. Or maybe you have all your music in one folder :). Whaterever your case may be cd to the directory that has the files that you want to convert. I recommend doing an album at a time because once an album is done thats when I re-apply my meta-data. Plus doing 1000 songs at once would take forever, not to mention the space taken up by the .wav files.

albert@albert-linux ~/albert-drive/music/metallica/black album $ ls
01 enter sandman.m4a     05 wherever i may roam.m4a   09 of wolf and man.m4a
02 sad but true.m4a      06 don't tread on me.m4a     10 the god that failed.m4a
03 holier than thou.m4a  07 through the never.m4a     11 my friend of misery.m4a
04 the unforgiven.m4a    08 nothing else matters.m4a  12 the struggle within.m4a

4. Run the script from the location you saved it with ./allinone.sh

5. Depending on the size/number of files in the directory you run the script on it may take some time to complete. But the result is .mp3's from .m4a's!!

6. Re-apply meta-data if you wish....rinse/repeate/enjoy

Is there ANY way possible to have it delete the m4a file after each conversion, I say this because I tried this script earlier from linuxquestions.org (or a very similar script), and my hdd was filled up in no time.

Thanks.

edit: maybe i SHOULD just do one album at a time, but I have 3600 songs to convert from m4a :cry: :cry: :cry:

A little bit of judicious editing of the above script should suffice?

#!/bin/bash
#
# Dump m4a to wav (first step in conversion)

for i in *.m4a
do
	mplayer -ao pcm "$i" -aofile "$i.wav"
	rm "$i"
done

#!/bin/bash
#
#Second step... use lame to convert into .mp3

for i in *.wav
do
	lame -h -b 192 "$i" "$i.mp3"
	rm $i
done

#!/bin/bash
#
# Remove extrenuous extensions.

for i in *.mp3
do
	x=`echo "$i"|sed -e 's/m4a.wav.mp3/mp3/'`
	mv "$i" "$x"
done

A side note, I recommed easytag for reapplying tags and changing file names. The interface and the options may seem overwelming at first but just give it a chance. Its a really robust program that allows you to modify a large number of files at once. It also can connect to CDDB to look up tags.

A side note, I recommed easytag for reapplying tags and changing file names. The interface and the options may seem overwelming at first but just give it a chance. Its a really robust program that allows you to modify a large number of files at once. It also can connect to CDDB to look up tags.

586268480[/snapback]

I installed it yesterday just for changing all my id3 tags, very cool program. :D

I installed it yesterday just for changing all my id3 tags, very cool program.  :D

586268738[/snapback]

Yes it is. Though it took me at least 30-45 minutes to figure out how to use it :). Before that I was ready to rip out my hair getting it to do what I wanted. But once I figured it out it made the conversion process move quite quickly.

  • 4 weeks later...
  • 1 month later...
  • 3 weeks later...
  • 2 months later...
  • 4 weeks later...

This is possibly the worst solution for this problem. It's time consuming, lowers the quality of your music files (transcoding of any type will always lower the quality), and it's completely unneccessary. I've been playing aac files in linux (using xmms) for years now (i.e. pre iTunes) using faad2 and libmp4. They are easily obtained in many distributions using the package management tools - whether it be rpm or deb based (I don't know if other packaging systems have them available). Other sources such as the rarewares website or the penguin liberation front (plf) may be of use.

Of course, nothing in this post (or parent's) addreses DRM'ed music bought from the iTunes store.

  • 1 month later...

iTunes in Wine/Crossover Office is very slow, I wouldn't recommend it.

Does anyone know a program that can organize the music library the way iTunes does in Linux?

I find JUK to be very much like itunes, and Amarok similar to Musicmatch.

I find JUK to be very much like itunes, and Amarok similar to Musicmatch.

GTKPod has all of those beat, hands down. heck, if you even use the .99.x builds.. it even has video support to sync up with your ipod video.

and its rock solid. ..suprisingly. lol.

  • 4 weeks later...

I had this problem recently and went through various converters trying to convert from m4a to mp3, until I found the perfect one, which also keeps all tags right.

http://www.dbpoweramp.com/

It's a freeware. You need to download it, then install the mp3 codec or plugin whatever it is. I converted about 2000 m4a's using this.

Honestly, i wouldn't convert AAC files to MP3, you loose quality.

there is nothing wrong with AAC files, they are better quality than MP3 files are (designed to replace MP3), and they are also a open specification (AAC is MPEG-2 Part 7 and the newer version is MPEG-4 Part 3), same as MP3 (MPEG-1 Audio Layer 3), so it's not like they are a closed spec controlled by one company.

  • 1 year later...

dbpoweramp is definitely a great program. I've used it before to do some big conversions. The only problem is that it's Windows only. For future reference, if you don't have a Windows box available, I wrote a little program to convert M4A files to MP3 files, keeping the artist, album, song name and track number tags. It's available here.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • That's not clickbait. Clickbait is headlines like, "You'll never guess what this person looks like now" for example. For goodness sake, take a look around the internet if you think this is clickbait. How do sites survive if people don't click through to articles? How many people in all honesty would have clicked this if it had your suggested headline? You and those upvoting your post won't be happy until the web is a couple of hundred websites all behind a paywall.
    • HopToDesk 1.46.2.0 by Razvan Serea HopToDesk aims to improve the user experience by providing a free, easy-to-use, and secure remote desktop solution for all major device types including Windows PC, Mac, Linux, Android, Chrome Books, iOS, and even Raspberry Pi devices. HopToDesk empowers you to connect, control, and collaborate with ease. Whether you're providing IT support, managing remote teams, or accessing your own devices from anywhere, HopToDesk offers a reliable and secure solution. HopToDesk does not and cannot monitor user activity as the application uses end-to-end encryption for all traffic, and does not make a distinction between personal and business use (both are allowed). Additionally, HopToDesk includes many of the main features of common remote desktop solutions such as Unattended Access, File Transfer, Live Chat, Wake-On-LAN, 2FA, Direct IP access, a Recent Session and Favorite list, and is available in over 20 languages. HopToDesk can run in portable mode or installed on desktop operating systems. Installation is optional, and will install the HopToDesk service which runs in the background and listens for incoming connections, allowing the device to be accessible at all times. Why Choose HopToDesk? Completely Free: Enjoy full access for both personal and commercial use—no hidden fees or limitations. End-to-End Encryption: All communications, including screen sharing, file transfers, and chats, are protected with robust encryption. Open Source: Contribute to and benefit from a transparent and community-driven project. No Account Required: Connect instantly without the need for sign-ups or subscriptions. Core Features Remote Control & Screen Sharing: Effortlessly access and manage remote devices. File Transfer: Securely send and receive files with drag-and-drop simplicity. Live Chat: Communicate in real-time during sessions. Multi-Monitor Support: Navigate multiple screens with ease. Clipboard Synchronization: Copy and paste seamlessly across devices. Wake-on-LAN: Power on remote systems remotely. Session Recording: Document sessions for future reference. Two-Factor Authentication: Enhance security with an additional verification layer. Custom Branding: Personalize your remote sessions with custom avatars. Unattended Access: Connect to devices without requiring user intervention. Network Customization: Adjust settings like TURN relays and signaling servers to suit your environment. Centralized Device Management Utilize the HopToDesk Dashboard to: Monitor device status in real-time. Generate invite links for easy device integration. Customize network settings and synchronize changes effortlessly. Add a personal touch with custom avatars displayed during remote sessions. Download: HopToDesk 64-bit | HopToDesk 32-bit | ~9.0 MB (Freeware) Download: HopToDesk ARM64 | 21.4 MB Link: HopToDesk Home Page | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • Or use Epic games and get full games for free. lol Steam and their demos. Thankfully there’s competition
    • Maybe I missed it, but does this say anywhere that the game save bug has been squashed? I haven't encountered it myself, but it would be nice to know I'm good to go. Anyway, amazingly well done game. Mostly more of the same. ...but when the same is best in class with improved graphics and features, then a win.
    • Well when your game flops, you should expect this. If I do bad at work, I would expect a layoff. Less than 1600 people played it on steam. https://steamdb.info/app/1934570/charts/
  • Recent Achievements

    • Reacting Well
      Almohandis earned a badge
      Reacting Well
    • First Post
      Cosminus earned a badge
      First Post
    • One Year In
      ThatGuyOnline earned a badge
      One Year In
    • Week One Done
      Jeroen Wilms earned a badge
      Week One Done
    • Week One Done
      rolfus earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      476
    2. 2
      +Edouard
      181
    3. 3
      PsYcHoKiLLa
      118
    4. 4
      Steven P.
      83
    5. 5
      neufuse
      73
  • Tell a friend

    Love Neowin? Tell a friend!