Convert FLAC files to OGG Vorbis












8














Are there any Linux tools for transcoding and syncing music directories?



I encode my music to FLAC, which I keep on an external hard drive. Some time ago I transcoded this collection to OGG Vorbis, in a different directory. Since then I have added to the FLAC collection. I am looking for a tool that scans my main (FLAC) collection and transcodes any new additions into the smaller (Vorbis) collection.



What I have in mind is something that worked like Unison or Rsync (but was able to ignore the fact that the files are in different formats) but also transcoded during the copy process.



Are there any tools that do something like this?










share|improve this question
























  • I use a python program to walk over the tree of MP3 file to move any FLAC files out (since Picard puts FLAC and MP3) togehter, then walk the FLAC tree and convert them if the target MP3 does not exists (FLAC to temporary WAV to LAME), while preserving the ID3 tags that are in the FLAC file. The script is relatively simple, but I couldn't find anything that did all of that automatically from the commandline.
    – Anthon
    Apr 22 '14 at 17:32
















8














Are there any Linux tools for transcoding and syncing music directories?



I encode my music to FLAC, which I keep on an external hard drive. Some time ago I transcoded this collection to OGG Vorbis, in a different directory. Since then I have added to the FLAC collection. I am looking for a tool that scans my main (FLAC) collection and transcodes any new additions into the smaller (Vorbis) collection.



What I have in mind is something that worked like Unison or Rsync (but was able to ignore the fact that the files are in different formats) but also transcoded during the copy process.



Are there any tools that do something like this?










share|improve this question
























  • I use a python program to walk over the tree of MP3 file to move any FLAC files out (since Picard puts FLAC and MP3) togehter, then walk the FLAC tree and convert them if the target MP3 does not exists (FLAC to temporary WAV to LAME), while preserving the ID3 tags that are in the FLAC file. The script is relatively simple, but I couldn't find anything that did all of that automatically from the commandline.
    – Anthon
    Apr 22 '14 at 17:32














8












8








8


3





Are there any Linux tools for transcoding and syncing music directories?



I encode my music to FLAC, which I keep on an external hard drive. Some time ago I transcoded this collection to OGG Vorbis, in a different directory. Since then I have added to the FLAC collection. I am looking for a tool that scans my main (FLAC) collection and transcodes any new additions into the smaller (Vorbis) collection.



What I have in mind is something that worked like Unison or Rsync (but was able to ignore the fact that the files are in different formats) but also transcoded during the copy process.



Are there any tools that do something like this?










share|improve this question















Are there any Linux tools for transcoding and syncing music directories?



I encode my music to FLAC, which I keep on an external hard drive. Some time ago I transcoded this collection to OGG Vorbis, in a different directory. Since then I have added to the FLAC collection. I am looking for a tool that scans my main (FLAC) collection and transcodes any new additions into the smaller (Vorbis) collection.



What I have in mind is something that worked like Unison or Rsync (but was able to ignore the fact that the files are in different formats) but also transcoded during the copy process.



Are there any tools that do something like this?







conversion flac vorbis






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Dec 25 '14 at 16:36









landroni

3,18082237




3,18082237










asked Apr 22 '14 at 15:50









user65870

4112




4112












  • I use a python program to walk over the tree of MP3 file to move any FLAC files out (since Picard puts FLAC and MP3) togehter, then walk the FLAC tree and convert them if the target MP3 does not exists (FLAC to temporary WAV to LAME), while preserving the ID3 tags that are in the FLAC file. The script is relatively simple, but I couldn't find anything that did all of that automatically from the commandline.
    – Anthon
    Apr 22 '14 at 17:32


















  • I use a python program to walk over the tree of MP3 file to move any FLAC files out (since Picard puts FLAC and MP3) togehter, then walk the FLAC tree and convert them if the target MP3 does not exists (FLAC to temporary WAV to LAME), while preserving the ID3 tags that are in the FLAC file. The script is relatively simple, but I couldn't find anything that did all of that automatically from the commandline.
    – Anthon
    Apr 22 '14 at 17:32
















I use a python program to walk over the tree of MP3 file to move any FLAC files out (since Picard puts FLAC and MP3) togehter, then walk the FLAC tree and convert them if the target MP3 does not exists (FLAC to temporary WAV to LAME), while preserving the ID3 tags that are in the FLAC file. The script is relatively simple, but I couldn't find anything that did all of that automatically from the commandline.
– Anthon
Apr 22 '14 at 17:32




I use a python program to walk over the tree of MP3 file to move any FLAC files out (since Picard puts FLAC and MP3) togehter, then walk the FLAC tree and convert them if the target MP3 does not exists (FLAC to temporary WAV to LAME), while preserving the ID3 tags that are in the FLAC file. The script is relatively simple, but I couldn't find anything that did all of that automatically from the commandline.
– Anthon
Apr 22 '14 at 17:32










3 Answers
3






active

oldest

votes


















13














You can use a graphical converter like soundconverter. However, since you need to add it to the ogg collection, I believe you might be looking for some command line solutions. You can probably try,



ffmpeg -i musicfile.flac musicfile.ogg


Or even,



find . -name "*flac" -exec oggenc -q 7 {} ;


Once, you have identified an efficient way for file conversion, doing a rsync based on difference of files would be the next step to go.



Sources



Ubuntu Forum






share|improve this answer





















  • See here for how to retain ID3 tags.
    – Raphael
    Feb 1 '17 at 22:13



















1














Try this bash script:



EXT=flac
for file in *.${EXT}; do
if [ ! -e ${file%.flac}.ogg ]; then
ffmpeg -i ${file} -qscale:a 6 ${file%.flac}.ogg
fi
done





share|improve this answer























  • This does transcodes all files, not just the new ones added (which is what the OP asked)
    – Anthon
    Sep 19 '17 at 16:14










  • @Anthon Right, but neither does Ramesh's answer. If you downvote this one, you should downvote both.
    – xhienne
    Sep 19 '17 at 16:37










  • @xhienne I don't understand your reference to downvoting, what are you referring to? This post is not downvoted. I just reviewed this answer from the review queue and commented, and that is not the same as downvoting.
    – Anthon
    Sep 19 '17 at 17:00










  • Sorry Anthon, it was downvoted at the time I wrote this and I believed it was your vote. The downvote has gone since
    – xhienne
    Sep 19 '17 at 21:26






  • 1




    You'll need to enclose all variables in quotes to correctly handle files with spaces in their names.
    – grifferz
    Apr 13 at 20:49



















0














I use acxi, which does basically exactly what the op wants. Syncs flac directories to ogg (or mp3 or opus) directories, including copying over whatever other files I want, like jpg, txt, png, etc.



https://github.com/smxi/acxi



Simple perl script, with configurations, options, etc.






share|improve this answer





















    Your Answer








    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "106"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f125992%2fconvert-flac-files-to-ogg-vorbis%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    3 Answers
    3






    active

    oldest

    votes








    3 Answers
    3






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    13














    You can use a graphical converter like soundconverter. However, since you need to add it to the ogg collection, I believe you might be looking for some command line solutions. You can probably try,



    ffmpeg -i musicfile.flac musicfile.ogg


    Or even,



    find . -name "*flac" -exec oggenc -q 7 {} ;


    Once, you have identified an efficient way for file conversion, doing a rsync based on difference of files would be the next step to go.



    Sources



    Ubuntu Forum






    share|improve this answer





















    • See here for how to retain ID3 tags.
      – Raphael
      Feb 1 '17 at 22:13
















    13














    You can use a graphical converter like soundconverter. However, since you need to add it to the ogg collection, I believe you might be looking for some command line solutions. You can probably try,



    ffmpeg -i musicfile.flac musicfile.ogg


    Or even,



    find . -name "*flac" -exec oggenc -q 7 {} ;


    Once, you have identified an efficient way for file conversion, doing a rsync based on difference of files would be the next step to go.



    Sources



    Ubuntu Forum






    share|improve this answer





















    • See here for how to retain ID3 tags.
      – Raphael
      Feb 1 '17 at 22:13














    13












    13








    13






    You can use a graphical converter like soundconverter. However, since you need to add it to the ogg collection, I believe you might be looking for some command line solutions. You can probably try,



    ffmpeg -i musicfile.flac musicfile.ogg


    Or even,



    find . -name "*flac" -exec oggenc -q 7 {} ;


    Once, you have identified an efficient way for file conversion, doing a rsync based on difference of files would be the next step to go.



    Sources



    Ubuntu Forum






    share|improve this answer












    You can use a graphical converter like soundconverter. However, since you need to add it to the ogg collection, I believe you might be looking for some command line solutions. You can probably try,



    ffmpeg -i musicfile.flac musicfile.ogg


    Or even,



    find . -name "*flac" -exec oggenc -q 7 {} ;


    Once, you have identified an efficient way for file conversion, doing a rsync based on difference of files would be the next step to go.



    Sources



    Ubuntu Forum







    share|improve this answer












    share|improve this answer



    share|improve this answer










    answered Apr 22 '14 at 16:14









    Ramesh

    23.1k32101181




    23.1k32101181












    • See here for how to retain ID3 tags.
      – Raphael
      Feb 1 '17 at 22:13


















    • See here for how to retain ID3 tags.
      – Raphael
      Feb 1 '17 at 22:13
















    See here for how to retain ID3 tags.
    – Raphael
    Feb 1 '17 at 22:13




    See here for how to retain ID3 tags.
    – Raphael
    Feb 1 '17 at 22:13













    1














    Try this bash script:



    EXT=flac
    for file in *.${EXT}; do
    if [ ! -e ${file%.flac}.ogg ]; then
    ffmpeg -i ${file} -qscale:a 6 ${file%.flac}.ogg
    fi
    done





    share|improve this answer























    • This does transcodes all files, not just the new ones added (which is what the OP asked)
      – Anthon
      Sep 19 '17 at 16:14










    • @Anthon Right, but neither does Ramesh's answer. If you downvote this one, you should downvote both.
      – xhienne
      Sep 19 '17 at 16:37










    • @xhienne I don't understand your reference to downvoting, what are you referring to? This post is not downvoted. I just reviewed this answer from the review queue and commented, and that is not the same as downvoting.
      – Anthon
      Sep 19 '17 at 17:00










    • Sorry Anthon, it was downvoted at the time I wrote this and I believed it was your vote. The downvote has gone since
      – xhienne
      Sep 19 '17 at 21:26






    • 1




      You'll need to enclose all variables in quotes to correctly handle files with spaces in their names.
      – grifferz
      Apr 13 at 20:49
















    1














    Try this bash script:



    EXT=flac
    for file in *.${EXT}; do
    if [ ! -e ${file%.flac}.ogg ]; then
    ffmpeg -i ${file} -qscale:a 6 ${file%.flac}.ogg
    fi
    done





    share|improve this answer























    • This does transcodes all files, not just the new ones added (which is what the OP asked)
      – Anthon
      Sep 19 '17 at 16:14










    • @Anthon Right, but neither does Ramesh's answer. If you downvote this one, you should downvote both.
      – xhienne
      Sep 19 '17 at 16:37










    • @xhienne I don't understand your reference to downvoting, what are you referring to? This post is not downvoted. I just reviewed this answer from the review queue and commented, and that is not the same as downvoting.
      – Anthon
      Sep 19 '17 at 17:00










    • Sorry Anthon, it was downvoted at the time I wrote this and I believed it was your vote. The downvote has gone since
      – xhienne
      Sep 19 '17 at 21:26






    • 1




      You'll need to enclose all variables in quotes to correctly handle files with spaces in their names.
      – grifferz
      Apr 13 at 20:49














    1












    1








    1






    Try this bash script:



    EXT=flac
    for file in *.${EXT}; do
    if [ ! -e ${file%.flac}.ogg ]; then
    ffmpeg -i ${file} -qscale:a 6 ${file%.flac}.ogg
    fi
    done





    share|improve this answer














    Try this bash script:



    EXT=flac
    for file in *.${EXT}; do
    if [ ! -e ${file%.flac}.ogg ]; then
    ffmpeg -i ${file} -qscale:a 6 ${file%.flac}.ogg
    fi
    done






    share|improve this answer














    share|improve this answer



    share|improve this answer








    edited Sep 20 '17 at 20:53

























    answered Sep 19 '17 at 15:34









    daloonik

    435




    435












    • This does transcodes all files, not just the new ones added (which is what the OP asked)
      – Anthon
      Sep 19 '17 at 16:14










    • @Anthon Right, but neither does Ramesh's answer. If you downvote this one, you should downvote both.
      – xhienne
      Sep 19 '17 at 16:37










    • @xhienne I don't understand your reference to downvoting, what are you referring to? This post is not downvoted. I just reviewed this answer from the review queue and commented, and that is not the same as downvoting.
      – Anthon
      Sep 19 '17 at 17:00










    • Sorry Anthon, it was downvoted at the time I wrote this and I believed it was your vote. The downvote has gone since
      – xhienne
      Sep 19 '17 at 21:26






    • 1




      You'll need to enclose all variables in quotes to correctly handle files with spaces in their names.
      – grifferz
      Apr 13 at 20:49


















    • This does transcodes all files, not just the new ones added (which is what the OP asked)
      – Anthon
      Sep 19 '17 at 16:14










    • @Anthon Right, but neither does Ramesh's answer. If you downvote this one, you should downvote both.
      – xhienne
      Sep 19 '17 at 16:37










    • @xhienne I don't understand your reference to downvoting, what are you referring to? This post is not downvoted. I just reviewed this answer from the review queue and commented, and that is not the same as downvoting.
      – Anthon
      Sep 19 '17 at 17:00










    • Sorry Anthon, it was downvoted at the time I wrote this and I believed it was your vote. The downvote has gone since
      – xhienne
      Sep 19 '17 at 21:26






    • 1




      You'll need to enclose all variables in quotes to correctly handle files with spaces in their names.
      – grifferz
      Apr 13 at 20:49
















    This does transcodes all files, not just the new ones added (which is what the OP asked)
    – Anthon
    Sep 19 '17 at 16:14




    This does transcodes all files, not just the new ones added (which is what the OP asked)
    – Anthon
    Sep 19 '17 at 16:14












    @Anthon Right, but neither does Ramesh's answer. If you downvote this one, you should downvote both.
    – xhienne
    Sep 19 '17 at 16:37




    @Anthon Right, but neither does Ramesh's answer. If you downvote this one, you should downvote both.
    – xhienne
    Sep 19 '17 at 16:37












    @xhienne I don't understand your reference to downvoting, what are you referring to? This post is not downvoted. I just reviewed this answer from the review queue and commented, and that is not the same as downvoting.
    – Anthon
    Sep 19 '17 at 17:00




    @xhienne I don't understand your reference to downvoting, what are you referring to? This post is not downvoted. I just reviewed this answer from the review queue and commented, and that is not the same as downvoting.
    – Anthon
    Sep 19 '17 at 17:00












    Sorry Anthon, it was downvoted at the time I wrote this and I believed it was your vote. The downvote has gone since
    – xhienne
    Sep 19 '17 at 21:26




    Sorry Anthon, it was downvoted at the time I wrote this and I believed it was your vote. The downvote has gone since
    – xhienne
    Sep 19 '17 at 21:26




    1




    1




    You'll need to enclose all variables in quotes to correctly handle files with spaces in their names.
    – grifferz
    Apr 13 at 20:49




    You'll need to enclose all variables in quotes to correctly handle files with spaces in their names.
    – grifferz
    Apr 13 at 20:49











    0














    I use acxi, which does basically exactly what the op wants. Syncs flac directories to ogg (or mp3 or opus) directories, including copying over whatever other files I want, like jpg, txt, png, etc.



    https://github.com/smxi/acxi



    Simple perl script, with configurations, options, etc.






    share|improve this answer


























      0














      I use acxi, which does basically exactly what the op wants. Syncs flac directories to ogg (or mp3 or opus) directories, including copying over whatever other files I want, like jpg, txt, png, etc.



      https://github.com/smxi/acxi



      Simple perl script, with configurations, options, etc.






      share|improve this answer
























        0












        0








        0






        I use acxi, which does basically exactly what the op wants. Syncs flac directories to ogg (or mp3 or opus) directories, including copying over whatever other files I want, like jpg, txt, png, etc.



        https://github.com/smxi/acxi



        Simple perl script, with configurations, options, etc.






        share|improve this answer












        I use acxi, which does basically exactly what the op wants. Syncs flac directories to ogg (or mp3 or opus) directories, including copying over whatever other files I want, like jpg, txt, png, etc.



        https://github.com/smxi/acxi



        Simple perl script, with configurations, options, etc.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered yesterday









        Lizardx

        1,621510




        1,621510






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Unix & Linux Stack Exchange!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.





            Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


            Please pay close attention to the following guidance:


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f125992%2fconvert-flac-files-to-ogg-vorbis%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            サソリ

            広島県道265号伴広島線

            Accessing regular linux commands in Huawei's Dopra Linux