
Я пробовал гуглить, но смог найти только руководства по обратному варианту.
У меня есть несколько файлов flac из альбома, все правильно помечены. Я хотел бы сделать из них один файл flac с cuesheet автоматически (т.е. не вставляя в Audacity и не создавая Cue самостоятельно).
Это возможно?
решение1
Использоватьshntool, многоцелевой, многоформатный инструмент командной строки для работы с аудиофайлами без потерь.
shntool join -o flac *.flac
Это создаст файл joined.flac
, содержащий аудиоконтент каждого из файлов в *.flac
. Обратите внимание, что вы можете указать имена файлов FLAC, а не оставлять это на усмотрение *.flac
. Это позволит вам быть уверенным, что файлы будут объединены в правильном порядке, и что не будут включены нежелательные файлы FLAC.
shntool cue *.flac > joined.cue
Это создает файл CUE joined.cue
, простой текстовый файл со списком дорожек и таймингами. Применяется то же предостережение относительно указания имен файлов FLAC. (Если вы попробуете эти команды по порядку, joined.flac
теперь будет один из файлов, попавших в *.flac
.)
решение2
Cuetoolsдолжно позволить вам сделать это - Вы можете выбрать всю папку, в которой находятся файлы, и выбрать "Embedded" для режима (встроенный относится к обложке альбома, а не к файлу flac. Выберите image+cue для отдельного изображения обложки альбома) и "Encode" для действия. Выберите flac для типа файла и libflake для кодировщика
Откроется окно с несколькими наборами данных для контрольного листа — первый основан на ваших данных, остальные — на freedb и других сайтах.
Это должно дать вам один файл flac с файлом cue.
решение3
Я попробовал маршрут foobar2000, но, к сожалению, он некорректно вывел переменную INDEX для каждого трека. Я также не смог заставить работать другие решения. Я провел много проб и ошибок (с большой помощью ChatGPT) и написал скрипт bash, который делает именно это.
#!/bin/bash
#if this doesn't work, you may need to install flac:
#sudo apt install flac
#written with significant help from ChatGPT
#INSTRUCTIONS: 1) Save this code as create_cue.sh
# 2) Place it in the same folder as the .flac files you want to create a .cue sheet for
# 3) Run the bash script (you may need to mark it as executable)
# 4) Voila! Instant .cue file. Enjoy
# Get the first FLAC file in the directory
flac_file=$(ls *.flac | head -n 1)
# Get the header information from the FLAC file
PERFORMER=$(metaflac --show-tag=ARTIST "$flac_file" | cut -d= -f2)
TITLE=$(metaflac --show-tag=ALBUM "$flac_file" | cut -d= -f2)
DATE=$(metaflac --show-tag=DATE "$flac_file" | cut -d= -f2)
COMMENT=$(metaflac --show-tag=COMMENT "$flac_file" | cut -d= -f2)
# Set variables for the cue file
CUEFILE="$PERFORMER - $TITLE.cue"
# Initialize variables for cumulative time
HOURS=0
MINUTES=0
SECONDS=0
# Start writing cue file
echo "REM DATE $DATE" >> "$CUEFILE"
echo "REM COMMENT $COMMENT" >> "$CUEFILE"
echo "PERFORMER \"$PERFORMER\"" >> "$CUEFILE"
echo "TITLE \"$TITLE\"" >> "$CUEFILE"
# Loop through each flac file in the current directory
for flacfile in *.flac; do
# Get track number, performer, and title from file tags
TRACK=$(metaflac --show-tag=TRACKNUMBER "$flacfile" | sed 's/.*=//')
PERFORMER=$(metaflac --show-tag=ARTIST "$flacfile" | sed 's/.*=//')
TITLE=$(metaflac --show-tag=TITLE "$flacfile" | sed 's/.*=//')
# Write track info to cue file
printf "FILE \"$flacfile\" WAVE \n" >> "$CUEFILE"
printf " TRACK %02d AUDIO\n" "$TRACK" >> "$CUEFILE"
printf " TITLE \"%s\"\n" "$TITLE" >> "$CUEFILE"
printf " PERFORMER \"%s\"\n" "$PERFORMER" >> "$CUEFILE"
printf " INDEX 01 %02d:%02d:%02d\n" "$HOURS" "$MINUTES" "$SECONDS" >> "$CUEFILE"
# Get length of track in seconds
LENGTH=$(metaflac --show-total-samples "$flacfile")
LENGTH=$((LENGTH/44100))
# Update cumulative time
SECONDS=$((SECONDS+LENGTH))
if [ $SECONDS -ge 60 ]; then
MINUTES=$((MINUTES+SECONDS/60))
SECONDS=$((SECONDS%60))
fi
if [ $MINUTES -ge 60 ]; then
HOURS=$((HOURS+MINUTES/60))
MINUTES=$((MINUTES%60))
fi
done
решение4
Взгляните на Foobar2000, он может создавать отдельные файлы со встроенными контрольными таблицами, а также встраивать обложки и воспроизводить полученные файлы. http://www.foobar2000.org/