FLAC

Vikipedi, özgür ansiklopedi
Şuraya atla: kullan, ara
Free Lossless Audio Codec
Flac logo vector.svg
Geliştirici(ler) Xiph.Org Foundation, Josh Coalson, Erik de Castro Lopo
İlk yayınlanma 20 Temmuz 2001 (16 yıl önce) (2001-07-20)
Kararlı sürüm 1.3.2 / 1 Ocak 2017 (7 ay önce) (2017-01-01)
İşletim sistemi Cross-platform
Tür Ses çözücü (Codec)
Lisans Komut satırı araçları: GNU GPL
Kütüphaneler: BSD
Resmî sitesi xiph.org/flac
Free Lossless Audio Codec
Dosya Uzantısı: .flac
MIME tipi: audio/x-flac[1]
Sihir: fLaC[2]
Biçim tipi: Audio
Standard(lar): xiph.org/flac/format.html

FLAC (/ˈflæk/; Free Lossless Audio Codec) dijital sesin kayıpsız olarak sıkıştırılması için kullanılan bir ses kodlama formatıdır ve aynı zamanda referans kod çözümü uygulamasının adıdır. FLAC algoritması ile sıkıştırılmış sayısal ses orijinal boyutunun% 50-60'ına kadar indirgenebilir ve orijinal ses verilerinin özdeş bir kopyasına dek sıkıştırma yapabilir. Örneğin sıkıştırılmamış 1 dakikalık WAV dosyası boyutu yaklaşık 10 MB iken, FLAC dosyası ise 4,2 - 6,3 MB arasındadır.

FLAC, telif ücretsiz lisansına sahip ve ücretsiz yazılım olan referans uygulamasıyla açık bir formattır. FLAC, meta veri etiketleme, albüm kapak resmi ve hızlı arama desteği sunmaktadır. Günümüzde birçok taşınabilir aygıtın desteklediği biçim, popüler ortam oynatıcıları tarafından çalınabilmektedir.

Tarihçe[değiştir | kaynağı değiştir]

FLAC yazılım geliştirmesi, 2000 yılında Josh Coalson tarafından başlatıldı.[3] FLAC, 15 Ocak 2001'de referans uygulamasının 0.5 sürümüyle birlikte beta aşamasına girdiğinde bit akışı biçimi dondurulmuştur. Sürüm 1.0, 20 Temmuz 2001'de yayımlanmıştır.[3]

29 Ocak 2003 tarihinde, Xiph.Org Vakfı ve FLAC projesi, Xiph.org bayrağı altında birleşerek FLAC'ın kuruluşunu ilan etti. Xiph.org, Vorbis, Theora, Speex ve Opus gibi diğer ücretsiz sıkıştırma formatlarının arkasında yer alan bir vakıftır.[3][4][5]

Sürüm 1.3.0, 26 Mayıs 2013'te yayınlanmıştır ve bu noktadan sonra geliştirme ortamı, Xiph.org 'un git deposuna taşındı.[6]

Yapı[değiştir | kaynağı değiştir]

FLAC projesi aşağıdakilerden oluşur:

  • Akış biçimleri
  • Akış için FLAC (veya Yerel FLAC) olarak da adlandırılan basit bir kapsayıcı biçimi,
  • LibFLAC, referans kodlayıcılar ve kod çözücülerin bir kütüphanesi ve bir meta veri arabirimi
  • LibFLAC++, libFLAC etrafında nesne yönelimli bir örtü
  • flac, FLAC akışlarını kodlamak ve çözmek için libFLAC temelli bir komut satırı programı
  • metaflac, .flac dosyaları ve ReplayGain uygulamak için bir komut satırı meta veri düzenleyicisi
  • Çeşitli müzik çalarlar için giriş eklentileri (Winamp, XMMS, foobar2000, musikCube, ve birçoğu)
  • Xiph.org kuruluşunda, akış için uygun Ogg konteyner biçimi (Ogg FLAC olarak da adlandırılır)

Akış formatının tanımlarını önceden izin alınmadan herkes tarafından uygulanabilir (Xiph.org, FLAC tanımlarını belirleme ve uygunluğunu onaylama hakkını saklı tutar) ve ne FLAC biçimi ne de uygulanan kodlama veya kod çözme yöntemlerinden hiçbiri herhangi bir patent kapsamına girmez. Referans uygulaması özgür bir yazılımdır. LibFLAC ve libFLAC++ için kaynak kodu BSD lisansı altındadır ve flac, metaflac ve eklentileri için kaynaklar GNU Genel Kamu Lisansı altındadır.

Belirtilen hedefler doğrultusunda, FLAC projesi geliştiricilerini her türlü kopyalama önleme özelliklerini (DRM) uygulamamaya teşvik etmektedir.[7]

Tasarım[değiştir | kaynağı değiştir]

FLAC olarak kodlanmış ses kaynakları tipik olarak diğer kayıpsız biçime benzer şekilde orijinal boyutlarının % 50-60'ına indirgenir, ancak son boyut sıkıştırılacak müziğin yoğunluğuna ve hacmine bağlıdır ve bazı müziklerde dosya boyutu olabilir % 80 oranında azaltılır.

Kaynak Kodlayıcı[değiştir | kaynağı değiştir]

  • FLAC, yalnızca Kayan nokta olmayan sabit nokta örneklerini destekler. Her örnekte 4 ila 24 bitlik PCM bit çözünürlüğünü, 1 Hz'lik artışlarla 1 Hz'den 65,535 Hz'e, 10 Hz'lik artışlarla 10 Hz'den 655,350 Hz'e ve 1'den 8'e kadar herhangi bir sayıda kanaldan herhangi bir örnekleme hızı işleyebilir.[8]
  • Kanallar, bazı durumlarda sıkıştırmayı artırmak için, stereo ve 5.1 kanal surround örneğindeki gibi, kanallar arası korelasyonlardan yararlanmak için gruplanabilir.
  • FLAC, akış protokolünde kullanıldığında bozuk kareleri tanımlamak için CRC sağlama toplamı kullanır, ve aynı zamanda STREAMINFO meta veri başlığında ham PCM sesinin tam bir MD5 karmasını içerir. FLAC, 0 ile 16 arasında bir Rice parametresine izin verir.
  • FLAC, ses örneklerini dönüştürmek için doğrusal tahmini kullanır. Doğrusal tahminde iki adım vardır, öngörücü ve hata kodlaması. Tahminci, dört türden biri olabilir (Sıfır, Verbatim, Sabit Lineer ve FIR Lineer). Tahmini ve gerçek örnek verileri arasındaki fark hesaplanır ve kalıntı olarak bilinir. Kalıntı, Golomb-Rice kodlaması kullanılarak verimli bir şekilde saklanır.

Meta Veri[değiştir | kaynağı değiştir]

  • FLAC ReplayGain'i destekler.
  • Etiketleme için FLAC, Vorbis yorumlarıyla aynı sistemi kullanır.[9]
  • LibFLAC API'leri, akışlar, aranabilir akışlar ve dosyalar (temel FLAC bit akışından artan soyutlanma sırasına göre listelenir) olarak düzenlenmiştir.
  • Çoğu FLAC uygulaması kendilerini genellikle dosya seviyesi arayüzünde libFLAC kullanarak kodlama / kod çözme yönünde kısıtlarlar.

Sıkıştırma Seviyeleri[değiştir | kaynağı değiştir]

LibFLAC seviyesi 0 (en hızlı) ile 8 (en yavaş) arasında değişen bir sıkıştırma parametresi kullanır. Sıkıştırılmış dosyalar her zaman orijinal verilerin mükemmel, kayıpsız gösterimleridir. Sıkıştırma işlemi hız ve boyut arasındaki dengeyi gerektirse de, şifre çözme işlemi her zaman oldukça hızlıdır ve sıkıştırma seviyesine çok bağımlı değildir.[10][11]

Bir WAV dosyası kıyaslamasına göre,[12] varsayılan seviyenin -5 sıkıştırma seçeneği ve üzerindeki daha yüksek oranları kullanmak, alan tasarrufunda gerçek kazanımlar olmadan kodlamak için çok daha fazla zaman alır.

Sıkıştırma Seçeneği Orijinal Sıkıştırılmış Süre Oran Kodlama Süresi Kodlama Hızı Kod Çözme Süresi Kod Çözme Oranı
-0 2.030 GiB 1.435 GiB 03:18:21 70.67% 01:29 134x 01:24 141x
-5 2.030 GiB 1.334 GiB 03:18:21 65.72% (-4.95)% 03:44 53x (2.5x slower) 01:36 124x
-6 2.030 GiB 1.334 GiB 03:18:21 65.71% (-4.96, -0.01)% 03:51 52x (2.6x slower) 01:36 124x
-7 2.030 GiB 1.333 GiB 03:18:21 65.67% (-5, -0.04)% 07:47 25x (5.3x slower) 01:36 123x
-8 2.030 GiB 1.329 GiB 03:18:21 65.47% (-5.2, -0.2)% 10:17 19x (7x slower) 01:40 120x
-8 -Ax2 2.030 GiB 1.328 GiB 03:18:21 65.40% (-5.27, -0.07)% 16:39 12x (11x slower) 01:35 125x

Diğer formatlarla karşılaştırma[değiştir | kaynağı değiştir]

FLAC, ZIP ve gzip'de kullanılan DEFLATE gibi genel amaçlı kayıpsız algoritmaların aksine, ses verilerini etkili bir şekilde paketlemek için özel olarak tasarlanmıştır. ZIP, bir CD kalitesinde ses dosyasının boyutunu % 10-20 azaltabilirken FLAC, ses özelliklerinden yararlanarak ses verisinin boyutunu % 40-50 azaltabilir.

FLAC'ın diğer kayıpsız formatlara kıyasla teknik güçlü yönleri, sıkıştırma seviyesinden bağımsız olarak hızlı bir şekilde akıp giden kod çözme yeteneğindedir.

FLAC kayıpsız bir şemadır çünkü, ses koleksiyonlarını korumak isteyen CD'ler ve diğer medya sahipleri için bir arşiv biçimi olarak uygundur. Orijinal medya kaybolursa, hasar görürse veya yıpranmışsa, ses parçalarının bir FLAC kopyasından orijinal verilerin tam bir kopyasını istediğiniz zaman kurtarmayı garantiler. Aynı verinin kayıplı bir arşivinden (ör. MP3) tam bir restorasyonunu yapmak imkansızdır. FLAC'in kayıpsız olması, örneğin; Normal olarak ilişkili kod dönüştürme kalitesi kaybı olmaksızın, MP3'e dönüştürür. CD'yi kopyalarken CUE dosyası isteğe bağlı olarak oluşturulabilir. Bir CD okunur ve FLAC dosyalarına mükemmel şekilde söküldüyse, CUE dosyası daha sonra ses verilerinde özdeş olan bir ses CD'sinin orijinal CD'ye parça sırası ve pregap dahil olmak üzere, yazılmasına izin verir. Ancak CD-Metni ve şarkı sözleri ve CD + G grafikleri gibi diğer ek verileri yazılmaz.[9]

Tanınması ve Uygulanması[değiştir | kaynağı değiştir]

FLAC'ın referans uygulaması libFLAC temel kodlayıcı ve kod çözücü kitaplığı olarak uygulanır, ana dağıtılabilir program FLAC libFLAC API'sinin referans uygulamasıdır. Bu ses çözücü API'si ayrıca C ++'da libFLAC ++ olarak mevcuttur. FLAC'ın referans uygulaması, çoğu Unix (Solaris, BSD gibi) ve Unix benzeri (Linux dahil), Microsoft Windows, BeOS ve OS / 2 gibi işletim sistemleri de dahil birçok platformda derlenir. Autoconf / automake, MSVC, Watcom C ve Xcode için yapı sistemleri var. Şu anda libFLAC'de çok çekirdekli işlemci yapısına destek yoktur.

Taşınabilir ses cihazlarında ve özel ses sistemlerinde FLAC oynatma desteği, MP3 [13] veya sıkıştırılmamış PCM gibi formatlarla karşılaştırıldığında sınırlıdır. FLAC desteği varsayılan olarak Windows 10, Android, Blackberry 10 ve Jolla aygıtlarında bulunur.

2014 yılında, mobil elektronik şirketlerinin birçoğu FLAC desteği içeren multimedya çözümlerini tanıttı. Bunlara örnek Pioneer Electronics'in NEX serisi ve Clarion'dan VX404 ve NX404 gibi cihazlardır.

Avrupa Yayın Birliği (EBU), Euroradio ağında yüksek kaliteli ses dağıtımı için FLAC formatını benimsemiştir.[14] Windows işletim sistemi, Windows 10'u piyasaya sunduğundan beri yerel FLAC entegrasyonunu desteklemiştir.[15] Android işletim sistemi, sürüm 3.1'den beri yerel FLAC oynatmayı destekledi.[16][17]

Diğerlerinin müzik çalarların yanında Pono müzik çalar ve gerçek zamanlı ses aktarım hizmeti sunanlar FLAC formatını kullanmaktadırlar.[18][19] Bandcamp, yükleme için kayıpsız bir format üzerinde ısrarcıdır ve bir indirme seçeneği olarak FLAC'e sahiptir. [20] Wikimedia Vakfı, gerekli HTML5 özelliklerini destekleyen tarayıcılar için ücretsiz ve açık kaynak kodlu bir çevrimiçi ECMAScript FLAC aracına sponsorluk yapmıştır.[21]

Çoklu kanal desteğiyle beraber CDDA dışında kullanımı da artan biçim, yedekleme amaçlı kullanımı dışında oynatma amaçlı ve stüdyo çalışmalarında da kullanılmaktadır. Birçok Dijital Ses İşleme İstasyonunun desteklemesi bu konuda kolaylık sağlamaktadır.

Kaynakça[değiştir | kaynağı değiştir]

  1. ^ Registration being sought as audio/flac
  2. ^ Josh Coalson. "FLAC - format". 27 Mart 2017 tarihinde kaynağından arşivlendi. http://web.archive.org/web/20170327065952/https://xiph.org/flac/format.html. Erişim tarihi: 4 Nisan 2013. ""fLaC", the FLAC stream marker in ASCII, meaning byte 0 of the stream is 0x66, followed by 0x4C 0x61 0x43" 
  3. ^ a b c "News". FLAC. 24 Kasım 2016 tarihinde kaynağından arşivlendi. http://web.archive.org/web/20161124141029/http://xiph.org:80/flac/news.html. Erişim tarihi: 31 August 2009. 
  4. ^ Xiph.Org Foundation (29 January 2003). "FLAC Joins Xiph.org". Xiph.org Foundation. 7 Ocak 2017 tarihinde kaynağından arşivlendi. http://web.archive.org/web/20170107163453/https://www.xiph.org/press/2003/flac/. Erişim tarihi: 31 August 2009. 
  5. ^ Emmett Plant. "FLAC Joins Xiph!". Xiph.org Foundation. 29 May 2008 tarihinde kaynağından arşivlendi. https://web.archive.org/web/20080529055542/xiph.org/ogg/flac.html. Erişim tarihi: 31 August 2009. 
  6. ^ Xiph.Org Foundation. "FLAC – changelog". Xiph.org Foundation. 24 Kasım 2016 tarihinde kaynağından arşivlendi. http://web.archive.org/web/20161124163228/http://xiph.org:80/flac/changelog.html. Erişim tarihi: 15 October 2013. 
  7. ^ "Developers". FLAC. 24 Kasım 2016 tarihinde kaynağından arşivlendi. http://web.archive.org/web/20161124140857/http://xiph.org:80/flac/developers.html. Erişim tarihi: 15 October 2013. 
  8. ^ "Format". FLAC. 27 Mart 2017 tarihinde kaynağından arşivlendi. http://web.archive.org/web/20170327065952/https://xiph.org/flac/format.html. Erişim tarihi: 20 May 2017. 
  9. ^ a b "FAQ". FLAC. 24 Kasım 2016 tarihinde kaynağından arşivlendi. http://web.archive.org/web/20161124140907/http://xiph.org:80/flac/faq.html. Erişim tarihi: 23 September 2014. 
  10. ^ CUETools FLAC encoders comparison. CUETools Wiki. Retrieved 27 May 2013.
  11. ^ Encoding Settings. JRiver Media Centre. Retrieved 27 May 2013.
  12. ^ "Lossless Codec Comparison". http://www.synthetic-soul.co.uk. Erişim tarihi: 26 November 2016. 
  13. ^ "Links". FLAC. 28 Ocak 2017 tarihinde kaynağından arşivlendi. http://web.archive.org/web/20170128193920/https://xiph.org/flac/links.html. Erişim tarihi: 24 March 2009. 
  14. ^ EBU: What is the EBU Musipop system?
  15. ^ "Audio snobs rejoice: Windows 10 will have system-wide FLAC support". 22 Şubat 2017 tarihinde kaynağından arşivlendi. http://web.archive.org/web/20170222231200/http://www.pcworld.com/article/2852595/audio-snobs-rejoice-windows-10-will-have-system-wide-flac-support.html. Erişim tarihi: 2015-07-10. 
  16. ^ "Android Supported Media Formats". Andro Med Formats. 4 August 2011. 20 Aralık 2016 tarihinde kaynağından arşivlendi. http://web.archive.org/web/20161220161956/https://developer.android.com/guide/appendix/media-formats.html. Erişim tarihi: 27 February 2012. 
  17. ^ "Issue 1461 – android – FLAC file support enhancement request.". Google. 10 Nisan 2017 tarihinde kaynağından arşivlendi. http://web.archive.org/web/20170410001003/https://code.google.com/p/android/issues/detail?id=1461. Erişim tarihi: 5 August 2011. 
  18. ^ "ponomusic.com FAQ". 14 March 2014. 26 Haziran 2017 tarihinde kaynağından arşivlendi. http://web.archive.org/web/20170626041642/https://www.ponomusic.com/. Erişim tarihi: 14 March 2014. 
  19. ^ "Qobuz.com". 9 Haziran 2014 tarihinde kaynağından arşivlendi. http://web.archive.org/web/20140609210605/http://www.qobuz.com/. Erişim tarihi: 10 April 2014. 
  20. ^ Kaynak hatası: Geçersiz <ref> etiketi; bandcamp isimli refler için metin temin edilmemiş (Bkz: Kaynak gösterme)
  21. ^ Rillke (2015). "JavaScript FLAC de- and encoder". 19 Aralık 2016 tarihinde kaynağından arşivlendi. http://web.archive.org/web/20161219193345/http://blog.rillke.com/flac.js/. Erişim tarihi: 2015-02-09.