I have a FLAC file and a CUE file. Using the command line, I would like to split this file, with one track per file.
I found this question, however this is for
Linux. I went looking for
Using examples from
I was able to construct this command
The most popular and robust software for doing this on Windows is CUETools, which is free. It's primarily a GUI app, and it can't easily be configured from the command line, but it does have a command-line interface you can use to invoke the conversion with settings that were established in the GUI.
In the GUI, choose the "convert" profile (chooser is in the upper left corner). Take note of the Template in the CUE Paths section; this defines where the new files will go. If the Action section isn't greyed out, make sure it's on Encode, with the "default" script selected. In the Mode section, choose Tracks, and uncheck the AccurateRip box, unless you want it to verify before converting. Set the Audio Output to what type of audio files you want. In the Advanced Settings (gear icon in upper right corner), CUETools tab, Gaps handling, choose either Gaps Appended or Gaps Appended + HTOA, depending on whether you want any audio that comes before track 01 to be saved to a separate file or discarded (normally it'll just be a split-second of silence).
Now close the GUI; your settings are saved automatically. On the command line, you can now run it with those settings:
The command will exit immediately, and a small GUI window will open to show you the progress and any error messages. This window will remain open until you click its close button. If all goes well, CUETools will write the converted audio file(s) and a converted cue sheet to a new folder. This cue sheet conversion is the main advantage over using shntool; the new .cue file will reference the split audio files. CUETools will also copy the .log file (if any) to the new folder.
So I ended up writing a script for spliting APE file by parsing the CUE file and converting the APE file to FLAC files separated by titles using