| ALSABAT(1) | General Commands Manual | ALSABAT(1) |
نام (NAME)
alsabat - آزمونnjگر صوتی خط فرمان برای درایور کارت صدای ALSA
خلاصه دستور (SYNOPSIS)
alsabat [فلگها]
توضیحات (DESCRIPTION)
ابزار ALSABAT(ALSA Basic Audio Tester) یک ابزار خط فرمانی ساده است که به منظور کمک به خودکارسازی تست درایورهای صوتی و سرورهای صدا با کمترین دخالت انسانی طراحی شده است. ALSABAT میnjتواند برای بررسی کیفیت صدا، تست فشار قابلیتnjها و آزمودن صدا قبل و بعد از تغییرات وضعیت مدیریت توان (PM) استفاده شود.
طراحی ALSABAT نسبتاً ساده است. ALSABAT یک جریان صوتی را پخش کرده و همان جریان را از طریق لوپnjبک دیجیتال یا آنالوگ ضبط میnjکند. سپس جریان ضبطnjشده را با استفاده از تبدیل سریع فوریه (FFT) با سیگنال اصلی مقایسه میnjکند تا قبولی یا ردی آزمون را تعیین نماید.
دستور ALSABAT میnjتواند یا بهnjطور کامل روی ماشین هدفِ تحت آزمایش اجرا شود (حالت مستقل - standalone) یا به صورت کلاینت/سرور اجرا گردد؛ بهnjطوریnjکه کلاینت alsabat روی ماشین هدف و سرور آن روی یک ماشین آزمونnjگر جداگانه اجرا شود. حالت کلاینت/سرور همچنان نیازمند مقداری تعامل دستی برای همگامnjسازی است، اما این ویژگی برای انتشار نسخهnjهای آینده بهnjطور فعال در حال توسعه است.
پیکربندی سختnjافزاری تست ممکن است به استفاده از کابل آنالوگ برای اتصال ماشین هدف به آزمونnjگر نیاز داشته باشد، یا یک کابل برای ایجاد لوپnjبک آنالوگ، در صورتی که سختnjافزار صوتی تحت آزمون فاقد قابلیت لوپnjبک داخلی باشد. برای ایجاد لوپnjبک میnjتوان از کابل لوپnjبک آنالوگ جهت اتصال جک "line in" به "line out" استفاده کرد. اگر فقط جک هدفون و میکروفون (یا جک ترکیبی combo) در دسترس باشد، میnjتوان از مدار ساده زیر برای ساخت لوپnjبک آنالوگ استفاده نمود:
https://source.android.com/devices/audio/loopback.html
اگر tinyalsa در سیستم نصب باشد، کاربر میnjتواند با گزینه پیکربندی "--enable-alsabat-backend-tiny" کتابخانه tinyalsa را بهnjعنوان کتابخانه زیرساخت (backend) انتخاب کند.
گزینهها (OPTIONS)
- -h, --help
- راهنما: نمایش نحو دستور.
- -D
- انتخاب کارت صدا جهت آزمایش بر اساس نام.
- -P
- انتخاب دستگاه پخش PCM.
- -C
- انتخاب دستگاه ضبط PCM.
- -f
- قالب
نمونهnjبرداری
(Sample format).
قالبnjهای نمونهnjبرداری شناختهnjشده عبارتند از: U8 S16_LE S24_3LE S32_LE
برخی از این موارد ممکن است در سختnjافزار انتخابnjشده پشتیبانی نشوند.
میانnjبرهای قالبی در دسترس عبارتند از:-f cd (16 bit little endian, 44100, stereo) [-f S16_LE -c2 -r44100] -f dat (16 bit little endian, 48000, stereo) [-f S16_LE -c2 -r48000]
اگر قالبی مشخص نشود، S16_LE استفاده میnjشود. - -c
- تعداد کانالnjها. پیشnjفرض یک کانال است. مقادیر معتبر در حال حاضر ۱ یا ۲ هستند.
- -r
- نرخ نمونهnjبرداری بر حسب هرتز. نرخ پیشnjفرض ۴۴۱۰۰ هرتز است. مقادیر معتبر به پشتیبانی سختnjافزار بستگی دارد.
- -n
- مدت زمان
سیگنال
تولیدشده.
مقدار
میnjتواند
به یکی از
دو فرم زیر
باشد:
۱. عدد صحیح دهnjدهی، به معنی تعداد فریمnjها؛
۲. ممیز شناور با پسوند 's'، به معنی تعداد ثانیهnjها.
پیشnjفرض ۲ ثانیه است. - -k
- مقدار ضریب
سیگما (Sigma k)
برای تحلیل.
تابع تحلیل، دادهnjها را از فایل WAV میnjخواند، FFT را روی دادهnjها اجرا میnjکند تا بزرگی بردارهای فرکانس را به دست آورد، و سپس مقدار میانگین و انحراف معیار بردارهای فرکانس را محاسبه میnjنماید. پس از آن، آستانه تعریف میnjشود:
threshold = k * standard_deviation + mean_value
فرکانسnjهایی با دامنه بزرگتر از آستانه بهnjعنوان پیک (peak) شناخته میnjشوند، و فرکانس با بزرگترین مقدار پیک بهnjعنوان فرکانس تشخیصnjدادهnjشده شناسایی میnjگردد.
سپس ALSABAT فرکانس شناساییnjشده را با فرکانس هدف مقایسه میnjکند تا مشخص کند که آیا آزمون قبول شده یا رد شده است.
مقدار پیشnjفرض ۳٫۰ است. - -F
- فرکانس هدف برای تولید سیگنال و تحلیل، بر حسب هرتز. پیشnjفرض ۹۹۷٫۰ هرتز است. محدوده معتبر عبارت است از (DC_THRESHOLD, 40% * Sampling rate).
- -p
- تعداد کل دورهnjها (periods) برای پخش یا ضبط.
- --log=#
- نوشتن خروجی stderr و stdout در این فایل گزارش.
- --file=#
- فایل صوتی WAV ورودی برای پخش.
- --saveplay=#
- فایل WAV مقصد برای ذخیره محتوای تست ضبطnjشده.
- --local
- حالت لوپnjبک داخلی. پخش، ضبط و تحلیل فقط در داخل ALSABAT انجام میnjشود. این ویژگی برای توسعهnjدهندگان جهت تست قابلیتnjهای جدید ALSABAT طراحی شده است زیرا هیچ صدایی به خارج از ALSABAT هدایت نمیnjشود.
- --standalone
- افزودن پشتیبانی از حالت مستقل که در آن ALSABAT بر روی ماشینی متفاوت از ماشین تحت آزمون اجرا خواهد شد. در حالت مستقل، دادهnjهای صوتی همانند حالت عادی میnjتوانند تولید، پخش و ضبط شوند، اما تحلیل نخواهند شد. ابزار ALSABAT که بدون پشتیبانی از libfftw3 کامپایل شده باشد همیشه در حالت مستقل است. ابزار ALSABAT در حالت عادی نیز میnjتواند با استفاده از گزینه "--standalone" از مرحله تحلیل دادهnjها عبور کند.
- --roundtriplatency
- تست تأخیر رفت و برگشت (Round trip latency). تأخیر صدا مدت زمانی است که یک سیگنال صوتی از درون یک سیستم عبور میnjکند. معیارهای تأخیر صوتی مختلفی وجود دارد. یک معیار مفید، تأخیر رفت و برگشت است که مجموع تأخیر خروجی و تأخیر ورودی است.
- --snr-db=#
- آستانه تشخیص نویز بر حسب SNR (دسیnjبل). مقدار 26dB نشانnjدهنده ۵٪ نویز در دامنه است. اگر SNR سیگنال کمتر از آستانه باشد، ALSABAT خطا برمیnjگرداند.
- --snr-pc=#
- آستانه تشخیص نویز بر حسب درصد دامنه نویز (٪). اگر دامنه نویز بزرگتر از آستانه باشد، ALSABAT خطا برمیnjگرداند.
مثالها (EXAMPLES)
- alsabat -P plughw:0,0 -C plughw:0,0 -c 2 -f S32_LE -F 250
- تولید و پخش یک موج سینوسی ۲۵۰ هرتز با ۲ کانال و قالب S32_LE، و سپس ضبط و تحلیل آن.
- alsabat -P plughw:0,0 -C plughw:0,0 --file 500Hz.wav
- پخش فایل RIFF WAV به نام "500Hz.wav" که شامل دادهnjهای LPCM شکل موج ۵۰۰ هرتز است، و سپس ضبط و تحلیل آن.
مقادیر بازگشتی (RETURN VALUE)
در صورت
موفقیت،
مقدار ۰ را
برمیnjگرداند.
اگر هیچ
پیکی
شناسایی
نشود،
مقدار 1001- را
برمیnjگرداند؛
اگر فقط
مولفه DC
شناسایی
شود، مقدار
1002- را
برمیnjگرداند؛
اگر فرکانس
پیک با
فرکانس هدف
تطابق
نداشته
باشد،
مقدار 1003- را
برمیnjگرداند.
همچنین ببینید (SEE ALSO)
اشکالات (BUGS)
در حال حاضر تنها از قالب RIFF WAV با دادهnjهای PCM پشتیبانی میnjشود. لطفاً هرگونه اشکال را به فهرست ایمیل alsa-devel گزارش دهید.
نویسندگان (AUTHORS)
ابزار alsabat توسط Liam Girdwood <liam.r.girdwood@linux.intel.com>، Bernard Gautier <bernard.gautier@intel.com> و Han Lu <han.lu@intel.com> نوشته شده است. این سند توسط Liam Girdwood <liam.r.girdwood@linux.intel.com> و Han Lu <han.lu@intel.com> تهیه شده است.
| 20th October 2015 |