Конвертируйте несколько файлов.FLAC в.MP3 из gmusicbrowser

У меня есть большая библиотека FLAC, разделенная папкой, каждым альбомом и всеми идеальными тегами FLAC и т. Д. Я хочу преобразовать один или несколько альбомов в mp3, но из самого gmusicbrowser. AFAIK, для этого нет никакой опции, только опция плагина "выполнить пользовательскую команду для выбранных файлов". Я думаю, может быть, есть комнада для этого. Если нет, кто-нибудь знает, как я могу это сделать?

Заранее спасибо.

1 ответ

Возможно, это не совсем то, что вы просите, но я использую следующий скрипт для этой задачи:

#!/bin/bash
#
# convert FLAC-files to MP3 
# (similar folder structure, max quality)
#

export path=<flacpath>
export out=<mp3path>

echo "" > doit.sh
find $path -name \*.flac | (

    while read i; do
    echo
    echo "$i"

    newfile=`echo $i | sed s,$path,, | sed s,.flac,.mp3, | sed s,\",,g`
    echo $out/$newfile
    targetdir=`dirname "$newfile"`
    echo $targetdir

    echo "mkdir -pv \"$out/$targetdir\"" >> doit.sh


    echo "ffmpeg -y -i \"$i\" -aq 2 \"$out/$newfile\""  >> doit.sh

    done

)

Это всего лишь шаблон, замените "flacpath" и "mp3path", как вам нужно. Сгенерированный файл doit.sh может быть отредактирован и затем выполнен как sh doit.sh

Теги FLAC будут включены в MP3, если они поддерживаются.

Я думаю, что есть гораздо лучшие решения, но это работает для меня.

Чтобы привести пример:

У меня есть запись, оцифрованная в FLAC на

/data/music_out/FLAC/Jimi_Hendrix/Smash_Hits/...

и я хочу преобразовать это в

/tmp/out/MP3/Jimi_Hendrix/Smash_Hits/...

Предполагается, что ffmpeg установлен (в противном случае sudo install ffmpeg), Я установил

export path=/data/music_out/FLAC/Jimi_Hendrix/Smash_Hits
export out=/tmp/out/MP3/Jimi_Hendrix/Smash_Hits

в приведенном выше сценарии. При запуске сценарий создает другой файл сценария с именем doit.shс содержанием

mkdir -pv "/tmp/out/MP3/Jimi_Hendrix/Smash_Hits//"
ffmpeg -y -i "/data/music-out/FLAC/Jimi_Hendrix/Smash_Hits/01-Purple Haze.flac" -aq 2 "/tmp/out/MP3/Jimi_Hendrix/Smash_Hits//01-Purple Haze.mp3"
mkdir -pv "/tmp/out/MP3/Jimi_Hendrix/Smash_Hits//"
ffmpeg -y -i "/data/music-out/FLAC/Jimi_Hendrix/Smash_Hits/02-Fire.flac" -aq 2 "/tmp/out/MP3/Jimi_Hendrix/Smash_Hits//02-Fire.mp3"
mkdir -pv "/tmp/out/MP3/Jimi_Hendrix/Smash_Hits//"
ffmpeg -y -i "/data/music-out/FLAC/Jimi_Hendrix/Smash_Hits/03-The Wind Cries Mary.flac" -aq 2 "/tmp/out/MP3/Jimi_Hendrix/Smash_Hits//03-The Wind Cries Mary.mp3"
mkdir -pv "/tmp/out/MP3/Jimi_Hendrix/Smash_Hits//"
ffmpeg -y -i "/data/music-out/FLAC/Jimi_Hendrix/Smash_Hits/04-Can You See Me.flac" -aq 2 "/tmp/out/MP3/Jimi_Hendrix/Smash_Hits//04-Can You See Me.mp3"
mkdir -pv "/tmp/out/MP3/Jimi_Hendrix/Smash_Hits//"
ffmpeg -y -i "/data/music-out/FLAC/Jimi_Hendrix/Smash_Hits/05-51st Anniversary.flac" -aq 2 "/tmp/out/MP3/Jimi_Hendrix/Smash_Hits//05-51st Anniversary.mp3"
mkdir -pv "/tmp/out/MP3/Jimi_Hendrix/Smash_Hits//"
ffmpeg -y -i "/data/music-out/FLAC/Jimi_Hendrix/Smash_Hits/06-Hey Joe.flac" -aq 2 "/tmp/out/MP3/Jimi_Hendrix/Smash_Hits//06-Hey Joe.mp3"
...

просто чтобы прояснить идею. призвание sh doit.shдействие будет сделано.

Если на вашем пути есть специальные символы (даже такие как ' '), вы должны изменить некоторые части скрипта. И да, mkdir -pv избыточно в этом примере. Но это не больно, и сценарий так прост.

Другие вопросы по тегам