Bu foruma yazan her üye, forum kurallarını okumuş ve kabul etmiş sayılır. Bu kurallara uyulmadığı takdirde mesajlarınız silinebilir, taşınabilir ve siteden uzaklaştırılabilirsiniz.
Tarih: Çrş 20.08.2003 21:58 Mesaj konusu: MIDI nedir? Nasıl pişirilir?
MIDI’nin Tarihçesi
Antik çağlarda (1970’lerin sonuna kadar), synthesizer denen alet çok muhterem bir aletti. Öyle her müzik aleti dükkanında veya büyük süpermarkette satılmazdı. Eşin-dostun evinde tozlanmasın diye üzeri dantelli örtüyle örtülmüş Triton’lar da göremezdiniz. Synthesizer, büyük müzik gruplarının büyük klavye ustalarının büyük paralar vererek satın aldıkları, büyük kamyonlarla taşınabilen bir enstrumandı. Büyük paralar derken, şöyle orta halli bir Moog sistemi 5,000 dolardan başlar, o güne göre yeni teknolojiler içeren modüler sistemler 10,000-15,000 dolar sınırına ve hatta daha da kuzeye doğru giderdi.
Antik çağların sonunda mikro işlemci üretiminin yaygınlaşması, ucuzlaması ve mikro işlemcilerin synthesizer dizaynında giderek daha çok kullanılmaya başlamasıyla synth denen alet de yaygınlaşıp ucuzladı. Hatta birçok profesyonel klavyecinin çok sayıda synth’i olmaya başladı.
Ama insan genetik olarak sürekli şikayet edecek birşeyler Arama eğiliminde olduğu için “ne güzel beş tane synth’im var” demek yerine “A synth’inin X sesi, B synth’inin Y sesi çok güzel. Keşke A ile B’yi birbirine bağlamanin bir yolu olsa da ben birini çalarken diğeri de çaldıklarımı unison takip edebilse” veya “A’nin tuşlarını seviyorum, B’nin de seslerini, keşke A’nin tuşları ile B’yi çalabilsem” türünden yakınmalar duyulmaya başlandi.
Bu tür bağlantılar yapmak mümkün değildi, çünkü her synth, üreticinin o model için dizayn ettiği kendine has bir sistem kullanıyordu ve hiçbiri birbiriyle uyumlu değildi. Ama kullanıcılardan gelen bu istek üreticilerin kulağına ulaştı ve bu isteği yerine getirirlerse satışlarının artacağını farkeden üreticiler tüm synth’lerin birbiriyle iletişim kurmasını sağlayacak evrensel bir dil oluşturmak için harekete geçtiler (ilk girişim Roland’ın o zamanki başkanından geldi diye hatırlıyorum).
Önce Japonya’daki önde gelen synth üreticileri (Roland, Korg, Yamaha, Kawai) kendi aralarında görüşmeye başladılar. Sonra Amerikan üreticileri de bu işe katılmazsa istenen sonucun elde edilemeyeceği anlaşıldı ve Sequential Circuits firmasının da katılmasıyla görüşmeler Trans-Pasifik olarak sürdürüldü (böyle bir sözcük var mı?).
1983 yılında görüşmeler sonuçlandı ve o günden sonra üretilecek her türlü synthesizer’in birbiriyle iyi–kötü iletişim kurmasını sağlayacak olan MIDI (Musical Instrument Digital Interface) protokolünün doğuşu 1983 NAMM (Kuzey Amerika Müzik Aleti Üreticileri) Fuarı’nda dünyaya duyuruldu.
En son domokun tarafından Cmt 15.05.2004 4:11 tarihinde değiştirildi, toplamda 1 kere değiştirildi
MIDI, müzik enstrumanları arasında performans verilerinin seri olarak aktarılmasına yarayan bir iletişim protokolüdür. Bu kadar basit!
Basit ama yine de biraz açıklayalım. Ne demek “performans verisi”?
MIDI bağlantısı hiç bir zaman ses (audio) sinyali taşımaz. Taşıdığı bilgi daha çok bilgisayar klavyenizi bilgisayara bağlayan kablonun taşıdığı bilgiye benzer. Diyelim ki yukarıdaki örnekte olduğu gibi A synth’ini bir MIDI kablosuyla B synth’ine bağladınız. Siz A’nın tuşlarına bastıkça B’nin ses üreteci sesi üretiyor. Bu durumda siz A’da bir tuşa bastığınız zaman A’nin B’ye ilettiği MIDI mesajları şunlardır:
- bir tuşa basıldı (Note on)
- x tuşuna basıldı (Note number = x)
- tuşa y şiddetinde basıldı (Velocity = y)
Parmagınızı tuştan çektiğinizde ise şu mesajlar gider:
- bir tuş bırakıldı (Note off)
- x tuşu bırakıldı (Note number = x)
- tuş z şiddetinde bırakıldı (Velocity = z)
Kısacası tek bir tuşa basıp bırakmanız en az 6 adet MIDI mesajının gönderilmesini sağlar (konuyu daha fazla karıştırmamak için birçok ayrıntıyı atlıyorum şu anda). B synth’i A’dan aldığı bu performans değerlerine göre sesi sentezler, yani birleştirip üretir. (Sentez/Synthesis=Birleştirme, Analiz/Analysis=Ayırıştırma)
Peki bu yazının ilk cümlesindeki “seri olarak” sözü ne anlama geliyor? MIDI protokolü aynı anda yalnızca tek bir mesaj gönderilmesine olanak verir. Diyelim ki siz klavyenizde aynı anda dört tuşa birden basıp bir akor çaldığınızda, buna ilişkin mesajlar aynı anda değil, birbirini takiben, yani seri olarak gönderilir. Bunu yapmak icin klavye tuşa hangi sırayla bastığınızı belirleyip verileri o sırayla göndermeye çalışır. MIDI’nin en büyük kısıtlamalarından biri budur; hele bir de iletişim hızının 31.2 KB/saniye olduğunu hesaba katarsanız MIDI ile yapılan performanslarda zamanlamanın neden büyük bir sorun haline geldiğini anlamak daha da kolaylaşır.
Bütün bu kısıtlamalarına rağmen MIDI çok kısa zamanda evrensel kabul gördü ve üretilen synth’lerin büyük çoğunluğu MIDI mesajlarını alıp gönderebilme yeteneğine sahip olacak şekilde üretildi. İlk başta MIDI birkaç synth’i birbirine bağlayıp aynı anda çalabilmek için kullanıldı. Ama kisa süre içinde, bazı pratik düşünceli insanlar MIDI mesajlarını bilgisayara kaydedip sonradan üzerinde istedikleri gibi oynayabileceklerini, geliştirebileceklerini, saklayabileceklerini ve MIDI dosyası haline getirip eşe-dosta göndererek ortak müzikal serüvenlere girişebileceklerini farkettiler. Bunun sonucunda müzik prodüksiyonunu tamamen değiştiren MIDI sequencing programları doğdu. Bu konuya da ileride başka bir yazıda değineceğim. Konunun bütünlüğünü bozmamak için bu başlığı kilitliyorum. Soruları, yorumları olanlar lütfen yeni bir başlık açıp oradan salvo yapsınlar. _________________ www.somunkiran.com
Bu sayfa şimdiye kadar yaklaşık 140 kez görüntülendiğine ve hiç soru gelmediğine göre, gayet iyi gidiyoruz demektir. İsterseniz artık konuya biraz daha derinlemesine girelim.
Yukarıda, müzik klavyemizde tek bir tuşa bastığımız zaman, bunun en az 3 MIDI mesajının gönderilmesini sağlayacağını yazmıştım (note on, note value, velocity). Bu üç mesajdan her birini bir sözcüğe, üçünün toplamını da bir cümleye benzetebiliriz. Derleyip toparladığımızda bu cümle şuna benzer: “x tuşuna y hızıyla basıldı”.
MIDI dilinde her sözcük 8 bit uzunluğundadır. Bit, bildiğiniz gibi 0 veya 1’den oluşan tek bir hanedir (benim burada kolaylık olsun diye sözcük dediğim şeye ise bilgisayar terminolojisinde byte denir, bit’le karışmasın!).
Her 8 haneli sözcüğün, en solda yer alan hanesi özel bir anlam taşır. Bu hane eğer 1 ise, o sözcük bir eylem bildiriyor demektir (fiil gibi). Buna İngilizcede status byte denir. Eğer bu hane 0 ise, o sözcük bir değer bildiriyor demektir (İngilizcesi data byte).
Örneğin bir tuşa bastığınızda gönderilen Note On komutu şöyledir:
1001 0000
(burada sağdaki dört hanenin başka bir görevi var, ama ona daha ileride gireceğiz).
Note on komutunun hemen ardından gelen Note Value komutu ise şöyledir örneğin:
0011 1100
Burada en soldaki sıfır bu cümlenin bir değer bildirdiğini ifade ediyor. Önceden note on komutu geldiği icin synth bu değeri zaten merakla beklemekte (“tamam bir notaya basıldı, ama hangi notaya?”). İlk sıfır bu değerin geldiğini belirtiyor, sonraki 7 hane ise hangi notaya basıldıgını ifade ediyor. Meraklısı oturup hesaplayabilir, 0 ve 1’lerden oluşan 7 haneli bir sayıyla 128 ayrı sayısal değer ifade edebilirsiniz. Bu nedenle MIDI dünyasında tüm değerler 0 ile 127 arasında ayarlanabilir. Note value da aynı şekilde. 128 nota, 10 küsur oktavı kaplayan yeterli bir genişlik verir bize. Bu genişlik içinde hangi notaya basıldığını bu kodlama sistemiyle ifade edebiliriz.
Synth hangi notaya basıldığını da öğrendikten sonra, o notaya hangi hızla basıldığı bilgisini beklemeye başlar. O da bir sonraki sözcüğün içinde gelir:
0100 0000
Burada yine ilk 0 bu sözcüğün bir değer bildirdiğini gösteriyor. Geri kalan 7 rakam ise, tuşa hangi hızla basıldığını yine 0-127 arasında bir rakamla ifade ediyor.
Bakın, MIDI dilini çat-pat konuşmaya başladık bile
Bu forumda yeni konular açamazsınız Bu forumdaki mesajlara cevap veremezsiniz Bu forumdaki mesajlarınızı değiştiremezsiniz Bu forumdaki mesajlarınızı silemezsiniz Bu forumdaki anketlerde oy kullanamazsınız