Asbjørn
Rubinmedlem
Jeg tenkte at det kanskje kunne være interessant med en tråd hvor vi samler opp forskjellige scripts (batch-filer, python scripts, ...) som gjør nyttige småjobber på et digitalt musikkarkiv. Det er alltid lettere å starte med noe som funker og så modifisere til eget bruk enn å begynne på bar bakke.
Som en lett oppvarming, en batchjobb som pakker ut alle HDCD-kodede flac-filer i en mappe til nye flac-filer i en undermappe. HDCD-formatet kan i prinsippet kode 20 bits dynamikk i en 16-bits fil, så vi lager 24-bits filer for å være sikker på at alt får plass. Visstnok skal dBpoweramp være i stand til å gjøre dette automatisk ved ripping, men av en eller annen uforklarlig grunn har aldri dette fungert hos meg, så det må gjøres etter ripping. Programmet som gjør selve jobben heter hdcd.exe og kan lastes ned herfra:
HDCD Software Decoder - Doom9's Forum
HDCD | Luke Skaff
Det er et par småting å passe på. hdcd.exe opererer på wav-filer, så vi må først pakke ut flac til wav, pakke ut HDCD-kodingen til en 24-bits wav-fil, og så konvertere den til flac igjen. Dette har en tendens til å gå hardt utover metadata, så vi tar vare på metadata i en egen tekstfil og henger dem på igjen til slutt. Det kan vi gjøre med programmene flac.exe og metaflac.exe. De finnes her:
FLAC - download
Riktignok må ReplayGain-verdiene beregnes på nytt helt til slutt, men det er en overkommelig jobb, så det tar vi ikke med i batchjobben i denne omgang. Da blir det slik:
[HR][/HR]@echo off
REM Batch job to unpack 16-bit HDCD files to 24-bit regular WAV files
REM Needs a final pass "by hand" to set correct replay gain and to add [HDCD] to album tag
IF NOT EXIST HDCD MKDIR HDCD
copy Folder.jpg HDCD\Folder.jpg
FOR %%A IN (*.flac) DO (
echo --------------
echo %%A
Den kodebiten lagres til en fil, f eks deHDCD.bat, og kjøres ved å dobbeltklikke på det ikonet i en vanlig Windows-mappe. Dette er vel ikke helt best practice-koding, ettersom adressen til de forskjellige programmene er hardkodet heller enn hentet fra environment-variabler, men det funker for meg.
Som en lett oppvarming, en batchjobb som pakker ut alle HDCD-kodede flac-filer i en mappe til nye flac-filer i en undermappe. HDCD-formatet kan i prinsippet kode 20 bits dynamikk i en 16-bits fil, så vi lager 24-bits filer for å være sikker på at alt får plass. Visstnok skal dBpoweramp være i stand til å gjøre dette automatisk ved ripping, men av en eller annen uforklarlig grunn har aldri dette fungert hos meg, så det må gjøres etter ripping. Programmet som gjør selve jobben heter hdcd.exe og kan lastes ned herfra:
HDCD Software Decoder - Doom9's Forum
HDCD | Luke Skaff
Det er et par småting å passe på. hdcd.exe opererer på wav-filer, så vi må først pakke ut flac til wav, pakke ut HDCD-kodingen til en 24-bits wav-fil, og så konvertere den til flac igjen. Dette har en tendens til å gå hardt utover metadata, så vi tar vare på metadata i en egen tekstfil og henger dem på igjen til slutt. Det kan vi gjøre med programmene flac.exe og metaflac.exe. De finnes her:
FLAC - download
Riktignok må ReplayGain-verdiene beregnes på nytt helt til slutt, men det er en overkommelig jobb, så det tar vi ikke med i batchjobben i denne omgang. Da blir det slik:
[HR][/HR]@echo off
REM Batch job to unpack 16-bit HDCD files to 24-bit regular WAV files
REM Needs a final pass "by hand" to set correct replay gain and to add [HDCD] to album tag
IF NOT EXIST HDCD MKDIR HDCD
copy Folder.jpg HDCD\Folder.jpg
FOR %%A IN (*.flac) DO (
echo --------------
echo %%A
C:\Programfiler\FLAC\metaflac.exe --export-tags-to="HDCD\temp.txt" "%%A"
C:\Programfiler\FLAC\flac.exe -d -f -o "HDCD\temp1.wav" "%%A"
C:\Programfiler\HDCD\hdcd.exe -o "HDCD\temp2.wav" "HDCD\temp1.wav"
del "HDCD\temp1.wav"
C:\Programfiler\FLAC\flac.exe -5 -f -o "HDCD\%%~nA.flac" "HDCD\temp2.wav"
del "HDCD\temp2.wav"
C:\Programfiler\FLAC\metaflac.exe --import-tags-from="HDCD\temp.txt" --import-picture-from=Folder.jpg "HDCD\%%~nA.flac"
del "HDCD\temp.txt"
)[HR][/HR]C:\Programfiler\FLAC\flac.exe -d -f -o "HDCD\temp1.wav" "%%A"
C:\Programfiler\HDCD\hdcd.exe -o "HDCD\temp2.wav" "HDCD\temp1.wav"
del "HDCD\temp1.wav"
C:\Programfiler\FLAC\flac.exe -5 -f -o "HDCD\%%~nA.flac" "HDCD\temp2.wav"
del "HDCD\temp2.wav"
C:\Programfiler\FLAC\metaflac.exe --import-tags-from="HDCD\temp.txt" --import-picture-from=Folder.jpg "HDCD\%%~nA.flac"
del "HDCD\temp.txt"
Den kodebiten lagres til en fil, f eks deHDCD.bat, og kjøres ved å dobbeltklikke på det ikonet i en vanlig Windows-mappe. Dette er vel ikke helt best practice-koding, ettersom adressen til de forskjellige programmene er hardkodet heller enn hentet fra environment-variabler, men det funker for meg.
Sist redigert: