| wav2gig(1) | libgig tools | wav2gig(1) |
نام (NAME)
wav2gig - ساخت فایل GigaStudio (.gig) از مجموعهای از فایلهای WAV.
خلاصه دستور (SYNOPSIS)
wav2gig [ OPTIONS ] GIG_FILE WAV_FILE_OR_DIR_1 [ WAV_FILE_OR_DIR_2 ... ]
توضیحات (DESCRIPTION)
فهرستی از فایلهای صوتی موج (.wav) و/یا پوشههای حاوی فایلهای wave را به عنوان آرگومان دریافت کرده و یک فایل جدید GigaStudio / GigaSampler (.gig) برای آن نمونهها ایجاد میکند.
فایل ایجاد شده GigaStudio (.gig) حاوی نمونههای ورودی ارائهشده خواهد بود. متادادههای نمونهها (تا آنجا که موجود باشد) مانند نُت ریشه (معروف به 'unity note')، کوک دقیق (fine tune)، نقاط حلقه (loop points)، نوع حلقه و تعداد دفعات اجرای حلقه، بهطور خودکار از فایلهای صوتی ورودی (.wav) استخراج شده و مطابق با آن اعمال میشوند.
علاوه بر این، این ابزار دقیقاً یک ساز (instrument) در داخل فایل GigaStudio (.gig) تازه ایجادشده میسازد و تلاش میکند نمونهها را به شکلی معنادار به آن ساز نگاشت کند. از آنجا که قالب wave (.wav) در حال حاضر از بسیاری از اطلاعات متاداده مورد نیاز برای این کار خاص پشتیبانی نمیکند، این ابزار تلاش میکند اطلاعات مورد نیاز (مفقود) را از نام فایل هر نمونه استخراج نماید تا بتواند نمونهها را به درستی نگاشت کند. برای جزئیات مربوط به الگوی پیشفرض نامگذاری فایلهای نمونه ورودی و نحوه بازنویسی آن با ارائه الگوهای سفارشی عبارتهای منظم، به بخش نامهای نمونه (SAMPLE NAMES) در زیر مراجعه کنید.
گزینهها (OPTIONS)
- GIG_FILE
- نام فایل GigaStudio / GigaSampler (.gig) که قرار است ساخته شود.
- WAV_FILE_OR_DIR_1
- نام فایل یا پوشه حاوی فایل(های) wave (.wav).
- WAV_FILE_OR_DIR_2
- نام فایل یا پوشه حاوی فایل(های) wave (.wav).
- -r
- پیمایش بازگشتی در تمام زیرپوشههای دایرکتوریهای ورودی WAV ارائهشده.
- -f
- بازنویسی فایل خروجی GigaStudio (.gig) در صورتی که از قبل وجود داشته باشد.
- -v
- نمایش نسخه و خروج.
- --dry-run
- بررسی و اسکن فایلهای نمونه ورودی (.wav)، اما خروج بدون ساخت هیچگونه فایل .gig.
- --verbose
- افزایش میزان اطلاعات نمایش دادهشده.
- --regex-name1 PATTERN
- عبارت منظم برای بازنویسی بخش NAME1 از الگوی نام فایل نمونه ورودی.
- پیشفرض: '([^-\]+) - [^-]+ - [^-]+ - [^-]+ - [^.]+'
- --regex-name2 PATTERN
- عبارت منظم برای بازنویسی بخش NAME2 از الگوی نام فایل نمونه ورودی.
- پیشفرض: '[^-\]+ - ([^-]+) - [^-]+ - [^-]+ - [^.]+'
- --regex-velocity-nr PATTERN
- عبارت منظم برای بازنویسی بخش VELOCITY_NR از الگوی نام فایل نمونه ورودی.
- پیشفرض: '[^-\]+ - [^-]+ - ([^-]+) - [^-]+ - [^.]+'
- --regex-note-nr PATTERN
- عبارت منظم برای بازنویسی بخش NOTE_NR از الگوی نام فایل نمونه ورودی.
- پیشفرض: '[^-\]+ - [^-]+ - [^-]+ - ([^-]+) - [^.]+'
- --regex-note-name PATTERN
- عبارت منظم برای بازنویسی بخش NOTE_NAME از الگوی نام فایل نمونه ورودی.
- پیشفرض: '[^-\]+ - [^-]+ - [^-]+ - [^-]+ - ([^.]+)'
نامهای نمونه (SAMPLE NAMES)
این ابزار بهطور پیشفرض الگوی نامگذاری فایل نمونه ورودی زیر را برای نگاشت خودکار نمونهها به نواحی روی صفحهکلید و همچنین نگاشت مناسب آنها به تفکیکهای شدت ضربه (velocity splits) فرض میکند:
'NAME1 - NAME2 - VELOCITY_NR - NOTE_NR - NOTE_NAME.wav'
که به روش زیر تفسیر میشوند:
- NAME1
- نام اصلی نمونه (مانند "Violin").
- این بخش برای نگاشت نمونه تفسیر نمیشود، اما برای ساخت نام نهایی نمونه در داخل فایل GigaStudio (.gig) به کار خواهد رفت.
- میتوانید از --regex-name1 برای تغییر این بخش از الگوی نامگذاری استفاده کنید.
- NAME2
- نام ثانویه نمونه (مانند "Cresc").
- این بخش در حال حاضر نادیده گرفته میشود، اما ممکن است در آینده مورد استفاده قرار گیرد.
- میتوانید از --regex-name2 برای تغییر این بخش از الگوی نامگذاری استفاده کنید.
- VELOCITY_NR
- شماره شدت ضربه MIDI نمونه (مانند "18").
- این اطلاعات برای ایجاد خودکار تفکیکهای شدت ضربه استفاده خواهد شد.
- میتوانید از --regex-velocity-nr برای تغییر این بخش از الگوی نامگذاری استفاده کنید.
- NOTE_NR
- شماره نُت MIDI نمونه (مانند "021" برای نت a-1).
- این اطلاعات برای نگاشت خودکار نمونه به یک ناحیه روی صفحهکلید استفاده خواهد شد. نُت ریشه نمونه (معروف به "unity note") مستقیماً از محتوای فایل .wav گرفته میشود؛ اما اگر محتوای فایل .wav حاوی اطلاعات نت ریشه نباشد، از NOTE_NR نیز به عنوان نت ریشه استفاده میشود.
- میتوانید از --regex-note-nr برای تغییر این بخش از الگوی نامگذاری استفاده کنید.
- NOTE_NAME
- نام نُت نمونه (مانند "a-1").
- این بخش برای نگاشت نمونه تفسیر نمیشود، اما برای ساخت نام نهایی نمونه در داخل فایل GigaStudio (.gig) به کار میرود.
- میتوانید از --regex-note-name برای تغییر این بخش از الگوی نامگذاری استفاده کنید.
این ابزار از کتابخانه عبارتهای منظم ارائهشده در ++C (معرفیشده در بازنگری استاندارد C++11) استفاده میکند. هر عبارت منظم سفارشی (که از این پس به اختصار 'RegEx' نامیده میشود) که به یکی از گزینههای --regex-* داده میشود، باید دقیقاً دارای یک «گروه گیرنده» (capture group) فعال RegEx باشد که در عبارتهای منظم با یک جفت پرانتز مشخص میشود:
(PATTERN)
بنابراین «گروه گیرنده» بخشی از کل رشته نام فایل را مشخص میکند که قرار است برای بخش مربوطه از الگوی نام فایل استخراج شود. اگر برای ساخت کل الگوی RegEx به گروه(های) دیگری نیاز باشد، آن گروهها باید به عنوان «گروههای غیرفعال» (passive groups) تعریف شوند که در الگوهای RegEx با علامت سوال و دونقطه مشخص میشوند:
(?:PATTERN)
به یاد داشته باشید که پویشگرهای RegEx بهطور پیشفرض رفتار «حریصانه» (greedy) دارند، یعنی تلاش میکنند با طولانیترین رشته ممکن مطابق با الگوی تعریفشده شما تطابق پیدا کنند. اگر این رفتار مورد نظر نیست، میتوانید بخشهای مورد نیاز الگوی RegEx خود را طوری تغییر دهید که «غیرحریصانه» (non-greedy) عمل کنند تا با کوتاهترین رشته ممکن مطابقت یابند؛ یا به عنوان جایگزین، از عملگر «تناوب» (alternation) در RegEx استفاده کنید که با نویسه خط عمودی (pipe) مشخص میشود:
PATTERN1|PATTERN2|PATTERN3
عملگر «تناوب» در RegEx گاهی شهودیتر است، زیرا الگوهای ارائهشده را دقیقاً به ترتیب از چپ به راست بررسی میکند. بنابراین ابتدا تلاش میکند با الگوی اول تطابق یابد و تنها در صورتی که هیچ تطابقی با الگوی اول ممکن نباشد (صرفنظر از طول رشته)، با الگوی دوم تطابق را بررسی میکند و به همین ترتیب ادامه میدهد.
همچنین ببینید (SEE ALSO)
gig2mono(1), gigextract(1), gigdump(1), gigmerge(1), korg2gig(1)
اشکالات (BUGS)
بررسی و گزارش باگها در: http://bugs.linuxsampler.org
نویسنده (AUTHOR)
برنامه و صفحه راهنما توسط Christian Schoenebeck <cuse@users.sf.net> نوشته شده است.
| 30 Jun 2025 | libgig 4.6.0 |