pw-cat(1) General Commands Manual pw-cat(1)

pw-cat - پخش و ضبط رسانه با PipeWire

pw-cat [options] [FILE | -]

pw-play [options] [FILE | -]

pw-record [options] [FILE | -]

pw-midiplay [options] [FILE | -]

pw-midirecord [options] [FILE | -]

pw-midi2play [options] [FILE | -]

pw-midi2record [options] [FILE | -]

pw-dsdplay [options] [FILE | -]

دستور pw-cat ابزاری ساده برای بازپخش یا دریافت فایل‌های رسانه‌ای خام یا کدگذاری‌شده روی یک کارساز PipeWire است. این ابزار تمام قالب‌های فایل صوتی پشتیبانی‌شده توسط libsndfile را برای دریافت و پخش PCM درک می‌کند. هنگامی که هیچ ظرفی (container) برای ضبط PCM مشخص نشده باشد، از پسوند نام فایل برای حدس زدن قالب فایل با پیش‌فرض قالب فایل WAV استفاده می‌شود.

این ابزار فایل‌های استاندارد MIDI و فایل‌های کلیپ MIDI 2.0 را برای پخش و ضبط درک می‌کند. این ابزار فایل‌های MIDI را رندر (پردازش صوتی) نمی‌کند، بلکه صرفاً رخدادهای MIDI را در دسترس گراف قرار می‌دهد. برای شنیدن صدای MIDI، به یک رندرکنندهٔ MIDI مانند qsynth، timidity یا یک رندرکنندهٔ سخت‌افزاری MIDI نیاز دارید.

پخش DSD با قالب فایل DSF پشتیبانی می‌شود. این ابزار تنها با سخت‌افزارهایی که ذاتا دارای قابلیت DSD هستند کار خواهد کرد و در صورتی که چنین سخت‌افزاری یافت نشود، خطایی تولید خواهد کرد.

هنگامی که مقدار FILE برابر - باشد، ورودی از STDIN خواهد بود. اگر هیچ قالبی مشخص نشده باشد، libsndfile تلاش خواهد کرد قالب را از STDIN تجزیه کرده و جریان‌بندی کند. برای برخی قالب‌ها این کار امکان‌پذیر نیست و libsndfile خطایی صادر خواهد کرد. قالب‌های Raw، MIDI و DSD همگی از STDIN قابل جریان‌بندی هستند.

هنگامی که مقدار FILE برابر - باشد، خروجی به STDOUT خواهد بود. اگر هیچ قالبی مشخص نشده باشد، به libsndfile دستور داده می‌شود که خروجی را در قالب .au تولید کند که قابلیت جریان‌بندی دارد و قالب، نرخ نمونه‌برداری و کانال‌ها را حفظ می‌کند. قالب‌های Raw و DSD همگی به STDOUT قابل جریان‌بندی هستند.

-h | --help

نمایش راهنما.

--version

نمایش اطلاعات نسخه.

-v | --verbose

عملیات با گزارش جزئیات کامل.

-R | --remote=NAME

نام نمونهٔ remote برای اتصال. در صورت نامشخص بودن، اتصال به نمونهٔ پیش‌فرض PipeWire برقرار می‌شود.

-p | --playback

حالت پخش. خواندن داده از فایل مشخص‌شده و پخش آن. اگر این ابزار تحت نام‌های pw-play، pw-midiplay یا pw-midi2play فراخوانی شود، این حالت پیش‌فرض است.

-r | --record

حالت ضبط. دریافت داده و نوشتن آن در فایل مشخص‌شده. اگر این ابزار تحت نام‌های pw-record، pw-midirecord یا pw-midi2record فراخوانی شود، این حالت پیش‌فرض است.

-m | --midi

حالت MIDI. مقدار FILE یک فایل MIDI است. اگر این ابزار تحت نام‌های pw-midiplay یا pw-midirecord فراخوانی شود، این حالت پیش‌فرض است. توجه داشته باشید که این برنامه رخدادهای MIDI را به نمونه‌های صوتی قابل شنیدن تبدیل نمی‌کند، بلکه صرفاً رخدادهای MIDI را در گراف فراهم می‌سازد. برای شنیدن صدای MIDI به یک رندرکنندهٔ جداگانه مانند qsynth، timidity یا یک رندرکنندهٔ سخت‌افزاری نیاز دارید.

-c | --midi-clip

حالت کلیپ MIDI 2.0. مقدار FILE یک فایل کلیپ MIDI 2.0 است. اگر این ابزار تحت نام‌های pw-midi2play یا pw-midi2record فراخوانی شود، این حالت پیش‌فرض است. توجه داشته باشید که این برنامه رخدادهای MIDI را به نمونه‌های صوتی قابل شنیدن تبدیل نمی‌کند، بلکه صرفاً رخدادهای MIDI را در گراف فراهم می‌سازد. برای شنیدن صدای MIDI به یک رندرکنندهٔ جداگانه مانند qsynth، timidity یا یک رندرکنندهٔ سخت‌افزاری نیاز دارید.

-d | --dsd

حالت DSD. مقدار FILE یک فایل DSF است. اگر این ابزار تحت نام pw-dsdplay فراخوانی شود، این حالت پیش‌فرض است. توجه داشته باشید که این برنامه صدای DSD را تبدیل (رندر) نمی‌کند. برای پخش محتوای DSD به دستگاهی با قابلیت پشتیبانی از DSD نیاز دارید، در غیر این صورت این برنامه با یک خطا خارج خواهد شد.

-s | --sysex

حالت SysEx. مقدار FILE فایلی است که شامل یک پیام خام SysEx MIDI می‌باشد. اگر این ابزار تحت نام pw-sysex فراخوانی شود، این حالت پیش‌فرض است. این فایل خوانده شده و به عنوان یک پیام کنترلی MIDI به گراف ارسال می‌شود.

--media-type=VALUE

تنظیم ویژگی نوع رسانه (پیش‌فرض بسته به حالت Audio/Midi است). نوع رسانه توسط مدیر نشست برای انتخاب یک هدف مناسب جهت پیوند به کار می‌رود.

--media-category=VALUE

تنظیم ویژگی دسته‌بندی رسانه (پیش‌فرض بسته به حالت Playback/Capture است). نوع رسانه توسط مدیر نشست برای انتخاب یک هدف مناسب جهت پیوند استفاده می‌شود.

--media-role=VALUE

تنظیم ویژگی نقش رسانه (پیش‌فرض Music است). نوع رسانه توسط مدیر نشست برای انتخاب یک هدف مناسب جهت پیوند استفاده می‌شود.

--target=VALUE

تنظیم هدف گره (پیش‌فرض auto است). این مقدار می‌تواند موارد زیر باشد:
  • auto: انتخاب خودکار (پیش‌فرض)
  • 0: برای پیوند دادن این گره تلاش نکن
  • <id>: شناسهٔ object.serial یا node.name مربوط به گره هدف

--latency=VALUE[units]

تنظیم میزان تاخیر گره (پیش‌فرض 100ms است)

میزان تاخیر حداقل زمانی را تعیین می‌کند که طول می‌کشد تا یک نمونه از برنامه به دستگاه (پخش) و از دستگاه به برنامه (ضبط) منتقل شود.

تاخیر، اندازهٔ بافرهایی را مشخص می‌کند که برنامه قادر به پر کردن آن‌ها خواهد بود. تاخیر کمتر به معنای بافرهای کوچک‌تر اما بار پردازشی بیشتر است. تاخیر بیشتر به معنای بافرهای بزرگ‌تر و بار پردازشی کمتر است.

واحدها می‌توانند s برای ثانیه، ms برای میلی‌ثانیه، us برای میکروثانیه و ns برای نانوثانیه باشند. اگر هیچ واحدی مشخص نشود، مقدار تاخیر بر حسب نمونه‌ها و با نرخ نمونه‌برداری فایل محاسبه می‌شود.

-P | --properties=VALUE

تنظیم ویژگی‌های اضافی جریان به عنوان یک شیء JSON.

-q | --quality=VALUE

کیفیت نمونه‌برداری مجدد (resampler). هنگامی که نرخ نمونه‌برداری فایل مبدأ یا مقصد با نرخ نمونه‌برداری کارساز مطابقت نداشته باشد، داده‌ها دوباره نمونه‌برداری خواهند شد. کیفیت بالاتر از پردازندهٔ بیشتری استفاده می‌کند. مقادیر بین 0 تا 15 مجاز هستند، کیفیت پیش‌فرض 4 است.

-a | --raw

نمونه‌های خام خوانده یا نوشته خواهند شد. گزینه‌های --rate، --format، --channels و --channelmap می‌توانند برای تعیین قالب خام استفاده شوند.

-M | --force-midi

اجبار قالب midi، یکی از "midi" یا "ump" (پیش‌فرض ump است). هنگام خواندن یا نوشتن midi، برای یکی از موارد midi یا UMP اعمال می‌شود.

-n | --sample-count=COUNT

توقف پس از COUNT نمونه.

--rate=VALUE

نرخ نمونه‌برداری، پیش‌فرض 48000 است.

--channels=VALUE

تعداد کانال‌ها، پیش‌فرض 2 است.

--channel-map=VALUE

نگاشت کانال‌ها (channelmap). مقادیر مجاز یا چیدمان کانال نظیر mono، stereo، surround-21، quad، surround-22، surround-40 هستند، یا آرایه‌ای از نام کانال‌ها که با کاما جدا شده‌اند مانند FL,FR. برای دریافت فهرست کامل مقادیر ممکن گزینه‌های --list-layouts و --list-channel-names را مشاهده کنید.

--list-layouts

فهرست کردن تمام چیدمان‌های شناخته‌شدهٔ کانال. یکی از این موارد می‌تواند به عنوان مقدار --channel-map استفاده شود.

--list-channel-names

فهرست کردن تمام نام‌های شناخته‌شدهٔ کانال. آرایه‌ای از این موارد می‌تواند به عنوان مقدار --channel-map استفاده شود.

--format=VALUE

قالب نمونه برای استفاده. برخی از مقادیر ممکن عبارتند از: u8، s8، s16 (پیش‌فرض)، s24، s32، f32، f64. برای دریافت فهرست کامل مقادیر گزینهٔ --list-formats را مشاهده کنید.

--list-formats

فهرست کردن تمام مقادیر شناخته‌شدهٔ قالب.

--container=VALUE

مشخص کردن ظرف (container) مورد استفاده هنگام ذخیره‌سازی. این مقدار معمولاً از پسوند نام فایل حدس زده می‌شود اما می‌تواند به طور صریح مشخص شود. هنگام استفاده از STDOUT اگر هیچ ظرفی مشخص نشده باشد، از ظرف AU استفاده خواهد شد. هنگام استفاده از نام فایل اگر ظرف مشخص نشده باشد و از نام فایل نیز قابل تشخیص نباشد، از ظرف WAV استفاده می‌شود.

--list-containers

فهرست کردن تمام مقادیر شناخته‌شده برای ظرف‌ها.

--volume=VALUE

حجم صدای جریان، پیش‌فرض 1.000 است. بسته به لوکالی که پیکربندی کرده‌اید، ممکن است از "," یا "." به عنوان جداکنندهٔ اعشار استفاده شود. با دستور locale بررسی کنید.

توسعه‌دهندگان PipeWire https://gitlab.freedesktop.org/pipewire/pipewire/issues؛ PipeWire در https://pipewire.org در دسترس است.

pipewire(1), pw-mon(1),

1.6.8 PipeWire