Originariamente inviato da
UnixMan
fino a 24bit (inclusi) lo fa, è solo oltre che non lo fa comunque (neanche se glielo chiedi espressamente).
ehm... precisiamo: non si tratta di una "scommessa", ma solo di una ipotesi/dubbio, tutta da verificare.
Un altro dubbio -diverso- è invece relativo al fatto che la dinamica/risoluzione effettiva dei DAC, anche nei casi migliori, è sempre sensibilmente inferiore a quella dei 24 o addirittura 32 bit che questi possono accettare in ingresso. Per cui mi viene da pensare che forse potrebbe essere più opportuno applicare il dithering ad una risoluzione pari (o leggermente inferiore, comunque non superiore) a quella di cui è realmente capace il DAC che si utilizza.
Per finire, ci sono ancora in circolazione (e molti utilizzano con soddisfazione) dei vecchi e gloriosi DAC che hanno risoluzioni di 20, 18, 16 o addirittura 14 bit (e.g., quelli basati sul venerando TDA1540). Per questi è fuor di dubbio che il dithering va necessariamente applicato quanto meno ad una precisione non superiore a quella max supportata (in ingresso) dal DAC. Sfortunatamente, tranne che nel caso di quelli a 16bit (in cui il risultato si può ottenere selezionando 16 bit come formato di uscita), per tutti gli altri l'unico modo di ottenere il risultato è quello di utilizzare una versione aggiornata di sox con l'opzione "dither -p XX".
N.B.: se in C-3PO si seleziona un formato di uscita a 32bit, sox non effettua mai il dithering, neanche se glielo si richiede espressamente aggiungendo l'effetto "dither" alla sua riga di comando (a meno che non ci sia anche l'opzione "-p XX", con XX<=24, cosicché i 32bit diventano fittizi e la precisione di uscita ridotta al valore "XX").