İçindekiler:
- Adım 1: İhtiyacınız Olan Şey
- Adım 2: Donanım Kurulumu
- Adım 3: Yazılım Kurulumu
- Adım 4: Bibliyografya
Video: Arduino Tabanlı MIDI ile Cubase Kontrolü: 4 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:22
Bir arkadaşım, ses kayıt yazılımı Cubase'i bir düğme ile kontrol etmek istedi, böylece bilgisayara gidip klavyede yazmak zorunda kalmadan kayıtları uzaktan durdurabilir ve başlatabilirdi. Bunu diğer kayıt yazılımlarında yapabilirsin, biz sadece Cubase kullanıyoruz.
Adım 1: İhtiyacınız Olan Şey
Normalde açık butonlar (bu gibi yapmak istediğiniz her eylem için bir tane) 10K-Ohm direnç (her düğme için bir tane) İyi bir katı 5V ile Arduino. Madene harici olarak güç vermek zorunda kaldım (Diecimila çalıştıran çıplak kemik sürümünü kullanıyorum) buradan alınLehimsiz devre tahtası (bunun gibi)MIDI jakı (yalnızca bir tanesine ihtiyacınız var, çünkü yaptığınız tek şey bir dis gibi göndermek)220- Ohm direnci (MIDI jakı için) Cubase veya başka bir kayıt yazılımı çalıştıran bilgisayar MIDI Kablosu (burada bir 20'er) Bir USB'den MIDI girişine ihtiyacınız olabilir, kullandım ve beğendim, bunu ve bunu
Adım 2: Donanım Kurulumu
Şematik ve resim ektedir. NOT: şema, ITP Fiziksel Hesaplamanın eseridir.
Temelde geçiş yapmak için 5V, kontrol pinine geçiş, kontrol pininden GND'ye 10K direnç MIDI jakı için pin 5'ten seri pin'e, pin4'ten 5V'a 220 direnç üzerinden Arduino'nuza aşağıdaki çizimi yükleyin: {{{ /* Convert Arduino'dan bir MIDI denetleyicisine istediğiniz kadar dijital giriş * kullanarak. * * Bu taslak MIDI kanal 5'e 2 MIDI notu göndermek için ayarlanmıştır, * ancak diğer notalar ve kanallar için kolayca yeniden yapılandırılabilir * * 3 Kasım 2008'de düzenlendi * Hyeki Min tarafından * * 14 Mayıs 2009'da değiştirildi * Petyr Stretz tarafından * Değiştirme mantığı, böylece pin düşük ve yüksek * notaların klavye gibi çalmasını sağladı, gereksiz pinler kaldırıldı, * çıkış MIDI kanalı 5 olarak değiştirildi ** Değiştirildi 15 Nisan 2014* Petyr Stretz tarafından * Instructables kullanıcısı Andrew. Wilson.7 BYTE bildirdi Arduino 1.0 veya sonraki sürümlerde * artık kullanılmamaktadır. noteOn()*/'dan kaldırıldı
// kullandığımız pinleri tanımlayalım, MIDI portu her zaman Arduino pin 1 (TX) üzerindedir int switchPin1 = 2; int switchPin2 = 3;
// genel midi notlar karakter notu1 = 60; //Orta C karakter not2 = 62; //NS
// Değişkenler int switchState1 = LOW; int switchState2 = DÜŞÜK; int currentSwitchState1 = DÜŞÜK; int currentSwitchState2 = DÜŞÜK;
void setup() { // I/O pinlerinin durumlarını ayarlayın: pinMode(switchPin1, INPUT); pinMode(switchPin2, INPUT);
// MIDI baud hızını ayarla: Serial.begin(31250); } void loop() { //switchPin1 currentSwitchState1 = digitalRead(switchPin1); if(currentSwitchState1 == YÜKSEK && switchState1 == DÜŞÜK) // basın // Kanal 5 (0x94) hakkında not, bir miktar not değeri (not), orta hız (0x45): noteOn(0x94, not1, 0x45); if(currentSwitchState1 == DÜŞÜK && switchState1 == YÜKSEK) // yayın // Kanal 5 (0x94) üzerine not, bir not değeri (not), sessiz hız (0x00): noteOn(0x94, not1, 0x00); switchState1 = currentSwitchState1; //switchPin2 currentSwitchState2 = digitalRead(switchPin2); if(currentSwitchState2 == YÜKSEK && switchState2 == DÜŞÜK) // itin //kanal 5 (0x94) hakkında not, bir not değeri (not), orta hız (0x45): noteOn(0x94, not2, 0x45); if(currentSwitchState2 == DÜŞÜK && switchState2 == YÜKSEK) // yayın // Kanal 5 (0x94) üzerine not, bir not değeri (not), sessiz hız (0x00): noteOn(0x94, not2, 0x00); switchState2 = currentSwitchState2; }// Bir MIDI notu açma/kapama mesajı gönderin. void noteOn(char cmd, karakter verisi1, karakter verisi2) { Serial.print(cmd); Seri.baskı(veri1); Seri.baskı(veri2); } }}}
Adım 3: Yazılım Kurulumu
Cubase, MIDI notalarını eylemlere dönüştürebilen genel bir uzaktan kumanda için kurulabilir. Ekran görüntüleri Cubase 3'ten alınmıştır, ancak diğer sürümlerde bu kadar farklı olmaması gerekir. Diğer kayıt yazılımları için kılavuzunuzu kontrol edin. Cihazlar menüsü altında "Aygıt Kurulumu"nu seçin. Cihaz kurulum penceresi göründüğünde, bir kontrol eklemek için artı işaretine tıklayın ve "Genel Uzaktan Kumanda"yı seçin NOT: sürüme bağlı olarak, sağ taraftaki uzaktan kumandayı seçin ve sola eklemek için tıklayın ve oku tıklayın. Cihaz listesinde "Generic Remote" seçeneğine tıkladıktan sonra pencere aşağıdaki üçüncü ekran görüntüsü gibi görünmelidir. MIDI girişinizi açılır listeden ayarlayın, büyük olasılıkla benimkinden farklı olacak ve üst kutudaki ilk "Fader 1"e tıklayın. Uzaktan kumandanızın bağlı ve çalışır durumda olduğundan emin olun, "Öğren" düğmesini tıklayıp basılı tutun ve uzaktan kumanda düğmelerinden birine basın ve bırakın "Öğrenin." Kodu değiştirmediyseniz, MIDI kanalını ve Adres değişikliğini benimkine uyacak şekilde görmelisiniz. Aynısını Fader 2 ve benzerleri için ne kadar çok tuşa ihtiyacınız varsa o kadar yapın. Maksimum Değeri "1" olarak değiştirin, ekran görüntüsünü almadan önce bunu yapmadım. Alt kutuda kontrolün ne yapacağını ayarladınız. Bir sürü seçenek var, ancak sadece Kaydet ve Durdur'a ihtiyacımız var. Cihaz bırakma listesinden "Komut"u, Kanal/Kategori açılır listesinden "Taşıma"yı ve ardından Değer/Eylem bırakma listesinden ilgili işleminizi seçin. Değiştirmek istediğiniz kutuya tıklamanız, açılan listeleri açmalıdır. Artık hazır olmalısınız. Denetime NAKLİYE gibi bariz bir ad vermek için yeniden adlandır'ı seçin ve Uygula'ya ve ardından Tamam'a basın. Son olarak, cihazlar menüsünü tıklayın ve Genel Uzaktan Kumanda'yı seçin. Kontrolünüzün seçili olduğundan ve onu kullanmaya hazır olduğunuzdan emin olun. NOT: Öğrendiğim notları tanımama ile ilgili bir sorunla karşılaştım. + ve -'nin yanında bir Cihazları Sıfırla düğmesi var, her şeyin çalıştığına bastığımda.
Adım 4: Bibliyografya
Çünkü kredinin gerektiği yerde kredi vermeye inanıyorum: https://itp.nyu.edu/physcomp/Tutorials/MusicalArduino - Arduino'dan MIDI'ye not: https://www.indiana.edu/~emusic/etext/MIDI/chapter3_MIDI4. shtml - MIDI notu infohttps://www.dancetech.com/article.cfm?threadid=172 - Cubase'i Yapılandırma
Önerilen:
Arduino Tabanlı Temassız Kızılötesi Termometre - Arduino Kullanan IR Tabanlı Termometre: 4 Adım
Arduino Tabanlı Temassız Kızılötesi Termometre | Arduino Kullanan IR Tabanlı Termometre: Merhaba arkadaşlar, bu talimatta arduino kullanarak temassız bir Termometre yapacağız. Bazen sıvının/katının sıcaklığı çok yüksek veya çok düşük olduğundan, onunla temas kurmak ve okumak zordur. o sahnede sıcaklık
Butonlar, Raspberry Pi ve Scratch ile Parlaklık Kontrolü PWM Tabanlı LED Kontrolü: 8 Adım (Resimlerle)
Basmalı Düğmeler, Raspberry Pi ve Scratch Kullanarak Parlaklık Kontrolü PWM Tabanlı LED Kontrolü: Öğrencilerime PWM'nin nasıl çalıştığını açıklamanın bir yolunu bulmaya çalışıyordum, bu yüzden kendime 2 basmalı düğme kullanarak bir LED'in parlaklığını kontrol etmeye çalışma görevi verdim - bir düğme bir LED'in parlaklığını arttırır ve diğeri onu karartır. Programlamak için
DHT11 ile ESP32 Tabanlı M5Stack M5stick C Hava Durumu Monitörü - DHT11 ile M5stick-C'de Sıcaklık Nem ve Isı İndeksini İzleme: 6 Adım
DHT11 ile ESP32 Tabanlı M5Stack M5stick C Hava Durumu Monitörü | DHT11 ile M5stick-C'de Sıcaklık Nem ve Isı İndeksini İzleme: Merhaba arkadaşlar, bu talimatta DHT11 sıcaklık sensörünün m5stick-C (m5stack tarafından geliştirilen bir geliştirme kartı) ile nasıl arayüzleneceğini ve m5stick-C ekranında nasıl görüntüleneceğini öğreneceğiz. Bu eğitimde sıcaklık, nem ve sıcaklık değerlerini okuyacağız; ısı ben
Arduino Uno R3 ile Potansiyometre ile LED Kontrolü: 6 Adım
Arduino Uno R3 ile Potansiyometre ile LED Kontrolü: Daha önce, yeni bir yazılımı tanımak için aydınlatıcı olabilecek kontrol panosuna veri göndermek için Seri Monitör kullanıyorduk. Bu dersimizde, bir potansiyometre ile bir LED'in parlaklığını nasıl değiştireceğimizi ve potansiyometrenin verilerini nasıl alacağımızı görelim
Arduino GSM Tabanlı Motor Kontrolü (GSM Modülsüz): 3 Adım
Arduino GSM Tabanlı Motor Kontrolü (GSM Modülü Olmadan): Bu projede size röle kullanarak herhangi bir şeyi açıp kapamak için basit ama benzersiz bir yöntem göstereceğim. Bu fikir, bu tür projeler yapan birkaç kişiden geldi, ancak hepsi cep telefonunun arama davranışlarına bağlı olduklarında sorun yaşadılar. ben sade