MIDI Nota Oynatıcı Uygulaması

0
409
Okunma

MIDI Nota Oynatıcı

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

 

1 Yıldız2 Yıldız3 Yıldız4 Yıldız5 Yıldız 1 Oydan 5,00 Puan. Bu yazıya oy vermek ister misiniz?
Loading...
Elektronik, Bilim, Teknoloji, Müzik, Tasarım.
Paylaş

CEVAP VER

Please enter your comment!
Please enter your name here

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.