واضح آرشیو وب فارسی:پی سی سیتی: MIDI را بهتر بشناسیم
MIDI استانداردی است که برای تبادل اطلاعات میان سازهای دیجیتال با یکدیگر و کامپیوتر تدوین شده است و شاید اغراق نباشد اگر بگوییم بدون استفاده از این پروتکل امکان استفاده بهینه از سازهای دیجیتال وجود ندارد. در این نوشته سعی می کنیم برخی از اصطلاحات و موضوعات مرتبط با این استاندارد صنعتی را برای شما تشریح کنیم.
MIDI چیست؟
Musical Instrument Digital Interface، رابطی است سخت افزاری ، نرم افزاری برای صحبت کردن نرم افزارهای موسیقی و دستگاههای موسیقی دیجیتال با یکدیگر. در واقع همانگونه که یک نوازنده موسیقی با نگاه کردن به نت موسیقی از روی علائم تشخیص می دهد کدام نتها را با چه حسی باید اجرا کند (که در واقع پیام آهنگساز را متوجه می شود)، لازم است زبان مشترکی وجود داشته باشد تا وسایل دیجتال موسیقی نیز بتوانند با یکدیگر در زمینه موسیقی تبادل اطلاعات کنند.
هر نت موسیقی برای خود می تواند یک فایل کامپیوتری حاوی پیام ها و اطلاعات MIDI داشته باشد که شما می توانید با اجرای آن روی کامپیوتر یا یک سینتی سایزر، موسیقی ای که آن نت مشخص می کند را بشنوید.
دقت کنید همانطور که شما با دیدن یک نت سیاه مثلآ دو (C) و تمپوی موسیقی تشخیص می دهید کدام کلید روی پیانو را به چه نحو بنوازید، تبادل اطلاعات از طریق MIDI نیز به همین صورت است؛ یعنی فرستنده اطلاعات لازم مانند شماره نت، مدت زمان کشش، شدت صدا و ... را بصورت اطلاعات دیجیتال (که حجم بسیار کمی - مثلآ چند بایت - دارند) به گیرنده ارسال می کند و گیرنده از این طریق نت مورد نظر را با یکی از مجموعه بانک های صوتی که در اختیار دارد اجرا می کند. بنابراین در این تبادل اطلاعات هیچ گونه سیگنال صوتی آنالوگ منتقل نمی شود.
MIDI چگونه کار می کند؟
سناریو اصلی کار همان است که در پاراگراف قبل توضیح دادیم، در اینجا کمی بیشتر موضوع را بررسی می کنیم.
فرستنده - که می تواند یک کامپیوتر یا سازی که حالت Master را دارد، باشد - می خواهد بر روی یک دستگاه موسیقی دیجیتال - که می تواند یک کیبرد یا ماشین درام باشد - قطعه ای را اجرا کند. این قطعه موسیقی بدون شک از تعدادی نت موسیقی با نوانس های خاص تشکیل شده است که لازم است در زمانهای مشخص اجرا شوند.
همانطور که می دانید در دنیای دیجیتال اطلاعات بصورت بیت های صفر و یک ارسال می شوند. ارسال اطلاعات در MIDI ذاتآ بصورت سریال است هر چند ممکن است فرستنده و گیرنده آنها را اینگونه تشخیص ندهند. در واقع برای دستور اجرای هر نت تعداد زیادی از بیت های صفر و یک به سمت گیرنده از طریق کابل MIDI ارسال می شود.
هر مجموعه از این بیت ها عملکرد خاصی را از گیرنده انتظار دارند، برخی مشخص می کنند کدام نت باید اجرا شود، برخی شدت صدا را مشخص می کنند و ...
بیت ها با سرعت بسیار بالا (حدود 31,000 عدد بیت در ثانیه در حالت استاندارد) تبادل می شوند و هر 10 عدد از آنها مشخص کننده یک پیام یا Message خاص هستند. البته نباید شبهه ای بوجود بیاید! هر Message همان 8 بیت یا یک بایت است که در حالت ارسال سریال یک بیت آغازین (Start Bit) و یک بیت پایانی (Stop Bit) به آن افزوده می شود.
Message ها انواع مختلف دارند که قبلآ به آنها اشاره شد، نوع نت را مشخص می کنند، زمان و طول مدت اجرا را مشخص می کنند، نوع صدا را مشخص می کنند یعنی اینکه پیانو باشد یا فلوت و ...
موضوع کمی پیچیده تر است
برای اجرای یک قطعه که حاوی چندین ساز است و هر ساز ممکن است چند نت را همزمان اجرا کند و اینکه ممکن است قطعه را بیش از یک دستگاه موسیقی دیجیتال بخواهند اجرا کنند و ... موضوع به این سادگی ها نیست. درواقع با موجودیتی بنام Message نمی توان به تنهایی چنین انتظاری را از این پروتکل داشت.
MIDI Channels
از مهمترین ویژگیهای MIDI آن است که می تواند در آن واحد پیامهای مختلفی را به سازهای مختلف و یا به یک واحد صوتی ارسال کند. از آنجایی که ذات این استاندارد تبادل اطلاعات بصورت سریال است، تمامی سازهایی که در زنجیره ارتباطی MIDI قرار دارند همه اطلاعات را دریافت می کنند، بنابراین تنها لازم است که هر یک تشخیص دهند که کدام بسته اطلاعاتی به آنها تعلق دارد تا به آن واکنش لازم را نشان دهند.
بنابراین برای هر بسته اطلاعاتی کوچک (Message) مشخصه ای بنام کانال قرار داده می شود و هر دستگاه موسیقی دیجیتال نیز تنظیم می شود که به کدام کانال یا کانالها پاسخ دهد. مشاهده می کنید که با این روش شما می توانید از یک کامپیوتر بیش از یک ساز را کنترل کنید، کافی است آنها را بصورت سری از طریق رابط MIDI به یکدیگر متصل کنید. استانداردهای اولیه MIDI تعداد 16 کانال را پشتیبانی می کردند.
ناگفته نماد که برخی از Message ها هستند که کانال مشخصی ندارند، اینگونه از پیام ها در واقع به تمامی دستگاههای دیجیتالی که در مجموعه به هم متصل MIDI قرار دارد تعلق دارند. بعنوان مثال پیام هایی که حاوی اطلاعات کوک هستند یا پیامی که حاوی اطلاعات کاهش یا افزایش کل حجم صوتی است
MIDI را بهتر بشناسیم - قسمت دوم
در این نوشته نگاهی به انواع پیامهای MIDI انداخته و نحوه روشن و خاموش کردن نت ها و ساختار اطلاعات ارسالی برای این دو پیام را بررسی می کنیم.
MIDI Messages
پیامهای MIDI مجموعه دستورالعملهایی هستند که بین دستگاههای دیجیتال موسیقی و نرم افزارها برای برقراری ارتباط ، تبادل می شوند. این پیامها انواع مختلف دارند که به دو دسته اصلی می توان آنها را تقسیم کرد، اول پیامهای مربوط به کانالها که Channel Messages نامیده می شوند و دوم پیامهای سیستمی که System Messages نامیده می شوند.
ها آنهایی هستند که برای کانالهای MIDI ارسال می شوند، برای مثال اینکه یک کانال باید چه نتی را اجرا کند - که به آن Note Message گفته می شود - و یا اینکه این کانال باید در کدام لحظه ساز خود را تغییر دهد - که Program Change Message نامیده می شود
اما System Message ها آنهایی هستند که برای تمامی دستگاههای متصل به حلقه ارتباطی MIDI ارسال می شوند و وظیفه تمامی آنها است که این پیامها را گرفته به آنها پاسخ مناسب دهند. این پیامها عمومآ هیچ کاری به نحوه ریز اجرای نت های موسیقی ندارند.
پیامهای MIDI معمولآ توالی دو تا سه بایت اطلاعات هستند. بایت اول که وضعیت پیام یا Status نامیده می شود به گیرنده می گوید که این پیام از چه نوعی می باشد. این بایت حاوی اعدادی بین 128 تا 255 است. در این بایت پرارزش ترین بیت همواره یک است و چهار بیت کم ارزش شماره کانال را از 0 تا 16 مشخص می کنند. سه بیت باقیمانده مشخص کننده نوع پیام خواهند بود.
بایت دوم حاوی اطلاعاتی است که بر حسب نوع Status گیرنده به آن نیاز دارد، به این بایت Data گفته می شود. مقادیری که این قسمت از پیام اختیار می کند بین 0 تا 127 است. برخی از پیامهای MIDI نیاز به بایت سومی هم بعنوان Data دارند.
بایت هایی که اطلاعات را در خود نگهداری می کنند دارای پرارزش ترین بیت معادل صفر هستند. به این ترتیب گیرنده بسادگی با آزمایش بیت پرارزش هر بایتی که دریافت می کند می تواند تشخیص دهد که این بایت اطلاعات است یا مشخص کننده نوع پیام.
روشن و خاموش کردن نت ها
هنگام اجرای یک قطعه موسیقی توسط یک نرم افزار و چند ساز دیجیتال MIDI به احتمال بسیار زیاد بیشترین پیامی که نرم افزار به سازها ارسال می کند برای اجرای نت ها است. این پیامها Note On و Note Off نامیده می شوند.
هنگامی که یک سینتی سایزر پیام Note On را می گیرد، نت مورد نظر را اجرا نمی کند تا سایر اطلاعات برای اجرای نت را دریافت کند. این اطلاعات شامل دو بایت نام نت و شدت یا حجم صوتی آن خواهد بود.
همانطور که اشاره شده قسمت Data مقادیری از 0 تا 127 را اختیار می کند، بنابراین می تواند 128 سطح برای حجم صدا - که در فرهنگ MIDI به آن سرعت یا Velocity گفته می شود، - داشته باشد. بنابراین پس از دریافت یک Status = 9 Hex گیرنده ابتدا شماره نت را در بایت بعدی دریافت می کند و سپس حجم صوتی را در بایت دنبال آن. شکل اول نمایش دهنده سه بایتی است که برای روشن کردن هر نت گیرنده آنها را دریافت می کند.
عینآ مراحل بالا برای پیام Note Off نیز صورت می گیرد و پس از آن گیرنده مجددآ به انتظار دو بایت اطلاعات مشابه خواهد بود. در این حالت بایت دوم اطلاعات مشخص می کند که به چه سرعتی کلاویه رها می شود. برخی از سینتی سایزرها که توانایی اجرای After Touch را نداشته باشند معمولآ از این بایت صرفنظر می کنند، اما آنهایی که چنین توانایی اجرایی را داشته باشند پاسخ مناسب به آن می دهند.
MIDI را بهتر بشناسیم - قسمت سوم
پیام تغییر برنامه - Program Change Message
به محض آنکه یک دستگاه موسیقی دیجیتال - مانند یک سینتی سایزر - روشن می شود به حالتی برنامه ریزی می گردد که از پیش برای آن در نظر گرفته شده است. این وضعیت معمولآ در حافظه ROM دستگاه و یا در مدل های پیشرفته تر به حالتی که آخرین بار شما آنرا در حافظه RAM دستگاه ذخیره کرده اید، ثبت شده است.
اما برای آنکه شما توسط کامپیوتر صدای ساز خود را تغییر دهید و با صدای جدید به اجرای موسیقی بپردازید، ساز باید برنامه ای را دریافت کند که با اجرای آن صدایش تغییر کند. این برنامه یا پیام Program Change Message - PCM نام دارد.
اولین بایتی که ساز یا ماجول سینتی سایزر بعنوان Status دریافت می کند عدد C هگز است. به این ترتیب ساز پس از دریافت آن در انتظار دریافت مشخصات ساز اجرایی خواهد بود که به آن Program Number گفته می شود. بنابراین تنها بایت داده ای که پس از آن دریافت می شود شماره برنامه - نوع ساز - را مشخص می کند.
همانطور که بسیاری از شما می دانید در اینحالت پیانوی آکوستیک بزرگ شماره 1، پیانو آکوستیک با صدای شفاف شماره 2 و ... را بعنوان بایت داده اختیار می کنند.
پس از دریافت این بایت، ساز دیجیتال یا سینتی سایزر از ROM خود اطلاعات مربوط به اشکال موج صدای ساز را برداشته آماده اجرای صدای ساز می گردد.
پیام تغییر پارامترها - Control Change Message
نوع دیگر از پیامهای مربوط به کانالها است که برای ایجاد تغییر در وضعیت فیزیکی اجرای ساز بکار برده می شود. بعنوان مثال گرفتن پدال کشش Sustain، اعمال مدولاسیون Midulation که در حالت دستی عمومآ با یک چرخ انجام می گیرد و دیگر افکت ها بکار برده می شود. این نوع پیامها دارای Status بایتی معادل عدد B هگز است.
به دنبال بایت Status بایت دیتا ای ارسال می شود که نوع کنترل را مشخص می کند و در صورت نیاز بایت سومی هم برای مقدار کنترل مورد نظر ارسال خواهد شد.
توجه داشته باشید که برخی از افکت ها مانند Sustain شبیه به یک کلید دو حالته روشن و خاموش عمل می کنند، اما برخی دیگر ممکن است مقدار پارامتری را نیز برای اجرا نیاز داشته باشند.
بعنوان مثال همانطور که در حال اجرای دستی، مقدارحرکت دادن کلید Pitch/Bend در شکل اجرای صوت خروجی موثر است برای شبیه سازی اجرای این حالت با MIDI نیاز به اطلاعات لازم در مورد وضعیت Pitch/Bend ضروری است، که در این حالت برای این پیام خاص نیاز به بایت اطلاعاتی نیز هست که مشخصات میزان Pitch/Bend را در آن تعریف می کنند.
نمونه دیگری از انواع کنترل ها که بسیار معروف و کاربردی نیز هست، پیامی است که به cc10 - با کد هگز A - مشهور است. این پیام برای تغییر خروجی میان دو بلندگوی چپ و راست - همان Panning - بکار برده می شود.
محدودیت در اجرای تغییرات
اگر وارد برنامه ریزی جدی MIDI شده اید بد نیست بدانید تمام ماجولهای صوتی به تمام کنترلها پاسخ مثبت نمی دهند. به این دیگر ممکن است آنها برخی از پیامها تغییر کنترل را نپذيرند.
بعنوان مثال cc 120 - با کد هگز 78 - که تمام صدا ها را خاموش می کند و cc 123 - با کد هگز 7B - که تمام نت ها را خاموش می کند. پیام تغییر کنترل شماره 120 بدون توجه به وضعیت نرم افزار به سینتی سایزر اعلام میکند که همه صداها را خاموش کن. cc 120 را همه سازها یا ماجولهای سینتی سایزر پشتیبانی نمی کنند برای همین بهتر است اگر هدف خاموش کردن ناگهانی صدا باشد از cc 123 استفاده کنید. اینکار معادل آن است که انگشت خود را از روی همه کلاویه هایی که درحال اجرا هستند برداریم.
System Messages
همانطور که گفتیم در مقابل پیامهایی که به هر کانال مربوط می شود، گروهی از پیام ها نیز وجود دارند که به همه کانالها تعلق دارند و به همین علت به آن System Message گفته می شود. وقتی این نوع از پیام ارسال می شود تمام سازها و ماجولهای سینتی سایزر به آن پاسخ می دهند مگر حالتهای خاصی که به آن Exclusive Messages گفته می شود که برای ماجولها و سازهای متعلق به یک سازنده خاص ارسال می شوند.
در این حالت لازم است سازنده های مختلف کد مخصوص داشته باشند که اینگونه نیز هست مثلآ عدد مشخصه Kurzweil معادل 7 یا مشخصه Yamaha معادل 67 و ... است.
پیامهای System به سه دسته اصلی تقسیم می شوند Common، Real Time و Exclusive. پیامهای مشترک یا Common برای همه سازها، پیامهای Exclusive یا انحصاری برای سازندگان خواص و Real Time برای سنکرون کردن ساعت سازها با ساعت MIDI با یکدیگر بکار برده می شود.
شروین یه سری نرم افزار هست که بهش midi میدی (چه شد ! ) بهت نت میده درسته ؟
نرم افزار زیاده برای کار با میدی ولی از نظر نت دادن نرم افزار cubase که افراد مبتدی هم کم و بیش میتونن کار کنن باهاش...
http://www.farinsoft.com/img/Total-Training-Cubase-4-The-Essentials.jpg
البته با این کارت و کابل
http://www.harmonytalk.com/images/sound-card.jpg
این صفحه را در گوگل محبوب کنید
[ارسال شده از: پی سی سیتی]
[تعداد بازديد از اين مطلب: 355]