Konvertieren Sie FLAC schmerzlos in ALAC unter Windows?

Ich frage mich, ob jemand einen sauberen, schmerzlosen Workflow zum verlustfreien Transcodieren von FLAC-Dateien in seinen äquivalenten ALAC hat. Es soll eine etwas perfekte Konvertierung sein, was bedeutet, dass es nicht sehr schwer sein sollte, aber.... es ist.

Warum sollte ich das tun? (Bevor die OS Leute essen mich lebendig) Vor allem, weil eine Audio-App, die ich benutze (Serato Scratch Live) nicht FLAC unterstützt, und trotz der ständigen prodding von Benutzern in den letzten fünf (!) jahre, höchstwahrscheinlich nicht für eine Weile. Sie hackten jedoch ALAC Support zusammen. [1]}

Es scheint auch, dass es ziemlich unmöglich ist, iTunes dazu zu bringen, FLAC-Dateien abzuspielen (und sie richtig zu verkleinern, um Speicherplatz effizient auf meinem iPod zu nutzen).

Der einzige Haken ist, dass ich einige seltsame, ausgefallene Meta-Tags (BPM und Song-Taste) beibehalten möchte, deren Regeneration etwas schmerzhaft wäre. Ich bin mit irgendetwas unter Windows oder Linux

Danke

Tom

Author: Tom Corelis, 2010-07-13

10 answers

In Ubuntu können Sie ein Terminal öffnen, zu dem betreffenden Verzeichnis navigieren und die folgende Befehlsschleife ausführen:

for f in *.flac; do ffmpeg -i "$f" -acodec alac "${f%.flac}.m4a"; done
  • Konvertiert alle .flac Dateien im Verzeichnis in .alac Dateien und zwar auf eine etwas perfekte Weise.
  • ffmpeg nicht im Lieferumfang von Ubuntu, so müssten Sie zu installieren, die von repos; aber ich kann nicht sicher sagen, dass dies halten Sie Ihre BPM-tag info.

Außerdem scheint es, dass iTunes FLAC-Dateien abspielen kann (und richtig downconvert sie Platz effizient auf meinem iPod zu nutzen) ist so ziemlich unmöglich.

Es gibt ein Programm namens flukeformac , mit dem Sie möglicherweise .flac - Dateien in iTunes abspielen können.
In Bezug auf die Konvertierung für eine effiziente iPod-Nutzung wird die folgende Befehlsschleife den Trick ausführen:

for file in *.flac; do $(flac -cd "$file" | lame --preset fast extreme - "${file%.flac}.mp3"); done`
  • Möglicherweise möchten Sie --preset fast extreme durch eine niedrigere Bitrate ersetzen
    (mehr auf lame ()
 12
Author: boehj,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-05-13 14:53:17

Für Windows mit PowerShell und ffmpeg (basierend auf @boehj Antwort):

Ls -Recurse -Include *.flac | %{C:\path_to_ffmpeg\ffmpeg.exe -i $_.FullName -acodec alac ($_.DirectoryName+"\\"+$_.BaseName+'.m4a')}
 6
Author: Paulius,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-05-13 14:43:59

DBpoweramp kann FLAC in ALAC konvertieren; Nach der Installation erhalten Sie die benötigten Codecs hier.

.

 5
Author: Moab,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-05-13 14:39:47

Zu den (Windows) Befehlszeilensüchtigen da draußen:

Ich habe ein Automatisierungsskript für iTunes für Windows geschrieben, das alle FLAC-Dateien aus dem angegebenen Ordner und seinen Unterordnern im ALAC-Format stapelweise in iTunes importiert und dabei die wichtigsten Metainformationen wie Album, Interpret und Songname beibehält. Es erfordert flac.exe und metaflac.exe und ein kleines Hilfsprogramm für die Zeichensatzkonvertierung. Sie können ein gebrauchsfertiges Paket herunterladen, das diese Abhängigkeiten enthält (siehe unten) oder fork mein Projekt auf GitHub.

Für die ganze Geschichte, binären Download, Einschränkungen usw., siehe meinen Blogpost.

 4
Author: Dmitry Leskov,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2013-02-04 11:06:08

In Windows können Sie eine Eingabeaufforderung öffnen und die folgenden Befehle ausführen, um die FLAC-Dateien in ALAC im selben Verzeichnis auf einem anderen Laufwerk zu konvertieren (so wie ich es bevorzuge).qaac, libFLAC und iTunes:

  1. Ändern Sie das aktuelle Arbeitsverzeichnis in das Quellverzeichnis, das Ihre FLAC-Dateien enthält (s:\music wird hier als Beispiel verwendet)

  2. Kopieren Sie alle Ihre Ordner in das Zielverzeichnis, einschließlich der Albumcover-Dateien mit die Dateinamen (folder.(jpg|png|gif)):

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

    Die Option /E enthält die leeren Verzeichnisse. Wenn Sie sie nicht kopieren möchten, verwenden Sie die Option /S.

  3. Verwenden Sie qaac, um alle FLAC-Dateien in diesem Verzeichnis auf eine "bit perfekte" Weise in ALAC-Dateien auf dem anderen Laufwerk zu konvertieren und die meisten der ursprünglichen Metadaten beizubehalten:

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

    Das Einfügen von IF NOT EXIST "d:%~pI%~nI.m4a" in den obigen Befehl nach DO überspringt die Konvertierung von Dateien, die bereits im Ziel vorhanden sind Verzeichnis.

Bitte beachten Sie, dass

  • Die Verzeichnisnamen auf dem Laufwerk Quelle (s:) und Ziel (d:) müssen identisch sein (andernfalls müssen Sie mit den Variablen im Befehl FOR basteln, qaac erstellt die Verzeichnisse nicht für Sie)
  • Sie müssen in das Quellverzeichnis (s:\music im obigen Beispiel) wechseln, damit die Befehle funktionieren
  • das Zielverzeichnis (d:\music im obigen Beispiel) sollte leer sein, um zu vermeiden überschreiben von Dateien
  • Sie können den Befehl SUBST verwenden, um ein Verzeichnis einem Laufwerksbuchstaben zuzuordnen, wenn Sie die ALAC-Dateien auf demselben Laufwerk erstellen möchten
  • Sie müssen mindestens Version 2.57 von qaac ausführen und die entsprechende Binärdatei für Ihre Windows-Version (32bit oder 64bit) verwenden
  • qaac muss in Ihrer Windows-Variablen PATH sein, oder Sie müssen den vollständigen Pfad zu seiner Binärdatei in den Befehl FOR über
  • qaac benötigt iTunes oder QuickTime installiert, um Arbeit
  • qaac benötigt eine passende Kopie der libFLAC DLL in seinem Verzeichnis, um FLAC-Dateien zu lesen, Sie finden sie auf der rarewares - Site
  • iDevices können Dateien mit Abtastraten über 48.000 kHz und Abtastraten über 24 Bit (Anfang 2016) nicht verarbeiten. iTunes lässt Sie diese Dateien nicht auf Ihr Gerät kopieren und warnt Sie, dass der Titel "nicht kopiert wurde, da die Abtastrate vom "iDevice" nicht unterstützt wird. Der Aufruf von qaac mit den Optionen --rate 48000 --bits-per-sample 24 behebt dies, aber stellen Sie sicher, dass Sie diese Optionen nur für die eigentlichen High-Definition-Dateien verwenden, da Sie sonst alle Ihre Dateien aufblähen, ohne etwas zu gewinnen!
  • In den ALAC-Dateien fehlen die Lautstärkeinformationen, auf die sich Apple iTunes und iDevices für ihre Soundcheck-Funktionalität verlassen (passt die Lautstärke der Songwiedergabe auf das gleiche Niveau an). Die Informationen können zu den Dateien hinzugefügt werden mit iTunes (scheint nur Volumeninformationen in seiner Bibliothek zu speichern), beaTunes (kommerziell software), iVolume (kommerzielle Software) und eine Reihe anderer Tools auf verschiedenen Plattformen
  • Dies ist kein Synchronisations-Workflow: Die obigen Befehle, die ein zweites Mal ausgeführt werden, fügen FLAC-Dateien, die Sie dem Quellverzeichnis hinzugefügt haben, zu Ihrem Zielverzeichnis hinzu, halten jedoch nicht zwei Verzeichnisse Ihrer Musik synchron (umbenannte Dateien führen zu doppelten ALAC-Dateien mit unterschiedlichen Namen, gelöschte Dateien werden nicht aus Ihrem Zielverzeichnis gelöscht, wenn Sie IF NOT EXIST metadaten-Änderungen seit dem letzten Lauf spiegeln sich nicht in den ALAC-Dateien wider)
 2
Author: Oliver,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-05-13 14:47:07

FFmpeg sollte es können; Es liegt an Ihnen, die richtigen Befehle zu finden.

 1
Author: Hello71,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2010-12-18 14:23:29

Ich stellte immer wieder ähnliche Fragen für verschiedene Formate, also machte ichhttps://www.blisshq.com/music-library-management-blog/2017/06/20/matrix-free-audio-file-converters/

Diese Seite sagt... foobar2000. Es kommt also darauf an, was Sie mit "schmerzlos" meinen - es ist kostenlos wie bei Bier.

 1
Author: Dan Gravell,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-06-23 08:08:37

Es gibt mehrere Möglichkeiten, FLAC in ALAC umzuwandeln.

  • Unter Windows können Sie foobar2000 und das Encoder Pack verwenden.
  • Unter Windows, Linux und Mac können Sie PowerShell, flac und ffmpeg verwenden.

    $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
    

Überprüfen Sie meinen Blog-Beitrag für weitere Details: Konvertieren von Musikdateien von FLAC zu ALAC

 1
Author: meziantou,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-05-13 15:01:34

MediaMonkey kann dies ebenfalls tun, behält jedoch nur das BPM-Tag bei (mir ist nicht bekannt, dass Song Key ein standardisiertes Tag für diese Formate ist).

Hinweis: Sie müssen das 'MediaMonkey Codec Pack' für die ALAC-Codierung erwerben.

 0
Author: Rusty Monkey,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-12-13 18:39:21

Ich verwende FooBar und iTunesEncode für seinen Konverter.

  1. Get iTunesEncode
  2. Gehe zu FooBar > Wähle alle in deiner FLAC Playlist aus > Rechtsklick-Konvertieren
  3. Rechte Seite > Formate > Benutzerdefiniert

    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. Füllen Sie andere Parameter zu konvertieren > Speichern Sie die Konfiguration (optional) > Konvertieren
 0
Author: cnd,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-05-13 15:07:14