İçindekiler:
- 1. Adım: Bağımlılıklar
- Adım 2: Midi Giriş Değerlerini Yapılandırın
- 3. Adım: Örneklerle Ek Klasörler Ekleyin
- 4. Adım: Yeni Klasörler İçinde Ek Örnekler Ekleyin ve Yapılandırın
- Adım 5: Sayısal Tuş Referansı
Video: Raspberry Pi Davul Makinesi: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:16
Raspberry Pi + Python aracılığıyla Örnek Sıralayıcı.
Sıralayıcı 4 polifoniye sahiptir ve kullanıcının gerçek zamanlı olarak değiştirebilecekleri 6 farklı diziyi saklamasına ve sıraya koymasına izin verir ve farklı örnekler arasında geçiş yapma yeteneğini destekler.
Senaryoyu, gerçekten herhangi bir MIDI denetleyicisi ve sesiyle tamamen çalışabilecek şekilde yazdım. Her biri 16 örnek olmak üzere 18 farklı ses bankası kullanıyorum, ancak bankaları ve örnekleri eklemek veya çıkarmak kolaydır ve çok fazla değişiklik gerektirmez. Herhangi bir sorun yaşarsanız bana bir e-posta gönderin: [email protected]
Kodu GitHub'da şu adreste bulun:
Lütfen kullanırsanız ve özellikle onunla bir video çekerseniz bana bildirin!
1. Adım: Bağımlılıklar
Bu program aşağıdaki (yerleşik olmayan) Python Modüllerini gerektirir:
orta
pygame
dizi
Bununla birlikte, Mido'nun kendisi birkaç bağımlılık gerektirdiğinden Mido bazı komplikasyonlara neden olur. Hepsinin kurulu olduğundan emin olmak için, Raspberry Pi'nizin terminaline aşağıdaki komutları yazın ('$' atlayarak) ve her şey yoluna girecek. Diğer modüller normal olarak kurulabilir.
$ sudo apt-get güncellemesi
$ sudo apt-get install build-essential
$ sudo apt-get install libasound-dev veya libasound2-dev
$ sudo apt-get install libjack0
$ sudo apt-get install libjack-dev
$ sudo apt-get install python-pip
$ sudo apt-get install python-dev
$ sudo pip kurulumu python-rtmidi
$ sudo pip yükleme mido
Adım 2: Midi Giriş Değerlerini Yapılandırın
Ana Python Komut Dosyası içinde, 16 tam sayıdan (satır 165) oluşan noteList adlı bir dizi vardır. Bunlar, sesleri tetiklemek için denetleyicimizin Pi'ye gönderdiği MIDI nota değerleridir. Yine de her midi denetleyici farklıdır, bu nedenle bir Akai LPD8'iniz yoksa büyük olasılıkla bu değerleri cihazınıza uyacak şekilde değiştirmeniz gerekecektir.
Github deposu ayrıca, bu amaç için özel olarak yapılmış "midihelp.py" adlı başka bir komut dosyası içerir! Tek yaptığı, bilgisayarın tanıdığı ilk MIDI denetleyicisinden giriş değerlerini konsola yazdırmak. Tek yapmanız gereken, noteList'te bulunanlardan farklıysa, dizideki bu değerleri değiştirmek.
Notların sırası, klasör başına hangi ses efektinin çalındığıyla da ilişkilidir, bu yüzden bunu da aklınızda bulundurun.
3. Adım: Örneklerle Ek Klasörler Ekleyin
Komut dosyası içindeki örnek kitler, aynı dizindeki klasörler aracılığıyla saklanır ve 808 kitinin GitHub dosyası içinde tam olarak nasıl olduğunu ayarlar. Bu şekilde, kolayca düzenlenebilen ve değiştirilebilen klasörlerde saklanan her türden farklı numune setine sahip olabilirim.
Komut dosyasının kendisinde değiştirilecek tek şey, komut dosyasına kaç tane örnek klasörü olduğunu söyleyen katlama değişkenidir. Aynı dizinde (808 kiti) yalnızca bir alt klasör olduğundan, şu anda komut dosyası foldNum'a ayarlanmıştır. Komut dosyasının şu anda işleyebileceği maksimum klasör sayısı 18'dir, bu benim kullandığım klasör sayısıdır, ancak bu oldukça önemsizdir. bunu değiştir, yardıma ihtiyacın olursa bana haber ver.
Klasörlerin adları gerçekten önemli değil (hepsi farklı olduğu sürece) çünkü Komut Dosyası aynı dizindeki klasör miktarını okur ve yolları bu şekilde alır. Dosyaların isimleri önemlidir, ancak bir sonraki adımda bunun hakkında daha fazla bilgi verilecektir.
4. Adım: Yeni Klasörler İçinde Ek Örnekler Ekleyin ve Yapılandırın
Sesler, 0-15 arasında numaralandırılmış.wav dosyalarını içeren aynı dizindeki klasörler aracılığıyla örnekleyiciye yüklenir. Bunun bir örneği için dahil edilen 808 klasörüne bakın. Örnek içeren HER alt klasör birbiriyle aynı görünmelidir.
noteList dizisindeki MIDI girişlerinin dizini, tam olarak.wav dosya adına karşılık gelir.
Örneğin:
- noteList[0] içinde saklanan MIDI notasını tetiklediğinizde wav dosyası 0.wav çalacaktır.
- noteList[8] içinde saklanan MIDI notasını tetiklediğinizde, 8.wav wav dosyası çalacaktır.
Bunu kısmen, her bir MIDI denetleyicisinin komut dosyasıyla çalışmak üzere kolayca ayarlanabilmesi için ve ayrıca örnek ve giriş numarasını kolayca genişletip sınırlandırabilmem ve ayrıca dosyaları ve komut dosyasını, kick davulu yapacak şekilde organize edebilmem için yaptım. örneğin, sesler her zaman 0.wav olarak kaydedilir ve ilk MIDI notası tarafından tetiklenir.
Kontrol cihazımdaki 16 girişe karşılık gelmesi için biraz keyfi olarak 16 değer seçtim, bu nedenle yalnızca 1 örnekle veya daha fazlasıyla bir sıralayıcı yapmayı tercih ederseniz, tek yapmanız gereken ses dosyalarını buna göre numaralandırmak ve eşleştirmek için noteList dizisinde saklanan sayıları çıkarın veya ekleyin.
Dahil edilen 808 kiti düzgün çalışıyorsa ancak kendi örneklerinizle ilgili sorun yaşıyorsanız, çözüm büyük olasılıkla dosyaların örnekleme hızını PyGame'in 22,050khz örnekleme hızına ve 16 bit derinliğine uyacak şekilde değiştirmek olacaktır. Bunu Audacity'de veya diğer herhangi bir Ses düzenleme yazılımı. Oradan mükemmel çalışmalılar!
Adım 5: Sayısal Tuş Referansı
Tamam, sıralayıcının içinde, başlangıçta düşündüğümden daha çok şey oluyor, bu yüzden artan işlevselliğe uyması için Sayısal Tuş Takımına biraz sıkıştırdım. Bu akılda, Yıldız * ve Dönem. ikisi de fonksiyon tuşları olarak çalışır.
REFERANS
ANA FONKSİYONLAR
[8] - Metronomu aç ve kapat
[9] - Kayıt Modunu aç/kapat
[Enter] - Oynat/Duraklat dizisi
[0] - Sıradaki Geçerli Notu Sil
[Num Lock ve *] - Kapat
[MIDI Notu ve.] - Çift sayılara kuantize etmeyin
TEMPO FONKSİYONLARI
[+] - Kurs Hızlandırma BPM'si
[-] - Seyir Yavaşlatma BPM'si
[+ ve *] - BPM'yi Hızla Hızlandırın
[- ve *] - BPM'yi Hızla Yavaşlatın
[+ ve.] - İyi Hızlandırılmış BPM
[- ve.] - Hassas Yavaşlatma BPM'si
SIRA FONKSİYONLARI
[1-6] Geri Çağırma Sırası 1-6
[1-6 ve.] Sıra 1-6'yı Sakla
[0 ve.] Geçerli Sırayı Temizle
ÖRNEK KLASÖRLERİ DEĞİŞTİRME
[1-9 ve *] - 1-9 Klasörlerinde Numune Paketinde Değişiklik
[1-9 ve * ve.] - 10-18 Klasörlerinde Numune Paketinde Değişiklik
SIRA İPUÇLARI:
-Geçerli diziyi [0 ve.] temizleyin ve bellekten silinmesini istediğiniz dizilere kaydedin.
-Bir diziyi geri çağırın ve kopyalamak için farklı bir numaraya kaydedin.
Önerilen:
Arduino Uno ve Mozzi ile Basit Davul Makinesi: 4 Adım
Arduino Uno ve Mozzi ile Basit Davul Makinesi: Arjantin'de yaşamak, uluslararası postaların çalınacağı veya gümrükte takılacağı anlamına gelir. Coronavirus karantinasını ekleyin ve bir sonraki projeniz eski bir Arduino Uno panosuyla sınırlandırılır. İyi haberler? Rolling Stones'un büyük şairinin dediği gibi “Zaman on
Makey Makey Elektrikli Davul / Davul Makinesi: 8 Adım
Makey Makey Elektrikli Davullar / Davul Makinesi: Bir dizi elektrikli davulun nasıl oluşturulacağına ilişkin bu eğitim, Makey Makey yarışmasına giriş niteliğindedir, kullanılabilirlik ve kişisel tercihlere göre değişiklik gösterir. Karton daha dayanıklı malzemelerle değiştirilebilir ve katmanlı olabilir köpük ile / tex için diğer
HX1-DM - İleri Dönüştürülmüş Arduino DUE Powered DIY Davul Makinesi (Ölü Bir Makine MK2 ile yapılmıştır): 4 Adım
HX1-DM - Yükseltilmiş Arduino DUE Powered DIY Davul Makinesi (Ölü Bir Makine MK2 ile yapılmıştır): Spec. Hibrit Midi denetleyici / davul makinesi: Arduino DUE ile güçlendirilmiş! Çok düşük gecikme süresine sahip 16 hız algılama pedi 1>ms kullanıcı tarafından herhangi bir Midi #CC komutuna atanabilir 8 düğme 16ch Dahili sıralayıcı (bilgisayar gerekmez!!) MIDI giriş/çıkış/thru işlevi
Ahududu Pi ile Çalışan Önemsiz Davul Makinesi: 15 Adım (Resimlerle)
Bir Ahududu Pi ile Çalışan Önemsiz Davul Makinesi: Bu Eğitim Tablosu size Raspberry Pi ile çalışan bir robotik davul makinesinin nasıl yapıldığını gösterecektir. Gerçekten eğlenceli, yaratıcı, interaktif bir proje. Size iç işleri nasıl yapacağınızı göstereceğim, ancak asıl davullar size kalmış olacak, size th
Davul Aşınması: Giysilerinizde Davul Var!: 7 Adım
Davul Aşınması: Giysilerinizde Davul Var!: Herhangi bir şehir otobüsünün sürücülerine bakın. Birçoğu müzik çalarlarına takılı, ritme ayak uyduruyor ve ellerinde davul varmış gibi davranıyorlar. Şimdi rol yapmaya gerek yok! Davul aşınması, hevesli davulculara tamamen taşınabilir ve eğlenceli bir