سه شنبه ۱۳ تیر ۱۳۸۵ ،
کاوه رهنما
همانطور که در نوشته قبل اشاره کردیم، MIDI استانداردی است که برای تبادل اطلاعات میان سازهای دیجیتال با یکدیگر و کامپیوتر تدوین شده است و شاید اغراق نباشد اگر بگوییم بدون استفاده از این
پروتکل امکان استفاده بهینه از سازهای دیجیتال وجود ندارد. در این نوشته سعی می کنیم برخی از اصطلاحات و موضوعات مرتبط با این استاندارد صنعتی را برای شما تشریح کنیم.
MIDI چیست؟
Musical Instrument Digital Interface، رابطی است سخت افزاری ، نرم افزاری برای صحبت کردن نرم افزارهای موسیقی و دستگاههای موسیقی دیجیتال با یکدیگر. در واقع همانگونه که یک
نوازنده موسیقی با نگاه کردن به نت موسیقی از روی علائم تشخیص می دهد کدام نتها را با چه حسی باید اجرا کند (که در واقع پیام آهنگساز را متوجه می شود)، لازم است زبان مشترکی وجود داشته باشد تا
وسایل دیجتال موسیقی نیز بتوانند با یکدیگر در زمینه موسیقی تبادل اطلاعات کنند.
هر نت موسیقی برای خود می تواند یک فایل کامپیوتری حاوی پیام ها و اطلاعات MIDI داشته باشد که شما می توانید با اجرای آن روی کامپیوتر یا یک سینتی سایزر، موسیقی ای که آن نت مشخص می کند
را بشنوید.
دقت کنید همانطور که شما با دیدن یک نت سیاه مثلآ دو (C) و تمپوی موسیقی تشخیص می دهید کدام کلید روی پیانو را به چه نحو بنوازید، تبادل اطلاعات از طریق MIDI نیز به همین صورت است؛ یعنی
فرستنده اطلاعات لازم مانند شماره نت، مدت زمان کشش، شدت صدا و ... را بصورت اطلاعات دیجیتال (که حجم بسیار کمی - مثلآ چند بایت - دارند) به گیرنده ارسال می کند و گیرنده از این طریق نت مورد
نظر را با یکی از مجموعه بانک های صوتی که در اختیار دارد اجرا می کند. بنابراین در این تبادل اطلاعات هیچ گونه سیگنال صوتی آنالوگ منتقل نمی شود.
MIDI چگونه کار می کند؟
سناریو اصلی کار همان است که در پاراگراف قبل توضیح دادیم، در اینجا کمی بیشتر موضوع را بررسی می کنیم.
فرستنده - که می تواند یک کامپیوتر یا سازی که حالت Master را دارد، باشد - می خواهد بر روی یک دستگاه موسیقی دیجیتال - که می تواند یک کیبرد یا ماشین درام باشد - قطعه ای را اجرا کند. این قطعه
موسیقی بدون شک از تعدادی نت موسیقی با نوانس های خاص تشکیل شده است که لازم است در زمانهای مشخص اجرا شوند.
همانطور که می دانید در دنیای دیجیتال اطلاعات بصورت بیت های صفر و یک ارسال می شوند. ارسال اطلاعات در MIDI ذاتآ بصورت سریال است هر چند ممکن است فرستنده و گیرنده آنها را اینگونه
تشخیص ندهند. در واقع برای دستور اجرای هر نت تعداد زیادی از بیت های صفر و یک به سمت گیرنده از طریق کابل MIDI ارسال می شود.
هر مجموعه از این بیت ها عملکرد خاصی را از گیرنده انتظار دارند، برخی مشخص می کنند کدام نت باید اجرا شود، برخی شدت صدا را مشخص می کنند و ...
بیت ها با سرعت بسیار بالا (حدود 31,000 عدد بیت در ثانیه در حالت استاندارد) تبادل می شوند و هر 10 عدد از آنها مشخص کننده یک پیام یا Message خاص هستند. البته نباید شبهه ای بوجود بیاید! هر Message همان 8 بیت یا یک بایت است که در حالت ارسال سریال یک بیت آغازین (Start Bit) و یک بیت پایانی (Stop Bit) به آن افزوده می شود.
Message ها انواع مختلف دارند که قبلآ به آنها اشاره شد، نوع نت را مشخص می کنند، زمان و طول مدت اجرا را مشخص می کنند، نوع صدا را مشخص می کنند یعنی اینکه پیانو باشد یا فلوت و ...
یک پیام MIDI از 10 بیت تشکیل شده است که بصورت سریال بین دستگاه ها منتقل می شود.
موضوع کمی پیچیده تر است
برای اجرای یک قطعه که حاوی چندین ساز است و هر ساز ممکن است چند نت را همزمان اجرا کند و اینکه ممکن است قطعه را بیش از یک دستگاه موسیقی دیجیتال بخواهند اجرا کنند و ... موضوع به این سادگی ها نیست. درواقع با موجودیتی بنام Message نمی توان به تنهایی چنین انتظاری را از این پروتکل داشت.
MIDI Channels
از مهمترین ویژگیهای MIDI آن است که می تواند در آن واحد پیامهای مختلفی را به سازهای مختلف و یا به یک واحد صوتی ارسال کند. از آنجایی که ذات این استاندارد تبادل اطلاعات بصورت سریال
است، تمامی سازهایی که در زنجیره ارتباطی MIDI قرار دارند همه اطلاعات را دریافت می کنند، بنابراین تنها لازم است که هر یک تشخیص دهند که کدام بسته اطلاعاتی به آنها تعلق دارد تا به آن واکنش
لازم را نشان دهند.
بنابراین برای هر بسته اطلاعاتی کوچک (Message) مشخصه ای بنام کانال قرار داده می شود و هر دستگاه موسیقی دیجیتال نیز تنظیم می شود که به کدام کانال یا کانالها پاسخ دهد. مشاهده می کنید که با این روش شما می توانید از یک کامپیوتر بیش از یک ساز را کنترل کنید، کافی است آنها را بصورت سری از طریق رابط MIDI به یکدیگر متصل کنید. استانداردهای اولیه MIDI تعداد 16 کانال را پشتیبانی می کردند.
ناگفته نماد که برخی از Message ها هستند که کانال مشخصی ندارند، اینگونه از پیام ها در واقع به تمامی دستگاههای دیجیتالی که در مجموعه به هم متصل MIDI قرار دارد تعلق دارند. بعنوان مثال پیام
هایی که حاوی اطلاعات کوک هستند یا پیامی که حاوی اطلاعات کاهش یا افزایش کل حجم صوتی است و ...
تیر ۱۴م, ۱۳۸۵ at ۱:۳۱ ق.ظ
آقای رهنما لذت بردم، لطفآ این سلسله مطالب رو ادامه بدید و دقیق وارد مسائل message های میدی شده اونها رو توضیح بدید. کماکان اگر کسی از دوستان در مشهد هست که می دونه کابل میدی یو اس بی کجا دارن اطلاع بده.
تیر ۱۴م, ۱۳۸۵ at ۵:۰۴ ق.ظ
besiar bikhod bood fekr nakonam shoma salahiate ezhare nazar dar morede masalee computeri ra dashte bashid bashid bande mohndese computer hastam behtar ast in mavared ra be motekhasesash besparid
تیر ۱۴م, ۱۳۸۵ at ۷:۳۶ ق.ظ
عجب! بگذریم، از پاسخ سئوال مربوط به فونت ممنون اگر ممکن است راهنمایی کنید که چطوری میشه فونت سازهای خوب رو پیدا کرد. مرسی.
تیر ۱۴م, ۱۳۸۵ at ۹:۰۲ ق.ظ
درواقع میدی کنترلر چیزی جز یک UART نیست نه ؟
تیر ۱۴م, ۱۳۸۵ at ۹:۳۷ ق.ظ
man hich vaght nazar nemidam vali inbar dar javab aghaye Anonymous bayad begam avalan aghaye rahnama matalebesho az khodesh dar nayavorde va az yek ya chand manba ya maghale estefade karde va saniyan ۲sale pish ke man rajebe midi tahghigh mikardam na modir grohe narmafzar va na modir gorohe sakhtafzar chizi rajebe midi,midi maper,mpu-۴۰۱,…nemidonestan
matalbe basic computeri mojod dar in maghlaro har kesi ke ۲kelas savad dashte bashe mefahme. to chart reshtatonham ke ma chize khasi marbot be edeaton ham nadidim.sss
تیر ۱۴م, ۱۳۸۵ at ۱:۰۴ ب.ظ
- در مطالب آینده حتمآ راجع به message های midi توضیح خواهیم داد.
- در مورد نظر آقای Anonymous باید اضافه کنم که اولآ شما می تونید مقالات حرفه ای و پیشرفته خودتون رو برای سایت ارسال کنید تا دیگران هم از اونها استفاده کنند. چون مطمئن هستم مدیران سایت از آنها استقبال می کنند. اما مطالبی که من در این سایت می نویسم برای آگاهی عمومی علاقمندان به موسیقی است، بسیاری که فقط نام midi رو شنیده اند. همواره سعی کرده ام که مطالب را در حدی تهیه کنم که با معلومات دبیرستانی قابل درک باشه. در هر صورت اگر این نوشته برای شما مفید نبوده، ضمن عذرخواهی از شما می خوام مطالب خودتون رو برای سایت ارسال کنید.
- فونت های صوتی البته باید اونها رو خریداری کنید اما ممکن است با گشتن در اینترنت (soundfont) بتونید برخی را پیدا هم بکنید.
- بله هسته برقراری ارتباط یک کنترلر midi یک آی سی است که وظیفه UART را انجام می دهد. البته وظایف دیگری از جمله پردازش پیامها و … را نیز برعهده دارد.
- از آقای sss بخاطر توضیح شون ممنون هستم.
تیر ۱۴م, ۱۳۸۵ at ۱۱:۱۸ ب.ظ
merci, khaste nabashid.
تیر ۱۵م, ۱۳۸۵ at ۱۲:۳۳ ب.ظ
جناب آقای رهنما باسلام و تشکر از زحمات جنابعالی و تشکر از جواب مودبانه ای که به Anonymous دادید.
یقینا زحماتی که جنابعالی در حد بضاعتتان خالصانه می کشید به مراتب قابل تقدیرتر از دریای علمیست !!!!!!
که Anonymous ها از آن بهره مندند!!!!! و حاضر نیستند که قطره ای از این دریا را در اختیار کسی قرار دهند!!!!! .(البته در صورتیکه ایشان موری نباشند که با افتادن قطره بارانی تصور کرده اند که به دریا افتاده اند!!!!!!!!!!)
غرض از تحریر این عبارات فقط اینست که جنابعالی دلسرد نشوید و بدانید که هستند کسانی که قدر زحمات شما رامی دانند و از ته دل برای شما دعا می کنند .
موفق و پیروز باشید
تیر ۱۵م, ۱۳۸۵ at ۱:۵۳ ب.ظ
بسیار جالب و مفید بود. مرسی
تیر ۱۶م, ۱۳۸۵ at ۶:۵۰ ق.ظ
والا بنده هم تكنيسين كامپيوتر هستم و به نظر من مطالب كاوه جان هيچ مشكلي براي ايراد گرفتن نداره. نمي دونم بعضي ها چرا فقط قادرن از ديگران ايراد بگيرن.
خطاب به Anonymous نامرد!
مرسي كاوه جان خيلي فني و واظح نوشتي
سپاس
تیر ۱۶م, ۱۳۸۵ at ۶:۵۰ ق.ظ
والا بنده هم تكنيسين كامپيوتر هستم و به نظر من مطالب كاوه جان هيچ مشكلي براي ايراد گرفتن نداره. نمي دونم بعضي ها چرا فقط قادرن از ديگران ايراد بگيرن.
خطاب به Anonymous نامرد!
مرسي كاوه جان خيلي فني و واضح نوشتي
سپاس
تیر ۱۷م, ۱۳۸۵ at ۹:۴۹ ق.ظ
I’m agree with _omid_ , Arash, sss! :)
تیر ۲۲م, ۱۳۸۵ at ۸:۴۶ ق.ظ
salam
dostane khosh zoghi ke ba computer kar mikonan ya saz mizanan va melodi khob misazan baraye hamkari dar yek albume mojaz age momkene mail bezanan
mani_music۱۸@yahoo.com
ba tashakor movafagh bashin
شهریور ۲۲م, ۱۳۸۵ at ۲:۲۲ ق.ظ
ba salam az in ke in mataleb yad midahid kamal tashakor ra daram.tagazayi daram va amikhastam dar morede geimate narmavzarhaye ahangsazi begid va chetur mitavan anha ra be soorat post tahie kard. tashakor
بهمن ۳م, ۱۳۸۶ at ۳:۲۷ ب.ظ
آیا می شود نرم رفزار Korg Legacy Collection را با کیبورد کامپیوتر نواخت آیا نرم افزار خاصی میخواهد؟