
我嘗試過谷歌搜索,但只能找到相反的指南。
我有一些專輯中的 flac 文件,都已正確標記。我想將它們自動製作成帶有提示表的單一 flac 檔案(即不貼到 Audacity 並自行製作提示)。
這可能嗎?
答案1
使用工具,一個多用途、多格式的命令列工具,用於操作無損音訊檔案。
shntool join -o flac *.flac
這會產生一個文件joined.flac
,其中包含 中每個文件的音訊內容*.flac
。請注意,您可能想要指定 FLAC 檔案的名稱,而不是將其保留為*.flac
.這可以讓您確保檔案以正確的順序連接,並且不會包含不需要的 FLAC 檔案。
shntool cue *.flac > joined.cue
這會產生一個 CUE 文件joined.cue
,一個列出曲目和計時的簡單文字檔案。指定 FLAC 檔案名稱時同樣需要注意。 (如果您按順序嘗試這些命令,joined.flac
現在將是陷入其中的文件之一*.flac
。)
答案2
提示工具應該讓你這樣做 - 你可以選擇文件所在的整個文件夾,然後選擇“嵌入”模式(嵌入是指專輯封面,而不是 flac 文件。選擇圖像+提示作為單獨的專輯封面圖像)和“編碼” “為了行動。選擇 flac 作為檔案類型,選擇 libflake 作為編碼器
這將彈出一個窗口,其中包含提示表的幾組數據 - 第一個數據是基於您的數據,其他數據基於 freedb 和其他站點。
這將為您提供一個帶有提示文件的 flac 文件。
答案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/