GNU/Linux >> Znalost Linux >  >> Linux

Proč nemůžete jednoduše dd CD Audio jako obyčejné datové CD?

Audio CD (také nazývané CD-DA, specifikované v proprietární Červené knize) jsou nejstarším formátem CD. Formát je inspirován zvukovým záznamem, takže máte spirálovou stopu se spojitými daty a s těmito daty jsou proloženy informace o časování. Neexistují žádná správná záhlaví bloků. Nejmenší jednotkou informace je jeden snímek nebo 1/75 sekundy, který obsahuje 2352 datových bytů (pro 2 kanály, 2 vzorky/byte, 44,1 kHz).

Všimněte si, že to není mocnina dvou a dokonce ani nedělí 256 nebo 512. Takže zacházet se zvukovými snímky jako s datovými bloky je trochu nešikovné. Navíc rané CD mechaniky se nemohou vždy správně umístit, takže když jí řeknete „přečti snímek za 12 minut 4 sekund a 5 1/75 sekund“, někdy se spustí o několik bajtů dříve nebo později. Proto existuje tolik programů pro „správné“ čtení zvukových CD (jako cdparanoia ).

Nyní to porovnejte s datovým CD (také nazývaným CD-ROM, specifikovaným ve žluté knize):Vzali 2352 bajtů zvukových rámců a některé z nich použili pro informace v záhlaví k identifikaci bloku. Přidali také další úroveň opravy chyb, takže z 2352 bajtů zvukového rámce se stane 2048 bajtů v datovém rámci.

Nyní máme mocninu dvě jako velikost bloku, máme správné hlavičky a umíme provádět přesné vyhledávání a můžeme skutečně předstírat, že se jedná pouze o blokové zařízení.

To je důvod, proč se se zvukovým CD ve výchozím nastavení nepovažuje za blokové zařízení, zatímco s datovým CD ano.

To znamená, že není důvod nezpřístupnit informace na zvukovém CD v souborovém systému, řekněme jako soubor WAV pro každou stopu. A ve skutečnosti existují některé projekty s otevřeným zdrojovým kódem jako CDfs nebo jiné, které si právě teď nepamatuji, které používají FUSE, které reprezentují data CD tímto způsobem. Stále však máte problém, že neexistuje žádná korekce jitteru atd., takže je lepší použít něco jako cdparanoia .

A lidé z jádra si také mysleli, že to byl špatný nápad.


Linux
  1. Co pro vás může udělat shell dotfile

  2. Alsamixer Pulse Audio?

  3. Proč se mohu přihlásit pomocí částečných hesel?

  1. Můžete spustit Xcode v Linuxu?

  2. Linux, proč nemohu najít výsledek potrubím do rm?

  3. Je možné zkompilovat Darwin Distro ze zdroje, jako můžete sestavit Linux Distro?

  1. Proč nemohu rolovat v terminálu?

  2. Proč používáme su – a nejen su?

  3. Proč používat innodb_file_per_table?