Primo:
Comprendi la differenza tra una codifica e un formato contenitore . http://en.wikipedia.org/wiki/Digital_container_format
Un formato contenitore è un formato dati che "incapsula" altri dati codificati. Spesso contiene "meta-informazioni" 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, è la vera "carne" del flusso di dati.
L'esempio più comune che mi viene in mente è il formato "Ogg / Vorbis". Ogg è il formato contenitore e Vorbis è la codifica. Quindi hai un file formattato Ogg e all'interno ci sono questi piccoli secchi che contengono dati codificati. All'interno di ogni bucket è presente un flusso di dati con codifica Vorbis e nient'altro. Sul secchio potrebbe essere impresso il nome dell'artista e il titolo della canzone, per esempio.
Quindi torniamo alla tecnologia:
Se hai già musica in un formato con perdita di dati, come mp3 o ogg / vorbis, convertirla in un formato senza perdita di dati consumerà solo (molto) spazio su disco e NON - assolutamente NON - migliorerà la qualità di l'audio di sorta. Non puoi creare fedeltà una volta che è già stata persa. A meno che tu non stia scrivendo un'interfaccia GUI in Visual Basic in alcuni show televisivi di successo chiamati CSI, ma questa è fantasia, non realtà.
Se hai musica in altri formati senza perdita di dati e vuoi convertirla in FLAC, puoi farlo.
Fai attenzione a lanciare 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. PUOI avere un WAV senza perdita di dati se si tratta solo di dati PCM non elaborati, ma puoi anche incorporare i dati di livello III MPEG-1 (con perdita) in un file WAV.
È possibile perdere i dati durante la conversione da un formato senza perdita di dati a un altro, se si riduce la fedeltà dei dati. Ad esempio, se si converte un flusso di dati PCM a 16 bit senza segno a 48000 Hz in un flusso di dati PCM a 8 bit a 44100 Hz, si perde la fedeltà in due modi: i campioni vengono uniti da 48000 a soli 44100 per secondo (con conseguente perdita di dati) e i dati devono essere mischiati per adattarli alle informazioni in soli 8 bit anziché 16 per campione, il che danneggerebbe notevolmente la qualità.
Ogni flusso audio digitale, anche quelli codificati da un codificatore di compressione (lossy o lossless), hanno le seguenti "Proprietà del formato del campione", che sono elementi essenziali che descrivono le proprietà del flusso:
Larghezza e profondità del bit di esempio, ovvero 8 bit, 16 bit, ecc. La larghezza e la profondità del bit sono leggermente diverse, e c'è anche little-endian / big-endian (che non influisce sulla qualità) e con segno o senza segno (che inoltre non influisce sulla qualità, ma influisce sul modo in cui l'encoder / decodificatore gestisce i dati). Il punto chiave da ricordare è che "più bit è meglio". Quindi 32 bit è meglio di 16 bit, ecc.
Frequenza, nota anche come frequenza di campionamento. Altro è meglio perché hai più "campioni" di audio riprodotti al secondo. Immagina di passare rapidamente il dito su un mazzo di carte e di vederle sfocate: è così che avviene essenzialmente l'audio digitale. Ogni campione è una carta e se hai più carte che volano al secondo, l'audio è più fluido. Ad esempio, noteresti davvero se stavi girando solo 5 carte al secondo, ma tutto si confonderebbe se stai lanciando migliaia di carte al secondo. Quindi di più è meglio, perché è più naturale e più vicino alla realtà, che è analogico e infinitamente divisibile (beh, fino alle unità Planck ma è discutibile e fuori tema).
"Lossless" significa solo che se si utilizza lo stesso o migliore formato di esempio nell'output utilizzato nell'input, non si perderanno i dati.
Quindi, se passi dal formato di esempio da 16 bit a 32 bit, non perdi i dati. Ma se passi da 32 bit a 16 bit, perdi i dati.
Quindi la risposta alla tua domanda se l'uso di FLAC ha senso dipende dai dati di origine: se hai file WAV a 64 bit che sono stati originariamente registrati in quel formato di esempio, con 192000 Hz (aka 192KHz) e li converti in un " standard "formato di esempio FLAC di 16 bit e 44,1 KHz, perderai una tonnellata di dati. Ma se il tuo file WAV è a 8 bit con solo 22100 campioni al secondo e lo converti in un FLAC a 16 bit con 44100 campioni al secondo, non perderai dati. E potresti anche finire per aumentare le dimensioni del file, a seconda che vinca la compressione senza perdita o il formato di esempio più piccolo.
Il formato del campione influenzerà lo spazio occupato dal file, quindi i bit "più grandi" e le frequenze di campionamento "più veloci" occuperanno più spazio.
Per quanto riguarda le questioni pratiche e l'orecchio umano: non noterai davvero se converti originali ad alta fedeltà fino a FLAC a 44,1 KHz a 16 bit. Ma non noterai alcun miglioramento se converti un MP3 in FLAC. Quindi è necessario valutare in quale formato di esempio sono i dati di origine prima di decidere cosa fare.
Ora che ti ho fornito tutte queste informazioni, ecco le mie risposte dirette e senza risposta, a spiegazione zero alle tue domande:
Ho alcune domande sull'audio lossless. Sto pensando di convertire la mia intera collezione musicale in .flac senza perdita di dati, ma prima voglio capire alcune cose.
Se la tua raccolta musicale è su CD e vuoi copiarla su FLAC, secondo me è un'ottima scelta. L'audio di qualità CD sarà a 44,1 KHz e a 16 bit per campione. Ciò corrisponde esattamente alle impostazioni predefinite di FLAC (almeno, le impostazioni predefinite negli encoder che utilizzo). Pertanto non perderai alcun dato e sarà matematicamente identico ai dati di input quando decodificato.
Se ho un file che è .flac e voglio trasformarlo in, diciamo, .wav, come posso fare questo per non avere alcuna perdita di qualità? Se lo decomprimo, so che non perderò la qualità. La conversione di .flac in .wav equivale alla decompressione?
Puoi convertirlo in un file .wav con lo stesso o un formato di esempio più ampio rispetto ai 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 inviare tali dati PCM alla scheda audio. Lo decomprimerà con gli stessi dati che sono stati inseriti; quindi se i dati PCM a 16,1 KHz a 16 bit sono entrati, è quello che uscirà e andrà ai tuoi altoparlanti.
L'unica differenza tra questa attività e la conversione dell'audio in un file WAV è che, quando lo converti 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 dominio pubblico che ho scaricato in .ape, ma voglio farlo .flac. Sarebbe possibile passare a .flac senza usare .wav come intermediario. Voglio assicurarmi che neanche un po 'si perda in alcun modo.
No, non è possibile farlo senza utilizzare un formato PCM come intermediario. Sì, è possibile farlo senza utilizzare un file WAV. Nota la differenza. Datastream PCM. File WAV. Se la distinzione non ti è chiara, rileggi l'inizio del mio post. Se vuoi assicurarti che "neanche un po '" vada perso, allora devi esaminare i tuoi file APE e capire in che formato di esempio sono, e assicurarti che il tuo codificatore FLAC sia impostato per codificare per le stesse impostazioni.
Internamente, qualsiasi programma di conversione audio decodificherà dal formato sorgente in una sorta di formato di esempio PCM lossless, quindi prenderà quei campioni PCM e li ricodificherà nel formato di destinazione.
Inoltre, se ci sono guide che spiegano il mondo della perdita perfetta, qualcuno sarebbe disposto a condividere un link? :)
Secondo me, il modo migliore per imparare è fare. Se ti prendi del tempo per imparare il framework Gstreamer, come usarlo e i significati dei vari parametri sintonizzabili del formato di esempio e come costruire una pipeline, otterrai una comprensione davvero forte dell'audio digitale. Controlla. http://gstreamer.freedesktop.org/ Puoi anche prendere l'SDK Gstreamer da http://code.entropywave.com/gstreamer-sdk/ (Windows è supportato) e sperimentare gst-launch-0.10 senza dover compilare nulla dalla fonte.
Alcune cose rivelatrici:
gst-inspect-0.10 vorbisenc gst-inspect-0.10 vorbisdec gst-inspect-0.10 audio convertito gst-inspect-0.10 audioresample
Quindi scopri i tappi, la costruzione di condutture, ecc. E ti sposterai subito.
* Nota: mi rendo conto di non aver spiegato cos'è il PCM. Wikipedia fa un lavoro migliore di me: http://en.wikipedia.org/wiki/Pulse-code_modulation