.\" Automatically generated by Pandoc 3.1.12.3 .\" .TH "man" "1" "" "Version 2.85.9 (30\-June\-2026)" "Faust man page" .SH "نام (NAME)" faust \- تبدیل DSP به C/C++، CMajor، Codebox، CSharp، DLang، مفسر، Java، LLVM IR، Julia، JSFX، Rust و WebAssembly (wast/wasm) .SH "خلاصه دستور (SYNOPSIS)" \f[B]faust\f[R] [گزینه‌ها] file1 [file2 \&...] .SH "توضیحات (DESCRIPTION)" Faust (جریان صوتی تابعی یا Functional Audio Stream) یک زبان برنامه‌نویسی تابعی است که به‌طور ویژه برای پردازش و سنتز بی‌درنگ سیگنال (real\-time signal processing and synthesis) طراحی شده است. Faust برنامه‌های پردازش سیگنال با کارایی بالا و پلاگین‌های صوتی را برای پلتفرم‌ها و استانداردهای گوناگون هدف قرار می‌دهد. .SH "گزینه‌ها (OPTIONS)" .SS "گزینه‌های ورودی (Input options):" \f[B]\-a\f[R] فایل معماری بسته‌بندی‌کننده (wrapper architecture file). .PP \f[B]\-i\f[R] \f[B]\-\-inline\-architecture\-files\f[R] درون‌خط‌سازی فایل‌های معماری. .PP \f[B]\-A\f[R] \f[B]\-\-architecture\-dir\f[R] افزودن پوشه به مسیر جستجوی معماری. .PP \f[B]\-I\f[R] \f[B]\-\-import\-dir\f[R] افزودن پوشه به مسیر جستجوی کتابخانه‌ها. .PP \f[B]\-L\f[R] \f[B]\-\-library\f[R] پیوند (link) با ماژول LLVM مشخص‌شده در . .SS "گزینه‌های خروجی (Output options):" \f[B]\-o\f[R] فایل خروجی. .PP \f[B]\-e\f[R] \f[B]\-\-export\-dsp\f[R] برون‌ریزی DSP گسترش‌یافته (همراه با تمام کتابخانه‌های گنجانده‌شده). .PP \f[B]\-uim\f[R] \f[B]\-\-user\-interface\-macros\f[R] افزودن تعاریف ماکروی رابط کاربری به کد خروجی. .PP \f[B]\-xml\f[R] تولید یک فایل توصیف XML. .PP \f[B]\-json\f[R] تولید یک فایل توصیف JSON. .PP \f[B]\-O\f[R] \f[B]\-\-output\-dir\f[R] تعیین پوشه نسبی برای کد خروجی تولیدشده و فایل‌های اضافی تولیدی (SVG، XML و\&...). .SS "گزینه‌های تولید کد (Code generation options):" \f[B]\-lang\f[R] \f[B]\-\-language\f[R] گزینش زبان خروجی؛ مقدار باید یکی از موارد asc، c، cpp (پیش‌فرض)، cmajor، codebox، csharp، dlang، fir، interp، java، jax، jsfx، julia، llvm، ocpp، rust، sdf3، vhdl یا wast/wasm باشد. .PP \f[B]\-single\f[R] \f[B]\-\-single\-precision\-floats\f[R] استفاده از ممیز شناور با دقت یگانه (single precision) برای محاسبات داخلی (پیش‌فرض). .PP \f[B]\-double\f[R] \f[B]\-\-double\-precision\-floats\f[R] استفاده از ممیز شناور با دقت مضاعف (double precision) برای محاسبات داخلی. .PP \f[B]\-quad\f[R] \f[B]\-\-quad\-precision\-floats\f[R] استفاده از ممیز شناور با دقت چهارگانه (quad precision) برای محاسبات داخلی. .PP \f[B]\-fx\f[R] \f[B]\-\-fixed\-point\f[R] استفاده از ممیز ثابت (fixed\-point) برای محاسبات داخلی. .PP \f[B]\-fx\f[R]\-size \f[B]\-\-fixed\-point\-size\f[R] اندازه کل اعداد ممیز ثابت بر حسب بیت (\-1 برای تولید یک نوع داده fixpoint_t یکتا به کار می‌رود). .PP \f[B]\-es\f[R] 1|0 \f[B]\-\-enable\-semantics\f[R] 1|0 استفاده از معناشناسی فعال‌سازی در صورت 1 (پیش‌فرض)، و در غیر این صورت ضرب ساده. .PP \f[B]\-lcc\f[R] \f[B]\-\-local\-causality\-check\f[R] بررسی علیت (causality) در سطح محلی نیز. .PP \f[B]\-light\f[R] \f[B]\-\-light\-mode\f[R] عدم تولید کامل DSP API. .PP \f[B]\-clang\f[R] \f[B]\-\-clang\f[R] هنگام کامپایل با clang/clang++، دستورهای پیش‌پردازنده #pragma ویژه را برای برداری‌سازی خودکار می‌افزاید. .PP \f[B]\-nvi\f[R] \f[B]\-\-no\-virtual\f[R] عدم افزودن کلیدواژه \(lqvirtual\(rq هنگام کامپایل با پسانه C++. .PP \f[B]\-fp\f[R] \f[B]\-\-full\-parentheses\f[R] همیشه در دو طرف عملگرهای دودویی (binops) پرانتز قرار گیرد. .PP \f[B]\-cir\f[R] \f[B]\-\-check\-integer\-range\f[R] بررسی تبدیل بازه ممیز شناور به عدد صحیح. .PP \f[B]\-exp10\f[R] \f[B]\-\-generate\-exp10\f[R] جایگزینی pow(10,x) با تابع احتمالاً سریع‌تر exp10(x). .PP \f[B]\-os\f[R] \f[B]\-\-one\-sample\f[R] تولید محاسبات تک‌نمونه‌ای. .PP \f[B]\-ec\f[R] \f[B]\-\-external\-control\f[R] تفکیک توابع \(lqcontrol\(rq و \(lqcompute\(rq. .PP \f[B]\-it\f[R] \f[B]\-\-inline\-table\f[R] درون‌خط‌سازی کد rdtable/rwtable در کلاس اصلی. .PP \f[B]\-cm\f[R] \f[B]\-\-compute\-mix\f[R] ترکیب در بافرهای خروجی (mix in outputs buffers). .PP \f[B]\-ct\f[R] \f[B]\-\-check\-table\f[R] بررسی محدوده اندیس rtable/rwtable و تولید کد دسترسی امن [0/1: به صورت پیش‌فرض 1]. .PP \f[B]\-cn\f[R] \f[B]\-\-class\-name\f[R] تعیین نام کلاس dsp برای استفاده به جای mydsp. .PP \f[B]\-scn\f[R] \f[B]\-\-super\-class\-name\f[R] تعیین نام ابرکلاس برای استفاده به جای dsp. .PP \f[B]\-pn\f[R] \f[B]\-\-process\-name\f[R] تعیین نام نقطه ورود dsp به جای process. .PP \f[B]\-mcd\f[R] \f[B]\-\-max\-copy\-delay\f[R] استفاده از تاخیر رونوشت (copy delay) تا حداکثر تاخیر و تاخیر متراکم بالاتر از آن (تنها در ocpp) یا یک بافر حلقه‌ای (پیش‌فرض ۱۶ نمونه). .PP \f[B]\-mdd\f[R] \f[B]\-\-max\-dense\-delay\f[R] استفاده از تاخیر متراکم تا حداکثر تاخیر (در صورت وجود تراکم کافی) و تاخیر بافر حلقه‌ای بالاتر از آن (تنها در ocpp، پیش‌فرض ۱۰۲۴). .PP \f[B]\-mdy\f[R] \f[B]\-\-min\-density\f[R] حداقل تراکم (100*تعداد تاخیرها/حداکثر تاخیر) برای استفاده از تاخیرهای متراکم (تنها در ocpp، پیش‌فرض ۳۳). .PP \f[B]\-dlt\f[R] \f[B]\-\-delay\-line\-threshold\f[R] استفاده از تاخیرهای بافر حلقه‌ای مبتنی بر ماسک تا حداکثر تاخیر و بافرهای حلقه‌ای مبتنی بر انتخاب بالاتر از آن (پیش‌فرض INT_MAX نمونه). .PP \f[B]\-mem\f[R] \f[B]\-\-memory\-manager\f[R] انجام تخصیص‌ها با استفاده از یک مدیر حافظه سفارشی. .PP \f[B]\-mem1\f[R] \f[B]\-\-memory\-manager1\f[R] انجام تخصیص‌ها با استفاده از یک مدیر حافظه سفارشی، با استفاده از مدل iControl/fControl و iZone/fZone. .PP \f[B]\-mem2\f[R] \f[B]\-\-memory\-manager2\f[R] استفاده از مدل iControl/fControl و iZone/fZone بدون مدیر حافظه صریح. .PP \f[B]\-mem3\f[R] \f[B]\-\-memory\-manager3\f[R] استفاده از مدل iControl/fControl و iZone/fZone بدون مدیر حافظه صریح به همراه دسترسی از طریق پارامترهای تابع. .PP \f[B]\-ftz\f[R] \f[B]\-\-flush\-to\-zero\f[R] کد اضافه‌شده به سیگنال‌های بازگشتی [0: خیر (پیش‌فرض)، 1: مبتنی بر fabs، 2: مبتنی بر ماسک (سریع‌ترین)]. .PP \f[B]\-rui\f[R] \f[B]\-\-range\-ui\f[R] تعیین تولید یا عدم تولید کد برای محدود کردن مقادیر vslider/hslider/nentry در بازه [min..max]. .PP \f[B]\-fui\f[R] \f[B]\-\-freeze\-ui\f[R] تعیین ثابت نگه‌داشتن یا نداشتن مقادیر vslider/hslider/nentry روی یک مقدار داده‌شده (به‌طور پیش‌فرض مقدار اولیه‌سازی init). .PP \f[B]\-inj\f[R] \f[B]\-\-inject\f[R] تزریق فایل منبع به فایل معماری به جای کامپایل یک فایل dsp. .PP \f[B]\-scal\f[R] \f[B]\-\-scalar\f[R] تولید کد غیربرداری (پیش‌فرض). .PP \f[B]\-inpl\f[R] \f[B]\-\-in\-place\f[R] تولید کدی که هنگام یکسان بودن بافرهای ورودی و خروجی کار می‌کند (تنها در حالت نرده‌ای). .PP \f[B]\-vec\f[R] \f[B]\-\-vectorize\f[R] تولید کدی با قابلیت برداری‌سازی آسان‌تر. .PP \f[B]\-vs\f[R] \f[B]\-\-vec\-size\f[R] اندازه بردار (پیش‌فرض ۳۲ نمونه). .PP \f[B]\-lv\f[R] \f[B]\-\-loop\-variant\f[R] گونهٔ حلقه [0: سریع‌ترین، اندازه بردار ثابت و یک حلقه باقیمانده (پیش‌فرض)، 1: ساده، اندازه بردار متغیر، 2: ثابت، اندازه بردار ثابت]. .PP \f[B]\-omp\f[R] \f[B]\-\-openmp\f[R] تولید دستورهای pragma مربوط به OpenMP؛ گزینه \-\-vectorize را فعال می‌کند. .PP \f[B]\-pl\f[R] \f[B]\-\-par\-loop\f[R] تولید حلقه‌های موازی در حالت \-\-openmp. .PP \f[B]\-sch\f[R] \f[B]\-\-scheduler\f[R] تولید وظایف و استفاده از یک زمان‌بند سرقت کار (Work Stealing)؛ گزینه \-\-vectorize را فعال می‌کند. .PP \f[B]\-ocl\f[R] \f[B]\-\-opencl\f[R] تولید وظایف با OpenCL (آزمایشی). .PP \f[B]\-cuda\f[R] \f[B]\-\-cuda\f[R] تولید وظایف با CUDA (آزمایشی). .PP \f[B]\-dfs\f[R] \f[B]\-\-deep\-first\-scheduling\f[R] زمان‌بندی حلقه‌های برداری به ترتیب عمق-نخست (deep first). .PP \f[B]\-g\f[R] \f[B]\-\-group\-tasks\f[R] گروه‌بندی وظایف متوالی تک‌رشته‌ای با یکدیگر در زمان استفاده از \-omp یا \-sch. .PP \f[B]\-fun\f[R] \f[B]\-\-fun\-tasks\f[R] تفکیک کد وظایف در قالب توابع جداگانه (در حالت‌های \-vec، \-sch یا \-omp). .PP \f[B]\-fm\f[R] \f[B]\-\-fast\-math\f[R] استفاده از نسخه‌های بهینه‌شده توابع ریاضی پیاده‌سازی‌شده در ؛ استفاده از \(lqfaust/dsp/fastmath.cpp\(rq هنگامی که file برابر با \(lqdef\(rq است، و فرض بر این که توابع در فایل معماری تعریف شده‌اند هنگامی که file برابر با \(lqarch\(rq باشد..PP \f[B]\-mapp\f[R] \f[B]\-\-math\-approximation\f[R] نسخه‌های ساده‌تر/سریع‌تر توابع `floor/ceil/fmod/remainder`. .PP \f[B]\-noreprc\f[R] \f[B]\-\-no\-reprc\f[R] (فقط Rust) ساختار dsp را مجبور به پیروی از چیدمان C ABI نمی‌کند. .PP \f[B]\-ns\f[R] \f[B]\-\-namespace\f[R] تولید کد C++ یا D در فضای‌نام . .PP \f[B]\-vhdl\f[R]\-trace \f[B]\-\-vhdl\-trace\f[R] فعال‌سازی ردگیری (trace). .PP \f[B]\-vhdl\f[R]\-float \f[B]\-\-vhdl\-float\f[R] استفاده از قالب IEEE\-754 برای نمونه‌ها به‌جای نقطه ثابت (fixed point). .PP \f[B]\-vhdl\f[R]\-components \f[B]\-\-vhdl\-components\f[R] مسیر فایل توصیف‌کننده مؤلفه‌های سفارشی برای backend زبان VHDL. .PP \f[B]\-fpga\f[R]\-mem \f[B]\-\-fpga\-mem\f[R] حداکثر اندازه block ram در FPGA، مورد استفاده در حالت \-mem1/\-mem2. .PP \f[B]\-fpga\f[R]\-mem\-th \f[B]\-\-fpga\-mem\-th\f[R] آستانه اندازه آرایه در FPGA (بر حسب واحد نوع حافظه)، مورد استفاده در حالت \-mem1/\-mem2. .PP \f[B]\-wi\f[R] \f[B]\-\-widening\-iterations\f[R] تعداد تکرارها پیش از تعریض (widening) در تحدید دامنه سیگنال. .PP \f[B]\-ni\f[R] \f[B]\-\-narrowing\-iterations\f[R] تعداد تکرارها پیش از توقف باریک‌سازی (narrowing) در تحدید دامنه سیگنال. .PP \f[B]\-rnt\f[R] \f[B]\-\-rust\-no\-faustdsp\-trait\f[R] (فقط Rust) پیاده‌سازی trait مربوط به FaustDsp را تولید نمی‌کند. .PP \f[B]\-rnlm\f[R] \f[B]\-\-rust\-no\-libm\f[R] (فقط Rust) فراخوانی‌های FFI به libm را تولید نمی‌کند. .SS "گزینه‌های نمودار بلوکی (Block diagram options):" \f[B]\-ps\f[R] \f[B]\-\-postscript\f[R] چاپ نمودار بلوکی در یک فایل postscript. .PP \f[B]\-svg\f[R] \f[B]\-\-svg\f[R] چاپ نمودار بلوکی در یک فایل svg. .PP \f[B]\-sd\f[R] \f[B]\-\-simplify\-diagrams\f[R] تلاش برای ساده‌سازی بیشتر نمودارها پیش از ترسیم. .PP \f[B]\-drf\f[R] \f[B]\-\-draw\-route\-frame\f[R] رسم قاب‌های مسیر (route frames) به‌جای کابل‌های ساده. .PP \f[B]\-f\f[R] \f[B]\-\-fold\f[R] آستانه برای فعال‌سازی حالت تا کردن (folding) در حین تولید نمودار بلوکی (پیش‌فرض 25 عنصر). .PP \f[B]\-fc\f[R] \f[B]\-\-fold\-complexity\f[R] آستانه پیچیدگی برای تا کردن یک عبارت در حالت تا کردن (پیش‌فرض 2). .PP \f[B]\-mns\f[R] \f[B]\-\-max\-name\-size\f[R] آستانه طول نام در حین تولید نمودار بلوکی (پیش‌فرض 40 نویسه). .PP \f[B]\-sn\f[R] \f[B]\-\-simple\-names\f[R] استفاده از نام‌های ساده (بدون آرگومان‌ها) در هنگام تولید نمودار بلوکی. .PP \f[B]\-blur\f[R] \f[B]\-\-shadow\-blur\f[R] افزودن محوشدگی سایه (shadow blur) به جعبه‌های SVG. .PP \f[B]\-sc\f[R] \f[B]\-\-scaled\-svg\f[R] قالب SVG مقیاس‌پذیر خودکار. .SS "گزینه‌های مستندات ریاضی (Math doc options):" \f[B]\-mdoc\f[R] \f[B]\-\-mathdoc\f[R] چاپ مستندات ریاضی برنامه Faust در قالب LaTeX درون پوشه \-mdoc. .PP \f[B]\-mdlang\f[R] \f[B]\-\-mathdoc\-lang\f[R] در صورت وجود فایل ترجمه ( = en, fr, \&...). .PP \f[B]\-stripmdoc\f[R] \f[B]\-\-strip\-mdoc\-tags\f[R] حذف برچسب‌های mdoc هنگام چاپ فهرست‌های Faust \-mdoc. .SS "گزینه‌های اشکال‌زدایی (Debug options):" \f[B]\-d\f[R] \f[B]\-\-details\f[R] چاپ جزئیات کامپایل. .PP \f[B]\-time\f[R] \f[B]\-\-compilation\-time\f[R] نمایش اطلاعات زمان‌بندی مراحل مختلف کامپایل. .PP \f[B]\-flist\f[R] \f[B]\-\-file\-list\f[R] چاپ فهرست فایل‌ها (شامل کتابخانه‌ها) که برای ارزیابی فرایند به کار رفته‌اند. .PP \f[B]\-tg\f[R] \f[B]\-\-task\-graph\f[R] چاپ گراف داخلی وظایف (task graph) در قالب dot. .PP \f[B]\-sg\f[R] \f[B]\-\-signal\-graph\f[R] چاپ گراف داخلی سیگنال در قالب dot. .PP \f[B]\-rg\f[R] \f[B]\-\-retiming\-graph\f[R] چاپ گراف داخلی سیگنال پس از زمان‌بندی مجدد (retiming) در قالب dot. .PP \f[B]\-norm\f[R] \f[B]\-\-normalized\-form\f[R] چاپ سیگنال‌ها در قالب نرمال‌شده و خروج. .PP \f[B]\-norm1\f[R] \f[B]\-\-normalized\-form1\f[R] چاپ سیگنال‌ها در قالب نرمال‌شده به همراه شناسه‌ها برای زیرعبارت‌های مشترک و خروج. .PP \f[B]\-me\f[R] \f[B]\-\-math\-exceptions\f[R] بررسی عملگر / برای مخرج 0 و بررسی دامنه توابع remainder، fmod، sqrt، log10، log، acos و asin. .PP \f[B]\-sts\f[R] \f[B]\-\-strict\-select\f[R] تولید کد دقیق (strict) برای `selectX` حتی برای شاخه‌های بدون وضعیت (هر دو محاسبه می‌شوند). .PP \f[B]\-wall\f[R] \f[B]\-\-warning\-all\f[R] چاپ تمامی هشدارها. .PP \f[B]\-t\f[R] \f[B]\-\-timeout\f[R] لغو کامپایل پس از ثانیه (پیش‌فرض 120). .SS "گزینه‌های اطلاعاتی (Information options):" \f[B]\-h\f[R] \f[B]\-\-help\f[R] چاپ این پیام راهنما. .PP \f[B]\-v\f[R] \f[B]\-\-version\f[R] چاپ اطلاعات نسخه و فهرست backendهای تعبیه‌شده. .PP \f[B]\-libdir\f[R] \f[B]\-\-libdir\f[R] چاپ دایرکتوری حاوی کتابخانه‌های Faust. .PP \f[B]\-includedir\f[R] \f[B]\-\-includedir\f[R] چاپ دایرکتوری حاوی سرآیندهای (headers) Faust. .PP \f[B]\-archdir\f[R] \f[B]\-\-archdir\f[R] چاپ دایرکتوری حاوی معماری‌های Faust. .PP \f[B]\-dspdir\f[R] \f[B]\-\-dspdir\f[R] چاپ دایرکتوری حاوی کتابخانه‌های dsp مربوط به Faust. .PP \f[B]\-pathslist\f[R] \f[B]\-\-pathslist\f[R] چاپ مسیرهای معماری‌ها و کتابخانه‌های dsp..SS "متغیرهای محیطی:" FAUST_DEBUG = FAUST_LLVM1 چاپ LLVM IR پیش از بهینه‌سازی. .PP FAUST_DEBUG = FAUST_LLVM2 چاپ LLVM IR پس از بهینه‌سازی. .PP FAUST_DEBUG = FIR_PRINTER چاپ FIR پس از تولید. .PP FAUST_DEBUG = FAUST_LLVM_NO_FM غیرفعال‌سازی بهینه‌سازی fast\f[B]\-math\f[R] در LLVM IR. .PP FAUST_OPT = FAUST_SIG_NO_NORM غیرفعال‌سازی نرمال‌سازی سیگنال. .SS "مثال:" faust \f[B]\-a\f[R] jack\-gtk.cpp \-o myfx.cpp myfx.dsp .SH "همچنین ببینید (SEE ALSO)" وب‌گاه Grame Faust در: \f[B]\c .UR https://faust.grame.fr .UE \c \f[R] .SH "گزارش باگ‌ها (BUGS)" لطفاً باگ‌ها را گزارش دهید به: \f[B]\c .UR https://github.com/grame-cncm/faust/issues .UE \c \f[R] .SH "نویسندگان (AUTHORS)" کپی‌رایت (C) 2002\-2026، GRAME \- Centre National de Creation Musicale. تمامی حقوق محفوظ است.