| ABC2MIDI(1) | General Commands Manual | ABC2MIDI(1) |
نام (NAME)
abc2midi - تبدیل فایلهای موسیقی abc به فایلهای MIDI
خلاصه دستور (SYNOPSIS)
abc2midi infile [refnum] [-c] [-v] [-ver] [-t] [-n limit] [-CS] [-quiet] [-silent] [-Q tempo] [-NFNP] [-NFER] [-NGRA] [-NGUI] [-STFW] [-OCC] [-NCOM] [-PMAR] [-HARP] [-BF] [-TT] [-o outfile] -CSM [filename]
توضیحات (DESCRIPTION)
عمل پیشفرض این است که برای هر نغمه در فایل abc یک فایل MIDI با نام پرونده <stem>N.mid نوشته شود، که در آن <stem> نام پایه فایل abc و N شماره مرجع نغمه است. اگر از گزینه -o استفاده شود، تنها یک فایل نوشته میشود. این نغمه همان نغمه مشخصشده با شماره مرجع است یا اگر شماره مرجعی داده نشده باشد، نخستین نغمه موجود در فایل خواهد بود.
گزینهها (OPTIONS)
- refnum
- پردازش نغمه با شماره مرجع refnum.
- -c
- تنها بررسی صحت ساختار فایل ورودی را انتخاب میکند (بدون تولید خروجی).
- -v n
- گزینه پرگویی (verbose) را انتخاب میکند که در آن n سطح گزارش است (اختیاری).
- -ver
- شماره نسخه را چاپ کرده و خارج میشود.
- -t
- نامهای فایل خروجی را برگرفته از عنوان نغمهها انتخاب میکند.
- -CS
- استفاده از نسبت ۲:۱ به جای ۳:۱ برای ریتمهای شکسته (broken rhythms).
- -quiet
- برخی هشدارهای متداول را نادیده میگیرد و پنهان میکند.
- -silent
- سایر پیامها را پنهان میکند.
- -n X
- طول نام پایه فایل را به X نویسه محدود میکند.
- -Q tempo
- تمپوی پیشفرض را بر حسب نت سیاهدردقیقه (quarter notes per minute) در صورتی که در هدر abc مشخص نشده باشد، تنظیم میکند.
- -NFNP
- نادیده گرفتن هرگونه نشانه دینامیک مانند !f! ، !ff! و غیره.
- -NFER
- نادیده گرفتن هرگونه نشانه فرماتا (مانند H یا !fermata!).
- -NGRA
- نادیده گرفتن نتهای زینت (grace notes).
- -NGUI
- نادیده گرفتن آکوردهای گیتار محصور در گیومه دوگانه.
- -STFW
- قرار دادن متن ترانه در ترکهای MIDI جداگانه.
- -NCOM
- پنهانسازی و حذف برخی توضیحات (کامنتها) در فایل MIDI خروجی.
- -PMAR
- تولید متارویدادهای نشانگر (marker meta-events) MIDI برای برچسبهای بخش :P. هنگامی که فیلد :P در هدر ترتیب پخش را مشخص میکند (مانند P:(AB)3)، هر بار که یک بخش در طول پخش بازشده آغاز میشود، یک نشانگر همراه با شماره نمونه الصاقشده تولید میشود (مانند "Part A-1"، "Part B-1"، "Part A-2"، "Part B-2"). هنگامی که هیچ فیلد :P در هدر وجود ندارد، برچسبهای :P درون بدنه به عنوان نشانگرهای ساده بخش صادر میشوند (مانند "Part A"، "Part B").
- -OCC
- پذیرش قرارداد قدیمی آکوردها (مانند +D2G2+ به جای [DG]2).
- -BF
- حالت BarFly: در صورت امکان یک مدل تاکید و ضرباهنگ (stress model) را فراخوانی میکند.
- -HARP
- تزیینات نت غلتان (Roll ornaments=roll) را برای نوازنده چنگ تولید میکند (همان زیروبمی).
- -TT
- کوک مبنا را از A = 440 Hz تغییر میدهد.
- -o outfile
- نوشتن خروجی در outfile.
- -CSM infile
- بارگذاری مجموعهای از حالتهای تاکید سفارشی از یک فایل.
ویژگیها (FEATURES)
* پشتیبانی کامل از ریتمهای شکسته (< , >)، آکوردها، چندتاییها (n-tuples)، خط اتصال/لگاتو (slurring)، خط اتحاد (ties)، نتهای استاکاتو (staccatto)، تکرارها و تغییرات تمپو/کشش زمانی نت/کسرمیزان در طول نغمه.
* عبارت R:hornpipe یا r:hornpipe شناسایی شده و زمانبندی نتها برای ایجاد ریتم شکسته تنظیم میشود (ab به a>b تبدیل میشود).
* بیشتر خطاهای موجود در ورودی abc یک پیام خطای مناسب در خروجی تولید میکنند و برنامه به کار تبدیل ادامه میدهد.
* توضیحات و فیلدهای متنی در سورس abc به رویدادهای متنی در خروجی MIDI تبدیل میشوند.
* در صورت وجود آکوردهای گیتار، از آنها برای تولید همراهی و آکومپانیمان (accompaniment) در خروجی MIDI استفاده میشود.
* اگر علائم تکرار نامتقارن در abc وجود داشته باشد، برنامه تلاش میکند آنها را اصلاح کند. با این حال، اگر توضیحات نغمه چندبخشی به کار رفته باشد یا چندین صدا (voice) در حال استفاده باشند، این تلاش انجام نخواهد شد.
* با استفاده از فیلد :w جهت گنجاندن اشعار، میتوان فایلهای MIDI کارائوکه (Karaoke) تولید کرد.
* شناسههای غیرعددی صدا مانند V: soprano که برای استاندارد جدید abc پیشنهاد شده است، پذیرفته میشوند.
* سکوتهای نامرئی مشخصشده با x همانند سکوتهای عادی (z) پردازش میشوند.
* تزیینات و نشانهها را میتوان با نشانهگذاری قدیمی و منسوخشده (مانند !fermata!) یا نشانهگذاری استاندارد نسخه ۲.۰ (مانند +fermata+) مشخص کرد.
محدودیتها (LIMITATIONS)
* هیچ فیلدی از بالای فیلد :X نغمه به ارث برده نمیشود.
گسترشهای نحوی ABC (ABC SYNTAX EXTENSIONS)
* گسترشهایی در نحو abc به شکل زیر وجود دارد:
%%MIDI channel n
این دستورها انتخاب کانال و برنامه (ساز)، انتقال گام (ترنسپوز) و ویژگیهای گوناگون دیگر abc2midi را کنترل میکنند.
هر یک از این موارد باید در یک خط مستقل قرار گیرند. استفاده از همه آنها در بدنه نغمه abc مجاز است. با ترکیب این دستورها و نشانهگذاری بخشها، به عنوان مثال میتوان یک بخش را انتقالیافته یا در گامی دیگر نواخت.
ایده پشت این نحو این است که سایر برنامهها با آن مانند یک توضیح (کامنت) برخورد کرده و از آن چشمپوشی کنند.
%%MIDI channel n
کانال ملودی n (در محدوده ۱ تا ۱۶) را انتخاب میکند.
%%MIDI program [c] n
برنامه n (در محدوده ۰ تا ۱۲۷) را روی کانال c انتخاب میکند. اگر c مشخص نشود، برنامه روی کانال ملودی جاری تنظیم میشود. بیشتر مولدهای صدای مدرن از استاندارد General MIDI پیروی میکنند که نوع ساز را برای هر شماره برنامه تعریف میکند.
%%MIDI beat a b c n
نحوه انتخاب شدت ضربه (velocity) نتها را کنترل میکند. نخستین نت در هر میزان دارای شدت ضربه a است. سایر نتهای «قوی» دارای شدت b و بقیه نتها دارای شدت c هستند. مقادیر a، b و c باید در محدوده ۰ تا ۱۲۷ باشند. پارامتر n تعیین میکند کدام نتها «قوی» هستند. اگر کسر میزان x/y باشد، به هر نت در هر میزان یک شماره موقعیت k = 0, 1, 2 .. x-1 اختصاص داده میشود. توجه داشته باشید که واحدهای n نشاندهنده کشش زمانی نت نیستند. اگر k مضربی از n باشد، آن نت «قوی» محسوب میشود. مشخصکنندههای بلندی صدای !ppp! تا !fff! معادل موارد زیر هستند:
!ppp! = %%MIDI beat 30 20 10 1
!pp! = %%MIDI beat 45 35 20 1
!p! = %%MIDI beat 60 50 35 1
!mp! = %%MIDI beat 75 65 50 1
!mf! = %%MIDI beat 90 80 65 1
!f! = %%MIDI beat 105 95 80 1
!ff! = %%MIDI beat 120 110 95 1
!fff! = %%MIDI beat 127 125 110 1
%%MIDI beatmod n
شدتهای ضربه a، b و c را که در بالا توضیح داده شد، به اندازه n افزایش میدهد (یا اگر n منفی باشد، کاهش میدهد). دستورالعملهای !crescendo(! و !crescendo)! معادل درج یک %%MIDI beatmod 15 در هر جایگاه وقوع هستند (به عنوان جایگزین میتوانید از !<(! و !<)! استفاده کنید). به همین ترتیب، دستورالعملهای !diminuendo(! و !diminuendo)! معادل %%MIDI beatmod -15 میباشند.
%%MIDI deltaloudness n
که در آن n یک عدد مثبت کوچک است. به طور پیشفرض، دستورالعملهای کرشندو (crescendo) و دیمینوئندو (diminuendo) متغیرهای ضرب a، b و c را به اندازه ۱۵ واحد شدت ضربه تغییر میدهند. این دستور به شما امکان میدهد این مقدار پیشفرض را روی n تنظیم کنید.
%%MIDI nobeataccents
برای سازهایی مانند ارگ کلیسا که نتهای ضربی با تاکید شدید ندارند، استفاده از این دستور اعمال شدت ضربه 'b' (به %%MIDI beat مراجعه کنید) را برای هر نت صرفنظر از موقعیت آن در میزان تحمیل میکند. این کار امکان استفاده از دینامیکها (ff، f و غیره) را به شیوه عادی فراهم میسازد.
%%MIDI beataccents
بازگشت به تاکید بر نتها به شیوه معمول (پیشفرض).
%%MIDI beatstring <رشتهای از حروف f، m و p>
روش جایگزینی برای مشخص کردن محل قرارگیری تاکیدهای قوی و ضعیف درون یک میزان فراهم میکند. 'f' به معنای شدت a (معمولاً قوی)، 'm' به معنای شدت b (شدت متوسط) و 'p' به معنای شدت c (شدت ملایم) است. برای نمونه، اگر کسر میزان ۷/۸ باشد و تاکیدها روی نتهای اول، چهارم و ششم میزان قرار گیرند، میتوانیم از دستور زیر استفاده کنیم:
%%MIDI beatstring fppmpmp
%%MIDI transpose n
خروجی را به تعداد نیمپردههای (semitones) مشخصشده ترنسپوز (انتقال گام) میکند. مقدار n میتواند مثبت یا منفی باشد.
%%MIDI rtranspose n
انتقال گام نسبی به تعداد نیمپردههای مشخصشده؛ به این معنی که %%MIDI transpose a و به دنبال آن %%MIDI rtranspose b منجر به ترنسپوز a+b میشود. اجرای %%MIDI transpose b صرفنظر از هر انتقال گام قبلی، نتیجه را به b نیمپرده منتقل خواهد کرد.
%%MIDI c n
زیروبمی (pitch) نت MIDI متناظر با نت c را مشخص میکند. مقدار پیشفرض ۶۰ است. این عدد معمولاً باید مضربی از ۱۲ باشد.
%%MIDI grace a/b
کسری از نت بعدی را که نتهای زینت (grace notes) اشغال خواهند کرد تنظیم میکند. مقدار a باید بین ۱ و b-1 باشد. نتهای زینت در این روش ممکن است طبیعی به نظر نرسند، زیرا طول نتهای زینت منفرد با پیچیدگی زینت و کشش زمانی نت بعدی تغییر میکند. رویکرد دیگری (که اکنون پیشفرض است) فرض میکند که نتهای زینت همیشه دارای کشش زمانی ثابتی هستند. برای استفاده از رویکرد دیگر باید مشخص کنید:
%%MIDI gracedivider b
که در آن b مشخص میکند طول واحد تعیینشده توسط دستور فیلد :L به چند بخش تقسیم شود. برای نمونه اگر b = 4 و L: = 1/8 باشد، هر نت زینت معادل ۱/(۸*۴) یا یک نت سیودوم (32nd note) خواهد بود. این زمان از نتی که نتهای زینت به آن متصل شدهاند کسر میشود. اگر آن نت به اندازه کافی برای اعمال زینت طولانی نباشد، کشش زمانی ۰ به نتهای زینت اختصاص داده میشود.
%%MIDI chordname name n1 n2 n3 n4 n5 n6
نحوه نواختن یک آکورد گیتار به نام "name" را تعریف میکند. n1 معمولاً ۰ است و n2، n3 تا n6 زیروبمی سایر نتها را بر حسب نیمپرده نسبت به نت پایه (root) مشخص میکنند. ممکن است کمتر از ۶ نت در آکورد وجود داشته باشد، اما بیشتر از آن مجاز نیست. اگر "name" از قبل تعریف شده باشد، این دستور آن را مجدداً تعریف میکند. برخلاف بیشتر دستورات دیگر، تعاریف chordname از محل تعریف تا انتهای فایل abc معتبر باقی میمانند. نمونه زیر نشان میدهد که چگونه m، 7، m7 و maj7 در صورتی که از قبل تعریف نشده بودند، میتوانستند تنظیم شوند:
%%MIDI chordname m 0 3 7
%%MIDI chordname 7 0 4 7 10
%%MIDI chordname m7 0 3 7 10
%%MIDI chordname maj7 0 4 7 11
%%MIDI gchord string
نحوه تولید آکوردهای گیتار را تنظیم میکند. رشته (string) دنبالهای متشکل از حروف z، c، f و b به ترتیب برای سکوتها (rests)، آکوردها (chords)، نت پایه (fundamental) و نت پایه به علاوه نتهای آکورد (fundamental plus chord) است. این رشته مشخص میکند هر میزان چگونه باید نواخته شود. میتوان پس از حروف z، c، f و b یک طول اختیاری قرار داد؛ مانند czf2zf3. اگر فایل abc حاوی آکوردهای گیتار باشد، abc2midi پس از برخورد با نخستین آکورد گیتار، به طور خودکار آکوردها و نتهای پایه را اضافه میکند و تا زمانی که آکورد جدیدی در فایل abc مشخص نشود، به استفاده از همان آکورد ادامه میدهد. هرگاه فیلد :M در فایل abc مشاهده شود، رشته پیشفرض مناسبی تنظیم میگردد:
برای کسر
میزان ۲/۴ یا
۴/۴ پیشفرض
معادل است
با:
%%MIDI gchord fzczfzcz
برای کسر
میزان ۳/۴
پیشفرض
معادل است
با:
%%MIDI gchord fzczcz
برای کسر
میزان ۶/۸
پیشفرض
معادل است
با:
%%MIDI gchord fzcfzc
برای کسر
میزان ۹/۸
پیشفرض
معادل است
با:
%%MIDI gchord fzcfzcfzc
دستور gchord گسترش یافته است تا به شما امکان دهد نتهای منفرد تشکیلدهنده آکورد گیتار را بنوازید. این قابلیت امکان نواختن آکوردهای شکسته یا آرپژها (arpeggios) را فراهم میکند. کدهای جدید g, h, i, j و G, H, I, J به نتهای منفرد با شروع از بمترین نت آکورد (که در صورت وجود معکوسها لزوماً نت پایه نیست) اشاره میکنند. برای نمونه در آکورد دو ماژور (C major)، حرف g به C، حرف h به E و حرف i به G اشاره دارد. برای یک دستور gchord مانند:
%%MIDI gchord ghih
برنامه abc2midi آکورد گیتار دو ماژور را به صورت CEGE آرپژ خواهد کرد. حروف بزرگ G, H, I و J به همان نتها اشاره دارند با این تفاوت که یک اکتاو به سمت پایین منتقل (ترنسپوز) شدهاند. توجه داشته باشید که برای معکوس اول آکورد دو ماژور (مشخصشده با "C/E")، نت E بمترین نت خواهد بود، بنابراین g به نت E اشاره خواهد کرد.
مانند سایر کدهای gchord، میتوانید یک عدد نشاندهنده کشش زمانی نت را الحاق کنید. همان قوانین قبلی اعمال میشوند. میتوانید از هر ترکیبی از کدهای gchord یعنی (fcbghijGHIJz) استفاده کنید.
%%MIDI chordprog n
ساز MIDI را برای آکوردها روی n تنظیم میکند. اگر دستور شامل رشته octave=n باشد که در آن n عددی بین -2 و 2 (شامل خود آنها) است، این کار زیروبمی ساز را به اندازه n اکتاو جابجا میکند (برای مثال: %%MIDI chordprog 10 octave=1).
%%MIDI bassprog n
ساز MIDI را برای نتهای بیس (bass) روی n تنظیم میکند. اگر دستور شامل رشته octave=n باشد که در آن n عددی بین -2 و 2 (شامل خود آنها) است، این کار زیروبمی ساز را به اندازه n اکتاو جابجا میکند (برای مثال: %%MIDI bassprog 10 octave=-1).
%%MIDI chordvol n
حجم صدا (شدت ضربه / velocity) نتهای آکورد را روی n تنظیم میکند.
%%MIDI bassvol n
حجم صدا (شدت ضربه / velocity) نتهای بیس را روی n تنظیم میکند. هیچ دستور معادل melodyvol وجود ندارد زیرا ۳ مقدار شدت برای ملودی وجود دارد که با استفاده از دستور beat تنظیم میشوند.
%%MIDI gchordon
آکوردهای گیتار را فعال میکند (به طور پیشفرض در شروع یک نغمه فعال هستند).
%%MIDI gchordoff
آکوردهای گیتار را غیرفعال میکند.
%%MIDI droneon
یک صدای واخوان/پایه پیوسته (drone) متشکل از دو نت را فعال میکند (که در موسیقی نیانبان استفاده میشود). به طور پیشفرض این نتها A, و A,, هستند که با ساز فاگوت (bassoon) و با شدت ضربه ۸۰ نواخته میشوند. این مورد میتواند با دستور %%MIDI drone که در ادامه توضیح داده شده پیکربندی شود.
%%MIDI droneoff
صدای واخوان پیوسته را غیرفعال میکند.
%%MIDI drone n1 n2 n3 n4 n5
پارامترهای واخوان (drone) را تنظیم میکند که در آن n1 برنامه MIDI، و n2 و n3 زیروبمی MIDI دو نت آکورد را مشخص میکنند، و n4 و n5 شدتهای ضربه MIDI دو نت را مشخص میسازند. اگر این پارامترها را تنظیم نکنید، به طور پیشفرض 70 45 33 80 80 خواهند بود. مقدار صفر یا کمتر نشان میدهد که تنظیم آن پارامتر باید همانگونه که هست باقی بماند.
%%MIDI drum string [drum programs] [drum velocities]
یک الگوی درام (طبل) را تنظیم میکند. رشته تعیین میکند چه زمانی ضربه درام وجود دارد و مقادیر برنامه درام مشخص میکنند که هر ضربه درام چه صدایی تولید کند.
مثال: %%MIDI drum d2zdd 35 38 38 100 50 50
رشته میتواند حاوی 'd' برای ضربه درام یا 'z' برای سکوت باشد. به طور پیشفرض یک صدا (voice) بدون هیچ الگوی درامی آغاز میشود و برای فعالسازی درامنوازی به '%%MIDI drumon' نیاز است. الگوی درام در طول هر میزان تکرار میشود تا زمانی که به '%%MIDI drumoff' برسد. دستور %%MIDI drum ممکن است در طول یک نغمه برای تغییر الگوی درام استفاده شود. این دستور صداهای درام را روی کانال ۱۰ قرار میدهد و فرض میکند که مولد صدای شما با استاندارد General MIDI سازگار است؛ در غیر این صورت ممکن است به جای صدای درام، نتهای موسیقی بشنوید.
در هر دو دستور gchord و drum، طول نت استاندارد یک نت منفرد f، c، z یا d توسط دستور :L تعیین نمیشود. بلکه طوری تنظیم میشود که کل رشته gchord یا رشته درام دقیقاً در یک میزان جا شود. به عبارت دیگر، کشش زمانی هر نت بر مدت زمان کل رشته تقسیم میشود. این بدان معناست که به عنوان مثال، رشته درام "dd" معادل رشته درام "d4d4" است. در حال حاضر نمیتوانید مانند بدنه قطعه موسیقی مستقیماً کسرها را مشخص کنید (مانند C3/2)، اما همچنان بیان ریتمهای پیچیده امکانپذیر است. برای مثال، برای نشان دادن ریتمی مانند (3ddd d/d/d/d میتوانید رشته "d4d4d4d3d3d3d3" را بنویسید.
%%MIDI drumbars n
خط %%MIDI drum در صورت تکرار در هر میزان میتواند بسیار یکنواخت به نظر برسد. برای رفع این مشکل، دستور جدید %%MIDI drumbars n که در آن n یک عدد کوچک است، رشته درام را روی n میزان متوالی پخش میکند. به طور پیشفرض drumbars روی ۱ تنظیم شده است تا سازگاری با فایلهای abc موجود حفظ شود. باید دقت کنید که رشته درام به طور مساوی بین میزانهای drumbar بخشپذیر باشد. همچنین کسر میزان نباید در بین میزانها در یک واحد drumbar تغییر کند (نمونه فایل abc در doc/CHANGES در ۲۴ ژوئن ۲۰۰۸ موجود است).
%%MIDI gchordbars n
این دستور رشته gchord را مانند drumbars (در بالا) روی n میزان متوالی پخش میکند (نمونهای در doc/CHANGES در ۱۷ مارس ۲۰۰۹ یافت میشود).
از نسخه 1.54 در ۴ دسامبر ۲۰۰۴ برنامه abc2midi، نتها در آکوردها (مانند [FAc]) در یک لحظه واحد نواخته نمیشوند بلکه با ۱۰ واحد زمانی MIDI جابجا (افست) و کوتاهتر میشوند. بنابراین اولین نت در آکورد (مانند F) برای کل زمان مشخصشده نواخته میشود، نت دوم (مانند A) ۱۰ واحد MIDI دیرتر آغاز شده و به همان میزان کوتاه میشود و نت سوم ۱۰ واحد MIDI دیگر دیرتر آغاز شده و ۱۰ واحد دیگر کوتاه میشود. این کار گزینه «اکسپرسیوو (expressivo)» را معرفی کرده و از حمله سنگین صدا جلوگیری میکند (این مورد برای gchords یا آکوردهای چندصدایی اعمال نمیشود). مقدار تاخیر و کوتاهسازی را میتوان با دستور MIDI زیر پیکربندی کرد:
%%MIDI chordattack n
که در آن n یک عدد کوچک است. اگر n صفر باشد، abc2midi مانند نسخههای قبلی رفتار خواهد کرد. تاخیر n بر حسب واحدهای زمانی MIDI است که در آن ۴۸۰ واحد در هر ضرب نت سیاه وجود دارد. اگر n بیش از حد بزرگ باشد و آکوردهای کوتاه وجود داشته باشند، ممکن است برنامه به درستی اجرا نشود.
%%MIDI randomchordattack n
مانند بالا، با این تفاوت که تاخیر یک متغیر تصادفی با توزیع یکنواخت بین ۰ و n-1 است.
%%MIDI trim x/y
که در آن x و y دو عدد هستند. این دستور آرتیکولاسیون (بیان نتها) و آکوردها را با قرار دادن فاصلههای خاموش بین نتها کنترل میکند. طول این فاصلهها توسط x/y و طول واحد مشخصشده توسط دستور :L تعیین میشود. این فاصلهها با کوتاه کردن نتها به همان میزان ایجاد میشوند. اگر نت از قبل کوتاهتر از فاصله مشخصشده باشد، فاصله روی نصف طول نت تنظیم میشود. کسر x/y کشش زمانی نت را به همان شیوهای که در فایل abc مشخص شده نشان میدهد. مدت زمان واقعی بر اساس طول واحد مشخصشده توسط دستور فیلد :L است. توصیه میشود که x/y کسری نزدیک به صفر باشد. برش نت (note trimming) درون خطوط اتصال (slurs) مشخصشده با پرانتز غیرفعال میشود. میتوانید تمام برشهای نت را با تنظیم x روی ۰ غیرفعال کنید (مانند 0/1). به طور پیشفرض، برش نت در ابتدای یک نغمه یا دستور صدا (voice) خاموش است.
%%MIDI expand x/y
که در آن x و y دو عدد هستند که کسری کمتر از ۱ را تعریف میکنند. این دستور آرتیکولاسیون نتها و آکوردها را به شیوه معکوس کنترل میکند؛ نتها به اندازه این کسر طولانیتر میشوند تا با شروع نت بعدی همپوشانی داشته باشند.
%%MIDI drummap note midipitch
لطفاً به abcguide.txt مراجعه کنید.
%%MIDI ptstress filename
این دستور فایل filename حاوی پارامترهای تاکید فیل تیلور (Phil Taylor) را در abc2midi بارگذاری میکند و abc2midi را در حالتی قرار میدهد که این پارامترهای تاکید را روی هر نت اعمال کند. این مدل در تضاد با مدل ضرب استاندارد کار میکند، بنابراین دستورات MIDI beat، beatstring و beatmod بیاثر میشوند. این بدان معنا نیز هست که نشانههای دینامیک مانند !f! ، !pp! و غیره دیگر کار نمیکنند.
دو پیادهسازی مختلف از مدل تاکید وجود دارد: مدل ۱ آرتیکولاسیون نت را تغییر میدهد و کنترل پارامترهای MIDI trim را نیز به دست میگیرد. برای بازگشت به مدل استاندارد، دستور %%MIDI beataccents را قرار دهید. مدل ۲ هم زمان شروع و هم پایان هر نت را تغییر میدهد و به ضرب موسیقی اجازه میدهد در زمان منبسط یا منقبض شود. با این حال، طول یک میزان موسیقی باید حفظ شود. توجه داشته باشید اگر از مدل ۲ استفاده میکنید که پیشفرض فعلی است، باید -BF را به عنوان یکی از پارامترهای زمان اجرای abc2midi بگنجانید.
این مدل یک میزان را به بخشهای مساوی تقسیم میکند. برای هر بخش، یک بلندی صدا یا شدت ضربه MIDI و یک ضریب کشش زمانی مشخص میشود. اگر یک نت در بخش خاصی بیفتد، شدت ضربه آن بخش را میگیرد و کشش زمانی آن بر همین اساس تغییر میکند. اگر نت با بیش از یک بخش همپوشانی داشته باشد، میانگین مقادیر آن بخشها به نت اختصاص مییابد.
فایل ورودی تعداد بخشها و ضرایب بلندی و کشش زمانی را برای هر بخش مشخص میکند. این فایل دارای فرمت زیر است: نخستین مقدار، تعداد بخشها است و هر خط شدت ضربه و ضریب کشش زمانی آن بخش مشخص را تعیین میکند. شدت ضربه به ۱۲۷ محدود است و کشش زمانی یک عدد اعشاری است. کششهای نت با تغییر فاصله بین نتها اصلاح میشوند، بنابراین تمدید و طولانیتر کردن نت امکانپذیر نیست. این کار تمپوی منظم موسیقی را حفظ میکند. برنامه با تقسیم کردن نشانههای کشش نت بر مقدار بیشینه (که در اینجا ۱.۴ است)، آنها را مقیاسبندی میکند.
%%MIDI stressmodel n
که در آن n برابر ۱ یا ۲ است، پیادهسازی مدل تاکید را انتخاب میکند.
سایر دستورات %%MIDI مانند bendvelocity، bendstring و controlstring اخیراً معرفی شدهاند و در فایل abcguide.txt شرح داده شدهاند.
سازگاری با پیشنویس استاندارد ۲.۰ (COMPATIBILITY WITH DRAFT STANDARD 2.0)
استاندارد پیشنهادی یک فیلد حق نشر (copyright) جدید را با استفاده از نحو زیر معرفی میکند:
%%abc-copyright (c) Copyright John Smith 2003
اکنون abc2midi این مورد را به شکل یک برچسب متامتن (metatext) حق نشر در فایل MIDI درج میکند. تغییراتی در تابع event_specific در فایل store.c برای پردازش اطلاعات حق نشر ایجاد شده است. این اطلاعات همچنین در صورت ایجاد ترک کارائوکه (Karaoke)، به عنوان فیلد @T در آن کپی میشود.
همچنین ببینید (SEE ALSO)
نویسندگان (AUTHORS)
James Allwright <J.R.Allwright@westminster.ac.uk>
پشتیبانی (SUPPORTED)
توسط Seymour Shlien <fy733@ncf.ca>
نسخه (VERSION)
این صفحه راهنما مربوط به abc2midi نسخه 5.03 در آوریل ۲۰۲۶ است.
حق نشر (COPYRIGHT)
حق نشر ۱۹۹۹ James Allwright
نرمافزار abc2midi به صورت «همانگونه که هست» و بدون هیچگونه ضمانتی ارائه میشود. این برنامه یک نرمافزار آزاد است و میتوان بر اساس شرایط «پروانه عمومی همگانی گنو» (GNU General Public License) از آن استفاده کرد، آن را کپی نمود، تغییر داد و بدون هزینه توزیع کرد.
مستندات کاملتر را میتوانید در abcguide.txt که همراه با توزیع abcMIDI ارائه میشود، بیابید.
| June 2017 |