GNU/Linux >> Linux Esercitazione >  >> Linux

Perché non puoi semplicemente dd CD Audio come un normale CD di dati?

I CD audio (chiamati anche CD-DA, specificati nel Red Book proprietario) sono il formato più antico del CD. Il formato è ispirato alla registrazione audio, quindi hai una traccia a spirale con dati continui, e interfogliati con questi dati ci sono informazioni temporali. Non ci sono intestazioni di blocco appropriate. L'unità di informazione più piccola è un frame, o 1/75 di secondo, che contiene 2352 byte di dati (per 2 canali, 2 campioni/byte, 44,1 kHz).

Si noti che questa non è una potenza di due e non si divide nemmeno per 256 o 512. Quindi trattare i frame audio come blocchi di dati è un po' imbarazzante. Inoltre, le prime unità CD non possono sempre posizionarsi correttamente, quindi se gli dici "vai a leggere il frame a 12 minuti 4 secondi e 5 1/75 secondi", a volte inizierà alcuni byte in anticipo o in ritardo. Ecco perché ci sono così tanti programmi per leggere "correttamente" i CD audio (come cdparanoia ).

Ora confrontalo con un CD di dati (chiamato anche CD-ROM, specificato nel Libro Giallo):hanno preso i 2352 byte di un frame audio e ne hanno usati alcuni per le informazioni di intestazione per identificare un blocco. Hanno anche aggiunto un altro livello di correzione degli errori, quindi i 2352 byte di un frame audio diventano 2048 byte in un frame di dati.

Ora abbiamo una potenza di due come dimensione del blocco, abbiamo intestazioni adeguate e possiamo fare ricerche esatte, e possiamo davvero fingere che questo sia solo un dispositivo a blocchi.

Quindi questo è il motivo per cui, per impostazione predefinita, un CD audio non viene trattato come un dispositivo a blocchi, mentre un CD dati lo è.

Detto questo, non c'è motivo per non rendere disponibili le informazioni sul CD audio nel filesystem, diciamo, come file WAV per ogni traccia. E infatti, ci sono alcuni progetti open-source come CDfs, o altri che non ricordo adesso che usano FUSE, che rappresentano i dati del CD in questo modo. Tuttavia, sei ancora bloccato con il problema che non c'è correzione del jitter ecc., quindi è meglio usare qualcosa come cdparanoia .

E anche quelli del kernel pensavano che fosse una cattiva idea.


Linux
  1. L'Alsamixer di Pulse Audio?

  2. Perché posso accedere con password parziali??

  3. Puoi eseguire Xcode in Linux?

  4. Perché non puoi usare cat per leggere un file riga per riga in cui ogni riga ha delimitatori

  5. Linux perché non riesco a reindirizzare find result a rm?

11 motivi per cui dovresti passare a Linux

13 modi in cui puoi aiutare Linux

Hai bisogno di Java? Quindi puoi installarlo Java su Linux

È possibile compilare una Darwin Distro dal sorgente, come si può costruire una Linux Distro?

Perché non riesco a scorrere nel terminale?

Perché usare innodb_file_per_table?