Comprensione della conversione e (de) compressione di audio senza perdita

Ho alcune domande riguardanti l'audio senza perdita. Sto pensando di strappare tutta la mia collezione di musica a flac senza perdita, ma voglio prima capire alcune cose.

Se ho un file che è .flac, e voglio farlo, ad esempio, .wav, come posso fare questo per non avere perdita di qualità? Se lo decomprimo, so che non perderò la qualità. Conversione di .flac a .wav allo stesso modo di decompressione?

Questo vale anche per il formato .ape? Ho alcune registrazioni di pubblico dominio che ho scaricato in .ape, ma voglio farlo .flac. .flac potrebbe essere ansible senza utilizzare .wav come un uomo medio. Voglio garantire che anche un po 'non viene perso in alcun modo.

Inoltre, se ci sono guide che spiegheranno il mondo del lossless senza problemi, qualcuno sarà disposto a condividere un collegamento? 🙂

    Primo:

    Capire la differenza tra una codifica e un formato del contenitore . http://en.wikipedia.org/wiki/Digital_container_format

    Un formato contenitore è un formato di dati che "incapsula" altri dati codificati. Spesso contiene "meta-information" sui dati codificati o ha un modo per memorizzare più flussi separati di dati codificati o qualcosa del genere.

    Una codifica, prodotta da un codec, è l'attuale "carne" del stream di dati.

    L'esempio più comune che posso pensare è il formato "Ogg / Vorbis". Ogg è il formato del contenitore e Vorbis è la codifica. Quindi hai un file formattato in Ogg e all'interno di questi piccoli secchi contengono dati codificati. All'interno di each secchio è un stream di dati codificato Vorbis e nient'altro. Ad esempio, sul secchio potrebbe essere printingto il nome dell'artista e il titolo della canzone.

    Quindi tornare alla tech:

    1. Se hai già musica in un formato perduto, come mp3 o ogg / vorbis, convertirlo in un formato senza perdita solo troverai (molto) spazio su disco e NON – NON SARA ' – migliorare la qualità di l'audio. Non è ansible creare fedeltà una volta che è già stata persa. A less che tu non scrivi un'interface grafica in Visual Basic su un certo spettacolo televisivo hit chiamato CSI, ma questa è fantasia, non realtà.

    2. Se si dispone di musica in altri formati senza perdita e si desidera convertire in FLAC, è ansible farlo.

    3. Fare attenzione a gettare il termine "WAV". Wav non deve essere senza perdita; in realtà, WAV è solo un contenitore per vari formati possibili. È un po 'come AVI in quel senso. È ansible disporre di un WAV senza perdita se sono solo i dati PCM crudi, ma è ansible anche incorporare i dati MPEG-1 Layer III (lossy) in un file WAV.

    4. È ansible perdere dati quando si converte da un formato senza perdita ad un altro, se si riduce la fedeltà dei dati. Ad esempio, se si converte un stream di dati PCM a 16 bit senza segno a 48000 Hz in un stream di dati PCM a 8 bit a 44100 Hz, stai perdendo la fedeltà in due modi: i campioni vengono fusi da 48000 a soli 44100 secondo (con conseguente perdita di dati) e i dati devono essere scambiati per adattarli a soli 8 bit invece di 16 per campione, che danneggerà drasticamente la qualità.

    Ogni stream audio digitale, anche codificato da un codificatore di compressione (lossy o lossless), presenta le seguenti "properties; del formato campione", elementi essenziali che descrivono le properties; del stream:

    1. Larghezza bit e profondità di bit, cioè 8 bit, 16 bit, ecc. La width e la profondità del bit sono sottilmente diversi, e c'è anche un piccolo endian / big-endian (che non influisce sulla qualità) e firmato o non firmato (che anche non influenzano la qualità, ma non influiscono sul modo in cui l'encoder / decodificatore tratta i dati). Il punto chiave da ricordare è che "più bit è migliore". Quindi 32 bit è migliore di 16 bit, ecc.

    2. Frequenza, noto anche come frequenza di campionamento. Più è meglio perché hai più "campioni" di audio riprodotti al secondo. Immaginate di spazzolare velocemente il dito su un mazzo di carte e guardare le carte andare in una sfocatura – è così che succede essenzialmente l'audio digitale. Ogni campione è una carta, e se hai più carte al volo al secondo, l'audio è più semplice. Come, si noterebbe davvero se si stavano solo lanciando 5 tabs al secondo, ma sarebbe sfocato insieme se si sta flipping migliaia di carte al secondo. Quindi più è meglio perché è più naturale e più vicina alla realtà, che è analogo e infinitamente divisibile (ben, fino alle unità Planck, ma è discutibile e fuori tema).

    "Lossless" significa solo che se si utilizza lo stesso o il migliore esempio di formato nell'output come si è utilizzato nell'input, non perderai alcun dato.

    Quindi, se andate dal formato di esempio di 16 bit a 32 bit, non perdete i dati. Ma se passate da 32 a 16 bit, perdete i dati.

    Quindi la risposta alla tua domanda di utilizzare FLAC dipende dai dati di origine: se si dispone di file WAV a 64 bit originariamente registrati in quel formato di esempio con 192000 Hz (aka 192KHz) e li si converte in un " standard "formato di esempio FLAC di 16 bit e 44,1 KHz, si perderà un TON di dati. Ma se il file WAV è a 8 bit con solo 22100 campioni al secondo e lo converte in FLAC a 16 bit con 44100 campioni al secondo, non perderai i dati. E si può anche finire per aumentare la dimensione del file, a seconda se la compressione senza perdite o il formato di esempio più piccolo guadagna.

    Il formato di esempio influenzerà il numero di spazio occupato dal file, in modo che i bit "più grandi" e le velocità di campionamento "più veloci" occupino più spazio.

    Per quanto riguarda le preoccupazioni pratiche e l'orecchio umano, non si nota veramente se si convertono originali di alta fedeltà a 16 bit di 44.1KHz FLAC. Ma né si noterà un miglioramento se si converte un MP3 in FLAC. Quindi è necessario valutare il formato di esempio in cui sono presenti i dati di origine prima di decidere cosa fare.

    Ora che ti ho fornito tutte queste informazioni, ecco le mie risposte dirette e puntuali, senza spiegazioni alle tue domande:

    Ho alcune domande riguardanti l'audio senza perdita. Sto pensando di strappare tutta la mia collezione di musica a flac senza perdita, ma voglio prima capire alcune cose.

    Se la tua collezione di musica è su CD e vuoi strapparla a FLAC, questa è una buona misura a mio parere. L'audio di qualità del CD sarà a 44,1 KHz ea 16 bit per campione. Questo corrisponde esattamente alle impostazioni predefinite di FLAC (alless le impostazioni predefinite nei codificatori che utilizzo). Quindi non perderai alcun dato e sarà mathmente identico ai dati di input quando viene decodificato.

    Se ho un file che è .flac, e voglio farlo, ad esempio, .wav, come posso fare questo per non avere perdita di qualità? Se lo decomprimo, so che non perderò la qualità. Conversione di .flac a .wav allo stesso modo di decompressione?

    È ansible convertire in un file wav con lo stesso formato o un formato più ampio dei dati di input e non avrai alcuna perdita di qualità.

    Quando un lettore multimediale riproduce l'audio nel file flac, essenzialmente decodifica i dati flac in un formato PCM prima di submit i dati PCM alla scheda audio. Lo decomprime con gli stessi dati che sono entrati; quindi se i dati PCM a 44 bit da 44,1 KHz sono entrati, è quello che verrà fuori e vai ai tuoi altoparlanti.

    L'unica differenza tra questa attività e la conversione dell'audio in un file WAV è che, convertendola in un file WAV, deve creare un contenitore WAV con i bit di riempimento appropriati ecc. E ti consente anche di scegliere il formato di esempio del file WAV. Ma supponendo che il formato di esempio sia lo stesso, l'unica differenza tra i file FLAC e WAV sarà la dimensione del file: i file WAV saranno sostanzialmente più grandi.

    Questo vale anche per il formato .ape? Ho alcune registrazioni di pubblico dominio che ho scaricato in .ape, ma voglio farlo .flac. .flac potrebbe essere ansible senza utilizzare .wav come un uomo medio. Voglio garantire che anche un po 'non viene perso in alcun modo.

    No, non è ansible farlo senza utilizzare un formato PCM come intermediario. Ma sì, è ansible farlo senza utilizzare un file WAV. Si noti la differenza. PCM datastream. File WAV. Se la distinzione non è chiara, rilevi l'inizio del mio post. Se si desidera assicurarsi che "persino un po '" non sia persa, allora è necessario esaminare i file APE e capire quali sono i formati di esempio e assicurarsi che l'encoder FLAC sia impostato per codificare le stesse impostazioni.

    Internamente, qualsiasi programma di conversione audio sta andando decodificando dal formato di origine in una sorta di formato di esempio PCM senza perdita e quindi prendendo questi campioni PCM e ricodificandoli nel formato di destinazione.

    Inoltre, se ci sono guide che spiegheranno il mondo del lossless senza problemi, qualcuno sarà disposto a condividere un collegamento? 🙂

    A mio parere, il modo migliore per imparare è quello di fare. Se prendi tempo per imparare il framework Gstreamer, come usarla, i significati dei vari tunables del formato di esempio e come build una pipeline, uscinetworking con una comprensione veramente forte dell'album digitale. Controlla. http://gstreamer.freedesktop.org/ Potete anche afferrare l'SDK di Gstreamer da http://code.entropywave.com/gstreamer-sdk/ (Windows è supportto) e sperimentare con gst-launch-0.10 senza wherer compilare nulla dalla fonte.

    Alcune cose rivelatrici:

    gst-inspect-0.10 vorbisenc gst-inspect-0.10 vorbisdec gst-ispezione-0.10 audioconvert gst-inspect-0.10 audioresample

    Allora imparate sui tappi, sulla costruzione di condotte, ecc e sarai in movimento.

    * Nota: mi rendo conto di non spiegare cosa sia PCM. Wikipedia ha un lavoro migliore di quello che faccio: http://en.wikipedia.org/wiki/Pulse-code_modulation