Preambolo
Ho iniziato a scrivere questo software, che nient'altro è che un wrapper per SoX e CamillaDSP (usandoli in pipe) per le mie seguenti necessità:
- Convertire in batch molteplici file audio in differenti cartelle senza dovermi preoccupare del loro sample-rate e bit-depth, applicando filtri e/o upsampling
- Rimpiazzare SoX per gestire la convoluzione, da utilizzatore di BruteFir non ho mai riscontrato risultati simili, può tranquillamente essere placebo ma ho sempre ottenuto risultati un gradino sotto utilizzando SoX.
- Liberarmi della prolissa e confusionaria sintassi di SoX e della scomoda sintassi via file di configurazione YAML di CamillaDSP.
Funzionamento e sintassi
Sintassi:
Usage: java -jar RecursiveAudioConverter.jar [PARAMETERS]
Parameters:
--input-dir [ex. /home/music/]
--input-format [ex. flac]
--output-dir [fulldir/single_subfolder/.] (use . to specify the same folder. If input and output formats are the same old files will be overwritten)
--output-format [ex. dsf]
--output-bit [ex. 24]
--output-rate [44100-384000|NextSync|MaxSync]
--convolution [ex /home/filters/fir1.dbl]
--debug
File di configurazione
#Recursive Audio Converter Config
#To specify the directories use the full path. ex. /home/folder/sox
Threads=12
SoXDir=/home/simone/sox
CamillaDSPDir=/home/simone/camilladsp
DebugFile=/home/simone/debug.log
Normalize=0 #[dB, 0=inactive. Not yet implemented]
#ResamplerQuality [Synchronous|FastAsync|BalancedAsync|AccurateAsync]
#ConvolutionFileFormat [TEXT|S16LE|S24LE|S24LE3|S32LE|FLOAT32LE|FLOAT64LE]
ResamplerQuality=AccurateAsync
ConvolutionFileFormat=FLOAT64LE
#Recursive Audio Converter File Formats config
CompressionLevel=8
Esempi:
Ad esempio voglio convertire un X numero di files presenti in una cartella (e sottocartelle incluse) da FLAC a WAVPACK, facendo un upsampling alla frequenza di campionamento del file di input *2:
--input-dir /musica --output-dir . --input-format flac --output-format wv --output-bit 24 --output-rate NextSync
Oppure voglio effettuare l'upsample di file provenienti da un SACD a dsd256 applicando un filtro di convoluzione:
--input-dir /home/musica --output-dir . --input-format dsf --output-format dsf --output-rate 11289600 --convolution /home/filtro.txt
Più tardi aggiungerò informazioni più specifiche per quanto riguarda il funzionamento e la to-do list.
Per il momento è una beta, le classi che wrappano le funzionalità di CamillaDSP e SoX son (quasi)complete e funzionanti in modo tale da velocizzare lo sviluppo.
https://audiodigitale.eu/?p=293