İlk:
Kodlama ve kapsayıcı biçimi arasındaki farkı anlayın . http://en.wikipedia.org/wiki/Digital_container_format
Kapsayıcı biçimi, diğer kodlanmış verileri "kapsülleyen" bir veri biçimidir. Genellikle kodlanmış verilerle ilgili "meta bilgi" içerir veya kodlanmış verilerin birden fazla ayrı akışını veya bunun gibi bir şeyi depolamanın bir yolu vardır.
Bir kodek tarafından üretilen bir kodlama, veri akışının gerçek "eti" dir.
Düşünebileceğim en yaygın örnek "Ogg / Vorbis" biçimidir. Ogg kap biçimidir ve Vorbis kodlamadır. Ogg biçimli bir dosyanız var ve içinde kodlanmış veriler içeren bu küçük kovalar var. Her bölümün içinde Vorbis kodlu bir veri akışı vardır ve başka bir şey yoktur. Grupta örneğin sanatçının adı ve şarkı adı damgalı olabilir.
Yani teknolojiye geri dönelim:
Zaten mp3 veya ogg / vorbis gibi kayıplı bir formatta müziğiniz varsa, kayıpsız bir formata dönüştürmek sadece (çok) disk alanını tüketir ve KALMAZ - kesinlikle OLMAYACAKTIR - ses ne olursa olsun. Zaten kaybolduktan sonra sadakat yaratamazsınız. CSI adlı bazı hit TV şovlarında Visual Basic'te bir GUI arayüzü yazmıyorsanız, ama bu fantezi değil, gerçeklik.
Başka kayıpsız formatlarda müziğiniz varsa ve bunu FLAC'e dönüştürmek istiyorsanız, bunu yapabilirsiniz.
"WAV" terimi etrafında atma konusunda dikkatli olun. Wav'in kayıpsız olması gerekmez; aslında, WAV sadece çeşitli formatlar için bir kaptır. Bu anlamda AVI gibi. Yalnızca ham PCM verileriyse kayıpsız bir WAV'a sahip olabilirsiniz, ancak MPEG-1 Katman III verilerini (kayıplı) bir WAV dosyasına gömebilirsiniz.
Verilerin aslına uygunluğunu azaltırsanız, kayıpsız bir formattan diğerine dönüştürürken veri kaybetmek mümkündür. Örneğin, 48000 Hz'de işaretsiz bir 16 bit PCM veri akışını 44100 Hz'de 8 bit PCM veri akışına dönüştürürseniz, iki şekilde aslına uygunluğunu kaybedersiniz: örnekler 48000'den yalnızca 44100'e birleştiriliyor (verilerin kaybıyla sonuçlanır) ve verilerin, numune başına 16 yerine yalnızca 8 bit içerisine sığması için verilerin karıştırılması gerekir, bu da kaliteye önemli ölçüde zarar verir.
Sıkıştırma (kayıplı veya kayıpsız) bir kodlayıcı tarafından kodlananlar bile her dijital ses akışı, akışın özelliklerini tanımlayan temel öğeler olan aşağıdaki "Örnek Format Özellikleri" ne sahiptir:
Örnek bit genişliği ve bit derinliği, yani 8 bit, 16 bit, vb. Bit genişliği ve derinliği çok farklıdır ve ayrıca küçük endian / big-endian (kaliteyi etkilemez) ve imzalı veya imzasız (ayrıca kaliteyi etkiler, ancak kodlayıcının / kod çözücünün verilerle nasıl başa çıktığını etkiler). Hatırlanması gereken kilit nokta, "daha fazla bit daha iyidir" dir. 32-bit, 16-bit'den daha iyidir, vb.
Frekans, örnekleme hızı olarak da bilinir. Daha fazlası daha iyidir, çünkü saniyede çalınan daha fazla "ses" örneğine sahipsiniz. Parmağınızı bir kart destesinin üzerinde hızlı bir şekilde fırçaladığınızı ve kartların bulanık bir şekilde geçtiğini hayal edin - dijital ses aslında böyle olur. Her örnek bir karttır ve saniyede daha fazla uçan kartınız varsa, ses daha kesintisiz olur. Sanki, saniyede sadece 5 kart çevirdiyseniz gerçekten fark edersiniz, ancak saniyede binlerce kart çevirirseniz hepsi bulanıklaşır. Daha fazlası daha iyidir, çünkü daha doğal ve gerçekliğe daha yakın, ki bu analog ve sonsuz bölünebilir (Planck birimlerine kadar ama tartışmalı ve konu dışı).
"Kayıpsız", çıktıda kullandığınızla aynı veya daha iyi örnek biçimini kullanırsanız, veri kaybetmeyeceğiniz anlamına gelir.
Dolayısıyla, 16 bit ila 32 bit örnek formatına giderseniz veri kaybetmezsiniz. Ancak 32 bit'ten 16 bit'e giderseniz veri kaybedersiniz.
Bu nedenle, FLAC kullanmanın mantıklı olup olmadığı sorunuzun cevabı kaynak verilere bağlıdır: 192000 Hz (aka 192KHz) ile orijinal olarak o örnek biçiminde kaydedilmiş 64 bit WAV dosyalarınız varsa ve bunları " standart "FLAC örnek formatı 16-bit ve 44.1 KHz, bir TON veri kaybedeceksiniz. Ancak WAV dosyanız saniyede yalnızca 22100 örnekle 8 bitse ve saniyede 44100 örnekle 16 bit FLAC'ye dönüştürürseniz, veri kaybetmezsiniz. Kayıpsız sıkıştırmanın veya daha küçük örnek formatının kazanıp kazanmadığına bağlı olarak dosya boyutunu da artırabilirsiniz.
Örnek format, dosyanın ne kadar yer kapladığını etkileyeceğinden, "daha büyük" bitler ve "daha hızlı" örnekleme oranları daha fazla yer kaplar.
Pratik kaygılar ve insan kulağına gelince: gerçekten yüksek kaliteli orijinalleri 16 bit 44.1KHz FLAC'a dönüştürdüğünüzde gerçekten fark etmeyeceksiniz. Ancak, MP3'ü FLAC'ye dönüştürürseniz de bir gelişme fark etmezsiniz. Bu nedenle, ne yapacağınıza karar vermeden önce kaynak verilerinizin hangi örnek formatta olduğunu değerlendirmeniz gerekir.
Şimdi size tüm bu bilgileri sağladığım için, işte sorularınıza doğrudan ve boş, sıfır açıklama cevaplarım:
Kayıpsız ses ile ilgili birkaç sorum var. Tüm müzik koleksiyonumu kayıpsız .flac'a kopyalamayı düşünüyorum, ama önce bunun hakkında birkaç şey anlamak istiyorum.
Müzik koleksiyonunuz CD'lerde ise ve FLAC'a kopyalamak istiyorsanız, bu bence çok uygun. CD kalitesinde ses, 44.1 KHz ve örnek başına 16 bit olacaktır. Bu, FLAC'ın varsayılan ayarlarıyla tam olarak eşleşir (en azından kullandığım kodlayıcılardaki varsayılanlar). Bu nedenle herhangi bir veri kaybetmezsiniz ve kod çözüldüğünde veri girişiyle matematiksel olarak aynı olur.
.Flac olan bir dosyam varsa ve .wav dosyası haline getirmek istiyorsanız, bunu kalite kaybı yaşamamak için nasıl yapabilirim? Sıkıştırırsam, kaliteyi kaybetmeyeceğimi biliyorum. .Flac dosyasının .wav biçimine dönüştürülmesi, sıkıştırmanın açılmasıyla aynı mıdır?
Girdi verileriyle aynı veya daha geniş bir örnek biçimine sahip bir .wav dosyasına dönüştürebilirsiniz ve kalite kaybınız olmaz.
Bir medya oynatıcı sesi flac dosyanızda oynattığında, o PCM verilerini ses kartına göndermeden önce flac verilerinin bir PCM formatına çözülmesi esastır. Girilen verilerle aynı şekilde açar; yani 16 bit 44,1 KHz PCM verileri girerse, çıkacak olan şey budur ve hoparlörlerinize gidebilirsiniz.
Bu etkinlik ile sesi WAV dosyasına dönüştürme arasındaki tek fark , bir WAV dosyasına dönüştürdüğünüzde, uygun dolgu bitleri, vb. İle bir WAV kabı oluşturması ve ayrıca örnek formatı seçmenize izin vermesidir. WAV dosyasının. Ancak örnek formatın aynı olduğunu varsayarsak, FLAC ve WAV dosyalarınız arasındaki tek fark dosya boyutu olacaktır: WAV dosyaları önemli ölçüde daha büyük olacaktır.
Bu .ape formatı için de geçerli mi? .Ape'de indirdiğim birkaç kamuya açık alan kaydım var, ancak .flac yapmak istiyorum. .Wav'ı orta bir adam olarak kullanmadan .flac'a mümkün olur. Biraz bile kaybolmamasını sağlamak istiyorum.
Hayır, kullanmadan bunu yapmak mümkün değildir bazı bir aracı olarak PCM biçimi. Ama evet, olan bir WAV dosyasını kullanarak olmadan bunu yapmak mümkün. Farkı not edin. PCM veri akışı. WAV dosyası. Eğer ayrım sizin için net değilse, yazımın başlangıcını tekrar okuyun. "Biraz bile" kaybolduğundan emin olmak istiyorsanız, APE dosyalarınızı incelemeniz ve hangi örnek formatta olduklarını anlamanız ve FLAC kodlayıcınızın aynı ayarları kodlayacak şekilde ayarlandığından emin olmanız gerekir.
Dahili olarak, herhangi bir ses dönüştürme programı, kaynak formattan bir tür kayıpsız PCM örnek formatına çözülecek ve daha sonra bu PCM örneklerini alıp hedef formatta yeniden kodlayacaktır.
Ayrıca, kayıpsız dünyasını kusursuz bir şekilde açıklayan herhangi bir rehber varsa, bir bağlantı paylaşmaya istekli olur mu? :)
Benim düşünceme göre, öğrenmenin en iyi yolu yapmaktır. Gstreamer çerçevesini, nasıl kullanılacağını ve örnek formatın çeşitli ayarlanabilirlerinin anlamlarını ve bir boru hattının nasıl oluşturulacağını öğrenmek için zaman ayırırsanız, gerçekten güçlü bir dijital ses anlayışı ile ortaya çıkacaksınız. Bunu kontrol et. http://gstreamer.freedesktop.org/ Gstreamer SDK'sını http://code.entropywave.com/gstreamer-sdk/ adresinden de alabilir (Windows desteklenir) ve hiçbir şey derlemek zorunda kalmadan gst-launch-0.10 ile deneme yapabilirsiniz kaynaktan.
Birkaç şey açıklıyor:
gst-inspect-0.10 vorbisenc gst-inspect-0.10 vorbisdec gst-inspect-0.10 ses dönüştürme gst-inspect-0.10 audioresample
Sonra kapaklar hakkında bilgi edinin, boru hatları inşa edin, vb.
* Not: PCM'nin ne olduğunu açıklamadığımı fark ettim. Wikipedia benden daha iyi bir iş çıkarıyor: http://en.wikipedia.org/wiki/Pulse-code_modulation