Ana sayfa Donanım MIDI protokolü-2

MIDI protokolü-2

0

MIDI protokolü ile ilgili detay hususlara göz atacağız

Elektronik sistemler arası haberleşme protokollerinin senkron veya asenkron sayısal veri iletimi şeklinde, katmanlar halinde modellenen fonksiyonlar ve ilgili kuralların bütünü olduğunu daha önce ifade etmiştik. MIDI protokolü, fiziksel katman için belirli spesifikasyonlar belirlerken, cihazlar arası mesajlaşma için de sınırları belirlenmiş mesaj kümeleri tanımlamaktadır.

Mesajların taşınma şekli ise kanal adı verilen kavram dahilinde belirlenir. MIDI spesifikasyonu gereği, 16 adet haberleşme kanalı bulunabilir ve bir cihaz aynı anda en fazla 16 kanal vasıtasıyla iletişim kurabilmektedir. İstisnai bir durum, 16 kanalın yeterli olmadığı uygulamalarda birden fazla MIDI çıkışı bulunan ses kartlarında olduğu gibi 16″nın katları kadar bağımsız kanala imkan tanınabilmesidir. Bağımsız MIDI kanalları aynı fiziksel kablo üzerinden zaman dilimlerini paylaşarak eş zamanlı olarak kullanılırlar.
 

midi
 
MIDI mesajları genel olarak kanal mesajları ve sistem mesajları olarak iki ana kategoride ele alınırlar. Kanal mesajları, bahsetmiş olduğumuz 16 adet MIDI kanalının ne tür bir topoloji ile çalışacağını belirleyen mod mesajları ve mesajların müzikal veri özelliklerini belirleyen ses mesajları olarak iki alt sınıfa ayrılırlar. Sistem mesajları ise müzikal veri dışında kalan kontrol ve benzeri maksatlı mesajlardır. Doğal olarak kanal mod mesajları ve sistem mesajları kanal ses mesajlarına göre daha az kullanılırlar ve herhangi bir MIDI ağında gerçekleşen performans, kayıt vs işlemler çoğunlukla ses mesajlarından faydalanırlar. Şekil-1″de 16 MIDI kanalından ilk 8 kanalı kullanan bir MIDI kurgusuna yönelik gönderici ve alıcı birimler örneği görülmektedir. Bknz. Şekil 1

Verilen örnekte ilk 8 MIDI kanalı vasıtasıyla herhangi bir DAW yazılımı yardımıyla 6 adet yazılım synthesizer ve 2 adet donanım synthesizer olmak üzere toplam 8 enstrümanın eş zamanlı olarak kontrol edildiği görülmektedir.

 

MIDI cihazlarının veya programlarının hangi kanaldan iletişim kuracağı bilgisi cihaz veya program üzerinden yapılan tercih menüsü vasıtasıyla belirlenir. Buna göre, SynthMaster Instance-1 olarak belirlenen enstrüman kanalı açıldığında SynthMaster ayarları 1 no.lu kanala ayarlandığında, DAW üzerinden gelen kompozit mesajlardan sadece 1. Kanala ait olanlar seçilecek ve SynthMaster tarafından enstrüman kanalındaki notalar dahilinde ses dalgalarına dönüştürülecektir.
 
midi protokolü
 
MIDI mesajları genel olarak status byte ve data byte adı verilen iki tür veri paketinin peşpeşe dizilmesi ile oluşturulurlar. öncelikle her mesaj status byte adlı paket ile başlar. Bu paket içerisinde mesajın türü ve hangi kanaldan gönderileceği bilgisi bulunur. Yukarıda verilen örnekte, 1. Kanal bilgisini taşıyan bir status byte”ı sadece SynthMaster Instance-1 tarafından dikkate alınacak, diğer alıcılar tarafından gözardı edilecektir. Status byte içerisinde bulunan kanal numarası dışında, mesajın hangi fonksiyona sahip olduğu bilgisi de bulunmaktadır. Kanal ses mesajları; nota bas/kaldır, polifonik aftertouch, kanal basma şiddeti (pressure), pitch bend, program değişimi ve kanal değişimi olmak üzere toplam 7 farklı göreve sahip olabilmektedir. 1 no’lu kanala, 67. notaya 55 değeri ile bas mesajı gönderildiğinde SynthMaster Instance-1 o an seçili olan ses türüne göre ilgili notayı seslendirecektir. En basit MIDI mesajlarından birisi olan nota bas bilgisi Şekil-2″de görülen format dahilinde üretilmektedir. Bknz. Şekil 2

 

örnekte görülen her bir byte, başlangıç belirten 0 ve bitiş belirten 1 biti dışında, 8 bit uzunluğundadır. Buna göre, data byte olarak belirlenen her paket 128 farklı değer alabilmektedir. Status byte paketinde ise, ilk dört bit toplam 16 mesaj tipi tanımlamasına imkan tanırken, takip eden dört bit ise 16 MIDI kanalını belirlemektedir. Byte yapısı Şekil-3″te görülmektedir. Bknz. Şekil 3
 
Bahsedilen 7 farklı kanal ses mesajı türü yanında, cihazların MIDI mesajlarına kanal kullanımı bakımından ne şekilde cevap vereceği ise kanal mod mesajları ile belirlenir. Cihazlara kanal mod mesajı göndermek, cihaz üzerinde bulunan kontrol araçları vasıtasıyla veya kendileri de birer kanal ses mesajı türü olan kontrol değişikliği (CC) mesajları ile yapılabilir. MIDI cihazının veya programının 16 kanalın tümüne birden açık olup olmadığı ve her iki durumda da notalara polifonik mi monofonik mi cevap vereceği değişik uygulama alanlarına bağlı olmak üzere önem kazanan hususlardır. örneğin, çok sayıda synthesizer”dan oluşan bir MIDI kurulumunda, gereksiz karmaşaya sebebiyet vermemek için her cihaza/programa kendisi için uygun olan davranış şeklini belirtmek ve ona göre cevap vermesini istemek kullanım kolaylığı sağlayacaktır. Bknz. Şekil 4
 
teoman pasinlioğlu
 
Şekil-4″te görülen kurulumda DAW yazılımı birden fazla synthesizer”ı kontrol etmektedir. Bilgisayara bağlı ilk synthesizer kendisine Thru çıkışı ile bağlı olan birden fazla synthesizer”a mesaj iletmekte röle görevi görmekte olduğu için, Omni On adı verilen kanal mod davranışına ayarlanabilir. Bu şekilde, synthesizer 16 MIDI kanalının tamamında dinleme yapabilecek ve kendi ayarlı olduğu kanala/kanallara gönderilen ses mesajları ile ses üretecek, ayrıca gelen mesajların tamamını Thru ile bağlanan diğer cihazlara aynen iletecektir. Daisy chain (zincir) olarak da bilinen bu bağlantı şeklinde yer alan ikinci synthesizer, Omni Off moduna ayarlanarak sadece ayarlı olduğu kanaldan veri alacak şekilde Poly seçeneği ile polifonik ses üretebilecektir. Bu şekilde, Omni Off/Poly modunda çalışan cihazın kendisini ilgilendirmeyen mesajlara cevap vermesi önlenerek veri trafiği hafifletilecektir. Benzer şekilde, zincirin sonunda yer alan synthesizer Omni Off/Mono moduna ayarlanarak sadece ayarlı bulunduğu kanal üzerinden monofonik bass line”lar çalacak şekilde canlı kurulumlarda olası bağlantı karmaşalarına izin vermeyecek şekilde ve nispeten az veri trafiği ile kendisine verilen görevi yerine getirebilecektir.

 

Omni modu 16 kanalın tamamına erişimin sağlanması veya kısıtlanması ile ilgili olduğu için dikkatle ayarlanması gereken bir özelliktir. özellikle multi-timbral cihazlarda büyük olasılıkla birden fazla MIDI kanalını kullanan farklı seslerden istifade edileceği için Omni On modu ile birlikte 16 kanalın tümünün açık olması fayda sağlayacaktır. Omni modunun Off haline getirilmesi ise cevap verilen kanal sayısını bire düşüreceği için ancak yukarıda verilen örnekte görülen uygulamalarda anlam ifade etmektedir. Omni On/Off seçimi ile 16 kanal içerisinden istediğimiz herhangi bir sayıdaki kombinasyonu aktif hale getirmek olası değildir.
 

 
Daha önce de ifade ettiğim üzere, mod mesajları ses mesajlarına kıyasla daha az kullanılan ve sıklıkla güncelleme gerektirmeyen mesajlardır. Ses mesajları ise müzikal performans esnasında sürekli olarak değişen şartları belirleyen ve genellikle cihazlar/programlar tarafından üretilen, ancak içeriğini her an bilmek zorunda olmadığımız mesajlardır. İçeriğine daha fazla hakim olunması gerekebilecek mesajlar sistem mesajları olarak adlandırılmakta olup, kanal mesajlarından ayrı bir kategori içerisinde ele alınmaktadır.

 

BİR CEVAP BIRAK

Please enter your comment!
Please enter your name here