muzisyenim.com | MAKALE





ilker SEN



05.02.2004 - MÜZİK ve MIDI TEKNİĞİ | MIDI... Elektronik müzik aletlerinin sayısal (digital) haberleşmesini sağlayan, uluslararası bir standart.
MÜZİK ve MIDI TEKNİĞİ

MIDI; elektronik müzik aletlerinin sayısal (digital) haberleşmesini sağlayan, uluslararası bir standart.

MIDI (The Musical Instrument Digital Interface)



MIDI, elektronik müzik aletlerinin sayısal (digital) haberleşmesini sağlayan, uluslararası bir standarttır.

BAĞLANTILAR :

Eğer böyle standart bir arabirim olmasaydı, elektronik müzik aletlerinin birbiriyle haberleşmesi çok zor ve kullanıcı için de biraz sinir bozucu olurdu. MIDI ile değişik üreticilerin çalgıları, sadece bir kablo ile birbirlerine bağlanabilir ve bu bu aletler birbirlerini kontrol edebilirler. Piyasada MIDI'li cihazlar olarak sentezleyicileri (Synthesizer), sayısal (digital) vurmalı çalgıları, sayısal gitarları, sayısal nefeslileri ve sıralayıcıları (sequencer) gösterebiliriz.

(Şekil 1)

MIDI'li bir cihazın üzerinde MIDI IN, MIDI OUT ve MIDI THRU olarak gösterilen 5-bacaklı DIN (Alman Endüstri Normu) bağlantılarının bazıları veya hepsi bulunur (Şekil 1).











MIDI IN başka bir çalgının gönderdiği işaretleri almak, MIDI OUT kendi işaretlerini yollamak, MIDI THRU da gelen işaretlerin bir kopyasını yollamak işlevlerini gerçeklestirir. Bunu daha iyi anlamak için Şekil 2'yi inceleyelim.

(Şekil 2)

A enstrümanı çalındığında B de çalar, fakat B, MIDI IN'den aldığı işareti MIDI OUT'tan almadıgı için C çalmaz. Şimdi B'yi çalalım. C ve A da çalar. B'nin gönderdiği MIDI haberi, C tarafından alınıp, MIDI THRU ile A'ya iletilir ve böylece C ile birlikte A'da çalar. Eğer sadece C çalınırsa, C'nin MIDI OUT'u boşta olduğu için A ve B çalmaz.

MIDI OUT çıkısından sadece o cihazın kendi ürettiği MIDI haberi yollanır . MIDI IN'den alınan haberi bir sonraki cihaza iletmek için MIDI THRU çıkışı kullanılır (Bazı cihazlarda MIDI THRU ve MIDI OUT tek soket üzerinden de kullanılabiliyor).

Bir haberi birçok cihaza iletmek için sadece bir MIDI IN ve birçok MIDI THRU bağlantısında oluşan dağıtıcı sistemler kullanılır (THRU BOX). Bazı cihazlar ise MIDI IN'den aldığı bilgileri MIDI OUT'tan yollayabilir. Bunun için cihazla birlikte verilen kullanım kılavuzunu incelemek gerekir.

MIDI ile önümüze yeni ufuklar açılıyor. Sadece bir klavye (keyboard) ile birçok sentezleyiciyi (synthesizer) çalabilir, bir sıralayıcı (sequencer) veya bilgisayar ile sentezleyicilerden oluşmuş bir orkestrayı tek başımıza yönetebiliriz.

Bir çalgıyı klavye ve ses kaynağı olarak ikiye ayırıp, ikisini MIDI ile bağlayalım. Artık klavye tek başına bir cihaza (MIDI keyboard controller) ve ses kaynagı da yine tek başına bir cihaza (MIDI sound module) dönüştü. Şimdi ses kaynağı sayısını arttırarak bir tek klavye ile birçok ses kaynağını kontrol edebiliriz. Şekil 3'ü inceleyelim.

Bir tek ikili kablo ile birden fazla sentezleyici çalabilme imkanını bize MIDI kanalları sağlar. 1'den 16'ya kadar 16 ayrı kanaldan, ayrı ayrı cihazları kontrol edebiliriz. Bunu bir televizyon alıcısına benzetebiliriz. Her cihaz, ayarlı olduğu kanala ilişkin bilgileri algılar.

DURUM-BiLGi AYIRIMI :

Cihazlar arasında gönderilen MIDI bilgileri biraz daha yakından inceleyelim. Bilgiler 32500 bit/sn hızıyla, 7 bitlik kelimeler halinde ve ek olarak bir stop bitiyle seri olarak yollanırlar (Şekil 4).

Gönderilen kelimeleri ana olarak iki bölümde inceleyebiliriz :

'Durum Kelimeleri ve Bilgi Kelimeleri'.

Durum kelimeleri, bilgi kelimelerinden 7.bit'in 1 olmasi ile ayrılırlar. Yollanan kelime topluluklarına 'haber' adı verilir. Her haber, haberin tipini belirleyen bir durum kelimesiyle başlar ve bunu bilgiyi içeren bilgi kelimeleri izler.

Durum kelimesini her haberin başinda yollayabileceğimiz gibi, sadece durum değişikliği olduğu zaman da gönderebiliriz. Bu özellik, oldukça önemli olan zamandan büyük tasarruf sağlar. Aksi belirtilmedikçe, alıcı, gelen bilgi kelimelerini en son kaldığı duruma uygun olarak işler. Yani, üç 'nota çal' haberi için bir tek durum kelimesi yollamamız yeterlidir. 2. ve 3. haberler için özel bir durum kelimesi yollamamız gerekmez.

MIDI haberleri iki ana gruba ayrılır :

'Kaynak Haberleri ve Sistem Haberleri'.

Bu gruplar da Şekil 5'te görüldüğü gibi alt gruplara ayrılır. Kanal haberleri kanal numarası içerir ve sadece o kanala ait cihazlar tarafından alınır. Sistem haberleri ise bağlı olan bütün cihazlar tarafından alınırlar ve kanal numarası içermezler.

SES HABERLERi:

TABLO 1 : (Ses Haberleri)


HEXADECIMAL KOD AÇIKLAMA BiLGi KELiMELERi
8n Nota Sus 1. Tuş Numarası 2. Tuşu Bırakma Hızı
9n Nota çal 1. Tuş Numarası 2. Tuşa Basma Hızı
An Tuş Basıncı 1. Tuş Numarası 2. Basınç
Bn Kontrol Değiştir 1. Kontrol Numarası 2. Kontrol Değeri
Cn Program Değiştir 1. Program Numarası
Dn Kanal Basınç 1. Basınç Miktarı
EnPitch Bender 1. LSB 2. MSB


8n, 9n, An, Bn, Cn, Dn ve En dir.
n , kanal numarasıdır ve değeri 0 ile 15 arasındadır. 0 birinci kanalı, 15 ise onaltıncı kanalı temsil eder. 8n ve 9n notalara ait haberlerdir. Tuş numarası 0 ile 127 arasındadır ve ortadaki Do notasının tuş numarası 60'dır.

Teorik olarak 127 nota çalınabilir ve bu da 10,5 oktava karşılık gelir.
9n durum kelimesi 'nota çal'dır ve bir tuşa basıldığı zaman yollanır.
Bunu izleyen bilgi kelimeleri sırayla tuş numarası ve tuşa basış hızıdır.
Eğer cihaz tuşa basış hızını algılayamıyorsa ortalama bir değer olan 64'ü yollar.

9n'nin zıt olanı 8n'dir ve tuşun bırakıldığını haber verir. Bunu izleyen bilgi kelimeleri yine nota numarası ve bırakış hızıdır. 9n kelimesi ile de tuşun bırakıldığı haber verilebilir. Bunun için tuşa basış hızı olarak 0 yollanır, fakat bu durumda bırakış hızı yollanmaz.

An, bir tuşa basıldıktan sonra, o tuşa uygulanmakta olan basıncı belirtir.
An'i izleyen bilgi kelimeleri sırasıyla tuş numarası ve tuşa uygulanan basınçtır.

Dn'nin işlevi de An'nınkine benzer. Dn ile tuş numarası yollanmaz, sadece uygulanan basınç yollanir ve bu yollanan değer bütün tuşlar için geçerli olur. En, 'pitch Bender'a ait 14 bitlik bir bilgi yollanacağını belirtir.

En'yi izleyen ilk kelime, yollanacak değerin düşük anlamlı baytını (LSB: Low Significant Byte) , ikinci kelime ise yüksek anlamlı baytını (MSB: Most Significant Byte) gösterir. Örneğin, 16 tabanına göre 1234h değerini yollamak için, sırasıyla En, 34h ve 12h yollanır. 2000h çalınan notanın kendisidir ve bu değerin yukarı ve aşağı değişimi, notayı da aynı şekilde değişitirir.

Cn, alıcının programını değiştirir (Program Change). Cn'yi izleyen bilgi kelimesine göre, alıcı daha önce ayarlı olduğu bir programa geçer. Örneğin alıcının birinci programında piyano sesi olsun. Cn ve 01 sırasıyla yollanırsa, alıcı cihaz piyano sesi çıkarma durumuna geçer.

Son olarak inceleyecegimiz ses haberi, tuş basıncı ve pitch bender dışındaki kontrollerin yeni değerlerini göndermek için kullanılan 'Bn kontrol değişimi ses haberi'dir.

Her kontrol değişim haberi, birincisi kontrol değişim numarası, ikincisi kontrol değeri olmak üzere iki bilgi kelimesi içerir. 0'dan 63'e kadar olan kontrol numaraları sürekli kontroller olan potansiyometrelere ayrılmıştır.

Bilgi 14 bit halinde yollanır. 0 ile 31 arasındaki bir kontrol numarası MSB'a ve 32 ile 63 arasındaki başka bir kontrol numarası da LSB'a ayrılmıştır.
Bazı durumlarda LSB'in gönderilmesine gerek kalmaz ve sadece MSB'lar yollanır ve alınır (Tablo 2).

TABLO 2 : (Kontrol Numaraları)

NUMARA İŞLEM
0 Devamlı Kontrol 0 (MSB)
1 Devamlı Kontrol 1 (MSB)
2-31 Devamlı Kontrol 2-31 (MSB)
32 Devamlı Kontrol 0 (LSB)
33 Devamlı Kontrol 1 (LSB)
34-63 Devamlı Kontrol 2-31 (LSB)
64-95 Anahtarlar (0=Açık, 127=Kapalı)
122-127 Kanal Durum Haberlerine Ayrılmış


64'den 95'e kadar olan kontrol numaraları anahtarlara ayrılmıştır. Anahtar açıldığında 0 ve kapandığında 127 yollanır. 1 ile 126 arasındaki değerlerin alıcı tarafından nasıl yorumlanacağı tanımlanmamıştır.

1 numaralı kontrol, modülasyon ayarına ayrılmıştır. ilk zamanlar 0 numaralı kontrol 'Pitch Bender'a ayrılmıştı, ama daha sonra bu kontrol En ile yollanmaya başlandı.

Kontrol numaralari MIDI 'resmi' standardında kesin olarak tanimlanmamışsa da, zamanla resmi olmayan bir standart ortaya çıktı (Tablo 3), ve firmalar buna uymaya başladılar.

TABLO 3 : (Kontrollerin Genel Kullanımı)

NUMARA İŞLEM
1 Modülasyon Ayarı (Modulation Wheel)
2 Nefes Kontrolü (Breath Controller)
4 Ayak Kontrolü (Foot Controller)
5Portamento Süresi
6 Bilgi Giriş Düğmesi
7 Ana Ses Ayarı (Master Volume)
64 Sustain Pedalı
65 Portamento
66 Sostenuto
67 Soft Pedalı
96Bilgi Giriş Artırma
97Bilgi Giriş Azaltma


DURUM HABERLERi:

Durum haberleri alıcı cihazı OMNI ON-OFF, POLY veya MONO durumlarına getirir (Tablo 4).

TABLO 4 : (Durum Haberleri)

HABER DURUM BiLGi
Local Off Bn122,0
Local On Bn122,127
Tüm Notalar Sus Bn123,0
Omni Off Bn124,0
Omni On Bn125,0
Mono On Bn126, Kanal Sayısı
Poly On Bn127,0


Bu durumları inceleyelim;

OMNI ON-POLY: Bütün kanallardan gelen haberler alınır ve çoksesli olarak çalınır. Sadece ayarlı olunan kanaldan haber yollanır.

OMNI ON-MONO: Bütün kanallardan gelen haberler alınır ve teksesli olarak çalınır. Sadece ayarlı olunan kanaldan haber yollanır.

OMNI OFF-POLY: Sadece ayarlı olunan kanaldan gelen haberler alınır ve yollanır. Gelen notalar çoksesli olarak çalınır.

OMNI OFF-MONO: Birden fazla kanaldan gelen haberler alınır ve her bir kanala ait nota haberleri değişik seslerle çalınır. Diyelim ki alıcı 4. kanala ayarlı olsun ve B7, 126 ve 5 bilgileri yollansın. Alıcı 4'ten itibaren 5. kanaldan gelen haberleri alır ve değişik seslerle çalar.

SiSTEM HABERLERi:

Sistem haberleri diğer haberlerden farklıdır, kanal numarası içermezler ve Fx şeklindedirler.

Üç tür sistem haberi vardır :

'Sistem dışı, ortak ve gerçek-zaman sistem haberleri' (Tablo 5).

TABLO 5: (Sistem Haberleri)

  DURUM BiLGi İŞLEM
Sistem Dışı F0ID bilgisi üreticinin belirledigi, cihaza ait bilgiler
Ortak F2LSB, MSB Şarkının bir noktası
Ortak F3Sarki No Şarkı seçme
Ortak F6- Osilatör ayarı
Ortak F7- "Sistem Dışı" sonu
Gerçek Zaman F8- Zamanlama işareti
Gerçek Zaman FA- Başla
Gerçek Zaman FB- Devam et
Gerçek Zaman FC- Dur
Gerçek Zaman FE- Aktiflik işareti
Gerçek Zaman FF- Sıfırlama (System Reset)


Sistem dışı haberler, üreticinin belirlediği bilgileri içerirler. F0 durum kelimesi ile başlar ve bunu, ilki üreticinin kimlik kodu (ID Code) olmak üzere bilgi kelimeleri izler.

Sistem dışı haberler F7 ile veya F8 ve FE dışında herhangi bir durum kelimesiyle sona erer. Kimlik kodunu tanımayan bir alıcı, sistem dışı haber bitene kadar gelen bilgileri görmezlikten gelir.

Dört tane 'Ortak Sistem Haberi'vardır :

F3 durum kelimesi, şarkı seçmeye yayar ve bunu izleyen bilgi kelimesi seçilecek şarkının numarasını belirtir.

F6, analog sentezleyicilerin otomatik osilatör ayarlarını çalıştırmak için kullanılır.

F2 durum haberleri, bir şarkının belirli bir noktasını gösterir. Yollanan 14 bit'lik bilgi, gösterilen noktanın, şarkının başından itibaren kaç 1/16'lık nota ileride olduğunu belirtir.

Altı tane 'Gerçek Zaman Sistem Haberi' vardır :

Bunlar sadece durum kelimelerinden oluşurlar, bilgi kelimesi içermezler ve (FE hariç) her zaman, hatta diğer haberlerin tam ortasında bile yollanabilirler.
Bu özellik sayesinde daha büyük bir zamanlama doğruluğu sağlanır.

F8 zamanlama kodları her çeyrek nota için 24 adet yollanır ve sequencer gibi cihazlarin senkronizasyonunu sağlar. Bu zamanlama kodaları FA veya FB gelinceye kadar dikkate alınmamalıdır. Bazı cihazlar sürekli olarak bu gibi zamanlama kodlarını yolladıklarından buna dikkat etmek gerekir.

FC ise, artık gelen zamanlama kodlarının önemsenmeyeceğini belirtir.

'Başla' kodu, şarkıyı her seferinde baştan, 'devam et' kodu ise en son kaldığı yerden veya F2 ile gösterilen noktadan başlatır.

FE kodu, gönderici cihazın çalışır durumda olduğunu gösterir ve her 100-300 ms'de bir yollanır. Böylece kendiliğinden kapanan alıcı cihazların birdenbire kapanması önlenir. Çünkü bazı MIDI cihazları 300 ms'den daha uzun bir süre FE kelimesi alamazlarsa kapanırlar veya özel bir duruma geçerler.

En son durum haberi ise, sistemi ilk gerilim uygulandığı andaki duruma döndüren FF'dir (System Reset). Bu komutu kullanırken çok dikkatli olunmalıdır.

Bazı cihazlar ilk açıldıkları anda kendiliklerinden bu haberi gönderirler. Eğer, böyle iki cihaz birbirine bağlıysa ve birine FF yollanırsa, bu cihaz ilk açıldığı andaki duruma dönerek diğerine FF yollar. Bu kez diğeri başa dönerek aynı şeyi yapar ve bu döngü sonsuza kadar böyle devam edip gider. Bu haberi kullanmaktan mümkün olduğunca kaçınılmalıdır.

 

<<< Geri