| ZITA-AJBRIDGE(1) | General Commands Manual | ZITA-AJBRIDGE(1) |
نام (NAME)
zita-a2j, zita-j2a - استفاده از دستگاه ALSA به عنوان کلاینت Jack، با نمونهبرداری مجدد
خلاصه دستور (SYNOPSIS)
zita-a2j [options]
zita-j2a [options]
توضیحات (DESCRIPTION)
این دو برنامه امکان استفاده از یک دستگاه ALSA را به عنوان کلاینت Jack فراهم میکنند تا کانالهای ضبط (zita-a2j) یا پخش (zita-j2a) اضافی ایجاد شود. این ابزارها از نظر عملکردی معادل alsa_in و alsa_out هستند که همراه Jack عرضه میشوند، اما کیفیت صوتی بسیار بهتری را ارائه میدهند.
نسبت نمونهبرداری مجدد (resampling) معمولاً تا چند بخش در میلیون (ppm) پایدار خواهد بود و تنها به شکلی بسیار هموار تغییر میکند. تاخیر نیز حتی در بدترین شرایط، برای مثال زمانی که کلاینت Jack نزدیک به انتهای چرخه اجرا میشود، پایدار خواهد ماند.
دستگاه ALSA باید از نوع 'hw:' باشد؛ یعنی دسترسی مستقیم به کارت صدا داشته باشد و یک دستگاه 'plug' در ALSA نباشد. فرض بر این است که سامانه Jack به درستی کار میکند و در حالت بلادرنگ (real-time) اجرا میشود.
نرخ نمونهبرداری (sample rate) میتواند مشابه با نرخ نمونهبرداری Jack یا متفاوت از آن باشد. حداقل تاخیر با اجرای دستگاه alsa در اندازه دوره (period size) کمتری نسبت به Jack به دست میآید. این کار میتواند با ایمنی انجام شود، زیرا ریسه (thread) متعلق به alsa با اولویت بالاتری اجرا میشود و به جز رونوشت در یک بافر داخلی، پردازش دیگری در آن انجام نمیگیرد. هیچ محدودیتی روی حاصلضرب period_size و number_of_periods، آنگونه که برای alsa_in و alsa_out وجود دارد، اعمال نمیشود.
نمونهبرداری مجدد با استفاده از کتابخانه zita-resampler انجام میشود. گزینه -Q کیفیت نمونهبرداری مجدد را تنظیم میکند. مقدار این پارامتر برابر با نصف طول (یعنی تاخیر) فیلتر چندفازی (multiphase filter) مورد استفاده برای نمونهبرداری مجدد است که بر حسب نمونه در نرخ نمونهبرداری پایینتر بین دو نرخ بیان میشود. این مقدار عمدتاً بر شکل پاسخ فرکانسی نزدیک به فرکانس نایکوئیست (Nyquist) اثر میگذارد. معمولاً نیازی به استفاده از این گزینه نیست، زیرا یک مقدار بهینه متناسب با هر دو نرخ نمونهبرداری به طور خودکار انتخاب میشود. محدوده مجاز بین 16 تا 96 است.
گزینه -S نمونهبرداری مجدد را غیرفعال میکند. این کار نیازمند آن است که دستگاه از طریق word-clock با دستگاه مورد استفاده توسط Jack همگامسازی شده باشد.
گزینه -L رابط ALSA را مجبور به استفاده از ۲ کانال و قالب نمونهبرداری ۱۶ بیتی میکند. این حالت ممکن است هنگام استفاده از a2j یا j2a با دستگاه 'loop' در ALSA لازم باشد؛ در صورتی که طرف مقابل بیش از ۲ کانال یا نمونههای ممیز شناور (floating point) را نپذیرد. در غیر این صورت، به هیچ وجه نباید از این گزینه استفاده شود.
هر دو برنامه به صورت اختیاری اطلاعاتی را چهار بار در ثانیه چاپ میکنند. عدد نخست میانگین خطای حلقه در طول یکچهارم ثانیه گذشته بر حسب نمونه است. این مقدار باید پس از حدود ۱۵ ثانیه به مقادیر تصادفی کوچکی نزدیک به صفر کاهش یابد. عدد دوم ضریب تصحیح پویای نسبت نامی نمونهبرداری مجدد است. این مقدار باید به عددی نزدیک به یک همگرا شده و نوسان زیادی نداشته باشد.
هنگام آغاز به کار یا متوقف شدن برنامههای Jack، تغییرات جزئی در این اعداد دیده خواهد شد. این موضوع طبیعی است؛ هر مورد دیگری غیرعادی است - لطفاً آن را گزارش دهید.
هنگام راهاندازی و در صورت بروز اشکال اساسی، پیام 'Starting synchronisation' چاپ خواهد شد. راهاندازی مجدد ممکن است در صورت رخ دادن اتمام مهلت زمانی (timeout) در سرور Jack روی دهد؛ برای مثال زمانی که یک کلاینت دچار فروپاشی (crash) شده یا به شکلی نامناسب خاتمه یافته باشد.
برنامه Jack1 هنگام راهاندازی برنامههای جدید یا زمانی که تعداد زیادی اتصال درگاه در مدتی کوتاه انجام گیرد، یک یا چند چرخه را نادیده میگیرد (skip). این رخداد ممکن است سیگنال صوتی را موقتاً قطع کند، اما در غیر این صورت پیامد نامطلوبی نداشته و نیازی به راهاندازی مجدد نخواهد داشت.
هر دو برنامه zita-a2j و zita-j2a مادامی که Jack در حالت 'freewheeling' قرار دارد، فعالیت خود را به حالت تعلیق درمیآورند.
گزینهها (OPTIONS)
- -h
- چاپ خلاصه خط فرمان و گزینهها.
- -j <name>
- نام کلاینت Jack [پیشفرض: zita-a2j یا zita-j2a].
- -d <device>
- دستگاه ALSA [هیچکدام].
- -r <rate>
- نرخ نمونهبرداری [48000].
- -p <period>
- اندازه دوره (period size) [256].
- -n <nfrags>
- تعداد بخشها (fragments) [2].
- -c <nchannels>
- تعداد کانالها [2].
- -Q <quality>
- کیفیت نمونهبرداری مجدد [auto].
- -S
- همگامسازی با Word clock، غیرفعال کردن نمونهبرداری مجدد.
- -I <samples> [0]
- (تنها zita-a2j) تصحیح دیرکرد (latency). این مقدار به ویژگی تاخیر تعیینشده روی درگاههای Jack اضافه میشود.
- -O <samples> [0]
- (تنها zita-j2a) تصحیح دیرکرد (latency). این مقدار به ویژگی تاخیر تعیینشده روی درگاههای Jack اضافه میشود.
- -L
- اجبار به ۲ کانال و قالب نمونهبرداری ۱۶ بیتی.
- -v
- چاپ اطلاعات ردگیری (tracing).
نویسندگان (AUTHORS)
برنامههای zita-a2j و zita-j2a توسط Fons Adriaensen <fons@linuxaudio.org> نوشته شدهاند. این صفحه راهنما توسط Robin Gareus <robin@gareus.org> و Fons Adriaensen نوشته شده است.
| Sept 2013 |