پلے بیک انجن
پلے بیک انجن کا وعدہ اصل ماخذ سے وفاداری ہے: صارف کے اصل بائٹس کو کھولنا، ماخذ کی اپنی رفتار پر، اجرا کی ساخت برقرار رکھتے ہوئے۔ یہ صفحہ اسی کی تفصیل ہے۔
کھولنا
اس حصے کا ربطتمام کھولنا FFmpeg سے ہوتا ہے، اسی عمل کے اندر، ہر پلیٹ فارم پر: FLAC، MP3، APE، ALAC، AAC، PCM (WAV/AIFF)، Ogg Vorbis، Opus، WavPack، اور DSD وہ ہیں جنہیں درآمد قبول کرتی ہے، اور FFmpeg بائٹس سے جو codec بتاتا ہے وہی درج ہوتا ہے، فائل پسوند نہیں۔ نمونے خروج مرحلے کے لیے 32-bit float کے طور پر نکلتے ہیں؛ نمونہ شکل کی تبدیلی ہی واحد تبدیلی ہے۔
خروج پلیٹ فارم کی مقامی آواز API ہے (ڈیسک ٹاپ اور iOS پر cpal کے ذریعے Core Audio، Android پر AAudio)۔ خروج بہاؤ ماخذ کی نمونہ شرح اور چینل تعداد پر ترتیب پاتا ہے: 96 kHz فائل 96 kHz پر چلتی ہے۔ دوبارہ نمونہ سازی کا مرحلہ نہیں۔ طے شدہ خروج آلہ ہر بہاؤ بننے پر دوبارہ دیکھا جاتا ہے، اس لیے پلے بیک نظام کے آلہ بدلنے کے ساتھ چلتا ہے۔ Android پر ہارڈویئر کی حمایت یافتہ codecs اتاری ہوئی decoding کے لیے FFmpeg کو مکمل طور پر چھوڑ سکتے ہیں۔
بہتے ہوئے پڑھنا
اس حصے کا ربطپلے بیک کو پوری فائلیں نہیں چاہئیں۔ آواز چھدرے ذخیرے کے ذریعے پڑھی جاتی ہے جو ضرورت پر بائٹ حدود لاتا ہے، مقامی فائل، کیش، یا کلاؤڈ سے، اور آگے پیچھے جانا مطلوبہ نمونے کو بائٹ مقام پر نقش کرتا ہے تاکہ نہ لائے گئے حصے میں جانا وہاں سے لانا شروع کرے۔ لانے کا ثالث چلتے ہوئے ٹریک کی پڑھائی کو پہلے رکھتا ہے، اس لیے آنے والا ٹریک موجودہ ٹریک کو تاخیر نہیں دیتا۔
ٹریک بطور کھڑکیاں
اس حصے کا ربطٹریک فائل نہیں؛ یہ ایک یا زیادہ فائلوں کے اوپر نمونہ کھڑکیوں کی مرتب فہرست ہے، درآمد پر CUE sheet یا فائل کی اپنی حد سے بنی ہوئی۔ یہی ایک نمائندگی ہر ڈسک شکل اٹھاتی ہے: ہر ٹریک کی الگ فائل، پوری ڈسک ایک نقش میں، pregap جو ایک فائل کے آخر اور دوسری کے شروع پر رہتا ہے، اور ضیاع والے نقلے جو ہر ٹریک کو الگ فائل میں کاٹتے ہیں۔
Pregap کھڑکیاں اسی طرح نشان زد ہیں۔ پلے بیک ٹریک میں اس کے pregap سے داخل ہوتا ہے جب وہ موجود ہو (index 00، چھپی ہوئی آواز سمیت) جبکہ گھڑی ٹریک کا وقت دکھاتی ہے: مقام صفر پر رہتا ہے جب تک اصل ٹریک شروع نہ ہو، اور دکھائی گئی مدت pregap کو نکال دیتی ہے، CD player کے برتاؤ سے ملتے ہوئے۔
Gapless
اس حصے کا ربطاگلا ٹریک موجودہ ٹریک کے چلتے ہوئے کھلتا اور ذخیرہ ہوتا ہے۔ جب دونوں نمونہ شرح اور چینل تعداد رکھتے ہیں، انجن انہیں زندہ آواز callback کے اندر جوڑتا ہے: بہاؤ کبھی نہیں رکتا، اور حد نمونہ عین ہوتی ہے۔ جب شکلیں مختلف ہوں تو بہاؤ دوبارہ بنتا ہے، یہی وہ حالت ہے جہاں شکل بدلنا حد کو ویسے بھی سنائی دے سکتا ہے۔
آواز کی بلندی
اس حصے کا ربطدرآمد کھولنے کی تصدیق کے دور میں ہر ٹریک اور ہر البم کے لیے مجموعی آواز کی بلندی (EBU R128) اور حقیقی چوٹی ناپتی ہے۔ Replay gain چلانے کے وقت ان پیمائشوں سے نکلتا ہے، فائلوں میں نہیں لکھا جاتا: ہدف −18 LUFS، حقیقی چوٹی کو کٹنے سے بچانے کے لیے محدود، ہر ٹریک یا ہر البم پر لاگو، بے وقفہ حدوں پر صاف تبدیلی کے ساتھ۔ یہ حالت فی الحال ترتیبات UI کے بغیر آتی ہے اور طے شدہ طور پر بند ہے؛ اسے لائبریری کی config فائل میں مقرر کیا جا سکتا ہے۔
پہلوؤں پر توقف
اس حصے کا ربطٹریک فہرستیں اپنی سمت اور ڈسک ساخت رکھتی ہیں، اور انجن سمت کی حد پر ٹھہر سکتا ہے، جاری رکھنے کا اشارہ دکھاتے ہوئے، جب صارف پہلوؤں کے بیچ توقف چالو کرتا ہے۔ ٹھہرنا پلے بیک خدمت کی حالت ہے، کھولی ہوئی خاموشی نہیں، اس لیے دوبارہ شروع ہونا فوراً ہے۔