فلاك

برنامج ترميز الصوت المجاني بدون فقدان
المطور(ون)مؤسسة Xiph.Org ، جوش كولسون، إريك دي كاسترو لوبو
الإصدار الأولي20 يوليو 2001 ؛ منذ 23 عامًا ( 2001-07-20 )
إصدار مستقر
1.4.3 [1] / 23 يونيو 2023 ؛ منذ 16 شهرًا ( 23 يونيو 2023 )
مستودع
  • gitlab.xiph.org/xiph/flac
مكتوب فيسي ، سي++
نظام التشغيلمتعدد المنصات
يكتبالترميز
رخصةأدوات سطر الأوامر: GNU GPL
المكتبات: BSD
موقع إلكترونيxiph.org/flac
برنامج ترميز الصوت المجاني بدون فقدان
امتداد اسم الملف
.فلاك
نوع الوسائط على الإنترنت
الصوت/FLAC
معرف النوع الموحد (UTI)org.xiph.flac
الرقم السحريف لاك [2]
نوع التنسيق صوت بدون فقدان
معيارxiph.org/flac/format.html
تنسيق مفتوح ؟نعم [3]
صيغة مجانية ؟نعم

FLAC ( / flæk / ؛ Free Lossless Audio Codec ) هو تنسيق ترميز صوتي لضغط الصوت الرقمي بدون فقدان ، طورته مؤسسة Xiph.Org ، وهو أيضًا اسم مشروع البرمجيات الحرة الذي ينتج أدوات FLAC، وهي حزمة البرامج المرجعية التي تتضمن تنفيذ برنامج ترميز . يمكن عادةً تقليل الصوت الرقمي المضغوط بواسطة خوارزمية FLAC إلى ما بين 50 و70 بالمائة من حجمه الأصلي [4] وفك ضغطه إلى نسخة متطابقة من بيانات الصوت الأصلية.

FLAC هو تنسيق مفتوح مع ترخيص خالٍ من حقوق الملكية وتنفيذ مرجعي وهو برنامج مجاني . يدعم FLAC وضع علامات على البيانات الوصفية وفن غلاف الألبوم والبحث السريع.

تاريخ

بدأ التطوير في عام 2000 بواسطة جوش كولسون. تم تجميد تنسيق تدفق البتات مع إصدار الإصدار 0.9 من التنفيذ المرجعي في 31 مارس 2001. تم إصدار الإصدار 1.0 في 20 يوليو 2001. [5]

في 29 يناير 2003، أعلنت مؤسسة Xiph.Org ومشروع FLAC عن دمج FLAC تحت راية Xiph.org. يعد Xiph.org موطنًا لتنسيقات ضغط مجانية أخرى مثل Vorbis و Theora و Speex و Opus . [5] [6] [7]

تم إصدار الإصدار 1.3.0 في 26 مايو 2013، وفي هذه المرحلة تم نقل التطوير إلى مستودع git الخاص بـ Xiph.org. [8]

في عام 2019، تم اقتراح FLAC كمعيار IETF. [9]

تصميم

FLAC هو ترميز بدون فقدان لبيانات تعديل شفرة النبضة الخطية . [10]

هيكل الملف

يتكون ملف FLAC من الرقم السحري fLaC والبيانات الوصفية والصوت المشفر. [10]

يتم تقسيم الصوت المشفر إلى إطارات، يتكون كل منها من رأس وكتلة بيانات ومجموع اختباري CRC16 . يتم ترميز كل إطار بشكل مستقل عن الآخر. يبدأ رأس الإطار بكلمة مزامنة ، تُستخدم لتحديد بداية إطار صالح. يحتوي باقي الرأس على عدد العينات وموضع الإطار وتعيين القناة واختياريًا معدل العينة وعمق البت . تحتوي كتلة البيانات على معلومات الصوت. [10]

تسبق البيانات الوصفية في تنسيق FLAC الصوت. يتم تضمين خصائص مثل معدل العينة وعدد القنوات دائمًا في البيانات الوصفية. قد تحتوي أيضًا على معلومات أخرى، مثل غلاف الألبوم على سبيل المثال. [10] يستخدم تنسيق FLAC تعليقات Vorbis للبيانات الوصفية النصية مثل عنوان المسار واسم الفنان.

الترميز وفك التشفير

تتكون خوارزمية ترميز FLAC من مراحل متعددة. في المرحلة الأولى، يتم تقسيم الصوت المدخل إلى كتل. إذا كان الصوت يحتوي على قنوات متعددة ، يتم ترميز كل قناة على حدة ككتلة فرعية. يحاول المشفر بعد ذلك العثور على تقريب رياضي جيد للكتلة، إما عن طريق تركيب كثير حدود بسيط ، أو من خلال الترميز التنبئي الخطي العام . ثم يتم كتابة وصف للتقريب، والذي يبلغ طوله بضعة بايتات فقط. أخيرًا، يتم ترميز الفرق بين التقريب والمدخل، والذي يسمى المتبقي، باستخدام ترميز رايس . في كثير من الحالات، يشغل وصف التقريب والباقي المشفر مساحة أقل من استخدام تعديل شفرة النبضة . [10]

عملية فك التشفير هي عكس التشفير. يتم فك تشفير البقايا المضغوطة أولاً. [11] [12] ثم يتم استخدام وصف التقريب الرياضي لحساب شكل الموجة. يتم تشكيل النتيجة عن طريق إضافة البقايا والشكل الموجي المحسوب. [13] [14] نظرًا لأن FLAC يضغط بدون فقدان ، فإن الشكل الموجي المفكك يكون مطابقًا للشكل الموجي قبل التشفير.

بالنسبة للصوت الاستريو ثنائي القناة، قد يختار المشفر ترميز الصوت بشكل مشترك. يتم تحويل القنوات إلى قناة جانبية، وهي الفرق بين قناتي الإدخال، وقناة متوسطة، وهي مجموع قناتي الإدخال. بدلاً من القناة المتوسطة، يمكن ترميز القناة اليسرى أو القناة اليمنى بدلاً من ذلك، وهو ما يكون أحيانًا أكثر كفاءة في استخدام المساحة. [15]

على الرغم من أن المشفر المرجعي يستخدم حجم كتلة واحد للتيار بأكمله، [10] فإن FLAC يسمح لحجم الكتلة في العينات بالتنوع لكل كتلة.

ضغط

يتم تحديد مقدار الضغط من خلال عدة معلمات، بما في ذلك ترتيب نموذج التنبؤ الخطي وحجم الكتلة. وبغض النظر عن مقدار الضغط، يمكن دائمًا إعادة بناء البيانات الأصلية بشكل مثالي.

من أجل راحة المستخدم، يحدد التنفيذ المرجعي 9 مستويات ضغط، وهي عبارة عن إعدادات مسبقة للمعلمات الأكثر تقنية لخوارزمية التشفير. يتم تصنيف المستويات من 0 إلى 8، حيث تؤدي الأرقام الأعلى إلى نسبة ضغط أعلى، على حساب سرعة الضغط. يختلف معنى كل مستوى ضغط حسب التنفيذ. [16] [17]

تم تحسين تنسيق FLAC لسرعة فك التشفير على حساب سرعة الترميز. وقد أظهر أحد المعايير أنه على الرغم من وجود اختلاف طفيف في سرعة فك التشفير مع زيادة مستوى الضغط، فإن عملية الترميز تستغرق وقتًا أطول بكثير مع توفير مساحة صغيرة مقارنة بالمستوى 5، وذلك بعد مستوى الضغط الافتراضي 5. [18]

تطبيق

إلى جانب التنسيق، يحتوي مشروع FLAC أيضًا على تنفيذ مرجعي مجاني ومفتوح المصدر لـ FLAC يسمى libFLAC. يحتوي libFLAC على مرافق لتشفير وفك تشفير بيانات FLAC ومعالجة البيانات الوصفية لملفات FLAC. libFLAC++، وهو غلاف موجه للكائنات حول libFLAC لـ C++ ، وبرامج سطر الأوامر flac و metaflac، هي أيضًا جزء من التنفيذ المرجعي.

من غير المعروف أن تنسيق FLAC، إلى جانب libFLAC، يخضعان لأي براءات اختراع ، ويحق لأي شخص كتابة تنفيذاته الخاصة لـ FLAC.

مقارنة مع التنسيقات الأخرى

تم تصميم FLAC خصيصًا لتعبئة البيانات الصوتية بكفاءة، على عكس الخوارزميات العامة الخالية من الفقد مثل DEFLATE ، والتي تُستخدم في ZIP و gzip . في حين أن ZIP قد يقلل من حجم ملف الصوت بجودة القرص المضغوط بنسبة 10-20%، فإن FLAC قادر على تقليل حجم البيانات الصوتية بنسبة 40-50% من خلال الاستفادة من خصائص الصوت. [ بحاجة لمصدر ]

تتمثل نقاط القوة الفنية لتنسيق FLAC مقارنة بتنسيقات أخرى خالية من الخسارة في قدرته على البث وفك التشفير بسرعة، بغض النظر عن مستوى الضغط. [ بحاجة لمصدر ]

نظرًا لأن FLAC عبارة عن مخطط بدون فقدان، فهو مناسب كتنسيق أرشيف لأصحاب الأقراص المضغوطة والوسائط الأخرى الذين يرغبون في الحفاظ على مجموعات الصوت الخاصة بهم. إذا فقدت الوسائط الأصلية أو تعرضت للتلف أو التآكل، فإن نسخة FLAC من المسارات الصوتية تضمن إمكانية استعادة نسخة مكررة دقيقة من البيانات الأصلية في أي وقت. من المستحيل إجراء استعادة دقيقة من نسخة بها فقدان (مثل MP3 ) لنفس البيانات. إن كون FLAC بدون فقدان يعني أنه مناسب للغاية للترميز مثل MP3، دون فقدان جودة الترميز المرتبط عادةً بين تنسيق ضياع وآخر. يمكن إنشاء ملف CUE اختياريًا عند تمزيق قرص مضغوط. إذا تمت قراءة قرص مضغوط وتمزيقه بشكل مثالي إلى ملفات FLAC، فإن ملف CUE يسمح بحرق قرص مضغوط صوتي لاحقًا يكون متطابقًا في البيانات الصوتية مع القرص المضغوط الأصلي، بما في ذلك ترتيب المسار والفجوة المسبقة ، ولكن باستثناء البيانات الإضافية مثل كلمات الأغاني ورسومات CD+G . [19] ولكن اعتمادًا على برنامج النسخ المستخدم، يمكن استرداد نص القرص المضغوط من البيانات الوصفية المخزنة في ورقة CUE ونسخه مرة أخرى إلى نسخة جديدة على وسائط CD-R فارغة.

التبني والتنفيذ

يتم تنفيذ التنفيذ المرجعي لـ FLAC باعتباره مكتبة ترميز وفك ترميز libFLACflac الأساسية، حيث يكون البرنامج القابل للتوزيع الرئيسي هو التنفيذ المرجعي لواجهة برمجة تطبيقات libFLAC. تتوفر واجهة برمجة تطبيقات الترميز هذه أيضًا بلغة C++ باسم libFLAC++. يتم تجميع التنفيذ المرجعي لـ FLAC على العديد من المنصات، بما في ذلك معظم أنظمة التشغيل Unix (مثل Solaris و BSD ) وأنظمة التشغيل الشبيهة بـ Unix (بما في ذلك Linux ) و Windows و BeOS و OS/2 . توجد أنظمة بناء لـ autoconf / automake و MSVC و Watcom C و Xcode . لا يوجد حاليًا دعم متعدد النواة في libFLAC، ولكن يمكن استخدام أدوات مساعدة مثل GNU parallel والعديد من واجهات المستخدم الرسومية لتشغيل مثيلات متعددة من المشفر.

يعد دعم تشغيل FLAC في أجهزة الصوت المحمولة وأنظمة الصوت المخصصة محدودًا مقارنة بتنسيقات مثل MP3 [20] أو PCM غير المضغوط . يتم تضمين دعم FLAC افتراضيًا في أجهزة Windows 10 و Android و BlackBerry 10 و Jolla .

في عام 2014، قدمت العديد من شركات الإلكترونيات المحمولة حلول الوسائط المتعددة التي تتضمن دعم FLAC. وتشمل هذه الحلول سلسلة NEX من Pioneer Electronics وVX404 وNX404 من Clarion.

اعتمد اتحاد البث الأوروبي (EBU) تنسيق FLAC لتوزيع الصوت عالي الجودة عبر شبكة Euroradio الخاصة به. [21] يدعم نظام التشغيل Windows تكامل FLAC الأصلي منذ تقديم Windows 10. [22] يدعم نظام التشغيل Android تشغيل FLAC الأصلي منذ الإصدار 3.1. [ 23 ] [24] يضيف macOS High Sierra و iOS 11 دعم تشغيل FLAC الأصلي. [25]

من بين أمور أخرى، استخدم مشغل الموسيقى وخدمة البث Pono تنسيق FLAC. [26] [27] يصر Bandcamp على تنسيق بدون فقدان للتحميل، ولديه FLAC كخيار للتنزيل. [28] رعت مؤسسة ويكيميديا ​​أداة ECMAScript FLAC مجانية ومفتوحة المصدر عبر الإنترنت للمتصفحات التي تدعم ميزات HTML5 المطلوبة . [29]

دعم FLAC بواسطة أنظمة التشغيل المختلفة
مايكروسوفت ويندوز ماك أندرويد نظام التشغيل بلاك بيري اي او اس
دعم الترميز نعم نعم نعم نعم نعم
دعم الحاويات FLAC (.flac)
متروسكا (.mka، .mkv)
Ogg (.oga) [30]

تنسيق الصوت الأساسي FLAC (.flac) (.caf)
FLAC (.flac) FLAC (.flac)
تنسيق الصوت الأساسي FLAC (.flac) (.caf)
ملحوظات

تم تقديم الدعم في Windows 10.

يدعم Windows Media Player (2022) أيضًا تنسيق FLAC في حاوية Ogg للبث المباشر (على سبيل المثال، راديو الإنترنت Icecast ). [31]

تم تقديم الدعم في High Sierra.

تم تقديم الدعم في Android 3.1.

يدعم Android بشكل أصلي تنسيق FLAC العادي (.flac)، ولكن ليس تنسيق Ogg FLAC (.oga). [32] ومع ذلك، تمت إضافة دعم تنسيقي FLAC العادي وOgg FLAC لاحقًا إلى مدير الملفات (Google) .

تم تقديم الدعم في نظام التشغيل BlackBerry OS 5.0 تم تقديم الدعم في نظام التشغيل iOS 11 (لكن يعتمد على الأجهزة المستخدمة).

يتم دعم العديد من الحاويات الأخرى، بشكل مستقل عن نظام التشغيل المستخدم، اعتمادًا على برنامج التشغيل المستخدم.

انظر أيضا

مراجع

  1. ^ "إصدار FLAC 1.4.3 مع المزيد من التحسينات، وإزالة الكود الخاص بـ PowerPC". 23 يونيو 2023. تم الاسترجاع في 19 فبراير 2024 .
  2. ^ Coalson, Josh. "FLAC – format". Xiph.Org Foundation . تم الاسترجاع في 4 أبريل 2013 ."fLaC"، علامة تدفق FLAC في ASCII، مما يعني أن البايت 0 من التدفق هو 0x66، متبوعًا بـ 0x4C 0x61 0x43
  3. ^ "PlayOgg!". مؤسسة البرمجيات الحرة . 17 مارس 2010. تم الاسترجاع في 1 أكتوبر 2013 .
  4. ^ "نظرة على نسب ضغط Flac". ستيفن بيجون. 7 فبراير 2012. تم الاسترجاع في 10 مايو 2018 .
  5. ^ ab "الميزات". مؤسسة Xiph.Org . تم الاسترجاع في 23 نوفمبر 2023 .
  6. ^ "FLAC تنضم إلى Xiph.org". مؤسسة Xiph.org . 29 يناير 2003. تم الاسترجاع في 31 أغسطس 2009 .
  7. ^ Plant, Emmett. "FLAC Joins Xiph!". Xiph.org Foundation . مؤرشف من الأصل في 29 مايو 2008 . تم الاسترجاع في 31 أغسطس 2009 .
  8. ^ "FLAC – changelog". مؤسسة Xiph.org . تم الاسترجاع في 15 أكتوبر 2013 .
  9. ^ فان بيردن، مارتين؛ ويفر، أندرو. برنامج ترميز الصوت المجاني بدون فقدان. معرف المسودة-ietf-قبو-flac . تم الاسترجاع في 14 مايو 2023 .
  10. ^ abcdef Coalson, Josh. "About the FLAC Format" . تم الاسترجاع في 13 فبراير 2022 .
  11. ^ "stream_decoder.c". libFLAC . تم الاسترجاع في 19 فبراير 2022 .
  12. ^ libFLAC/stream_decoder.c، السطر 2734.
  13. ^ "lpc.c". libFLAC . تم الاسترجاع في 19 فبراير 2022 .
  14. ^ libFLAC/lpc.c، السطور 813–820.
  15. ^ "مواصفات تنسيق FLAC". FLAC . تم الاسترجاع في 19 فبراير 2022 .
  16. ^ "مقارنة بين برامج ترميز FLAC من CUETools". ويكي CUETools . تم الاسترجاع في 27 مايو 2013 .
  17. ^ "إعدادات الترميز". مركز جيه ريفر للوسائط . تم الاسترجاع في 27 مايو 2013 .
  18. ^ "Lossless Codec Comparison". Synthetic-soul.co.uk . مؤرشف من الأصل في 2 فبراير 2009 . تم الاسترجاع في 26 نوفمبر 2016 .
  19. ^ "FAQ". FLAC . تم الاسترجاع في 23 سبتمبر 2014 .
  20. ^ "روابط". FLAC . تم الاسترجاع في 24 مارس 2009 .
  21. ^ "ما هو نظام EBU Musipop؟". EBU . 24 أغسطس 2021.
  22. ^ "محبو الصوت يفرحون: سيتوفر دعم FLAC على مستوى النظام في نظام Windows 10". PC World . تم الاسترجاع في 10 يوليو 2015 .
  23. ^ "تنسيقات الوسائط المدعومة بنظام Android". Android.com . 4 أغسطس 2011 . تم الاسترجاع في 27 فبراير 2012 .
  24. ^ "الإصدار 1461 – android – طلب تحسين دعم ملف FLAC". Google Code . تم الاسترجاع في 5 أغسطس 2011 .
  25. ^ "iOS 11 يجلب تشغيل الصوت بتنسيق FLAC بدون فقدان إلى iPhone وiPad". idownloadblog.com . 9 يونيو 2017 . تم الاسترجاع في 26 سبتمبر 2017 .
  26. ^ "FAQ". ponomusic.com . 14 مارس 2014 . تم الاسترجاع في 14 مارس 2014 .
  27. ^ "الصفحة الرئيسية". Qobuz.com . تم الاسترجاع في 10 أبريل 2014 .
  28. ^ "كيف ولماذا يجب عليّ تحميل ملفات بدون فقدان؟". Bandcamp . تم الاسترجاع في 16 فبراير 2022 .
  29. ^ Rillke (2015). "JavaScript FLAC de- and encoder" . تم الاسترجاع في 9 فبراير 2015 .
  30. ^ "أنواع MIME وملحقات الملفات - XiphWiki".
  31. ^ "FLAC مقابل Ogg FLAC".
  32. ^ "منصة Android لا تدعم تنسيقات حاويات OGG (OGA) بشكل كامل [36906426] - مرئية للعامة - متعقب المشكلات".
  • الموقع الرسمي
  • مقارنة تنسيقات الصوت بدون فقدان: قياس تنسيق FLAC مقابل خمسة تنسيقات صوتية أخرى بدون فقدان
  • مقارنة بدون فقدان: تنسيق FLAC مقابل سبعة تنسيقات صوتية أخرى بدون فقدان على Hydrogenaudio
  • GSMArena Phone Finder: جميع الهواتف والأجهزة اللوحية التي تدعم تنسيق FLAC
تم الاسترجاع من "https://en.wikipedia.org/w/index.php?title=FLAC&oldid=1245534921"
Original text
Rate this translation
Your feedback will be used to help improve Google Translate