Безболісно перетворити FLAC в ALAC в Windows?


10

Мені цікаво, чи є у кого чистий, безболісний робочий процес для безконтактного перекодування файлів FLAC в їх еквівалентний ALAC? Це повинно бути трохи досконалим перетворенням, тобто воно не повинно бути дуже важким, але .... це.

Навіщо мені це робити? (До того, як люди з ОС їдять мене живим) Головним чином, тому що аудіо-додаток, який я використовую (Serato Scratch Live), не підтримує FLAC, і, незважаючи на постійне додавання користувачів протягом останніх п'яти (!) Років, швидше за все, це не буде поки. Однак вони разом зламали підтримку ALAC

Крім того, здається, що отримати iTunes для відтворення FLAC-файлів (і належним чином їх конвертувати, щоб ефективно використовувати простір на моєму iPod) - це майже неможливо.

Єдина уловка полягає в тому, що я хотів би зберегти якісь дивні, неперевершені метатеги (BPM та ключ пісні), які було б трохи болісно відновлювати. Мені не вдається нічого в Windows або Linux

Дякую

Том

Відповіді:


11

В Ubuntu ви можете відкрити термінал, перейти до каталогу, про який йде мова, і виконати наступний цикл команд:

for f in *.flac; do ffmpeg -i "$f" -acodec alac "${f%.flac}.m4a"; done
  • Перетворить усі .flacфайли в каталозі у .alacфайли, роблячи це трохи ідеально.
  • ffmpegне постачається в комплекті з Ubuntu, тому вам потрібно буде встановити це з репост; однак я не можу точно сказати, що це збереже інформацію про ваш тег BPM.

Крім того, здається, що отримати iTunes для відтворення FLAC-файлів (і належним чином їх конвертувати, щоб ефективно використовувати простір на моєму iPod) - це майже неможливо.

Існує програма під назвою flukeformac, яка може дозволяти вам відтворювати .flacфайли в iTunes.
Що стосується перетворення для ефективного використання iPod, то наступний цикл команд виконає трюк:

for file in *.flac; do $(flac -cd "$file" | lame --preset fast extreme - "${file%.flac}.mp3"); done`
  • Ви можете замінити --preset fast extremeбітрейт на нижчий
    ( більше про lameпопередні налаштування)

1
Відмінна, вичерпна відповідь. Дякую
Том Кореліс

Я намагався використовувати статичну збірку ffmpeg у Windows 10, він може конвертувати acodec alac, але він не може конвертувати vcodec h264, хоча h264 - це підтримуваний формат уffmpeg --codecs
user1022209

6

Для Windows з використанням PowerShellта ffmpeg(на основі @boehj відповіді):

Ls -Recurse -Include *.flac | %{C:\path_to_ffmpeg\ffmpeg.exe -i $_.FullName -acodec alac ($_.DirectoryName+"\\"+$_.BaseName+'.m4a')}


4

До наркоманів (Windows) командного рядка там:

Я написав сценарій автоматизації для iTunes для Windows, який пакетно імпортує всі файли FLAC з даної папки та її підпапок у iTunes у форматі ALAC, зберігаючи ключову метеоформацію, таку як альбом, виконавець та ім’я пісні. Для цього потрібна flac.exeі metaflac.exeневелика помічна утиліта для перетворення шаблонів. Ви можете завантажити готовий до використання пакет, який включає ці залежності (див. Нижче) або роздрібнити мій проект на GitHub.

Для отримання повної історії, двійкового завантаження, обмежень тощо, зверніться до моєї публікації в блозі .


2

У Windows ви можете відкрити командний рядок і виконайте наступні команди для перетворення файлів FLAC в ALAC в тому ж каталозі , на інший диск (шлях я вважаю за краще мати його) , використовуючи qaac, libFLACі ITunes:

  1. змінити поточний робочий каталог у вихідний каталог, що містить файли flac ( s:\musicтут використовується як приклад)

  2. скопіюйте всі свої папки в каталог призначення, включаючи файли передньої обкладинки альбому з іменами файлів ( folder.(jpg|png|gif)):

    robocopy "s:\music" "d:\music" folder.jpg folder.png folder.gif /E

    Параметр /Eвключає порожні каталоги. Якщо ви не хочете, щоб їх скопіювали, скористайтеся /Sопцією.

  3. використовувати qaacдля перетворення всіх FLAC-файлів у цьому каталозі в ALAC-файли на іншому диску «трохи ідеально» та зберігаючи більшість вихідних метаданих:

    FOR /R %I IN (*.flac) DO qaac64 -A --copy-artwork -o "d:%~pI%~nI.m4a" "%I"

    Якщо вставити IF NOT EXIST "d:%~pI%~nI.m4a"в вищевказану команду після, то DOбуде пропущено перетворення файлів, які вже є в каталозі призначення.

Будь ласка, зверніть увагу, що

  • Імена каталогів на приводі source ( s:) та призначення ( d:) повинні бути однаковими (інакше потрібно попрацювати зі змінними в FORкоманді, qaacне створюватимуть каталоги для вас)
  • вам потрібно змінити у вихідний каталог ( s:\musicу наведеному вище прикладі), щоб команди працювали
  • каталог призначення ( d:\musicу наведеному вище прикладі) повинен бути порожнім, щоб уникнути перезапису файлів
  • Ви можете використовувати SUBSTкоманду для зіставлення каталогу в букві диска, якщо ви хочете створити файли ALAC на одному диску
  • вам доведеться запустити принаймні версію 2.57 qaacта використовувати відповідний бінарний для вашої версії Windows (32-бітний або 64-бітний)
  • qaacповинен бути у вашій PATHзмінній Windows, або вам доведеться включити повний шлях до його двійкового файлу в FORкоманді вище
  • qaac для роботи потрібні iTunes або QuickTime
  • qaacпотребує в комбінаційної копію libFLACDLL в своїй директорії для читання FLAC файлів, ви можете знайти його на rarewares сайті
  • iDevices не можуть обробляти файли зі швидкістю вибірки вище 48 000 кГц та розмірами вибірки вище 24 біт (на початок 2016 року). iTunes не дозволить вам копіювати ці файли на свій пристрій, попереджаючи, що запис "не скопійовано, оскільки швидкість вибірки не підтримується" iDevice. Зателефонувавши qaacза допомогою параметрів, --rate 48000 --bits-per-sample 24це виправить, але не забудьте використовувати ці параметри лише на фактичних файлах високої чіткості, тому що в іншому випадку ви розметаєте всі свої файли, не отримуючи нічого!
  • У файлах ALAC буде відсутня інформація про гучність, на яку Apple iTunes та iDevices покладається на свою функцію перевірки звуку (регулює гучність відтворення пісні на одному рівні). Інформація може бути додана до файлів за допомогою iTunes (лише здається, що вона зберігає інформацію про обсяг у своїй бібліотеці), beaTunes (комерційне програмне забезпечення), iVolume (комерційне програмне забезпечення) та ряд інших інструментів на різних платформних формах
  • це не робочий процес синхронізації: вищезазначені команди виконуються вдруге, додадуть файли FLAC, які ви додали до вихідного каталогу, до каталогу призначення, але не синхронізуватимуть два каталоги вашої музики (перейменовані файли призведуть до дубліровані файли ALAC з різними іменами, видалені файли не будуть видалені з каталогу призначення, якщо ви використовуєте IF NOT EXISTзміни метаданих, оскільки останній запуск не відображатиметься у файлах ALAC)

Ласкаво просимо до Супер Користувача! Дякуємо, що опублікували таку вичерпну першу відповідь. :)
Excellll

1

FFmpeg має бути в змозі це зробити; Вам належить знайти правильні команди для цього.


Це давня публікація, але це справді більше коментаря, ніж рішення. Розгляньте розширення відповіді. Дякую.
fixer1234


1

Існує кілька способів перетворення FLAC в ALAC.

  • У Windows можна використовувати foobar2000 та пакет Encoder .
  • У Windows, Linux та Mac можна використовувати PowerShell flac, та ffmpeg.

    $folder = "d:\demo"
    
    # Convert flac to wav
    Get-ChildItem -Recurse "$folder\*.flac" | ForEach-Object {
      & C:\tools\flac.exe -d --force --silent $_.FullName
    }
    
    # Convert wav to alac
    Get-ChildItem -Recurse "$folder\*.wav" | ForEach-Object {
      $filename = [System.IO.Path]::ChangeExtension($_.FullName, ".m4a")
      & C:\tools\ffmpeg.exe -hide_banner -loglevel panic -i $_.FullName -acodec alac -sample_fmt s16p $fileName
    }
    
    # Remove wav and flac file
    Get-ChildItem -Recurse "$folder\*.wav" | Remove-Item
    Get-ChildItem -Recurse "$folder\*.flac" | Remove-Item

Перегляньте мій пост у блозі для отримання більш детальної інформації: Перетворення музичних файлів з FLAC в ALAC


0

MediaMonkey також може це зробити, але він збереже лише тег BPM (я не знаю, як Song Key є стандартизованим тегом у цих форматах).

Примітка. Вам потрібно придбати пакет «MediaMonkey Codec Pack» для кодування ALAC.


0

Я використовую FooBar і iTunesEncode для його перетворювача.

  1. Отримати iTunesEncode
  2. Перейдіть до FooBar> Виберіть усе у своєму списку відтворення FLAC> Клацніть правою кнопкою миші - Перетворити
  3. Права сторона> Формати> Спеціальні

    Encode Tool : path to iTunesEncode.exe
    Extension : m4a 
    Parameters : -d -e "Lossless Encoder" -a "%artist%" -l "%album%" -t "%title%" -g "%genre%" -y %date% -n %tracknumber% -i %s -o %d
    Format is: lossless
    next propery : 24
    
    DisplayInfo example :
    "Encoder name" - iTunes
    "Bitrate" - 1000
    "Setting" - Apple Lossless
  4. Заповніть інші параметри для перетворення> Збережіть конфігурацію (необов’язково)> Перетворити
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.