MIDI Nota Oynatıcı
MIDI Nota Oynatıcı. Bu ders, standart 5 kutuplu DIN kablosuyla bağlı bir MIDI cihazına bir Arduino veya Genuino kartından MIDI notalarının nasıl gönderileceğini gösterir.
MIDI , Müzik Enstrümanı Dijital Arayüzü, synthesizer’ları, sıralayıcıları ve diğer müzik cihazlarını kontrol etmek için kullanışlı bir protokoldür. MIDI aygıtları genellikle iki geniş sınıfa gruplandırılır: denetleyiciler (örn. Insan eylemlerine dayalı MIDI sinyalleri üreten aygıtlar) ve sentezleyiciler (örnekleyiciler, sıralayıcılar ve benzerleri dahil). İkincisi MIDI verilerini alır ve ses, ışık veya başka bir etki yapar.
MIDI, saniyede 31,250 bite çalışan bir seri protokoldür. Yerleşik seri bağlantı noktası (hepsi Mega’da da) hepsi bu hızda veri gönderebilir.
MIDI baytları iki türe ayrılır: komut baytları ve veri baytları . Komut baytları her zaman 128 veya daha büyük veya onaltılık olarak 0x80 ile 0xFF arasındadır. Veri baytları, her zaman hex’den 127 veya 0x00’den 0x7F’ye eşittir. Komutlar arasında nota, nota kapalı, pitch bend ve benzeri şeyler bulunur. Veri baytları nota, perde hızı veya ses yüksekliği, perde eğimi miktarı vb. Daha fazla ayrıntı için, MIDI belirtimine veya Web’deki birçok MIDI Protokolü Kılavuzuna bakın .
MIDI verileri genellikle onaltılık olarak notlandırılmıştır, çünkü MIDI bankaları ve enstrümanları 16’lık gruplar halinde gruplandırılmıştır.
MIDI Nota Oynatıcı
Donanım
- Arduino ya da Genuino Uno
- Dişi MIDI jakı
- 2 adet 220 ohm direnç
- Bağlantı Telleri
- MIDI özellikli cihaz (isteğe bağlı, test için)
Devre
Tüm MIDI konnektörleri, MIDI özelliklerinin tanımı olarak dişidir. Konektörü panele nasıl bağlayacağınız aşağıda açıklanmıştır:
- Dijital pin 1’e 220 ohm direnç üzerinden bağlanan MIDI jakı pimi 5
- MIDI jack pin 2 toprağa(-) bağlı
- 220 ohm direnç üzerinden + 5V’ye bağlanmış MIDI jak pimi 4
Kod
Dikkat DUE veya Leonardo gibi ATmega32U4 içeren bir kart kullanıyorsanız, lütfen aşağıdaki çizimde Serial komutunu Serial1 değiştirin.
/* MIDI nota oyuncu Bu çizim, MIDI nota verilerini göndermek için seri iletim pimini (pin 1) nasıl kullanacağınızı gösterir. Bu devre bir MIDI synth'a bağlıysa, notları çalacaktır. Sırayla F # -0 (0x1E) - F # -5 (0x5A). Devre: - MIDI jakına 5 bağlı dijital pin 1 - Zemine(-) bağlı MIDI jakının pini 2 - + 5V ile 220 ohm direnç arasına bağlanan MIDI jak pimi 4 - Jaka bir MIDI kablosu, daha sonra bir MIDI synth'a takın ve müzik çalın. oluşturuldu 13 Haz 2006 değiştirildi 13 Ağu 2012 Tom Igoe tarafından Bu örnek kod kamu malıdır. http://www.arduino.cc/en/Tutorial/Midi */ void setup() { // MIDI baud hızını ayarla: Serial.begin(31250); } void loop() { // F # -0 (0x1E) ile F # -5 (0x5A) arasındaki notları oynatma: for (int note = 0x1E; note < 0x5A; note ++) { // Kanal 1'deki (0x90) not, bazı not değeri (not), orta hız (0x45): noteOn(0x90, note, 0x45); delay(100); // Kanal 1 (0x90), bazı not değeri (not), sessiz hız (0x00) ile ilgili not: noteOn(0x90, note, 0x00); delay(100); } } // bir MIDI nota oynatır. Cmd'nin 127'den büyük olduğunu ya da // veri değerleri 127'den küçüktür: void noteOn(int cmd, int pitch, int velocity) { Serial.write(cmd); Serial.write(pitch); Serial.write(velocity); }
Kaynak:arduino.cc