İçindekiler:

Max MSP Ortam Döngüsü Üreteci: 19 Adım
Max MSP Ortam Döngüsü Üreteci: 19 Adım

Video: Max MSP Ortam Döngüsü Üreteci: 19 Adım

Video: Max MSP Ortam Döngüsü Üreteci: 19 Adım
Video: Max/MSP dersleri -1 2024, Kasım
Anonim

Bu, Max MSP'de bir ortam döngüsü oluşturucu oluşturmaya nasıl başlayacağınıza dair bir eğitimdir.

Bu eğitim, Max MSP, DAW arayüzleri ve sinyal işleme hakkında temel bir anlayışa sahip olmanızı bekler. Bu öğreticide tasarlanan programı kullanmak istiyorsanız, devam edin ve indirin, kullanımı ücretsiz (ancak satmak veya yeniden yayınlamak için değil)!

Tasarlayacağımız programın İKİ ana bölümü vardır:

1) Çok sinyalli bir işlemci

2) Yarı rastgele not oluşturucu

Not oluşturucu, bir anahtar/ölçek boyunca yarı rasgele modellerde yavaşça çalışır, MIDI verilerini bir DAW'a besler, bu da sesi işlenmek üzere Max'e geri gönderir.

İşte son yama dosyasının bağlantısı:

Gereçler:

  • Temel Max MSP ve MIDI bilgisi
  • Maks MSP
  • Ses Arayüzü (Logic Pro X kullanıyoruz)
  • Ses çiçeği
  • (İsteğe bağlı) DAW'ınız için bazı iyi yazılım aracı eklentileri

1. Adım: Soundflower'ı Max ve DAW'ınızla Ayarlama

Max ve DAW'ınızla Soundflower Kurulumu
Max ve DAW'ınızla Soundflower Kurulumu
Max ve DAW'ınızla Soundflower Kurulumu
Max ve DAW'ınızla Soundflower Kurulumu

Soundflower, Mac'teki programlar arasında ses göndermeye yardımcı olan bir programdır. Bunu, DAW'dan Max'e ses almak için kullanacağız.

Soundflower'ı DAW'ınızla kullanmak daha kolay olamazdı! Soundflower'ı indirmeniz yeterlidir; ses çıkışı ve girişi olarak kullanılabilir hale gelecektir. Adc~ (ses girişi) ve dac~ (ses çıkışı) nesneleri oluşturursak Soundflower 2ch ve Soundflower 64ch'nin kullanılabilir ses yolları olduğunu görebiliriz. Bu program için Soundflower 2ch (2 kanal) kullanacağız.

Max'te, girişinizi açıp kapatmak için bir geçiş ve ses seviyesi için bir kazanç kaydırıcısı ekleyin ve yola koyulun.

DAW'ınızda, tercihler > ses altında ses girişi ve ses çıkışını göreceksiniz. Ses çıkışı olarak Soundflower 2ch kullanacağız.

Adım 2: Sinyal İşleme Yolunuza Karar Verin

Sinyal İşleme Yolunuza Karar Verin
Sinyal İşleme Yolunuza Karar Verin

Basit bir ifadeyle, sesiniz bir grup farklı kanalda mı yoksa hepsi tek bir düz çizgide mi bozulacak?

Paralel ses işlemeyi kullanmaya karar verdik - sinyalimiz birden fazla farklı kanalda bozulacak. Bu bize daha net bir genel ses ve sinyalimiz için daha fazla kontrol avantajı sağlar, ancak ana kazanca çok fazla ses seviyesi iterek bazı kırpmalara neden olur. Yine de ortam döngüleri oluşturacağından, daha fazla kontrolün bozuk sese değeceğine karar verdik!

Ek olarak, hangi efektleri oluşturmak istediğinize karar vermeniz gerekir. Fikir istiyorsanız, burada bazı efekt türlerini göstereceğiz.

Adım 3: Kuru Karışım Ekleme

Kuru Karışım Ekleme
Kuru Karışım Ekleme
Kuru Karışım Ekleme
Kuru Karışım Ekleme

Ayrı, etkilenmemiş bir ses sinyaline sahip olabilmemiz için önce bir "kuru karışım" ekledik. Bu, adc~ çıkışını bir kazanç kaydırıcısına (görüntülemeyi kolaylaştırmak için bir kadranı olan), alçak geçiren filtrelemeyi ayarlamak için bir kadranı olan bir svf~ filtresine ve ardından ana kazanca ve dac~'ye çalıştırarak yapıldı. Kuru bir karışıma sahip olmak oldukça kullanışlı olabilir, bu yüzden her şeyin biraz net ve test edilmesi kolay olmasını istiyorsanız bunu öneririz!

Orada biraz dikkatinizi çekmiş olabiliriz - her bir sinyal kanalı için ton aramaları olması için tüm efektlerimizi ayrı svf~ filtrelerinde çalıştıracağız. Bu, belirli bir efekt çok yüksek frekans olduğunda ses alanını temizlemeyi kolaylaştırır. Tüm svf~ alçak geçiren filtrelerimizi (alçak geçiren çıkışa bağlayarak) yaptık, böylece kadranı kapatarak kademeli olarak yüksek frekansları keserler. Bununla birlikte, svf~ ayrıca bant geçişine (seçici frekans), yüksek geçişe (düşükleri kaldır) ve diğer faydalı filtrelere sahiptir. Neyi sevdiğinizi ve neye ihtiyacınız olduğunu görmek için deney yapın, hatta birden fazla filtre kullanın!

Adım 4: Bir Pitchshifter ile Perdeyi Değiştirme

Bir Pitchshifter ile Pitch Değiştirme
Bir Pitchshifter ile Pitch Değiştirme
Bir Pitchshifter ile Pitch Değiştirme
Bir Pitchshifter ile Pitch Değiştirme

Basit, kullanımı kolay bir perde değiştirici için, perde değiştirici kodunu Max'teki perde değiştirici yardım kılavuzundan kopyalayın. Kodumuz çok benzer, ancak dağınıklığı azaltmak için kayma ve çoklu ses kalitesi ayarları gibi özellikleri kaldırır. Sesinizi buna çalıştırmak (paralel ses için adc~'den veya seri ses için kuru karışımdan), perde kaydırma seviyesini ayarlamak için bir kadran kullanmanıza olanak tanır.

Kuru karışımda olduğu gibi, ses kontrolü ve EQ şekillendirmesine izin vermek için bir kazanç kaydırıcısı ve bir svf~ nesnesi ekledik.

Adım 5: BOZUKLUK

ÇARPITMA!
ÇARPITMA!
ÇARPITMA!
ÇARPITMA!
ÇARPITMA!
ÇARPITMA!

Overdrive~ nesnesini kullanmak, distorsiyon eklemenin en basit yoludur. Bunu bir kazanç kaydırıcısına ve bir filtreye çalıştırabilir ve bir gün olarak adlandırabilirsiniz. Ancak biz bunu birkaç adım öteye taşıdık. İlk olarak, sol ve sağ ses yollarını ayrı Phaseshift~ nesnelerine koştuk - bunlar sol ve sağ ses yollarını faz dışı bırakarak sesi bir koro pedalı gibi "kalınlaştırır".

Ek olarak, elde edilen sesi bir filtre grafiği eklenmiş olarak kademeli bir nesneye gönderdik. Bu, belirli frekanslarda ve istediğiniz kadar filtre bandıyla sesi az çok bozmanıza olanak tanır. Bozulma filtre grafiğimiz, 1980'lerin Boss HM-2 Heavy Metal pedalının bozulmasından sonra modellenmiştir.

Bu noktada, özellikle gürültülü efektlerden sonra omx.peaklim~ nesneleri eklemeye başladık - bu nesne, içinden gelen ses sinyalini bir sıkıştırıcı gibi sınırlandırarak, son ses yolunun kırpılmasını önlemeyi kolaylaştırır.

Adım 6: Drone'un Gücü

Drone'un Gücü
Drone'un Gücü
Drone'un Gücü
Drone'un Gücü

Ayrıca yamamıza bir "droning" frekansı eklemenin gerekli olduğunu hissettik. Bu, basit bir osilatör oluşturmak için bir döngü nesnesi ile gerçekleştirilebilirken, orijinal sesteki ses düzeyi veya frekans değişikliklerine çok uyumlu olmazdı. Bu nedenle, ultra rezonanslı bir ses yolu oluşturmak için bir svf~ filtresi kullandık. Sesi bir svf~ filtresine çalıştırarak ve rezonansı 1'e ayarlayarak, ses yolumuzun yaptığı gibi içeri ve dışarı hareket eden ve daha sonra ses yüksekliği, ton ve frekans için ayarlanabilen bir vızıltı frekansı yaratırız. Ekli kadranı ayarlamak, droning frekansını ayarlayacaktır.

Adım 7: Bizarre: Ring Modülasyonuna Giriş

Tuhaf Girmek: Halka Modülasyonu
Tuhaf Girmek: Halka Modülasyonu
Tuhaf Girmek: Halka Modülasyonu
Tuhaf Girmek: Halka Modülasyonu

Şimdi halka modülasyonu ekleyerek devam ediyoruz! Bu eğlenceli ve havalı efekt yapmak son derece basit ve çok yanlış anlaşılıyor çünkü kulağa biraz tuhaf geliyor. Bu, sağ girişteki bir *~ nesnesine bir kadran takılarak ve sol girişteki kadranımızı takarak gerçekleştirilir. Bunu bir adım daha ileri götürdük - halka modülatörümüz tamamen aşağıdayken, bir kapı sayı sinyalini kapatır ve böylece halka mod sinyali tamamen kesilir. Ek olarak, frekansı belirli bir miktarda azaltan başka bir * nesnesine çıkış yapmak için de değiştirilebilir. Bu şekilde, "ince", tremolo tipi bir zil modu ve daha hızlı, garip sesli bir zil modülasyonuna sahip olabiliriz. Diğer efektler gibi, bu da bir kazanç kaydırıcısı ve bir svf~ filtresiyle çalıştırıldı.

Adım 8: Gecikme ve Sinyal Bozulması… Degrad… Derece… D….

Gecikme ve Sinyal Bozulması… Azalma… Derece… D….
Gecikme ve Sinyal Bozulması… Azalma… Derece… D….
Gecikme ve Sinyal Bozulması… Azalma… Derece… D….
Gecikme ve Sinyal Bozulması… Azalma… Derece… D….

Burada zaman kontrolü, geri besleme kadranı, tonlu arama ve numune düşürme ile bir gecikme yaratıyoruz. Bu, sinyali kademeli olarak daha sessiz ve daha bozuk hale getirerek bir analog gecikmeyi taklit etmemizi sağlar. Bunu yapmak için, bağlı tapin~ ve tapout~ nesnelerini kullanırız. 5000ms hafıza süresi olduğundan emin olmak için dokunduktan sonra 5000 yazıyoruz. Bir degrade~ nesnesi eklemek, sinyali aşamalı olarak yok etmemizi sağlar. Ardından, adc~'den degrade~ nesnemize, tapin~'ye, tapout~'a ve aynı anda bir *~'den degrade~'ye ve çıkış kontrolümüze *~'den sesi çalıştırırız. Bunu yapmak, kendi içine geri dönen gecikme ses seviyesini ayarlamak ve *~ nesnesinden çıkışlarımıza gelen gecikmeli bir sinyal almak için bir kadran eklememizi sağlar. Ek olarak, bozulma nesnesini tapin'den önce yerleştirmek, sinyal geciktikçe giderek daha fazla örnek azaltma eklememize izin verir. Tüm bunların nasıl yapıldığını net bir şekilde görmek için resmimizi ve kodumuzu kontrol edin.

Adım 9: Belton Brick Style Reverb

Belton Brick Style Reverb
Belton Brick Style Reverb
Belton Brick Style Reverb
Belton Brick Style Reverb

Belton brick reverb, Neunaber Effects'ten Brian Neunaber tarafından tasarlanan Accu-Bell BTDR Digi-log çipi ile donatılmış bir yankıyı ifade eder. Bu çip, basamaklı gecikme hatlarını kullanarak basit yay yankılarına izin verir. Bunu taklit etmek için, zamanı ve geri bildirimi ayarlamak için bir kadranla başka bir gecikme kodladık. Zaman asla 100 ms'yi geçmez ve geri bildirim %80 ile sınırlıdır. Bu basit gecikme, kolay bir yay yankı sesi verir! Bir kez daha kazanç ve ton kontrolüne geçin.

Adım 10: Rastgele Stereo Tremolo

Rastgele Stereo Tremolo
Rastgele Stereo Tremolo
Rastgele Stereo Tremolo
Rastgele Stereo Tremolo

Son sinyal efektimiz! Burada daha önce halka modülatörü için kullanılan kodun aynısını birkaç bükülme ile yarattık: tremolonun derinliği rastgeledir ve sol ve sağ kanal için bir tremolo vardır. Ek olarak, bu birimi seri olarak kurduk, böylece tüm efektler artık ondan önce gelir, böylece her sinyal tremolos tarafından etkilenir.

Bunu yapmak için, bazı değişikliklerle daha önceki halka mod kodunu taklit ediyoruz: sinyal şimdi, diğeri kapatıldığında açılan iki kapıya gidiyor. Bu, sinyalin yalnızca etkilenmesi veya devre dışı kalması yerine, etkilenmesine veya etkilenmemesine izin verir. Bu, !- nesnesi ile yapıldı. Kadranımız bir rand~ nesnesine, ardından *~ ve +~'a ve sağ girişte bir başka *~'a ve soldaki sese geçer. Burada, kadran yukarı kalktığında açılan ve kapandığında aşağı inen rastgele bir tremolo var!

Bu, bir kazanç kontrolüne veya ton kontrolüne ihtiyaç duymaz, bu nedenle doğrudan dac~ nesnesine gider.

Adım 11: Osiloskop

Salınımlı!
Salınımlı!
salınım!
salınım!

Son olarak, ana kazanç kontrolünden ses çıkışına bağlı bir kapsam~ nesnesi ekleriz. Ayrıca hassasiyetini ayarlamak için bir kadran ekledik!

Adım 12: Sinyal İşleme Modülünün Sunulması

Sinyal İşleme Modülünün Sunulması
Sinyal İşleme Modülünün Sunulması

Kodumuza sunum modunda biraz yetenek vererek bu bölümü bitiriyoruz. Sunum moduna tek tek kadranlar ve yorum kutuları eklemeniz yeterlidir; gitmeye hazırsınız! Renkli kutular ve çeşitli yazı tipi ve iddialı tasarım kararlarıyla kendimize ekstra bir yetenek kazandırdık. Ek olarak, tasarım gitar pedalı tasarımlarına dayanıyordu: sinyal yolunun anlaşılmasını kolaylaştırmak için etiketli satırlar ve bölümlerde kadranlar. Bu bölümde iyi eğlenceler!

Adım 13: Bölüm 2: Akor Üreticisi

Artık Max'te tamamen çalışan bir sinyal işlemcimiz var, onu beslemek için sadece biraz sese ihtiyacımız var. Soundflower'ı kullanarak, kaynak bilgisayarınız olduğu sürece, sinyal işlemcisinden çıkan tüm sesi yönlendirebiliriz!

Ancak kendi ortam döngülerimizi oluşturmak için başka bir Max yaması yapmamız gerekecek. MIDI'nin gücü sayesinde, bitmiş yama, DAW'ınız için yeni bir MIDI denetleyicisi olarak etkin bir şekilde hizmet edecek ve seçtiğiniz veya tasarladığınız herhangi bir enstrümanı kullanmanıza izin veren notları doğrudan ona gönderecek! Harici bir MIDI denetleyicisinin aksine, maksimum gücüyle, kendi başına çalabilen bir MIDI denetleyicisi oluşturabiliriz, bu da onu sinyal işlemcisi ile kolaylıkla modüle etmenize olanak tanır.

Benzersiz nota üretimi için triadlar oluşturmak için bir arpej kullanacağız ve daha sonra arpejcinin akorlar arasında atlamasını sağlayacak bir algoritmayı nasıl bir araya getireceğimize bakacağız.

Adım 14: Arpejatöre Beslenecek Notların Alınması

Arpej Oluşturucuyu Beslemek için Not Alma
Arpej Oluşturucuyu Beslemek için Not Alma
Arpej Oluşturucuyu Beslemek için Not Alma
Arpej Oluşturucuyu Beslemek için Not Alma

Bir arpejatörü bir araya getirmeden önce, onun dizilişi için akorları üretebilmemiz gerekir. MIDI'de, klavyedeki her nota bir sayıya karşılık gelir, ortadaki C 60'tır. Neyse ki sayılar sıralıdır, bu nedenle biraz müzik teorisi uygulayarak çeşitli anahtar imzalarına karşılık gelen doğru aralıkları üretebiliriz.

Kullanacağınız anahtar imzalar size kalmış, ancak seçtiğimiz 4 anahtar imza ile birlikte takip edebilirsiniz. Daha sonra, anahtar imzalar arasında kendi başına geçiş yapmasına izin vermek için kodun bu bölümüne ekleyeceğiz, bu yüzden program akorlar arasında geçiş yaparken tonaliteyi korumaya yardımcı olmak için Majör, Minör, Majör 7'li ve Minör 7'lileri seçtik.

İlk resme atıfta bulunarak, bu bölümün büyük kısmı sadece bu tuşların aralıklarına karşılık gelen matematiktir. '60' etiketli en soldaki kutudan başlayarak, kök budur. Kök değiştiğinde, aralıklar geçerli anahtara göre buna göre değişecektir. Örneğin, majör tuş seçilirse, karşılık gelen aralıklar 4 ve 7'dir. Daha sonra +0 kutularından geçerek, bu aralığı köke ekleyecek ve size bir majör akor oluşturmanız için 3 notayı sağlayacaktır. herhangi bir kök!

Adım 15: Bu Akorları Arpejlemek

Bu Akorları Arpejlemek
Bu Akorları Arpejlemek
Bu Akorları Arpejlemek
Bu Akorları Arpejlemek
Bu Akorları Arpejlemek
Bu Akorları Arpejlemek

Arpejatör kodu için yukarıdaki fotoğrafa bakın. Sayaç nesnesi ve ekli 0, 1 ve 2 nesne kutuları, arpejleyicinin yönünü Yukarı, Aşağı ve Yukarı Aşağı'dan kontrol etmenize izin verecektir.

Yukarıda gösterildiği gibi, az önce bir araya getirdiğimiz aralık üreteci 'int' kutularına yönlendiriliyor, böylece sayaç ve seçme kutuları çalışırken diğer kod yığınından akordan geçecektir. Bu daha sonra 'makenote' ve 'noteout' kutularından geçerek sonunda bu MIDI numaralarını sese dönüştürür!

MIDI bilgilerini Max'ten DAW'ınıza göndermenize izin veren şey bu olduğundan, 'noteout' kutusuna bağlı 'port "from "Max 1"' nesnesine dikkat edin.

'Metro' nesnesi, her aralık arasında milisaniye cinsinden ne kadar zaman olduğunu belirler. Varsayılan olarak 500ms olarak ayarladım ve ekli kodu takip ederseniz, kaydırıcı nesneyi kullanarak her bir aralık arasında kaç milisaniye olduğunu ayarlayabilirsiniz.

Adım 16: 'Anahtar Karmaşa'

'Anahtar Karmaşa'
'Anahtar Karmaşa'

Yukarıdaki resim, programın anahtar imzalar arasında otomatik olarak geçiş yapmasına izin verecek ve farklı kök notaları seçerken spontane akorlar oluşturmanıza izin verecek kod parçasıdır.

'select' nesnesi, arpejleyici bölümündeki ile çok benzer şekilde çalışıyor, ancak belirli bir dizi yerine, anahtarlar arasında rastgele geçiş yapmak için 'urn' kutusunu kullanıyoruz. 'Urn' kutusunu 'rastgele'den farklı kılan şey, tüm aralıktan geçene kadar bir sayıyı tekrarlamamasıdır, bu da bize farklı anahtarlar arasında eşit bir atlama dağılımı sağlar.

Adım 17: Otonom Nota Üretimi ile Sihri Gerçekleştirmek

Otonom Nota Üretimi ile Sihri Gerçekleştirmek
Otonom Nota Üretimi ile Sihri Gerçekleştirmek
Otonom Nota Üretimi ile Sihri Gerçekleştirmek
Otonom Nota Üretimi ile Sihri Gerçekleştirmek
Otonom Nota Üretimi ile Sihri Gerçekleştirmek
Otonom Nota Üretimi ile Sihri Gerçekleştirmek
Otonom Nota Üretimi ile Sihri Gerçekleştirmek
Otonom Nota Üretimi ile Sihri Gerçekleştirmek

Bu kod parçası, bu yamayı özerk olarak çalıştırabilmeyi sağlayan şeydir. Bu bölümün başından itibaren akor oluşturucuya geri dönersek, kökü değiştirmek aşağıdaki aralıkları otomatik olarak dolduracaktır, böylece bunu benzersiz akor dizileri oluşturmak için kullanabiliriz!

Buradaki anahtar öğe, 'itable' veya içinde küçük mavi dikdörtgenler bulunan büyük karedir. Bunu arpejatörden (kutu 500'e ayarlı) metro parametresine ekleyerek, arpej dizisindeki akorun tam olarak değiştiği noktayı kontrol edebiliriz. Arpej Oluşturucu 3'lü setler halinde çalıştığından, itable'ın boyutu 4 döngüyü hesaba katmak üzere 12'ye ayarlanmıştır ve aralık 2'ye ayarlanmıştır, 2'si 'hayır' ve 1'i 'evet' olup olmadığı veya akoru değiştirmemek için. Ana koddaki sekansla, arpejci bir triaddan birer birer olacak, daha sonra yeni bir akor üretilecek ve bu triaddan geçecek ve bu böyle devam edecekti.

'Rastgele' kutular, yeni kökün orijinalden ne kadar uzakta olduğunu belirler, şu anda onu yarım oktav yukarı veya aşağı gidebilecek şekilde yapılandırdım.

Kodun tam resminde, solda görülen, alttaki 67 sayı kutusu, akor üretecinden kök sayı kutusuna eklenir, bu nedenle, itable'dan hangi sayı üretilirse sonuçlanırsa ve ekli algoritması akora gidecektir. jeneratör ve ardından yeni seçilen akoru çalacağı arpejöre. Üstündeki '+0' kutusuna giren 67 rakamı kutusu, akor üretecinden gelen kök sayı kutusuna da bağlı olan, yukarıda resimde görülen piyano nesnesine eklenmiştir. Bu, bu kod yığınından gelen algoritma bir sayı ürettiğinde, piyanoda da seçilir, böylece o notayı çalmak için tetikler.

Son kodda, bu bölüm iki kez görünür, tek fark itable'dır. Arpejci bir diziyi 4 kez tekrarladıktan sonra yeni bir akor oluşturulacak şekilde nasıl yapılacağı için ayrıca eklenmiş olan tabloya bakın.

Adım 18: Son Dokunuşlar

Son Dokunuşlar
Son Dokunuşlar

Artık tamamen çalışan, kendi kendine oynayan bir arpejörünüz olmalı! Bununla birlikte, biraz daha fazla kontrol eklemek isterseniz, yukarıda resmedilen kod parçası, çalınan notaların süresini kontrol etmenize izin verir, böylece yavaş, uğuldayan, ortam döngüsü için mükemmel uzun çizilmiş notalar elde edebilirsiniz.

Ayrıca, Max'i bir DAW üzerinden çalıştırırken özellikle yararlı olan bir 'durdurma' nesnesi de eklenmiştir. Max'in MIDI verilerini iletmekte sorun yaşamaya başladığı bir durumda, Max'i veya DAW'ınızı tamamen kapatmadan onu geçersiz kılabilir ve durdurabilirsiniz.

Adım 19: Her Şeyi Sarmak

Her Şeyi Sarmak
Her Şeyi Sarmak

Program artık işlevsel olarak tamamlanmıştır, geriye kalan tek şey her şeyi sunum modunda düzenlemektir. Bunun için tek bir çözüm yok, tamamen yüzey seviyesinden neyi kontrol etmek istediğinize bağlı.

Seçimim, kolayca modüle edebilmek istediğim her şeyin temellerini kapsıyor, böylece uygun gördüğünüz gibi ona ekleyebilir veya ondan çıkarabilirsiniz.

Şimdi yapılması gereken tek şey bu iki yamaya aşina olmak ve biraz müzik oluşturmaya başlamak!

Eğlence!

Önerilen: