Como posso criar uma sugestão FLAC+ a partir de vários arquivos FLAC?

Como posso criar uma sugestão FLAC+ a partir de vários arquivos FLAC?

Tentei pesquisar no Google, mas só consigo encontrar guias para o contrário.

Tenho alguns arquivos flac de um álbum, todos devidamente marcados. Eu gostaria de transformá-los em um único arquivo flac com uma planilha automaticamente (ou seja, sem colar no Audacity e criar a sugestão sozinho).

Isso é possível?

Responder1

Usarferramenta, uma ferramenta de linha de comando multifuncional e multiformato para manipular arquivos de áudio sem perdas.

shntool join -o flac *.flac

Isso gera um arquivo joined.flacque contém o conteúdo de áudio de cada um dos arquivos no formato *.flac. Observe que você pode querer especificar os nomes dos arquivos FLAC, em vez de deixá-los como *.flac. Isso permite que você tenha certeza de que os arquivos foram unidos na ordem correta e que nenhum arquivo FLAC indesejado foi incluído.

shntool cue *.flac > joined.cue

Isso gera um arquivo CUE joined.cue, um arquivo de texto simples listando faixas e tempos. Aplica-se o mesmo cuidado ao especificar nomes dos arquivos FLAC. (Se você estiver tentando esses comandos em ordem, joined.flacagora será um dos arquivos capturados em *.flac.)

Responder2

Cuetoolsdeve permitir que você faça isso - Você pode selecionar toda a pasta em que os arquivos estão e selecionar "Incorporado" para o modo (incorporado refere-se à arte do álbum, não ao arquivo flac. Selecione imagem + sugestão para uma imagem de arte do álbum separada) e "Codificar " Para a ação. Selecione flac para tipo de arquivo e libflake para o codificador

insira a descrição da imagem aqui

Isso abrirá uma janela que terá vários conjuntos de dados para a folha de sinalização - o primeiro é baseado em seus dados, os outros no freedb e em outros sites.

insira a descrição da imagem aqui

Isso deve fornecer um único arquivo flac com um arquivo cue.

Responder3

Tentei a rota foobar2000, mas infelizmente ela não imprimiu com precisão a variável INDEX para cada faixa. Também não consegui fazer as outras soluções funcionarem. Fiz muitas tentativas e erros (com grande ajuda do ChatGPT) e escrevi um script bash que faz exatamente isso.

#!/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

Responder4

Dê uma olhada no Foobar2000, ele pode criar um único arquivo com uma folha de sinalização incorporada e também incorporar obras de arte e reproduzir o arquivo resultante. http://www.foobar2000.org/

informação relacionada