Converte em lote ISO / WAV / CUE de volta para BIN / CUE

1

Eu tenho procurado por um utilitário de comando / script que faz o oposto do bchunck, mas não consigo encontrar um.

O que o bchunck faz é tirar uma imagem de CD de modo misto no formato BIN / CUE e separá-la em um conjunto de faixas ISO e de música (CDR ou WAV). Eu quero usar uma ferramenta para reverter o processo.

Eu posso fazer isso com um utilitário do Windows como CDmage no WINE, ou seguindo este guia (também dependente de WINE ou Windows), mas eu adoraria uma maneira de automatizar o processo e usá-lo nativamente no Linux.

Aqui está o que eu tentei até agora. Digamos que eu tenha uma imagem de teste de CD de modo misto com 1 trilha de dados e 4 faixas de música, IMAGE.bin e IMAGE.cue, geradas a partir de um CD físico:

cdrdao read-cd --datafile IMAGE.bin --driver generic-mmc:0x20000 --device /dev/cdrom --read-raw IMAGE.toc
toc2cue IMAGE.toc IMAGE.cue

Se eu fizer bchunk -v -w IMAGE.bin IMAGE.cue track , ele gerará os seguintes arquivos:

track01.iso

track02.wav

track03.wav

track04.wav

track05.wav

Agora, tente reunir a imagem novamente:

Primeiro eu converto o track01.iso de volta para o formato BIN usando a ferramenta PowerISO Linux com ./poweriso convert track01.iso -o IMAGE-NEW.bin -ot bin . Observe que um IMAGE-NEW.cue é gerado, mas não contém nenhuma informação de faixa de música, por isso deve ser descartado, e o IMAGE.cue original deve ser usado em seu lugar.

Em segundo lugar, eu converto os arquivos WAV de volta para RAW e concateno-os para IMAGE-NEW.bin:

avconv -i trackC02.wav -f s16le -ar 44100 -acodec pcm_s16le - >> IMAGE-NEW.bin
avconv -i trackC03.wav -f s16le -ar 44100 -acodec pcm_s16le - >> IMAGE-NEW.bin
avconv -i trackC04.wav -f s16le -ar 44100 -acodec pcm_s16le - >> IMAGE-NEW.bin
avconv -i trackC05.wav -f s16le -ar 44100 -acodec pcm_s16le - >> IMAGE-NEW.bin

IMAGE-NEW.bin, juntamente com o IMAGE.cue original, parecem funcionar bem como uma imagem de CD de modo misto. No entanto, se eu fizer diff IMAGE.bin IMAGE-new.bin , eles saibam que são diferentes, então não tenho certeza se esse método que eu criei é o correto, ou se isso é uma consequência de ambas as imagens serem geradas usando métodos diferentes.

Dito isto, se eu fizer bchunk -v -w IMAGE-NEW.bin IMAGE.cue track-new e diferenciar todos os arquivos track e track-new , eles são de fato idênticos. Eu não tenho experiência suficiente com a comparação de binários para saber se estou fazendo certo e porque IMAGE.bin IMAGE-new.bin são diferentes.

UPDATE: agora entendo qual é o problema: o bchunk não emende meu IMAGE.bin corretamente porque meu IMAGE.cue possui várias entradas INDEX por TRACK. Quando o bchunk faz o splicing, leva em conta apenas a última entrada INDEX de cada TRACK. Caso contrário, esse método é o correto para tentar recriar um IMAGE.bin que foi previamente copiado. Se você usou o bchunk antes e perdeu o IMAGE.bin original, há uma boa alteração que você não poderá reconstruí-lo, pois você pode ter perdido informações. Se você usou, por exemplo, em pedaços para ripar as trilhas de áudio, elas serão encaixadas corretamente e você poderá recriar IMAGE.bin, contanto que você use um formato sem perdas para armazenar as faixas de áudio.

    
por biohazara 21.09.2017 / 13:41

0 respostas