alsaucm(1) راهنمای دستورات عمومی alsaucm(1)

alsaucm - مدیر سناریوهای کاربرد ALSA (ALSA Use Case Manager)

alsaucm <گزینه‌ها> [دستور]

برنامه alsaucm (مدیر سناریوهای کاربرد ALSA) ابزاری برای استفاده از رابط سناریوهای کاربرد ALSA به‌نشانی http://www.alsa-project.org/alsa-doc/alsa-lib/group__ucm.html از طریق خط فرمان است.

در کارت‌های صدای پیچیده، راه‌اندازی و تنظیم مسیرهای صوتی (audio routes) ساده نیست و ممکن است تنظیمات میکسر با یکدیگر تداخل داشته باشند و مانع از کارکرد کارت صدا شوند.

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

همچنین می‌توان از مدیر سناریوهای کاربرد برای جابه‌جایی سازگار و یکنواخت بین سناریوهای کاربرد در صورت نیاز استفاده کرد.

در سطحی پایین‌تر، این مدیر با پیکربندی کنترل‌های ALSA (kcontrols) در کارت صدا عمل می‌کند تا مسیردهی صوتی دیجیتال و آنالوگ سخت‌افزار را متناسب با سناریوی کاربردی دستگاه مورد نظر تغییر دهد.

پیکربندی‌های kcontrol مدیر سناریوهای کاربرد در فایل‌های متنی با قابلیت ویرایش آسان ذخیره می‌شوند. یک سناریوی صوتی می‌تواند توسط پارامترهای verb و device تعریف شود.

پارامتر verb کنش سناریوی کاربرد را توصیف می‌کند؛ مانند تماس تلفنی، گوش دادن به موسیقی، ضبط مکالمه و غیره. پارامتر device سخت‌افزار فیزیکی ضبط و پخش صدا را توصیف می‌کند؛ مانند هدفون، گوشی تلفن، هدست بلوتوث و غیره.

گزینه‌های در دسترس:

نمایش این راهنما
باز کردن کارت صوتی با نام NAME
حالت تعاملی
حالت دسته‌ای (استفاده از '-' برای ورودی استاندارد stdin)
عدم باز کردن خودکار اولین کارت صدای یافت‌شده

دستورات در دسترس:

باز کردن کارت با نام NAME.

نام‌های معتبر، نام‌های کارت صدایی هستند که در مسیر /usr/share/alsa/ucm فهرست شده‌اند.

بازنشانی کارت صدا به حالت پیش‌فرض.
بارگذاری مجدد پیکربندی.
فهرست کردن کارت‌های صدای موجود.
دستور فهرست کردن، برای مواردی که دو مدخل بازمی‌گردانند (مقدار + توضیح).

مقدار آرگومان IDENTIFIER می‌تواند یکی از موارد زیر باشد:

  • _verbs - دریافت فهرست verbها (به‌صورت جفت verb+comment)
  • _devices[/{verb}] - دریافت فهرست دستگاه‌های پشتیبانی‌شده (به‌صورت جفت device+comment)
  • _modifiers[/{verb}] - دریافت فهرست تغییردهنده‌های پشتیبانی‌شده (به‌صورت جفت modifier+comment)

فرم‌های بدون پسوند پایانی /{verb} تنها پس از تنظیم یک verb مشخص معتبر هستند.

دستور فهرست کردن، برای فهرست‌هایی که به ازای هر مدخل یک مورد بازمی‌گردانند.

مقدار آرگومان IDENTIFIER بسته به زمینه (context) می‌تواند متفاوت بوده و شامل موارد زیر باشد:

  • TQ[/{verb}] - دریافت فهرست شناسه‌های کیفیت تن صدا (Tone Quality)
  • _enadevs - دریافت فهرست دستگاه‌های فعال‌شده
  • _enamods - دریافت فهرست تغییردهنده‌های فعال‌شده
  • _supporteddevs/{modifier}|{device}[/{verb}] - فهرست دستگاه‌های پشتیبانی‌شده
  • _conflictingdevs/{modifier}|{device}[/{verb}] - فهرست دستگاه‌های دارای تداخل
دریافت مقدار رشته‌ای (string).

مقدار آرگومان IDENTIFIER می‌تواند یکی از موارد زیر باشد:

دریافت مقدار عددی صحیح (integer).

مقدار آرگومان IDENTIFIER می‌تواند یکی از موارد زیر باشد:

  • _devstatus/{device}
  • _modstatus/{device}
تنظیم مقدار رشته‌ای

مقدار آرگومان IDENTIFIER می‌تواند یکی از موارد زیر باشد:

  • _verb - تنظیم verb بر روی VALUE
  • _enadev - فعال‌سازی دستگاه مشخص‌شده توسط VALUE
  • _disdev - غیرفعال‌سازی دستگاه مشخص‌شده توسط VALUE
  • _swdev/{old_device} - تعویض دستگاه:
  • غیرفعال‌سازی old_device و سپس فعال‌سازی دستگاه مشخص‌شده توسط VALUE
  • در صورتی که هیچ دستگاهی فعال نبود، صرفاً بازمی‌گردد
  • _enamod - فعال‌سازی تغییردهنده مشخص‌شده توسط VALUE
  • _dismod - غیرفعال‌سازی تغییردهنده مشخص‌شده توسط VALUE
  • _swmod/{old_modifier} - تعویض تغییردهنده:
  • غیرفعال‌سازی old_modifier و سپس فعال‌سازی تغییردهنده مشخص‌شده توسط VALUE
  • در صورتی که هیچ تغییردهنده‌ای فعال نبود، صرفاً بازمی‌گردد

توجه داشته باشید که شناسه‌های ارجاع‌دهنده به دستگاه‌ها و تغییردهنده‌ها تنها پس از تنظیم یک verb معتبر هستند.

راهنما
خروج

فایل‌های اصلی سناریوی کاربرد برای هر کارت صدای پشتیبانی‌شده در مسیر /usr/share/alsa/ucm قرار دارند.

برای نمونه، فایل اصلی سناریوی کاربرد برای کارت Pandaboard در مسیر /usr/share/alsa/ucm/PandaBoard/PandaBoard.conf قرار دارد؛ این فایل تمام سناریوهای کاربردی پشتیبانی‌شده را فهرست می‌کند، مانند:

SectionUseCase."HiFi" {
                File "hifi"
                Comment "Play HiFi quality Music."
}
...

هر سناریوی کاربرد یک _verb تعریف می‌کند که در فایل مشخص‌شده در دستورالعمل File (مانند بالا) توصیف شده است.

دستورالعمل HiFi بالا در مسیر /usr/share/alsa/ucm/PandaBoard/hifi توصیف شده است.

برای جزئیات بیشتر درباره ساختار نحوی فایل‌های UCM، سورس‌کد alsa-lib را ببینید: http://git.alsa-project.org/?p=alsa-lib.git;a=blob;f=src/ucm/parser.c

برخی دستورات، مانند list _devices، تنها پس از تنظیم یک _verb در همان مرتبه اجرا کار می‌کنند؛ برای مثال این توالی دستورات کار نمی‌کند:

# alsaucm -c bytcr-rt5640 set _verb HiFi
# alsaucm -c bytcr-rt5640 list _devices

اما این دستور به درستی کار می‌کند:

# alsaucm -n -b - <<EOM
open bytcr-rt5640
set _verb HiFi
list _devices
EOM

نمونه‌ای از تنظیم دستگاه Speaker برای verb مربوط به HiFi در کارت صدای bytcr-rt5640:

# alsaucm -n -b - <<EOM
open bytcr-rt5640
reset
set _verb HiFi
set _enadev Speaker
EOM

•
رابط سناریوهای کاربرد: http://www.alsa-project.org/alsa-doc/alsa-lib/group__ucm.html

مورد شناخته‌شده‌ای وجود ندارد.

Antonio Ospite <ao2@ao2.it>

GPLv2+

2016-09-22