| timidity.cfg(5) | File Formats Manual | timidity.cfg(5) |
نام (NAME)
timidity.cfg - فایل پیکربندی TiMidity++
توضیحات (DESCRIPTION)
فایل timidity.cfg
محیطهای
زمان اجرای
timidity(1) را توصیف
میکند:
مانند مسیر
فونتهای
صوتی (soundfont)،
پیکربندی
سازها و
غیره.
برنامه TiMidity++
در هنگام
راهاندازی
و پیش از
پردازش
هرگونه
گزینهای
به دنبال
فایل
پیکربندی
timidity.cfg
میگردد.
اگر این
فایل قابل
دسترسی
نباشد و
مسیر
کتابخانه
با گزینه -L
در خط فرمان
تغییر کند،
پس از
پردازش
تمام
گزینهها،
فایل
پیشفرض
مجدداً در
مسیر
کتابخانه
جدید جستجو
خواهد شد،
مگر آنکه
فایل
پیکربندی
دیگری با
گزینه -c
مشخص شده
باشد.
فایلهای
پیکربندی،
نگاشت
برنامههای
MIDI به
فایلهای
سازها را
تعریف
میکنند.
میتوان
چندین فایل
را مشخص کرد
که دستورات
موجود در
فایلهای
بعدی،
مقادیر
فایلهای
پیشین را
بازنویسی
خواهند
کرد.
متغیرها (VARIABLE)
هنگامی که نویسههای الفبایی-عددی یا زیرخط `_' پس از علامت دلار `$' بیایند، آن رشته به عنوان متغیر در نظر گرفته شده و در حین پردازش فایل پیکربندی به رشته دیگری تبدیل میشود. نام متغیر میتواند درون پرانتز یا آک getUserلاد نیز قرار گیرد تا از نویسه بعدی تفکیک شود.
برای مثال:
$variable
${variable} # همان $variable
است
در حال
حاضر
دستوری
برای تعریف
متغیر جدید
تعبیه نشده
است. متغیر
تعریفنشده
به رشته تهی
تبدیل
میشود.
تنها
متغیری که
به عنوان یک
متغیر
استاندارد
تعریف شده
مورد زیر
است:
- $basedir
- دایرکتوری
محل
قرارگیری
فایل
پیکربندی
را نشان
میدهد.
عمدتاً
توسط
دستوراتی
که مسیر
مشخص
میکنند
جهت تعیین
مسیر نسبی
از فایل
تنظیمات به
کار میرود.
هنگامی که ممکن است فاصلهای در $basedir وجود داشته باشد، لازم است آن را درون "" قرار دهید.برای مثال:
در /usr/local/share/timidity/timidity.cfg
dir $basedir/inst # مبدا /usr/local/share/timidity/inst
نحو و دستورات (SYNTAX)
عبارات زیر میتوانند در فایل پیکربندی استفاده شوند:
- dir directory [...]
- دایرکتوری
directory را
همانند
گزینه -L در
خط فرمان به
مسیر جستجو
اضافه
میکند.
فایلهای آرشیو نیز مجاز هستند.برای مثال:
dir /usr/local/share/timidity/inst/foo.zip#
bank 0
0 bar.pat
1 baz.pat
2 zoo.patدر ابتدا dir نام فایل آرشیو را (همراه با `#` در انتهای آن) برای مسیر فایلهای پچ همانند نام دایرکتوری مشخص میکند (در این مثال /usr/local/share/timidity/inst/foo.zip). برنامه TiMidity++ در صورتی که نویسه پایانی عبارت `#` باشد تشخیص میدهد که مسیر یک فایل آرشیو است و فایلهای موجود در آن آرشیو را نیز میخواند. در مثال قبلی فایلهای پچ bar.pat، baz.pat و zoo.pat موجود در foo.zip نیز لود میشوند.
- source file [...]
- یک فایل پیکربندی دیگر را خوانده و سپس به پردازش فایل جاری ادامه میدهد.
- progbase number
- شماره ساز/صدا را از number تا number+128 تنظیم و نمایش میدهد. اگر progbase 1 مشخص شود، شمارههای بعدی به عنوان اعداد بین 1 تا 128 تنظیم و نمایش داده میشوند.
- bank [MapID1] number
- بانک صدایی را که باید تغییر کند انتخاب میکند. نگاشتهای پچ پس از آن بر این بانک صوتی اعمال خواهند شد. شما میتوانید یک نگاشت خاص را با تعیین هر یک از موارد زیر به عنوان MapID1 هدف قرار دهید: gm2، sc55، sc88، sc88pro، sc8850، xg و xgsfx64.
- drumset [MapID2] number
- مجموعه سازهای کوبهای (درامست) مورد نظر را برای تغییر انتخاب میکند. نگاشتهای پچ پس از آن بر این درامست اثر خواهند گذاشت. میتوانید با تعیین هر یک از موارد زیر به عنوان MapID2 نقشه خاصی را مشخص کنید: gm2drum، sc55drum، sc88drum، sc88prodrum، sc8850drum، xgdrum و xgsfx126.
- number file [options]
-
- number %font file bank prog [key] [options]
-
- number %sample file [options]
- مشخص میکند که شماره برنامه MIDI در بانک صدا یا درامست جاری باید با استفاده از فایل پچ نواخته شود. اگر file یک SoundFont باشد، ساز مشخص با bank، prog و key در قالب number %font استخراج میشود. اگر file دادههای صوتی خطی AIFF یا WAV باشد، شماره برنامه MIDI با قالب number %sample تعیین میشود. گزینهها میتوانند هر یک از موارد زیر باشند:
- amp=amplification
- میزان بلندی صدای ساز را به اندازه amplification درصد تقویت میکند. در صورت عدم تعیین مقدار، هنگام بارگیری ساز به طور خودکار تعیین خواهد شد.
- note=note
- نت ثابت MIDI مورد استفاده هنگام نواختن ساز را مشخص میکند. اگر note برابر با 0 باشد، ساز با هر نتی که رویداد Note On تحریککننده آن داشته باشد نواخته خواهد شد. برای سازهای کوبهای، در صورت عدم تعیین مقدار در فایل پیکربندی، مقدار پیشفرض فایل پچ استفاده میشود.
- pan=panning
- تنظیم جهتگیری و تعادل باند چپ/راست (panning) پیشفرض ساز. مقدار panning میتواند left، right، center، یا عددی صحیح بین -100 تا 100 باشد که به ترتیب نمایانگر منتهیالیه چپ و منتهیالیه راست است. در صورت عدم تعیین مقدار، پیشفرض فایل پچ اعمال میشود. توجه داشته باشید کنترلهای panning درون فایلهای MIDI این مقدار را بازنویسی میکنند.
- tune=tuning[,...]
- فرکانس پایه ساز را تنظیم میکند. مقدار tune=1 فرکانس را به اندازه 1 نیمپرده بالاتر میبرد. از آنجا که مقادیر کسری و اعشاری برای tuning مجاز است، کوک دقیق مانند tune=-0.2 نیز امکانپذیر است. هنگامی که دو یا چند نمونه صوتی وجود دارد، آرگومانهای بعدی میتوانند مقادیر متفاوتی را جداگانه تعیین کنند.
- rate=attack:decay:sustain:release1:release2:release3[,...]
- نرخ ADSR ساز را
تنظیم
میکند. هر
مقدار
میتواند
عددی صحیح
بین 0 تا 255
باشد. زمانی
که تنها نرخ
پایداری (sustain)
را تنظیم
میکنید:
6 GUS/hrpschrd.pat rate=::60
قابل استفاده است. هنگامی که فقط میخواهید زمان حمله (attack) سریعتر شود:
6 GUS/hrpschrd.pat rate=255
قابل استفاده خواهد بود. هنگامی که شامل دو یا چند نمونه صوتی باشد، آرگومانهای پس از آرگومان دوم میتوانند مقادیر متفاوتی را مشخص کنند.
- offset=attack:decay:sustain:release1:release2:release3[,...]
- آفست ADSR ساز را تنظیم میکند. هر مقدار میتواند عددی صحیح بین 0 تا 255 باشد. قالب آن همانند rate= است.
- keep={loop|env}
- به طور پیشفرض اطلاعات حلقه (loop) و پوش (envelope) از سازهای کوبهای حذف میشود. پوشهای با شکل نامتعارف نیز به طور خودکار از سازهای ملودیک حذف میشوند. گزینه keep= برای جلوگیری از حذف دادههای حلقه یا پوش به کار میرود. برای نمونه سازهای کوبهای سوت کوتاه و بلند (شمارههای ۷۱ و ۷۲ استاندارد General Midi) نیاز دارند تا عبارت `keep=loop keep=env' در فایل پیکربندی آنها قید شود.
- strip={loop|env|tail}
- حذف اجباری اطلاعات حلقه یا پوش از تمامی پچهای ساز، یا حذف دنباله (tail)، یعنی تمام دادههای پس از حلقه تکرار. برخی سازهای متفرقه دادههای زائدی پس از لوپ دارند که با صدای تقتق در هنگام نواختن مشخص میشود، بنابراین افزودن گزینه strip=tail کیفیت صدا را به شکل چشمگیری بهبود میبخشد.
- tremolo=sweep_increment:control_ratio:depth[,...]
- ترمولو (tremolo) ساز را تنظیم میکند. هر مقدار میتواند عددی صحیح بین 0 تا 255 باشد. قالب آن مشابه rate= است. پارامتر sweep_increment زمان تا شروع ترمولو است، control_ratio نرخ تغییر تقویت و depth عمق تغییرات دامنه صدا است.
- vibrato=sweep_increment:phase_increment:depth[,...]
- ویبراتو (vibrato) ساز را تنظیم میکند. هر مقدار میتواند عددی صحیح بین 0 تا 255 باشد. قالب آن مشابه rate= است. پارامتر sweep_increment زمان تا شروع ویبراتو، phase_increment نرخ تغییر فرکانس و depth عمق تغییرات فرکانس است.
- sclnote=note[,...]
- نت استاندارد ساز را برای کوک گام (scale tuning) مشخص میکند. برای مثال sclnote=60 نت میانی C را به عنوان نت مبنا برای کوک مقیاس قرار میدهد. در صورت وجود دو یا چند نمونه داده، آرگومانها از مورد دوم به بعد مقادیر مجزا دریافت میکنند.
- scltune=tune[,...]
- ضریب کوک گام ساز را بر حسب سنت (cent) تنظیم میکند. برای مثال scltune=50 گامهای نیمپرده را معادل 50 سنت قرار میدهد.
- comm=comment
- توضیحات comment را تعیین میکند.
- modrate=attack:decay:sustain:release1:release2:release3[,...]
-
- modoffset=attack:decay:sustain:release1:release2:release3[,...]
- رفتار تغییر پوش مدولاسیون ساز را تنظیم میکند. قالب و مقادیر اساساً همانند پوش صدا (volume envelope) هستند. به جز در برخی فونتهای صوتی، حتی در صورت تنظیم این گزینه اتفاق خاصی رخ نمیدهد.
- envkeyf=attack:decay:sustain:release1:release2:release3[,...]
- پیروی پوش دامنه صدا از کلید نت (key follow) را مشخص میکند. بر پایه note=60 زمان پوش را بر اساس نت تغییر میدهد. واحد آن cent/key+- است. برای نمونه envkeyf=100 یعنی با بالا رفتن به اندازه ۱ اکتاو، زمان attack دو برابر خواهد شد. قالب مشابه rate= است.
- envvelf=attack:decay:sustain:release1:release2:release3[,...]
- پیروی پوش دامنه از شدت ضربه (velocity follow) را مشخص میکند. بر پایه velocity=64 زمان پوش را طبق شدت ضربه تغییر میدهد. واحد آن cent/velocity+- است. برای مثال envvelf=100 بدین معناست که زمان attack در velocity=127 به میزان ۳۸ برابر خواهد شد.
- modkeyf=attack:decay:sustain:release1:release2:release3[,...]
- پیروی پوش مدولاسیون از کلید نت را تعیین میکند. بر پایه note=60 زمان پوش را متناسب با نت تغییر میدهد. واحد آن cent/key+- است.
- modvelf=attack:decay:sustain:release1:release2:release3[,...]
- پیروی پوش مدولاسیون از شدت ضربه را مشخص میکند. بر پایه velocity=64 زمان پوش را متناسب با شدت تغییر میدهد. واحد آن cent/velocity+- است.
- trempitch=num[,...]
- میزان عمق تغییر گام/کوک (pitch) بر اساس ترمولو را تعیین میکند. اثر آن همانند ویبراتو است اما در سیستم دیگری عمل میکند. واحد آن cent+- است و قالب آن مشابه rate= است.
- tremfc=num[,...]
- عمق تغییر فرکانس قطع (cutoff) بر اساس ترمولو را مشخص میکند. میتواند افکت موسوم به growl را ایجاد کند. واحد و قالب مشابه trempitch= است.
- modpitch=num[,...]
- عمق تغییر گام ساز طبق پوش مدولاسیون را تعیین میکند. میتواند به صورت موقت افزایش گام را فقط برای مرحله حمله (attack) شبیهسازی کند.
- modfc=num[,...]
- عمق تغییر فرکانس قطع مطابق پوش مدولاسیون را تعیین میکند.
- fc=num[,...]
- مقدار استاندارد فرکانس قطع ساز را تنظیم میکند. واحد آن هرتز (Hz) است و قالبی مشابه rate= دارد.
- q=num[,...]
- میزان Q (رزونانس یا تشدید) ساز را مشخص میکند. واحد آن cB است و قالبی شبیه به rate= دارد.
- fckeyf=num
- پیروی فیلتر ساز از کلید نت را تنظیم میکند. بر مبنای note=60 فرکانس قطع را نسبت به نت تغییر میدهد. واحد آن cent/key+- است. برای مثال fckeyf=100 یعنی تغییری همگام با تغییر گام ایجاد میکند.
- fcvelf=num
- پیروی فیلتر از شدت ضربه را مشخص میکند. بر مبنای velocity=127 فرکانس قطع را مطابق سرعت ضربه تغییر میدهد. واحد آن cent+- است. در ساوندفونتها مقدار -2400 مقداری مشخصه به شمار میآید.
- qvelf=num
- پیروی رزونانس ساز از شدت ضربه را مشخص میکند. بر مبنای velocity=0 رزونانس را بر اساس ضربه تغییر میدهد. واحد آن cB+- است.
- default file
- هنگامی که یک برنامه MIDI ظاهر شود که به هیچ فایل سازی نگاشت نشده است، این فایل به عنوان جایگزین پخش خواهد شد.
- map MapID1 from-bank from-prog to-bank to-prog
- ساز موجود به عنوان صدای هر نگاشت GS/XG اختصاص مییابد. موارد gm2، sc55، sc88، sc88pro، sc8850، xg و xgsfx64 میتوانند برای MapID1 استفاده شوند.
- map MapID2 from-drumset from-keynote to-drumset to-keynote
- ساز درام موجود به عنوان درام هر نقشه GS/XG تخصیص مییابد. موارد gm2drum، sc55drum، sc88drum، sc88prodrum، sc8850drum، xgdrum و xgsfx126 میتوانند برای MapID2 استفاده شوند.
- soundfont file [options]
- خواندن کل یک ساوندفونت. پارامتر options میتواند هر یک از موارد زیر باشد:
- order=number
- ترتیب جستجوی ساز را تعیین میکند. اگر order=0 باشد، ابتدا ساوندفونت خوانده میشود و سپس نمونههای ناموجود در GUS/patch جستجو میشوند. در صورت order=1، پس از خواندن پچهای GUS، ساوندفونت جستجو خواهد شد.
- amp=amplification
- میزان تقویت صدای کل ساوندفونت را بر حسب درصد amplification تعیین میکند. مقدار پیشفرض 100% است.
- cutoff=number
- مشخص میکند که فیلتر پایینگذر (LPF) در ساوندفونت فعال (1) باشد یا غیرفعال (0). پیشفرض فعال است.
- reso=number
- مشخص میکند که رزونانس در ساوندفونت فعال (1) باشد یا غیرفعال (0). پیشفرض فعال است.
- remove
- ساوندفونت هدف را از حافظه پاک و آزاد میکند.
- font exclude bank [prog [key]]
- از جستجوی ساوندفونت برای bank و prog جلوگیری میکند. اگر نمونه درامست باشد، بانک برابر با 128، درامست برابر با prog و شماره کلید key خواهد بود.
- font order number bank [prog [key]]
- ترتیب جستجوی سازها را به صورت جداگانه تعیین میکند. قالب آن مانند font exclude است.
دستورات زیر تنها در جدیدترین نسخههای TiMidity++ در دسترس هستند:
- #extension altassign program1 program2 ...
- تخصیص
جایگزین (alternate
assign) را برای
درامست
تنظیم
میکند.
برای مثال
اگر
بخواهید
سنجهای
هایهت
(نتهای
شماره 42، 44
و 46) در drumset 0
نسبت به
یکدیگر به
طور
انحصاری
نواخته
شوند،
تعیین کنید:
drumset 0
altassign 42 44 46دقت داشته باشید که تخصیص جایگزین drumset 0 به صورت پیشفرض فعال است.
- #extension comm program comment
- توضیحات comment را برای شماره صدای program تعیین میکند. این توضیحات در نوار نشانگر هنگامی که TiMidity++ با گزینههای -int یا -iTt اجرا شود نمایش داده میشوند.
- #extension timeout program second
- مقدار انقضای زمان (time-out) برنامه program را مشخص میکند. اگر نتهای نواختهشده با شماره صدای program برای مدت بیش از second ثانیه معلق بمانند، TiMidity++ آن نتها را خاتمه میدهد.
- #extension copydrumset drumset
- تمامی تنظیمات drumset را در درامست جاری کپی میکند.
- #extension copybank bank
- تمامی تنظیمات بانک bank را در بانک جاری کپی میکند.
- #extension copymap to-MapID from-MapID
- تمامی تنظیمات بانکهای تعریفشده برای نقشه from-MapID را در نقشه to-MapID کپی میکند.
- #extension HTTPproxy hostname:port
- پروکسی پروتکل HTTP را مشخص میکند. مقادیر hostname و port مربوط به میزبان پروکسی هستند.
- #extension FTPproxy hostname:port
- پروکسی پروتکل FTP را مشخص میکند. مشابه HTTP است.
- #extension mailaddr your-mail-address
- آدرس ایمیل کاربر را مشخص میکند. این آدرس در صورت دسترسی TiMidity++ به فایلی از طریق FTP به سرور مربوطه ارسال خواهد شد.
- #extension opt option
- مقدار گزینههای زمان بوت و اجرا را تنظیم میکند.
- #extension undef progno
- تعریف صدای progno در بانک صدای جاری را لغو میکند.
- #extension legato progno {0|1}
- مشخص میکند که آیا ویژگی legato بر روی progno فعال (1) باشد یا غیرفعال (0).
- #extension level progno tva_level
- مقدار استاندارد تغییر تقویت صدا را در زمان پردازش Drum Instrument TVA Level در NRPN تعیین میکند. تا زمانی که این پارامتر در زمان پخش مشخص نشود، بلندی صدا تحت تاثیر قرار نخواهد گرفت. مشخص کردن progno به شکل گروهی با `,' یا [start]-[end] مجاز است. در صورت حذف شروع و پایان، مقادیر 0 و 127 در نظر گرفته میشوند.
- #extension damper progno {0|1}
- مشخص میکند که آیا redamper و half-damper در progno فعال (1) یا غیرفعال (0) باشند.
- #extension playnote progno note
- فرکانس پخش
نت را به note
تنظیم
میکند. اگر
فرکانس پخش
توسط GS SysEx Play Note
مشخص شود،
گام صدا بر
اساس این
مقدار
تغییر
مییابد.
تعریف
گروهی برای
progno مجاز است.
برای مثال:
drumset 0
#extension playnote -37,39,44-46,55-60 - #extension delaysend progno level
-
- #extension chorussend progno level
-
- #extension reverbsend progno level
- سطح ارسال (send level) را در زمان فعال بودن افکت بخش درام تنظیم میکند. مقدار اولیه تمامی آنها 127 است. اگر حداقل یکی از افکتهای delay، chorus یا reverb تنظیم شود، افکتی که به عنوان صدا تنظیم نشده باشد مقدار پیشفرض 0 خواهد گرفت. تعیین گروهی سازها برای progno امکانپذیر است.
- #extension rnddelay progno msec
- به ازای هر بار تولید صدا، تاخیری تصادفی و کمتر از حداکثر msec میلیثانیه اعمال میکند. توزیع مقدار تصادفی بر پایه نویز صورتی (نوسان 1/f) است نه نویز سفید.
این
عبارات #extension
با کاراکتر
`#' آغاز
میشوند که
پرچم توضیح
(کامنت) در
نسخههای
قدیمی TiMidity
(نسخه 0.2i یا
قدیمیتر)
بوده است؛
بنابراین
این
دستورات به
عنوان خطوط
توضیحی در
نظر گرفته
میشوند.
نسخههای
جدید TiMidity++
عبارت #extension را
به عنوان
نویسه
فاصله در
نظر
میگیرند،
بنابراین
میتوانید
آن را
نادیده
بگیرید یا
حذف کنید.
اگر نام
فایلی به
کاراکتر `|'
(کد اسکی 0x7c)
ختم شود، با
آن نام فایل
مانند یک
دستور
برخورد
میشود و
خروجی آن
دستور به
عنوان
آرگومانهای
عبارات
بررسی
میشود.
دستور source command|
باعث
میشود
خروجی command به
آرگومان
دستور source
تبدیل شود.
این امر
برای
انتخاب
تنظیمات TiMidity++
با توجه به
محیط بسیار
مناسب است.
علاوه بر
این اگر
فاصلهای
مانند command | در
میان باشد،
در هنگام
خواندن
فایل
تنظیمات
تفکیک شده و
دیگر به
عنوان
دستور تلقی
نخواهد شد.
این قابلیت
در تمامی
بخشهایی
که امکان
تعیین نام
فایل وجود
دارد
کاربرد
دارد.
از خروجی دستور cat fild.mid میخواند.
فایلها (FILES)
- /etc/timidity.cfg
- /usr/local/share/timidity/timidity.cfg
همچنین ببینید (SEE ALSO)
timidity(1), lsmidiprog(1), mididump(1), patinfo(1), sf2text(1), wav2pat(1)
کپیرایت (COPYRIGHT)
حق نشر (C) 1999-2004 Masanao
Izumo <iz@onicos.co.jp>
حق نشر (C) 1995 Tuukka Toivonen
<tt@cgs.fi>
نسخه اولیه توسط Tuukka Toivonen <tt@cgs.fi> تا زمان انتشار نسخه TiMidity-0.2i توسعه داده شد. توسعه وی به دلیل مشغله کاری متوقف گردید.
این برنامه یک نرمافزار آزاد است؛ شما میتوانید آن را تحت شرایط مجوز عمومی همگانی گنو (GNU General Public License) همانطور که توسط بنیاد نرمافزارهای آزاد منتشر شده است (نسخه ۲ یا در صورت تمایل هر نسخه جدیدتر) بازتوزیع کرده یا تغییر دهید.
این برنامه به امید مفید واقع شدن توزیع شده است، اما بدون هیچگونه ضمانت؛ حتی بدون ضمانت ضمنی قابلیت فروش یا تناسب برای یک هدف خاص. برای جزئیات بیشتر به مجوز عمومی همگانی گنو مراجعه کنید.
شما باید همراه با این برنامه یک نسخه از مجوز عمومی همگانی گنو را دریافت کرده باشید؛ در غیر این صورت به نشانی Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA بنویسید.
دسترسی (AVAILABILITY)
جدیدترین نسخه بر روی صفحه TiMidity++ در دسترس است:
| April 25 2004 | 2.13.0 |