I have a fairly large music collection, which is 9.9 GB in size. It’s mainly made up of MP3 files, with some OGG Vorbis files and a handful of WAV and WMA files. I would like to convert the entire library to AAC (or a better format, if there is one) in order to reduce the size of my collection by a considerable amount.

My library is organised using this folder structure:

~/Music/{Artist}/{Album}/{Track}

Can anyone recommend a GUI tool or shellscript which would recursively convert the files, map across the metadata, and dump the files into a different folder with the same directory structure?

EDIT: I have used a script to convert everything to Opus. Problem solved, just working out the kinks now.

    • aleph@lemm.ee
      link
      fedilink
      English
      arrow-up
      0
      ·
      edit-2
      1 year ago

      If I were you, I would stick to streaming in that case.

      However, if you’re dead set on storing files locally and there’s no other option but to transcode, then use 128kbps Opus instead of AAC - assuming that iPhones support it (I haven’t checked). It’s a lot more efficient.

      A good converter program to use is fre:ac but don’t ask me for an iOS only app because I’m not an Apple guy at all.

      • mondul@beehaw.org
        link
        fedilink
        English
        arrow-up
        0
        ·
        1 year ago

        Doesn’t support it directly, I can’t add opus files to the iTunes library, so I had to use VLC for them, but it’s not designed to be a music player for the iPhone and the music stops after playing a couple of songs with the screen off

      • Hellfire103@sopuli.xyzOP
        link
        fedilink
        English
        arrow-up
        0
        ·
        edit-2
        1 year ago

        The app I’m using on my iPhone (foobar2000) supports OGG Opus. ~However, decoding takes about a second, resulting in a noticeable gap between songs.~

        EDIT: It seems that HydrogenAudio have fixed the Opus decoding in foobar2000 Mobile.

    • ericskiff@beehaw.org
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 year ago

      You could consider running a plex server and using Plexamp to stream from that to your phone. It’s free as of a few days ago!

    • NX2@feddit.de
      link
      fedilink
      English
      arrow-up
      0
      ·
      edit-2
      1 year ago
      1. Don’t buy iPhone

      2. You need ffmpeg

      3. Read this for the exact command

      4. You can use the find command (in console) to list all mp3 files, these you can pipe into ffmpeg.

      Just ask ChatGPT to write the shell script for you

      • Hellfire103@sopuli.xyzOP
        link
        fedilink
        English
        arrow-up
        0
        ·
        1 year ago

        Already did that. Thanks though.

        By the way, owning an iPhone is not my choice. I’m 17 and still living with my parents, and my dad is a huge Apple fanboy. Ideally, I’d have either a Pixel with DivestOS, an Xperia with SailfishOS, a PinePhone with PostMarketOS, or an old Nokia 3210; but for now I’m stuck with my second hand iPhone SE.