AUCAT(1) General Commands Manual AUCAT(1)

aucat — ابزار دستکاری فایل‌های صوتی

aucat [-dn] [-b size] [-c channels] [-e enc] [-f device] [-g position] [-h fmt] [-i file] [-m min:max/min:max] [-o file] [-p position] [-q port] [-r rate] [-v volume]

ابزار aucat می‌تواند فایل‌های صوتی را به‌صورت بلادرنگ پخش، ضبط، میکس و پردازش کند. در هنگام پخش، aucat داده‌های صوتی را به‌طور هم‌زمان از تمام فایل‌های در حال پخش خوانده، آن‌ها را میکس می‌کند و خروجی را روی دستگاه پخش می‌نماید. به‌طور مشابه، داده‌های صوتی ضبط‌شده از دستگاه را در فایل‌های متناظر ذخیره می‌کند. یک حالت برون‌خط (off-line) می‌تواند برای پردازش فایل‌های صوتی بدون درگیر کردن سخت‌افزار صوتی به کار رود. پردازش‌ها شامل موارد زیر است:

  • تغییر کدگذاری (encoding) صدا.
  • مسیریابی صدا از یک کانال به کانال دیگر.
  • کنترل بلندی صدای پخش به ازای هر فایل.

در نهایت، aucat می‌تواند پیام‌های MIDI را بپذیرد که برای موارد زیر کاربرد دارند:

  • کنترل بلندی صدا.
  • شروع، توقف و تغییر موقعیت پخش و ضبط.

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

size
اندازه بافر دستگاه صوتی بر حسب فریم. پیش‌فرض 7680 است.
channels
تعداد کانال‌های فایل صوتی. پیش‌فرض 2 است، یعنی استریو (stereo).
افزایش سطح جزئیات گزارش‌ها (verbosity).
enc
کدگذاری فایل صوتی. پیش‌فرض s24 است. نام‌های کدگذاری از الگوی زیر پیروی می‌کنند: علامت‌دار بودن (s یا u) به همراه دقت بر حسب بیت، ترتیب بایت‌ها (le یا be) ، تعداد بایت‌ها در هر نمونه (sample)، و تراز‌بندی (msb یا lsb). تنها علامت‌دار بودن و دقت اجباری هستند. مثال‌ها: u8, s16le, s24le3, s24le4lsb.
device
استفاده از این دستگاه صوتی sndio(7). حالت دستگاه و پارامترها از فایل‌های صوتی مشخص می‌شوند. پیش‌فرض default است.
position
رفتن به موقعیت زمانی مشخص‌شده و شروع پخش یا ضبط از آنجا. این گزینه معادل دریافت پیام تغییر موقعیت (relocate) در MMC با همان موقعیت است. موقعیت بر حسب تعداد نمونه‌ها (در نرخ نمونه‌برداری دستگاه) بیان می‌شود.
fmt
نوع فایل صوتی. انواع فایل‌های زیر پشتیبانی می‌شوند:
فایل بدون سرایند (Headerless).
قالب فایلی WAV مایکروسافت.
قالب فایل تبادل صوتی اپل (AIFF).
قالب فایل صوتی Sun/NeXT.
تلاش برای حدس نوع فایل بر اساس نام آن. این مقدار پیش‌فرض است.
file
پخش این فایل صوتی. اگر آرگومان گزینه ‘-’ باشد، از ورودی استاندارد استفاده خواهد شد.
min:max/min:max
نگاشت محدوده مشخص‌شده از کانال‌های مبدا به محدوده مشخص‌شده از کانال‌های مقصد.
حالت برون‌خط (Off-line). خواندن فایل‌های ورودی و ذخیره نتیجه در فایل‌های خروجی با پردازش بلادرنگ آن‌ها. این حالت برای میکس، تفکیک (demultiplex)، نمونه‌برداری مجدد (resample) یا تغییر کدگذاری فایل‌های صوتی به‌صورت برون‌خط کاربرد دارد. این حالت دست‌کم به یک ورودی (-i) و یک خروجی (-o) نیاز دارد.
file
ضبط در این فایل صوتی. اگر آرگومان گزینه ‘-’ باشد، از خروجی استاندارد استفاده خواهد شد.
position
آفست زمانی که نقطه آغاز فایل به آن تعلق دارد. نخستین نمونه فایل زمانی پخش یا ضبط می‌شود که دستگاه به موقعیت داده‌شده برسد. موقعیت بر حسب تعداد نمونه‌ها (در نرخ نمونه‌برداری دستگاه) بیان می‌شود.
port
کنترل مشخصه‌های دستگاه صوتی از طریق این درگاه MIDI. این مورد شامل حجم صدای هر جریان و توانایی شروع، توقف و تغییر موقعیت هم‌گام فایل‌های صوتی است.
rate
نرخ نمونه‌برداری فایل صوتی بر حسب هرتز. پیش‌فرض 48000 است.
volume
تضعیف نرم‌افزاری بلندی صدای فایل برای پخش. مقدار باید بین 1 و 127 باشد، که متناظر با تضعیف -42dB تا -0dB در گام‌های 1/3dB است. پیش‌فرض 127 است، یعنی بدون تضعیف.

در خط فرمان، پارامترهای وابسته به هر فایل (-cehmrv) باید پیش از تعریف فایل (-io) قرار گیرند.

اگر به aucat سیگنال‌های SIGHUP ، SIGINT یا SIGTERM ارسال شود، عملیات ضبط در فایل‌ها خاتمه می‌یابد.

aucat می‌تواند از طریق MIDI (-q) به شیوه زیر کنترل شود: یک کانال MIDI به هر جریان اختصاص می‌یابد، و میزان بلندی صدا با کنترلر استاندارد صدا (شماره 7) تغییر می‌کند. حجم صدای کلی (Master volume) با استفاده از پیام سیستم اختصاصی (SysEx) استانداردِ Master Volume قابل تغییر است.

تمامی فایل‌های صوتی توسط پیام‌های MMC زیر کنترل می‌شوند:

relocate
تمام فایل‌ها به موقعیت زمانی درخواست‌شده منتقل می‌شوند. اگر این موقعیت فراتر از انتهای یک فایل باشد، آن فایل به‌طور موقت غیرفعال می‌شود تا زمانی که موقعیت معتبری درخواست شود.
start
پخش و/یا ضبط آغاز می‌شود.
stop
پخش و/یا ضبط متوقف شده و تمام فایل‌ها به نقطه آغازین بازگردانده می‌شوند.

کنترل MIDI برای کارکرد در کنار sndiod(8) طراحی شده است. برای نمونه، دستور زیر دو دستگاه ایجاد می‌کند: دستگاه پیش‌فرض snd/default و یک دستگاه تحت کنترل MMC با نام snd/default.mmc:

$ sndiod -r 48000 -z 480 -s default -t slave -s mmc

برنامه‌هایی که از snd/default استفاده می‌کنند رفتار عادی خواهند داشت، در حالی که برنامه‌های استفاده‌کننده از snd/mmc منتظر سیگنال شروع MMC مانده و به‌صورت هم‌گام آغاز به کار می‌کنند. سپس، دستور زیر فایلی را روی دستگاه صوتی snd/mmc پخش می‌کند و کنترل کامل را در اختیار نرم‌افزار یا سخت‌افزار MIDI متصل به درگاه MIDI midithru/0 قرار می‌دهد:

$ aucat -f snd/mmc -q midithru/0 -i file.wav

در این مرحله، aucat با فرض پیکربندی برای ارسال MMC روی midithru/0 و snd/mmc ، به‌صورت خودکار با تمامی اقدامات کاربر در ترتیب‌سنج (sequencer) سازگار شده و عملیات شروع، توقف و جابه‌جایی را انجام می‌دهد. علاوه بر این، ترتیب‌سنج MIDI می‌تواند طوری تنظیم شود که از درگاه snd/mmc به عنوان منبع کلاک MTC بهره ببرد، که هم‌گامی قطعی با پخش file.wav را تضمین می‌کند.

میکس و پخش هم‌زمان دو فایل در حین ضبط یک فایل سوم:

$ aucat -i file1.wav -i file2.wav -o file3.wav

ضبط کانال‌های 2 و 3 در یک فایل استریو و کانال‌های 6 و 7 در یک فایل استریوی دیگر، با نرخ نمونه‌برداری 44.1kHz برای هر دو:

$ aucat -r 44100 -m 2:3/0:1 -o file1.wav -m 6:7/0:1 -o file2.wav

تقسیم یک فایل استریو به دو فایل مونو:

$ aucat -n -i stereo.wav -c 1 -m 0:0/0:0 -o left.wav \
	-m 1:1/0:0 -o right.wav

cdio(1), audio(4), sndio(7), audioctl(8), mixerctl(8), sndiod(8)

فرایند نمونه‌برداری مجدد (Resampling) کیفیت پایینی دارد.

محدودیت‌های ذاتی در قالب‌های فایلی wav ، aiff و au وجود دارد: همه انواع کدگذاری‌ها پشتیبانی نمی‌شوند، اندازه فایل‌ها به 2 گیگابایت محدود است، و فایل‌ها حتماً باید از فراخوانی lseek(2) پشتیبانی کنند (برای مثال pipeها از آن پشتیبانی نمی‌کنند).

October 29, 2026 Linux 6.12.113+deb13-amd64