Hediye vermek ruha iyi gelse de, bu tatil sezonunda alabileceğiniz tek sihirli duygu bu değil. Programatik olarak müzik oluşturmak, kendinize yaratıcı bir şekilde meydan okumanın ve yılın başında yapamayacağınızı düşündüğünüz bir şeyi yapabileceğinizi kanıtlamanın harika bir yoludur.
Size sadece müzik yaratmanın eğlenceli bir yolunu kazandırmakla kalmayacak, aynı zamanda Noel Baba'nın elflerini de kıskandıracak olan bu Noel kodlama projesine geçelim.
Başlarken
Kodunuza dalmadan önce, şu öğelerin hazır olduğunu onayladığınızdan emin olun:
- Raspberry Pi'nizde yüklü Raspberry Pi OS (herhangi bir model olabilir). Bunu nasıl yapacağınızdan emin değilseniz, biz kurulum sürecini sizin için kolaylaştırın.
- Sonic Pi, kod kullanarak müzik oluşturmanıza yardımcı olacak bir araç. Yapabilirsiniz Sonic Pi'yi indir, Raspberry Pi için resmi Sonic web sitesinde. İndirmeniz için 32 bit ve 64 bit ARM DEB dosyası var. Hangi dosyayı seçeceğiniz, 32-bit veya 64-bit Raspberry Pi OS kurulu olup olmadığına bağlı olacaktır.
Noel klasiği, Noel'in 12 Günü, Sonic Pi müzik uygulamasının gerçekte ne kadar basit olabileceğini anlamanın harika bir yoludur. Basit kod öğeleri dahil edildiğinde, neredeyse herkes bir enstrümana dokunmadan kendi müziğini yaratabilir.
İlk olarak, tamamlanan kodu Raspberry Pi GitHub depo. İndirebilirsin noel-bitmiş günleri.txt veya bunun yerine metni GitHub kod penceresinden kopyalayın.
Ardından, Sonic Pi'yi yükleyelim. İndirilenler klasörünüzü veya DEB dosyasını kaydettiğiniz yeri açın. Dosyaya sağ tıklayın ve seçin Yazılım Yükleyici. Oradan, Sonic Pi'yi yüklemeniz istenecektir.
Bir Carol Nasıl Kodlanır
Sonic Pi uygulamasını açtığınızda, boş bir ekran göreceksiniz. #Sonic Pi'ye hoş geldiniz Yorum. Bu noktada, 12 Days of Christmas metin dosyasını açabilir veya doğrudan Raspberry Pi GitHub sayfasından kod bitlerini yapıştırabilirsiniz.
Bazı temel müzik bilgileri işinize yarayacaktır. Yine de, müzik teorisine çok aşina değilseniz, bu da sorun değil.
12 Days of Christmas şarkısını düşünürseniz, tekrar edilebilecek birçok şarkı parçası duyarsınız. Örneğin, "Noel'in ilk gününde gerçek aşkım bana gönderdi." Bu giriş aynı notları kullanarak tekrar eder. Burada şarkı sözleri hakkında endişelenmiyoruz. Biz sadece melodi ile ilgileniyoruz.
Tekrar eden birkaç şarkı bölümü daha var. Ayette, melodinin "İki kumru" ve "Üç Fransız tavuğu" için aynı olduğunu fark edeceksiniz. Aynı fikir "(Ve) armut ağacında bir keklik" bölümü için de geçerli.
Melodinizde hangi notaların çalınacağını ve her notanın ne kadar hızlı çalınacağını içeren şarkı bölümlerini tanımlamanız gerekir.
notlar = [:c5, :d5, :bb4, :a4, :f4, :g4, :f4]
süreler = [1, 0,5, 0,5, 0,5, 0,5, 1, 1]
play_pattern_timed notalar, süreler
Müzikte 8 oktav vardır. Sonic bir nota harfi ve bir oktav numarası arar. Bu, Sonic'e çalınacak notayı ve tonu söyleyecektir. Süre ile ilgili olarak, bu, tonun ne kadar süreyle çalacağını (veya çalacağını) tanımlar. Kodun üçüncü satırındaki işlevler, Sonic'e notalar ve sürelerle ne yapacağını söyler.
Dakikada vuruş olarak bilinen bir bpm işlevi ekleyeceksiniz. Dakikada kaç kez parmağınızı şıklatıyorsunuz? Bu, bpm ile aynı şeydir. Bu melodi için, bpm'nin 120 olarak ayarlandığını fark edeceksiniz.
Oradan, tüm tanımlar her bir ilgili bölüme konulabilir. Bu Noel ezgisinde ilerlemek için 12 gün boyunca döngü yapmak isteyeceksiniz.
Sonic'e şunu kullanarak Noel'in ilk gününde başlamasını söyle gün = 1. Bu işlevi gerçekleştirmek için, basitçe 12.kez yap döngü.
Bazı şarkı bölümleri biraz farklı olacak, bu yüzden bunu bir if ifadesiyle açıklamak isteyeceksiniz.
Programlı olarak müzik yaratmanın püf noktası budur. Ayrıntılı bir öğretici istiyorsanız, Raspberry Pi Vakfı size yardımcı olmak için harika bir referans oluşturdu. bu şarkıyı kodla fazla.
Kemerinizin altında iyi bir temel ile, neden olmasın Raspberry Pi'nizi kullanarak bazı müzik aletleri oluşturun? Grubunuza "The Four Cores" adını vermenizi önerebilir miyiz?
Başyapıtınızı Dinlemenin Keyfini Çıkarın
Siz yaratıcılığınızın sınırlarını keşfederken, Sonic Pi ile müzik yapan pek çok içerik oluşturucu örneği var. Daha fazla müzik ilhamı bulmak ve notalar, zamanlamalar ve şarkı ile çalmanın keyfini çıkarmak için internette iyi bir arama yapın. bölümler. Belki yakında bir sonraki Raspberry Pi DJ'i olarak işe alınırsınız?
En iyi dileklerimle, Maestro! Bir sonraki hit harikanızı programlamak için yola çıkarken klavyeniz ve yaratıcı zihniniz bir olsun!