ALSALOOP(1) General Commands Manual ALSALOOP(1)

alsaloop - ایجاد حلقه بازخورد صوتی PCM در خط فرمان

alsaloop [-option] [cmd]

alsaloop امکان ایجاد یک حلقه بازخورد (لوپ‌بک) PCM میان یک دستگاه ضبط (capture) PCM و یک دستگاه پخش (playback) PCM را فراهم می‌کند.

alsaloop از چندین کارت صدا، همگام‌سازی انطباقی ساعت، نمونه‌برداری مجدد نرخ انطباقی با استفاده از کتابخانه samplerate (در صورت دردسترس بودن در سیستم) پشتیبانی می‌کند. همچنین کنترل‌های میکسر می‌توانند از یک کارت به کارت دیگر هدایت شوند (برای نمونه Master و PCM).

اطلاعات راهنما را چاپ می‌کند.

استفاده از پرونده پیکربندی داده‌شده. نحو این پرونده ساده است: هر سطر شامل گزینه‌های خط فرمان برای یک وظیفه است. علامت '#' به معنای یادداشت است و بقیه سطر نادیده گرفته می‌شود. نمونه:

# First line - comment, second line - first job
-C hw:1,0 -P hw:0,0 -t 50000 -T 1
# Third line - comment, fourth line - second job
-C hw:1,1 -P hw:0,1 -t 40000 -T 2

اجرای فرایند اصلی در پس‌زمینه (daemonize) و استفاده از syslog برای پیام‌ها.

استفاده از دستگاه پخش داده‌شده.

استفاده از دستگاه ضبط داده‌شده.

استفاده از دستگاه CTL داده‌شده برای پخش.

استفاده از دستگاه CTL داده‌شده برای ضبط.

مشخص کردن نام اسکی ctl برای حالت همگام‌سازی playshift (بخش مثال‌ها را ببینید).

تاخیر درخواستی بر حسب فریم.

تاخیر درخواستی بر حسب میکروثانیه (۱/۱۰۰۰۰۰۰ ثانیه).

مشخص‌سازی قالب صوتی (معمولاً S16_LE یا S32_LE). برای فهرست کردن همه قالب‌ها از -h استفاده کنید. قالب پیش‌فرض S16_LE است.

مشخص‌سازی تعداد کانال‌ها. مقدار پیش‌فرض ۲ است.

مشخص‌سازی نرخ نمونه‌برداری. مقدار پیش‌فرض 48000 (هرتز) است.

اجازه به نمونه‌برداری مجدد نرخ با استفاده از alsa-lib.

استفاده از libsamplerate و انتخاب یک مبدل:

0 or sincbest     - بهترین کیفیت
1 or sincmedium   - کیفیت متوسط
2 or sincfastest  - پایین‌ترین کیفیت
3 or zerohold     - نگه‌داشتن نمونه‌های صفر
4 or linear       - بدترین کیفیت - نمونه‌برداری مجدد خطی
5 or auto         - انتخاب بهترین روش

اندازه بافر بر حسب فریم.

اندازه دوره (period) بر حسب فریم.

مدت زمان اجرای حلقه بر حسب ثانیه.

حالت غیرمسدودکننده (non-block) (بیداری بسیار زودهنگام فرایند). منابع پردازنده (CPU) بیشتری مصرف می‌کند.

مشخص‌سازی حالت همگام‌سازی برای جریان ضبط به پخش:

0 or none       - دست نزدن به جریان داده
1 or simple     - افزودن یا حذف نمونه‌ها برای
                  همگام نگه‌داشتن هر دو جریان
2 or captshift  - استفاده از راه‌انداز دستگاه ضبط
                  (در صورت پشتیبانی) برای جبران تغییر نرخ
3 or playshift  - استفاده از راه‌انداز دستگاه پخش
                  (در صورت پشتیبانی) برای جبران تغییر نرخ
4 or samplerate - استفاده از کتابخانه samplerate برای انجام
                  نمونه‌برداری مجدد نرخ
5 or auto       - انتخاب خودکار بهترین روش با این ترتیب:
                  captshift, playshift, samplerate, simple

شماره ریسه (-1 به معنای ایجاد یک ریسه یکتا است). تمام وظایف با شماره ریسه یکسان در یک ریسه اجرا می‌شوند.

هدایت کنترل میکسر از کارت پخش به کارت ضبط. قالب mixid به صورت SRCID(PLAYBACK)[@DSTID(PLAYBACK)] است:

"name='Master Playback Switch'@name='Another Switch'"
"name='PCM Playback Volume'"

صفت‌های شناخته‌شده:

name      - نام شناسه کنترل
index     - نمایه شناسه کنترل
device    - دستگاه شناسه کنترل
subdevice - زیردستگاه شناسه کنترل
iface     - رابط شناسه کنترل
numid     - شناسه عددی کنترل

هدایت کنترل میکسر از لایه شبیه‌ساز OSS Mixer (کارت ضبط) به لایه ALSA (کارت ضبط). قالب ossmixid به صورت ALSAID[,INDEX]@OSSID است:

"Master@VOLUME"
"PCM,1@ALTPCM"

صفت‌های شناخته‌شده OSS:

VOLUME, BASS, TREBLE, SYNTH, PCM, SPEAKER, LINE, MIC, CD, IMIX, ALTPCM,
RECLEV, IGAIN, OGAIN, LINE1, LINE2, LINE3, DIGITAL1, DIGITAL2, DIGITAL3,
PHONEIN, PHONEOUT, VIDEO, RADIO, MONITOR

حالت پرگو (مشروح). برای افزایش سطح پرگویی چندین بار استفاده شود.

پروفایل‌بندی دقیق xrun.

تنظیم زمان پایان انتظار (timeout) بیداری فرایند.

alsaloop -C hw:0,0 -P hw:1,0 -t 50000
alsaloop -C hw:soundcard,0 -P hw:Loopback,0 -t 50000 -S playshift \
-x iface=PCM,name='PCM Rate Shift 100000',device=1

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

alsaloop توسط Jaroslav Kysela <perex@perex.cz> نوشته شده است. این مستند توسط Jaroslav Kysela <perex@perex.cz> تهیه شده است.

5 Aug 2010