AUBIOPITCH(1) aubio User's manual AUBIOPITCH(1)

aubiopitch - ابزار خط فرمان برای استخراج زیروبمی موسیقی (pitch)

aubiopitch source
aubiopitch [[-i] source] [-o sink]
           [-r rate] [-B win] [-H hop]
           [-p method] [-u unit] [-l thres]
           [-T time-format]
           [-s sil] [-f]
           [-v] [-h] [-j]

aubiopitch تلاش می‌کند زیروبمی صدا (pitch)، یعنی ارتفاع درک‌شده از یک نت موسیقی را شناسایی کند.

هنگام اجرا با یک پرونده ورودی source (-i/--input)، مقادیر زیروبمی شناسایی‌شده به همراه یک برچسب زمانی بر حسب ثانیه در کنسول چاپ می‌شوند. اگر هیچ نامزدی برای زیروبمی یافت نشود، خروجی 0 خواهد بود.

هنگام اجرا بدون منبع ورودی source، یا با گزینه جک (-j/--jack)، برنامه aubiopitch در حالت jack اجرا می‌شود.

این برنامه از قواعد مرسوم خط فرمان GNU پیروی می‌کند که در آن گزینه‌های طولانی با دو خط تیره (--) آغاز می‌شوند. خلاصه‌ای از گزینه‌ها در زیر آمده است.

اجرای تحلیل بر روی این پرونده صوتی. بیشتر قالب‌های فشرده و غیرفشرده پشتیبانی می‌شوند، بسته به نحوه ساخت aubio.
ذخیره نتایج در این پرونده. پرونده بر پایه مدل پرونده ورودی ایجاد خواهد شد. بسامد (فرکانس) شناسایی‌شده با بلندی صدای شناسایی‌شده پخش می‌شود.
دریافت منبع ورودی source، نمونه‌برداری مجدد با نرخ نمونه‌برداری داده‌شده rate. نرخ باید به عنوان یک عدد صحیح بر حسب هرتز مشخص شود. اگر 0 باشد، نرخ نمونه‌برداری منبع اصلی source استفاده خواهد شد. پیش‌فرض 0 است.
اندازه بافر برای تحلیل، یعنی طول پنجره مورد استفاده برای محاسبات طیفی و زمانی. پیش‌فرض 2048 است.
تعداد نمونه‌ها بین دو تحلیل متوالی. پیش‌فرض 256 است.
روش تشخیص زیروبمی method مورد استفاده. بخش روش‌های زیروبمی (PITCH METHODS) را در زیر ببینید. پیش‌فرض 'default' است.
واحد unit مورد استفاده برای چاپ بسامدها. مقادیر ممکن عبارتند از midi، bin، cent و Hz. پیش‌فرض 'Hz' است.
تنظیم میزان رواداری (tolerance) برای الگوریتم تشخیص زیروبمی. مقادیر معمول بین 0.2 و 0.9 متغیر هستند. نامزدهای زیروبمی که با اطمینان کمتر از این آستانه یافت شوند، انتخاب نخواهند شد. هرچه آستانه بالاتر باشد، اطمینان به نامزدها بیشتر است. پیش‌فرض تنظیم‌نشده است.
تنظیم آستانه سکوت بر حسب دسی‌بل (dB) که پایین‌تر از آن، شروع صدا (onset) تشخیص داده نخواهد شد. مقدار -20.0 بیشتر صداها به جز بلندترین آن‌ها را حذف می‌کند. مقدار -90.0 همه شروع‌های صدا را انتخاب می‌کند. پیش‌فرض -90.0 است.
تنظیم قالب زمان (samples، ms، seconds). پیش‌فرض seconds است.
مخلوط کردن سیگنال ورودی source با سیگنال خروجی پیش از نوشتن در sink.
بازنویسی پرونده خروجی در صورتی که از قبل وجود داشته باشد.
استفاده از ورودی/خروجی Jack. برای ارسال سیگنال به aubio و شنیدن خروجی آن به یک کنترل‌کننده اتصال Jack نیاز خواهید داشت.
چاپ یک پیام راهنمای کوتاه و خروج.
حالت پرگو (نمایش جزئیات بیشتر).

روش‌های موجود عبارتند از:

استفاده از روش پیش‌فرض method

در حال حاضر، روش پیش‌فرض بر روی yinfft تنظیم شده است.

تریگر اشمیت (Schmitt trigger)

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

یک فیلتر شانه هارمونیک سریع (fast harmonic comb filter)

این روش استخراج زیروبمی از یک فیلتر شانه هارمونیک سریع برای تعیین بسامد پایه یک صدای هارمونیک استفاده می‌کند.

فیلتر چندشانه‌ای (multiple-comb filter)

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

تابع خودهمبستگی طیفی (Spectral auto-correlation function)
الگوریتم YIN

این الگوریتم توسط A. de Cheveigne و H. Kawahara توسعه یافته و اولین بار در مقاله زیر منتشر شد:

De Cheveigné, A., Kawahara, H. (2002) "YIN, a fundamental frequency estimator for speech and music", J. Acoust. Soc. Am. 111, 1917-1930.

الگوریتم Yinfft

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

Paul Brossier, Automatic annotation of musical audio for interactive systems, Chapter 3, Pitch Analysis, PhD thesis, Centre for Digital music, Queen Mary University of London, London, UK, 2006.

الگوریتم YIN (شتاب‌یافته)

یک پیاده‌سازی بهینه‌شده از الگوریتم YIN که نتایجی یکسان با الگوریتم اصلی YIN ارائه می‌دهد، در حالی که هزینه محاسباتی آن را از O(n^2) به O(n log(n)) کاهش می‌دهد.

aubioonset(1), aubiotrack(1), aubionotes(1), aubioquiet(1), aubiomfcc(1), و aubiocut(1).

این صفحه راهنما توسط Paul Brossier <piem@aubio.org> نوشته شده است. اجازه کپی، توزیع و/یا تغییر این سند تحت شرایط مجوز عمومی همگانی گنو (GNU GPL) نسخه ۳ یا (به انتخاب شما) هر نسخه بالاتر منتشرشده توسط بنیاد نرم‌افزار آزاد داده می‌شود.

04 August 2026 aubio 0.4.9