.TH mpg123 1 "11 Jul 2022" .SH "نام (NAME)" mpg123 \- پخش جریان‌های صوتی MPEG 1.0/2.0/2.5 (لایه‌های ۱، ۲ و ۳) .SH "خلاصه دستور (SYNOPSIS)" .B mpg123 [ .I گزینه‌ها ] .IR file-or-URL ... .SH "توضیحات (DESCRIPTION)" .B mpg123 یک یا چند .IR فایل\^ (یا در صورت مشخص شدن «\-»، ورودی استاندارد) یا .IR URL\^ را می‌خواند و آن‌ها را روی دستگاه صوتی (پیش‌فرض) پخش می‌کند یا به خروجی استاندارد (stdout) می‌فرستد. فرض بر این است که .IR file\^ / URL یک جریان بیتی صوتی MPEG باشد. .SH "عملوندها (OPERANDS)" عملوندهای زیر پشتیبانی می‌شوند: .TP 8 .IR file (s) نام مسیر یک یا چند فایل ورودی. این فایل‌ها باید جریان‌های بیتی صوتی معتبر MPEG-1.0/2.0/2.5 لایهٔ ۱، ۲ یا ۳ باشند. اگر یک خط تیره «\-» مشخص شود، داده‌های MPEG از ورودی استاندارد خوانده خواهند شد. علاوه بر این، هر نامی که با «http://» یا «https://» آغاز شود به عنوان .I URL (بخش بعدی را ببینید) شناخته می‌شود، در حالی که پیشوند «file://» برای سازگاری (از mpg123 نسخهٔ 1.30.1 به بعد)، جهت دسترسی عادی به فایل محلی حذف می‌شود. .SH "گزینه‌ها (OPTIONS)" گزینه‌های .B mpg123 می‌توانند گزینه‌های تک‌حرفی سنتی POSIX یا گزینه‌های طولانی به سبک GNU باشند. گزینه‌های سبک POSIX با یک «\-» منفرد آغاز می‌شوند، در حالی که گزینه‌های طولانی GNU با «\-\^\-» شروع می‌شوند. آرگومان‌های گزینه‌ها (در صورت نیاز) با فاصله (نه «=») جدا می‌شوند. توجه داشته باشید که ممکن است برخی گزینه‌ها در صورت غیرفعال بودن در فرآیند ساخت، در نسخهٔ نصب‌شدهٔ شما وجود نداشته باشند. .SH "گزینه‌های ورودی (INPUT OPTIONS)" .TP \fB\-k \fInum\fR, \fB\-\^\-skip \fInum پرش از روی .I num فریم اول. به‌طور پیش‌فرض رمزگشایی از نخستین فریم آغاز می‌شود. .TP \fB\-n \fInum\fR, \fB\-\^\-frames \fInum فقط رمزگشایی .I num فریم. به‌طور پیش‌فرض کل جریان رمزگشایی می‌شود. .TP .BR \-\-fuzzy فعال‌سازی پرش‌های فازی (حدس زدن آفست‌های بایتی یا استفاده از نقاط پرش تقریبی از جدول محتوای Xing TOC). بدون آن، پرش‌ها پیش از جهش به موقعیت‌ها به یک دور پویش اولیه در فایل نیاز دارند. در اینجا می‌توانید تصمیم بگیرید: عملکرد دقیق در سطح نمونه (sample-accurate) با قابلیت‌های پخش بدون وقفه (gapless) یا پرش سریع‌تر (فازی). .TP .BR \-y ", " \-\^\-no\-resync در صورت بروز خطا در فایل ورودی، برای همگام‌سازی مجدد و ادامهٔ رمزگشایی تلاش \fBنکنید\fR. به‌طور معمول، .B mpg123 سعی می‌کند پخش را به هر قیمتی زنده نگه دارد، از جمله با رد شدن از داده‌های نامعتبر و جستجوی سربرگ جدید هنگامی که مشکلی رخ می‌دهد. با این سوییچ می‌توانید کاری کنید که برنامه هنگام خطاهای داده‌ای متوقف شود (و شاید گوش‌های خود را از آسیب نجات دهید). توجه داشته باشید که نام این سوییچ از \-\-resync تغییر کرده است. نام قدیمی همچنان کار می‌کند، اما تبلیغ نشده و استفاده از آن توصیه نمی‌شود (در آینده حذف خواهد شد). .TP .BR \-F ", " \-\^\-no\-frankenstein غیرفعال کردن پشتیبانی از جریان‌های فرانکنشتاین (Frankenstein). معمولاً mpg123 به این مفهوم که صدای MPEG صرفاً الحاق فریم‌های MPEG است وفادار می‌ماند. این برنامه حتی اگر نوع فریم‌های MPEG به‌شدت متغیر باشد، به رمزگشایی ادامه می‌دهد. با این سوییچ، ورودی تنها تا زمانی رمزگشایی می‌شود که ماهیت آن تغییر نکند (از لایهٔ I به لایهٔ III، تغییر نرخ نمونه‌برداری، یا از مونو به استریو)، و در چنین مواردی بی‌صدا پایان جریان فرض می‌شود. این سوییچ همچنین در صورتی که یک فریم اطلاعاتی (سربرگ Xing، برچسب Lame) حاوی طول قطعه بر حسب فریم‌های MPEG وجود داشته باشد، رمزگشایی فریم‌های سازگار MPEG را متوقف می‌کند. این کار به مفهوم فایل MP3 به عنوان مجموعه‌ای مشخص و مرتبط از فریم‌های MPEG نزدیک‌تر است، اما آن انعطاف‌پذیری را که گاهی اوقات جالب است ولی در بیشتر مواقع جهنمی برای برنامه‌نویس تجزیه‌کننده و رمزگشا است، حذف می‌کند... .TP \fB\-\^\-network \fI backend انتخاب زیرساخت شبکه (برنامهٔ کمکی)، گزینه‌ها معمولاً auto، wget و curl هستند. مقدار auto به معنای آزمودن نخستین زیرساخت در دسترس است. .TP \fB\-\^-resync\-limit \fIbytes\fR تنظیم تعداد بایت‌ها برای جستجوی داده‌های معتبر MPEG در صورت گم شدن همگام‌سازی در جریان؛ مقدار 0> به معنای جستجوی کل جریان است. اگر می‌دانید که تکه‌های عظیمی از داده‌های نامعتبر در فایل‌هایتان وجود دارد... این چکش کار شماست. نکته: تنها از نسخهٔ 1.14 به بعد، این گزینه مقدار داده‌های نامعتبر رد شده در آغاز را نیز افزایش می‌دهد. .TP \fB\-u \fIauth\fR, \fB\-\^\-auth \fIauth احراز هویت HTTP مورد استفاده هنگام دریافت فایل‌ها از طریق HTTP. قالب مورد استفاده user:password است. Mpg123 این مقدار را به‌سرعت پاک خواهد کرد، اما ممکن است همچنان در دید سایر کاربران یا حتی در تاریخچهٔ شل شما باقی بماند. می‌توانید به دنبال روش‌های جایگزین برای مشخص کردن آن در زیرساخت شبکهٔ خود باشید. .TP \fB\-\^\-auth-file \fIauthfile ارائهٔ اطلاعات احراز هویت از طریق فایل داده‌شده، به جای درج مستقیم در خط فرمان. .TP \fB\-\^\-ignore\-mime نادیده گرفتن نوع‌های MIME ارائه‌شده توسط کارساز HTTP. اگر خودتان بهتر می‌دانید و می‌خواهید mpg123 چیزی را رمزگشایی کند که کارساز فکر می‌کند image/png است، پس انجامش دهید. .TP \fB\-\^\-no\-icy\-meta عدم پذیرش فراداده‌های ICY. .TP \fB\-\^-streamdump \fIfilename\fR ذخیرهٔ یک رونوشت از داده‌های ورودی (همان‌طور که توسط libmpg123 خوانده می‌شود) در فایل داده‌شده. این گزینه به شما امکان می‌دهد یک جریان وب را در حین پخش روی دیسک ذخیره کنید، یا صرفاً الحاقی از فایل‌های محلی را که پخش می‌کنید بسازید... چرا که نه؟ .TP \fB\-\^-icy\-interval \fIbytes\fR این تنظیم به شما امکان می‌دهد یک رونوشت جریان (stream dump) حاوی فراداده‌های ICY را در بازهٔ داده‌شده بر حسب بایت (مقدار سربرگ پاسخ HTTP با عنوان icy-metaint) پخش کنید. بدون آن، چنین جریانی پخش خواهد شد، اما باعث اشکالات منظم در رمزگشایی همراه با همگام‌سازی مجدد می‌شود. .TP \fB\-\^\-no\-seekbuffer غیرفعال کردن بافربندی جزئی (micro-buffering) پیش‌فرض برای جریان‌های غیرقابل‌پُرش، که پایه‌ای امن‌تر برای تجزیه‌کننده فراهم می‌آورد. .TP \fB\-@ \fIfile\fR, \fB\-\^\-list \fIfile خواندن نام‌های فایل و/یا URLهای جریان‌های صوتی MPEG از .I file مشخص‌شده، افزون بر موارد مشخص‌شده در خط فرمان (در صورت وجود). توجه داشته باشید که .I file می‌تواند یک فایل معمولی، یک خط تیره «\-» برای نشان دادن اینکه فهرست نام‌های فایل/URL باید از ورودی استاندارد خوانده شود، یا یک URL اشاره‌کننده به یک فایل فهرست مناسب باشد. نکته: فقط یک گزینهٔ .B \-@ می‌تواند استفاده شود (اگر بیش از یکی مشخص شود، تنها آخرین مورد پذیرفته خواهد شد). علاوه بر این، برای منابع HTTP، از اطلاعات نوع MIME برای بازگشایی مجدد یک جریان واقعی MPEG به همان صورت استفاده می‌شود، به جای اینکه مانند یک فایل فهرست پخش با آن رفتار شود. بنابراین همیشه می‌توانید برای منابع وب از .B \-@ استفاده کنید، بدون اینکه دغدغه داشته باشید که آیا این یک فهرست پخش است یا نشانیِ از پیش حل‌شدهٔ جریان. .TP \fB\-l \fIn\fR, \fB\-\^\-listentry \fIn از فهرست پخش، فقط مدخل مشخص‌شده را پخش می‌کند. .I n شمارهٔ مدخل است که از ۱ آغاز می‌شود. مقدار ۰ پیش‌فرض است و به معنای پخش کل فهرست است؛ یک مقدار منفی به معنای نمایش فهرست عنوان‌ها همراه با شماره‌هایشان است... .TP \fB\-\^\-continue فعال‌سازی حالت ادامهٔ فهرست پخش. این گزینه پرش فریم را به گونه‌ای تغییر می‌دهد که تنها برای نخستین قطعه اعمال شود و همچنین پس از قطعهٔ انتخاب‌شده، به پخش قطعات بعدی در فهرست پخش ادامه می‌دهد. همچنین، گزینهٔ پخش تعداد مشخصی فریم تنها برای کل فهرست پخش اعمال می‌شود. اساساً این گزینه تلاش می‌کند با فهرست پخش بیشتر شبیه به یک جریان بزرگ (مانند یک کتاب صوتی) رفتار کند. شمارهٔ قطعهٔ فعلی در فهرست (مبتنی بر ۱) و شمارهٔ فریم (مبتنی بر ۰) هنگام خروج چاپ می‌شوند (اگر پخش را متوقف کرده باشید و بخواهید بعداً ادامه دهید، مفید است). توجه داشته باشید که اطلاعات ادامه در خروجی استاندارد چاپ می‌شود، مگر اینکه سوییچ مربوط به هدایت لوله‌ای داده‌های صوتی به خروجی استاندارد استفاده شده باشد. همچنین، کار با فایل‌های فهرست پخش واقعی به جای فهرست کردن نام فایل‌ها به عنوان آرگومان، جهت حفظ پایداری موقعیت قطعات کاملاً منطقی است. این گزینه از نسخهٔ 1.33 به بعد با \-\-random به‌خوبی کار می‌کند، اما با \-\-shuffle نه، چرا که مفهوم موقعیت پایدار در فهرست پخش را از بین می‌برد. .TP \fB\-\-loop \fItimes\fR برای پخش قطعه(ها) به تعداد دفعات مشخص در یک حلقه، مقدار 0 > به معنای حلقهٔ نامتناهی است. .TP .BR \-\-keep\-open برای حالت واپایش از راه دور: باز نگه داشتن فایل بارگذاری‌شده پس از رسیدن به پایان. .TP \fB\-\-timeout \fIseconds\fR مهلت زمانی بر حسب ثانیه (عدد صحیح) پیش از نامعتبر دانستن جریان (اگر 0 => باشد، برای همیشه منتظر می‌ماند). .TP .BR \-z ", " \-\^\-shuffle پخش درهم. ترتیب فایل‌های مشخص‌شده در خط فرمان یا فایل فهرست را به‌طور تصادفی برهم می‌زند. .TP .BR \-Z ", " \-\-random پخش تصادفی پیوسته. به‌طور مداوم یک فایل تصادفی از خط فرمان یا فهرست پخش برمی‌گزیند. برخلاف پخش درهم بالا، پخش تصادفی هرگز پایان نمی‌یابد و آهنگ‌های منفرد را بیش از یک بار پخش می‌کند. .TP \fB\-i, \-\^-index نمایه‌سازی / پویش سراسری قطعه پیش از پخش. این گزینه جدول نمایه را برای پرش پر می‌کند (در صورتی که در libmpg123 فعال باشد) و ممکن است باعث شود سیستم‌عامل محتویات فایل را در حافظهٔ موقت (کَش) قرار دهد تا هنگام پخش عملیات روان‌تری داشته باشد. .TP \fB\-\-index\-size \fIsize\fR تنظیم تعداد مدخل‌ها در جدول نمایهٔ فریم‌های پرش. .TP \fB\-\-preframes \fInum\fR تنظیم تعداد فریم‌هایی که باید به عنوان پیش‌درآمد (lead-in) پیش از موقعیت پرش‌شده خوانده شوند. این عمل برای پر کردن مخزن بیت (bit reservoir) در لایهٔ ۳ به کار می‌رود، که برای بازتولید دقیق یک نمونه در یک موقعیت خاص ضروری است. توجه داشته باشید که برای لایهٔ ۳ حداقل مقدار ۱ اجباری است (به دلیل همپوشانی فریم‌ها)، و برای لایه‌های ۱ و ۲ این مقدار به ۲ محدود می‌شود (در این حالت مخزن بیتی وجود ندارد، اما برای راه‌اندازی موتور به کار می‌رود)..SH "گزینه‌های خروجی و پردازش (OUTPUT and PROCESSING OPTIONS)" .TP \fB\-o \fImodule\fR, \fB\-\^\-output \fImodule\fR انتخاب پودمان خروجی صوتی. می‌توانید فهرستی جداشده با کاما ارائه دهید تا از نخستین موردی که کار می‌کند استفاده شود. همچنین \fB\-a\fR را ببینید. .TP \fB\-\^\-list\-modules فهرست کردن پودمان‌های موجود. .TP \fB\-\^\-list\-devices فهرست کردن دستگاه‌های خروجی موجود برای پودمان خروجی مشخص‌شده. اگر قابلیتی برای فهرست کردن دستگاه‌ها در پودمان انتخاب‌شده وجود نداشته باشد، خطایی چاپ شده و mpg123 با کد غیر صفر خارج خواهد شد. .TP \fB\-a \fIdev\fR, \fB\-\^\-audiodevice \fIdev مشخص کردن دستگاه صوتی مورد استفاده. مقدار پیش‌فرض و همچنین مقادیر ممکن به خروجی فعال بستگی دارند. برای خروجی JACK، می‌توان فهرستی جداشده با کاما از درگاه‌ها را برای اتصال (برای هر کانال) مشخص کرد. .TP .BR \-s ", " \-\^\-stdout نمونه‌های صوتی رمزگشایی‌شده به جای پخش از طریق دستگاه صوتی، در خروجی استاندارد نوشته می‌شوند. اگر سخت‌افزار صوتی شما توسط .BR mpg123 پشتیبانی نشود، این گزینه باید استفاده شود. قالب خروجی به‌طور پیش‌فرض داده‌های صوتی خام (بدون سرآیند) خطی PCM، به‌صورت ۱۶ بیتی، استریو و با ترتیب بایت میزبان (host byte order) است (می‌توانید مونو یا 8bit را اجبار کنید). .TP \fB\-O \fIfile\fR, \fB\-\^\-outfile نوشتن خروجی خام در یک فایل (به جای تغییر مسیر سادهٔ خروجی استاندارد به یک فایل از طریق پوسته). .TP \fB\-w \fIfile\fR, \fB\-\^\-wav نوشتن خروجی به‌صورت فایل WAV. این کار باعث می‌شود جریان MPEG رمزگشایی شده و در فایل .I file ذخیره شود، یا در صورت استفاده از .I - به‌عنوان نام فایل، در خروجی استاندارد نوشته شود. همچنین می‌توانید از .I --au و .I --cdr به‌ترتیب برای قالب‌های AU و CDR استفاده کنید. توجه داشته باشید که نوشتن WAV/AU در فایل‌های غیرقابل جست‌وجو (non-seekable) یا خروجی استاندارد هدایت‌شده نیاز به تأمل دارد. از نسخهٔ 1.16.0، منطق برنامه تغییر کرده و سرآیند با نخستین داده‌های واقعی نوشته می‌شود. برای نمونه، این کار از سرآیندهای WAV ناخواسته در لوله (pipe) جلوگیری می‌کند. نتیجهٔ رمزگشاییِ هیچ‌چیز به WAV/AU فایلی است که در صورت امکان جست‌وجو تنها شامل سرآیند است و در صورت ناممکن بودن جست‌وجو واقعاً خالی است (حتی بدون سرآیند). نوشتن درست داده‌ها با سرآیندهای پیش‌بینانه در خروجی استاندارد کار ساده‌ای نیست. .TP \fB\-\^\-au \fIfile فایل MPEG را پخش نمی‌کند، بلکه آن را در قالب صوتی SUN در .I file می‌نویسد. اگر \- به‌عنوان نام فایل استفاده شود، فایل AU در stdout نوشته می‌شود. برای دردسرهای سرآیند با جریان‌های غیرقابل جست‌وجو، بند مربوط به نوشتن WAV را ببینید. .TP \fB\-\^\-cdr \fIfile فایل MPEG را پخش نمی‌کند، بلکه آن را به‌صورت فایل CDR در .I file می‌نویسد. اگر \- به‌عنوان نام فایل استفاده شود، فایل CDR در stdout نوشته می‌شود. .TP .BR \-\-reopen باز کردن مجدد اجباری دستگاه صوتی پس از هر قطعه. .TP .BR \-\-cpu\ \fIdecoder\-type انتخاب یک رمزگشای خاص (بهینه‌سازی‌شده برای یک CPU خاص)، برای نمونه i586 یا MMX. فهرست رمزگشاهای موجود بسته به نسخهٔ ساخت و آنچه CPU شما پشتیبانی می‌کند، می‌تواند متفاوت باشد. این گزینه تنها زمانی در دسترس است که ساخت برنامه واقعاً شامل چندین رمزگشای بهینه‌شده باشد. .TP .BR \-\-test\-cpu آزمایش CPU شما و چاپ فهرستی از گزینه‌های ممکن برای \-\-cpu. .TP .BR \-\-list\-cpu فهرست کردن تمام گزینه‌های رمزگشای موجود، صرف‌نظر از پشتیبانی شدن توسط CPU شما. .TP \fB\-g \fIgain\fR, \fB\-\^\-gain \fIgain [منسوخ‌شده] تنظیم بهرهٔ (gain) خروجی سخت‌افزار صوتی (پیش‌فرض: عدم تغییر). واحد مقدار بهره به سخت‌افزار و پودمان خروجی وابسته است. (این پارامتر صرفاً برای سازگاری با نسخه‌های پیشین ارائه شده و ممکن است در آینده بدون اطلاع قبلی حذف شود. از پخش‌کنندهٔ صوتی برای پخش و از یک برنامهٔ میکسر برای میکس استفاده کنید، به سبک یونیکس!) .TP \fB\-f \fIfactor\fR, \fB\-\^\-scale \fIfactor تغییر ضریب مقیاس (پیش‌فرض: 32768). .TP .BR \-\-rva-mix,\ \-\-rva-radio فعال‌سازی RVA (تنظیم بلندی نسبی صدا) با استفاده از مقادیر ذخیره‌شده برای حالت رادیویی / حالت میکس ReplayGain به‌طوری که بلندی صدای تمام قطعه‌ها تقریباً یکسان باشد. از نخستین اطلاعات معتبر یافت‌شده در برچسب‌های ID3V2 (دیدگاهی با نام RVA یا فریم RVA2) یا سرآیند ReplayGain در برچسب Lame/Info استفاده می‌شود. .TP .BR \-\-rva-album,\ \-\-rva-audiophile فعال‌سازی RVA (تنظیم بلندی نسبی صدا) با استفاده از مقادیر ذخیره‌شده برای حالت صوتی‌دوست (audiophile) / حالت آلبوم ReplayGain که معمولاً اثر آن تنظیم بلندی صدای آلبوم با حفظ بلندی نسبی صدا در داخل آلبوم است. از نخستین اطلاعات معتبر یافت‌شده در برچسب‌های ID3V2 (دیدگاهی با نام RVA_ALBUM یا فریم RVA2) یا سرآیند ReplayGain در برچسب Lame/Info استفاده می‌شود. .TP .BR \-0 ", " \-\^\-single0 "; " \-1 ", " \-\^\-single1 رمزگشایی تنها کانال 0 (چپ) یا کانال 1 (راست)، به‌ترتیب. این گزینه‌ها تنها برای جریان‌های MPEG استریو در دسترس هستند. .TP .BR \-m ", " \-\^\-mono ", " \-\^\-mix ", " \-\^\-singlemix میکس هر دو کانال / رمزگشایی به‌صورت مونو. این کار زمان CPU کمتری نسبت به رمزگشایی کامل استریو مصرف می‌کند. .TP .BR \-\-stereo اجبار به خروجی استریو .TP \fB\-r \fIrate\fR, \fB\-\^\-rate \fIrate تنظیم نرخ نمونه‌برداری (پیش‌فرض: خودکار). در صورتی که به یک نرخ بیت ثابت و مستقل از نرخ جریان mpeg نیاز داشته باشید، ممکن است بخواهید این مقدار را تغییر دهید. mpg123 نرخ را به‌طور خودکار تبدیل می‌کند. سپس باید این گزینه را با \-\-stereo یا \-\-mono ترکیب کنید. .TP \fB\-\^\-resample \fImethod تنظیم روش نمونه‌برداری مجدد (resampling) برای به‌کارگیری در صورت اجبار نرخ خروجی. گزینه‌ها (غیرحساس به بزرگی و کوچکی حروف) شامل NtoM، dirty و fine هستند. نمونه‌بردار مجدد fine پیش‌فرض است. این روش از نمونه‌بردار مجددِ کم‌تأخیر و نسبتاً کارآمدِ libsyn123 برای پس‌پردازش خروجی حاصل از libmpg123 استفاده می‌کند، به جای رمزگشای سریع اما بسیار ابتداییِ NtoM (روش حذف نمونه) که mpg123 دهه‌هاست ارائه می‌دهد. اگر زمان CPU بسیار محدودی دارید، NtoM را انتخاب کنید، زیرا نمونه‌بردار مجدد معمولاً به زمان بیشتری نسبت به خودِ رمزگشای MPEG نیاز دارد. برنامهٔ mpg123 به‌اندازهٔ کافی هوشمند است که حالت‌های کاهش نمونه‌برداری 2to1 یا 4to1 را با پس‌پردازش برای کاهش شدید نرخ نمونه‌برداری ترکیب کند. .TP .BR \-2 ", " \-\^\-2to1 "; " \-4 ", " \-\^\-4to1 کاهش نرخ نمونه‌برداری با نسبت 2:1 (۲۲ کیلوهرتز از ۴۴٫۱ کیلوهرتز) یا 4:1 (۱۱ کیلوهرتز) را به‌ترتیب روی جریان خروجی انجام می‌دهد. مقداری در چرخه‌های CPU صرفه‌جویی می‌کند، اما البته بسامدهای بالا را دور می‌ریزد، زیرا رمزگشا زحمت تولید آن‌ها را به خود نمی‌دهد. .TP .BR \-\-pitch\ \fIvalue تنظیم تغییر زیروبمی (افزایش/کاهش سرعت، 0 خنثی است؛ 0.05 یعنی ۵٪ افزایش سرعت). هنگامی که نرخ خروجی اجبار نشده باشد، این گزینه نرخ نمونه‌برداری خروجی را تغییر می‌دهد، بنابراین تنها در محدوده‌ای کار می‌کند که سامانه/سخت‌افزار صوتی شما پشتیبانی کند. وقتی این گزینه را با یک نرخ خروجی ثابت ترکیب کنید، در عوض نسبت نمونه‌برداری مجدد نرم‌افزاری را اصلاح می‌کند. .TP .BR \-\-8bit اجبار به خروجی 8bit .TP \fB\-\^\-float اجبار به کدگذاری f32 .TP \fB\-e \fIenc\fR, \fB\-\^\-encoding \fIenc انتخاب کدگذاری نمونه‌های خروجی. مقادیر ممکن شامل f32 (ممیز شناور ۳۲ بیتی)، s32 (عدد صحیح علامت‌دار ۳۲ بیتی)، u32 (عدد صحیح بدون علامت ۳۲ بیتی) و گونه‌هایی با تعداد بیت‌های متفاوت (s24، u24، s16، u16، s8، u8) و همچنین گونه‌های ویژه‌ای مانند ulaw و alaw هشت بیتی هستند. برای دیدن کدگذاری‌های واقعاً موجود، خروجی longhelp برنامهٔ mpg123 را ببینید. .TP \fB\-d \fIn\fR, \fB\-\^\-doublespeed \fIn تنها پخش کردن هر فریم .IR n \-اُم. این کار باعث می‌شود جریان MPEG با سرعت .I n برابر بیشتر پخش شود، که می‌تواند برای جلوه‌های ویژه استفاده شود. همچنین می‌تواند با گزینهٔ .B \-\^\-halfspeed برای پخش ۳ فریم از هر ۴ فریم و موارد مشابه ترکیب شود. هنگام استفاده از این گزینه انتظار کیفیت صدای عالی را نداشته باشید. .TP \fB\-h \fIn\fR, \fB\-\^\-halfspeed \fIn پخش هر فریم به تعداد .I n بار. این کار باعث می‌شود جریان MPEG با سرعت .IR 1 / n \-ام (n برابر کندتر) پخش شود، که می‌تواند برای جلوه‌های ویژه استفاده شود. همچنین می‌تواند با گزینهٔ .B \-\^\-doublespeed برای دو برابر کردن هر فریم سوم یا مواردی از این دست ترکیب شود. هنگام استفاده از این گزینه انتظار کیفیت صدای عالی را نداشته باشید. .TP \fB\-E \fIfile\fR, \fB\-\^\-equalizer فعال‌سازی برابرسازی (اکولایزر)، برگرفته از .IR file . فایل باید شامل ۳۲ سطر داده باشد، سطرهای توضیحات اضافی می‌توانند با .IR # آغاز شوند. هر سطر داده شامل دو مدخل ممیز شناور است که با فاصله از هم جدا شده‌اند. آن‌ها به‌ترتیب ضرایب ضرب کانال‌های چپ و راست را برای یک باند بسامدی مشخص تعیین می‌کنند. سطر نخست مربوط به پایین‌ترین، و سطر سی‌ودوم مربوط به بالاترین باند بسامدی است. توجه داشته باشید که می‌توانید اکولایزر را به‌صورت تعاملی با رابط کنترلی عمومی کنترل کنید. همچنین دقت کنید که این‌ها ۳۲ باند کدک MPEG هستند، نه با فاصله‌بندی‌ای که در یک اکولایزر گرافیکی معمولی می‌بینید. مزیت آن این است که هیچ بار محاسباتی اضافه‌ای علاوه بر رمزگشایی ندارد. عیب آن این است که شما تقریباً صدای بم (bass) را در باند 0، فرکانس‌های میانی (بالایی) را در باند 1، و صدای زیر (treble) را در تمام باندهای دیگر خواهید داشت. .TP \fB\-\^\-gapless فعال‌سازی کدی که نمونه‌های اضافی (بدردنخور) را در ابتدا و انتهای قطعه‌ها حذف می‌کند، و گذارهای بدون وقفه میان فایل‌های MPEG را در شرایطی که لایه‌گذاری رمزگذار و تأخیرهای کدک مانع آن می‌شوند، امکان‌پذیر می‌سازد. این قابلیت به‌طور پیش‌فرض از نسخهٔ 1.0.0 برنامهٔ mpg123 فعال است. .TP \fB\-\^\-no\-gapless غیرفعال کردن کد پخش بدون وقفه. این کار رمزگشایی‌های MP3 را به همراه تأخیر و لایه‌گذاری رمزگذار، به‌علاوهٔ تأخیر رمزگشای mpg123 در اختیارتان می‌گذارد. .TP \fB\-\^\-no\-infoframe عدم تجزیهٔ فریم Xing/Lame/VBR/Info و رمزگشایی آن دقیقاً مانند یک پخش‌کنندهٔ سخت‌افزاری قدیمی و نادان MP3. این کار مستلزم غیرفعال شدن پخش بدون وقفه است زیرا اطلاعات لازم در فریم فرادادهٔ یادشده قرار دارد..TP \fB\-D \fIn\fR, \fB\-\-delay \fIn ایجاد تأخیر به مدت \fIn\fR ثانیه پیش از هر قطعه. .TP .BR "\-o h" ", " \-\^\-headphones هدایت خروجی صدا به درگاه هدفون (تنها در برخی سخت‌افزارها؛ AIX، HP، SUN). .TP .BR "\-o s" ", " \-\^\-speaker هدایت خروجی صدا به بلندگو (تنها در برخی سخت‌افزارها؛ AIX، HP، SUN). .TP .BR "\-o l" ", " \-\^\-lineout هدایت خروجی صدا به درگاه خروجی خطی (line-out) (تنها در برخی سخت‌افزارها؛ AIX، HP، SUN). .TP \fB\-b \fIsize\fR, \fB\-\^\-buffer \fIsize استفاده از یک بافر خروجی صدا با اندازهٔ .I size کیلوبایت. این گزینه برای گذر از دوره‌های کوتاه فعالیت سنگین سیستم مفید است، که در حالت عادی باعث قطعی در خروجی صدا می‌شوند. باید اندازهٔ بافر را حداقل 1024 (یعنی ۱ مگابایت، که تقریباً معادل ۶ ثانیه داده‌های صوتی است) یا بیشتر تعیین کنید؛ مقادیر کمتر از حدود 300 چندان منطقی نیستند. مقدار پیش‌فرض 0 است که بافرینگ را غیرفعال می‌کند. .TP \fB\-\^\-preload \fIfraction صبر کردن برای پر شدن بافر به میزان .I fraction پیش از شروع پخش (کسری بین 0 و 1). می‌توانید این پیش‌بافرینگ را تنظیم کنید تا صدا سریع‌تر شنیده شود یا پخش رادیوی اینترنتی پایدارتر و بدون وقفه‌ای داشته باشید. پیش‌فرض 0.2 است (صبر برای پر شدن ۲۰٪ بافر، که در نسخهٔ 1.23 از 1 تغییر کرده است). .TP \fB\-\^\-devbuffer \fIseconds تنظیم بافر دستگاه به ثانیه؛ مقدار <= 0 به معنای مقدار پیش‌فرض است. این همان بافر کوچکی است که میان برنامه و بک‌اند صوتی (audio backend) قرار دارد و احتمالاً ارتباط مستقیمی با بافرهای سخت‌افزاری دارد. .TP \fB\-\^\-smooth نگه‌داشتن داده‌های بافر در مرز میان قطعه‌ها -- به این معنی که بافر بین قطعه‌ها خالی نمی‌شود تا پخش روان‌تری حاصل شود. .SH "گزینه‌های متفرقه (MISC OPTIONS)" .TP .BR \-t ", " \-\^\-test حالت آزمایشی. جریان صوتی رمزگشایی می‌شود، اما هیچ خروجی‌ای ارسال نمی‌شود. .TP .BR \-c ", " \-\^\-check بررسی برای تخطی از محدودهٔ فیلتر (clipping)، و گزارش آن برای هر فریم در صورت وقوع. .TP .BR \-v ", " \-\^\-verbose افزایش سطح پرگویی (verbosity). برای نمونه، شماره‌های فریم را در حین رمزگشایی نمایش می‌دهد. .TP .BR \-q ", " \-\^\-quiet حالت بی‌صدا. سرکوب پیام‌های تشخیصی. .TP .BR \-C ", " \-\^\-control فعال کردن کلیدهای کنترلی ترمینال. در صورت شناسایی ترمینال، این گزینه به طور خودکار فعال می‌شود. به طور پیش‌فرض، از کلید 's' یا کلید فاصله (space) برای توقف/شروع مجدد (مکث، ادامهٔ) پخش، از 'f' برای پرش به جلو و رفتن به آهنگ بعدی، از 'b' برای بازگشت به ابتدای آهنگ، از ',' برای بازپیچی به عقب، از '.' برای حرکت سریع به جلو، و از 'q' برای خروج استفاده کنید. برای دیدن فهرست کامل کلیدهای کنترلی موجود، کلید 'h' را فشار دهید. قابلیت حلقهٔ A-B با کلید 'o' بازهٔ زمانی پیش‌فرض حلقه را به بازهٔ میان دو بار فشردن کلید 'o' تغییر می‌دهد و فشردن بار سوم (یا زدن کلید 'p') به پخش حلقه‌ای پایان می‌دهد. پس از آن، کلید 'p' از بازهٔ به‌روزشدهٔ حلقه استفاده خواهد کرد. .TP \fB\-\^\-no\-control غیرفعال کردن کنترل ترمینال حتی در صورت شناسایی ترمینال. .TP \fB\-\^\-title در ترمینال‌های xterm، rxvt، screen و iris-ansi (سازگار، متغیر محیطی TERM بررسی می‌شود)، عنوان پنجره را به نام آهنگی که در حال پخش است تغییر می‌دهد. .TP \fB\-\^\-pauseloop \fIseconds تنظیم طول بازهٔ زمانی حلقه در حالت حلقهٔ ثابت کنترل ترمینال، به عنوان یک عدد ممیز شناور (به جای مقدار پیش‌فرض 0.5 ثانیه). این مقدار را می‌توان در زمان اجرا با استفاده از قابلیت حلقهٔ A-B بازنویسی کرد. .TP \fB\-\^\-name \fIname تنظیم نام این نمونه (instance)، که احتمالاً در جاهای گوناگون به کار می‌رود. این گزینه نام کلاینت را برای خروجی JACK تنظیم می‌کند. .TP \fB\-\^\-long\-tag نمایش اطلاعات برچسب ID3 همواره در قالب طولانی با اختصاص یک خط به هر مورد (هنرمند، عنوان، ...) .TP .BR \-\-utf8 صرف‌نظر از متغیرهای محیط، چاپ فراداده‌ها در قالب UTF-8 انجام می‌شود (در غیر این صورت، در صورت استفاده نکردن از لوکال UTF-8، نسخهٔ تقلیل‌یافتهٔ ASCII را دریافت خواهید کرد). .TP .BR \-R ", " \-\^\-remote فعال‌سازی رابط کنترلی عمومی (generic control interface). سپس .B mpg123 دستورها را از stdin خوانده و اجرا می‌کند. کاربرد پایه شامل «load » برای پخش فایل، و موارد بدیهی «pause» و «command» است. دستور «jump » به یک نقطهٔ مشخص پرش/پیمایش می‌کند (شماره فریم MPEG). برای دریافت فهرست کامل دستورها و نحو، عبارت «help» را وارد کنید. .TP .BR \-\^\-remote\-err چاپ پاسخ‌های حالت کنترل عمومی در خطای استاندارد (stderr)، به جای خروجی استاندارد. این رفتار هنگام استفاده از \fB-s\fR به طور خودکار فعال می‌شود. .TP \fB\-\-fifo \fIpath ایجاد یک fifo / لولهٔ نام‌گذاری‌شده (named pipe) در مسیر مشخص‌شده و استفاده از آن برای خواندن دستورها به جای ورودی استاندارد. .TP \fB\-\^\-aggressive تلاش برای دریافت اولویت بالاتر در سیستم. .TP .BR \-T ", " \-\-realtime تلاش برای دستیابی به اولویت بلادرنگ (realtime). این گزینه برای اثرگذاری معمولاً نیازمند دسترسی‌های مدیر سیستم (root) است. .TP .BR \-? ", " \-\^\-help نمایش راهنمای کوتاه دربارهٔ نحوهٔ کاربرد. .TP .BR \-\^\-longhelp نمایش راهنمای کامل و طولانی دربارهٔ نحوهٔ کاربرد. .TP .BR \-\^\-version چاپ رشتهٔ نسخه. .TP .BR \-\^\-libversion چاپ اطلاعات نسخهٔ کتابخانه‌های mpg123 مورد استفاده (libmpg123، libout123، libsyn123)..SH "پشتیبانی از HTTP (HTTP SUPPORT)" علاوه بر خواندن جریان‌های صوتی MPEG از فایل‌های معمولی و از ورودی استاندارد (standard input)، .B mpg123 از دریافت جریان‌های صوتی MPEG یا لیست‌های پخش (playlists) از طریق پروتکل HTTP که در وب جهان‌گستر (WWW) استفاده می‌شود نیز پشتیبانی می‌کند. چنین فایل‌هایی با استفاده از اصطلاحاً URL مشخص می‌شوند که با http:// یا https:// آغاز می‌گردد. هنگامی که فایلی با این پیشوند مواجه شود، .B mpg123 از نسخهٔ 1.30.0 به طور پیش‌فرض یک برنامهٔ کمکی خارجی (یا .BR wget (1) یا .BR curl (1)، گزینهٔ .B \-\^\-network را ببینید) را برای واکشی منبع فراخوانی می‌کند. می‌توانید دسترسی از طریق سرور پراکسی را با استفاده از متغیرهای محیطی استانداردی که آن برنامه‌ها پشتیبانی می‌کنند، پیکربندی کنید. گزینهٔ .BR \-\^\-proxy که .B mpg123 پیش از نسخهٔ 1.30.0 برای کدهای شبکهٔ داخلی خود استفاده می‌کرد، اکنون در ساخت‌های پیش‌فرض حذف شده است و احتمالاً در نسخهٔ 1.31.1 برای همیشه کنار گذاشته خواهد شد. .P توجه داشته باشید که برای پخش فایل‌های صوتی MPEG از یک سرور وب، لازم است اتصال به آن سرور به اندازهٔ کافی سریع باشد. برای نمونه، یک فایل MPEG با نرخ 128 kbit/s نیازمند اتصال شبکه‌ای با حداقل سرعت 128 kbit/s (حدود 16 kbyte/s) به علاوهٔ بار اضافی پروتکل است. اگر با قطعی‌های کوتاه‌مدت شبکه مواجه هستید، باید گزینهٔ .B \-b (بافر) را برای دور زدن این قطعی‌ها امتحان کنید. اگر اتصال شبکهٔ شما در کل برای دریافت بیدرنگ فایل‌های صوتی MPEG به اندازهٔ کافی سریع نیست، می‌توانید ابتدا فایل‌ها را روی دیسک سخت محلی خود بارگیری کرده (برای نمونه با استفاده از .BR wget (1)) و سپس آن‌ها را از آنجا پخش کنید. .P جریان‌های دارای فراداده‌های درون‌سازی‌شدهٔ ICY پشتیبانی می‌شوند؛ فاصلهٔ زمانی آن‌ها از طریق سرآیندهای HTTP یا \fB\-\^\-icy-interval\fR مشخص می‌گردد. .SH "توقف و وقفه (INTERRUPT)" هنگامی که در حالت کنترل پایانه هستید، می‌توانید با فشردن کلید q خارج شوید، در حالی که در هر زمان دیگری نیز می‌توانید .B mpg123 را با فشردن Ctrl-C متوقف کنید. اگر در حالت کنترل پایانه نباشید، این کار باعث پرش به فایل بعدی (در صورت وجود) می‌شود. اگر می‌خواهید در آن حالت پخش بلافاصله متوقف شود، کلید Ctrl-C را دو بار پشت سر هم (در حدود یک ثانیه) فشار دهید. .P توجه داشته باشید که نتیجهٔ خروج از .B mpg123 با فشردن Ctrl-C ممکن است به دلیل بافر شدن داده‌های صوتی در دستگاه صوتی فوراً شنیده نشود. این تاخیر وابسته به سیستم است، اما معمولاً بیش از یک یا دو ثانیه نخواهد بود. .SH "خط وضعیت پخش (PLAYBACK STATUS LINE)" در حالت پرگو (verbose)، mpg123 خطی را با اطلاعات گوناگون حول موقعیت فعلی پخش به‌روزرسانی می‌کند. در هر پایانهٔ مناسبی، این خط همچنین با معکوس کردن رنگ‌ها در بخشی از خط با توجه به موقعیت فعلی، به عنوان یک نوار پیشرفت برای فایل جاری عمل می‌کند. نمونه‌ای از یک خط کامل به این صورت است: > 0291+0955 00:01.68+00:28.22 [00:05.30] mix 100=085 192 kb/s 576 B acc 18 clip p+0.014 اطلاعات به ترتیب شامل موارد زیر است: .TP .BR > وضعیت پخش تک‌نویسه‌ای («>» برای در حال پخش، «=» برای مکث/حلقه، «_» برای متوقف‌شده) .TP .BR 0291+0955 آفست فریم فعلی و تعداد فریم‌های باقی‌مانده پس از علامت مثبت .TP .BR 00:01.68+00:28.22 موقعیت فعلی و زمان باقی‌مانده در قالب خوانا برای انسان (ساعت، دقیقه، ثانیه) .TP .BR [00:05.30] میزان پر بودن بافر خروجی بر حسب زمان پخش، در صورتی که بافر فعال باشد .TP .BR mix حالت RVA انتخاب‌شده (مقادیر ممکن: mix، alb (آلبوم)، و \-\^\-\^\- (خنثی، خاموش)) .TP .BR 100=085 حجم صدای تنظیم‌شده و حجم صدای موثرِ تغییریافته توسط RVA پس از علامت مساوی .TP .BR 192\ kb/s نرخ بیت (bitrate) فعلی .TP .BR 576\ B اندازهٔ فریم جاری بر حسب بایت .TP .BR acc دقت موقعیت‌ها؛ مقادیر ممکن عبارتند از «acc» برای موقعیت‌های دقیق یا «fuz» برای تقریبی (fuzzy) (با آفست‌های بایتی حدس‌زده‌شده با استفاده از میانگین اندازه فریم) .TP .BR 18\ clip میزان نمونه‌های بریده‌شده (clipped samples)؛ تنها در صورتی غیرصفر است که رمزگشا (decoder) آن را گزارش دهد (رمزگشای عمومی این کار را می‌کند، اما برخی موارد بهینه‌شده خیر) .TP .BR p+0.014 تغییر زیروبمی صدا (pitch) (افزایش/کاهش نرخ نمونه‌برداری پخش بنا به درخواست کاربر).SH "نکات (NOTES)" رمزگشایی صوتی MPEG به توان پردازشی قابل‌توجهی از پردازنده نیاز دارد، به‌ویژه layer-3. برای رمزگشایی بی‌درنگ آن، باید دست‌کم یک پردازندهٔ i486DX4، Pentium، Alpha، SuperSparc یا معادل آن‌ها را داشته باشید. همچنین می‌توانید از گزینهٔ .B -m برای رمزگشایی فقط تک‌کاناله (mono) استفاده کنید که بار پردازنده را برای جریان‌های layer-3 تا حدی کاهش می‌دهد. همچنین گزینه‌های .BR \-2 " و " \-4 را ببینید. .P اگر روش‌های دیگر کارساز نبود، اجازه دهید mpg123 در یک فایل رمزگشایی کند و سپس از یک ابزار مناسب برای پخش آن فایل با بار پردازشی کمتر استفاده کنید. به احتمال زیاد می‌توانید mpg123 را به شکلی پیکربندی کنید که قالبی مناسب برای دستگاه صوتی شما تولید کند (بخش بالا دربارهٔ کدگذاری‌ها و نرخ‌های نمونه‌برداری را ببینید). .P اگر سیستم شما به طور کلی به اندازه کافی سریع است تا به صورت بی‌درنگ رمزگشایی کند، اما گاهی دوره‌هایی با بار سنگین سیستم رخ می‌دهد (مانند cronjobها، ورود از راه دور کاربران، اجرای برنامه‌های «بزرگ» و غیره) که موجب وقفه در خروجی صدا می‌شود، باید از گزینهٔ .B \-b برای استفاده از یک بافر با اندازهٔ معقول (دست‌کم ۱۰۰۰ کیلوبایت) استفاده کنید. .SH "وضعیت خروج (EXIT STATUS)" .P تا نگارش 1.25.x،‏ mpg123 همواره وضعیت خروج 0 را برمی‌گرداند، حتی برای ورودی‌های کاملاً نامعتبر. خطاهای مهلک تنها برای خروجی در نظر گرفته می‌شدند. از نگارش 1.26.0، این رفتار به روال شرح داده شده در زیر تغییر یافت. .P هنگامی که از رابط کنترل از راه دور (که خطاهای ورودی را به صورت پیام‌های متنی بازمی‌گرداند) استفاده نمی‌شود، وضعیت خروج فرآیند تنها در صورتی صفر (موفقیت‌آمیز) خواهد بود که تمام قطعات درون فهرست پخش دست‌کم یک فریم تجزیه‌شده داشته باشند (حتی اگر بدون نقص رمزگشایی نشده باشند)، یا از نظر ساختار MPEG تهی باشند (شاید تنها حاوی متادیتا باشند، یا واقعاً یک فایل خالی). وقتی هیچ چیزی را رمزگشایی نمی‌کنید، نتیجه هیچ است و این مشکلی ندارد. هنگامی که یک قطعه بعداً به دلیل خطاهای تجزیه‌کننده یا قطعی ارتباط شبکه متوقف شود، این حالت به عنوان پایان قطعه تلقی می‌شود، اما فی‌نفسه باعث شکست فرآیند نمی‌شود. وجود یک جریان واقعاً خراب (یا ناموجود) در فهرست پخش، منجر به وضعیت خروج غیرصفر خواهد شد، که با دیگر ابزارهای UNIX هم‌خوانی دارد. .P خطا در خروجی صوتی، بدون در نظر گرفتن اینکه چه مقدار داده قبلاً با موفقیت پخش شده است، فوراً منجر به پایان فرآیند با یک وضعیت خروج غیرصفر می‌شود. اغماض تنها در سمت ورودی است. .SH "گزارش باگ‌ها (BUGS)" .P عمدتاً MPEG-1 layer 2 و layer 3 در عمل آزمایش شده‌اند. لطفاً هرگونه اشکال را گزارش کرده و برای کمک به رفع آن‌ها، فایل‌های آزمایشی ارائه دهید. .P هیچ بررسی خطای CRC انجام نمی‌شود. با این حال رمزگشا طوری ساخته و آزمایش شده است که با جریان‌های آسیب‌دیده رفتار مناسبی داشته باشد. در بیشتر موارد، فریم‌های آسیب‌دیده فقط بی‌صدا خواهند بود. .P برخی پلتفرم‌ها فاقد پشتیبانی از سخت‌افزار صوتی هستند؛ ممکن است بتوانید از گزینهٔ .B -s برای فرستادن داده‌های رمزگشایی‌شده به برنامه‌ای که می‌تواند آن را روی دستگاه صوتی شما پخش کند، استفاده کنید. .SH "نویسندگان (AUTHORS)" .TP نگه‌دارنده: .br Thomas Orgis , .TP سازندهٔ اصلی: .br Michael Hipp .PP از کدها یا ایده‌های افراد مختلف استفاده می‌کند؛ فایل AUTHORS همراه با کد منبع را ببینید. .SH "مجوز (LICENSE)" .B mpg123 تحت مجوز GNU Lesser/Library General Public License‏ (LGPL)، نگارش 2.1 منتشر شده است. .SH "وب‌گاه (WEBSITE)" http://www.mpg123.org .br http://sourceforge.net/projects/mpg123