Bir yazılım sentezleyici oluşturmak için neler bilmeniz gerekir?


19

Yazılım geliştirme konusunda biraz tecrübesi olan, synth'lerini seven ve dijital ses sunumunun temellerini bilen biri için, DSP-bilge bir müzik sentezleyicisi programlamak için izlemesi gereken ilk adımlar nelerdir?

Yanıtlar:


17

Etkileşimli Uygulamalar için Gerçek Ses Sentezi alın ve Sentez Araç Seti'ni indirin . Bu, kullanımdaki çoğu dijital sentez yöntemi için pratik tanıtımlar ve kalite kaynak kodu verecektir. Ardından, en ilginç bulduğunuz yöntemi seçin ve istediğiniz STK kodunu istediğinizi yapmak için değiştirmeye başlayın. Sonra sıfırdan benzer bir şey inşa etmeyi deneyin.

Ayrıca, hotpaw2'nin önerdiği gibi, JOS'tan herhangi bir şey de büyük bir tanıtım malzemesidir. Özellikle, Ayrık Fourier Dönüşümünün Ses Uygulamaları ve Matematiği ile Dijital Filtrelere Giriş her ikisi de temellerden başlar ve çok fazla arka plan varsaymaz.

Dijital filtre / efektler açısından, iyi bir başlangıç ​​noktası Faust'u kontrol etmektir . Hatta blok şeması sinyal işleme dilini öğrenmek zorunda değilsiniz, sadece VST, LADSPA, vb şablon kodunu boşaltmak için hızlı bir yol olarak [daha sonra değiştirebilirsiniz] şablon dökümü için örnekleri kullanabilirsiniz.

Bununla birlikte, temel olarak aynı şey olan, ancak gerçek zamanlı çalışma veya etkileşim hakkında endişelenmeden ses oluşturma ile başlamak daha da kolaydır. Sadece wav dosyalarını diske kaydedersiniz. Yeni tekniklerle hızlı bir şekilde çalışma zahmetinden geçmeden önce yeni teknikleri denemek için harika bir yoldur.


Mükemmel cevap - çok dengeli bir konuyu kapsar. Teşekkür ederim!
vemv

6

DSP hakkında bir tanıtım kitabı ve bilgisayar müziği konusunda bazı kitaplar okudum (Amazon ve diğer kitapçılar birkaç liste). Ayrıca DSP ve ses sentezi konusunda Stanford'dan zengin bir ders materyali var . İnsan işitme sistemi ve psikoakustik hakkında kitaplar da yardımcı olabilir.


5

İlk olarak, ne tür bir sentezleyici oluşturmak istediğinize karar vermeniz gerekir - katkı maddesi, FM, örnek tabanlı, vb. Ayrıca bir tür mevcut analog sentezleyiciyi taklit etmek mi yoksa sadece kendi tasarımınızı tasarlamak mı istediğinize karar vermeniz gerekir.

Gerisi oldukça kolaydır - sadece çeşitli sentezleyici yapı taşlarını (örn. Osilatörler, filtreler, gürültü üreteçleri, zarf şekillendiriciler, vb.) Yazılımda uygulamanız ve daha sonra bunları birbirine "bağlamanın" ve parametrelerini kontrol etmenin bir yolunu uygulamanız gerekir.

Hal Chamberlin'in birçok temel konuya iyi bir giriş niteliğindeki Mikroişlemcilerin Müzik Uygulamaları adlı kitabına bakın .


4

Henüz hiç kimsenin SynthMaker'dan bahsetmediğine şaşırdım . Kullanımı gülünç derecede kolaydır ve düşük seviyeye gitmeyi zorlaştırsa da ( geliştirici modunu kullandığınızdan emin olun ), bununla birlikte Synthesizer mimarisi ve ayrıca genel DSP hakkında çok şey öğrenebilirsiniz. Ve aslında onunla inşa edilen şeylerden faydalanabilirsiniz, aslında, neredeyse tüm eklentilerimi oluşturmak için kullanıyorum.


Bir yazılım geliştiricisi olarak her zaman sihirbazlara karşı isteksizdim, ancak DSP'nin derin bir dünya olduğuna eminim, böylece SynthMaker kullanışlı olabilir. Buna ek olarak, birkaç
arkadaş

SynthMaker'dan kendimden bahsedecektim. Harika bir program.
Matt M.

4

Bazı katkıda bulunanların da belirttiği gibi, DSP'de iyi bir primer şarttır. Bu harika bir kitap> http://www.dspguide.com/ ve yazar tam ve ücretsiz bir PDF indirmesi sağladı. Çeşitli sentez tekniklerinin üst düzey görünümlerini veren bir diğer yaygın müzik tekniği ders kitabı> http://www.amazon.com/Computer-Music-Tutorial-Curtis-Roads/dp/0262680823 . Ayrıca, önceki katılımcının önerdiği şeyi, VST eklentilerini geliştirmek için çok uygun bir görsel geliştirme ortamı olan Synthmaker'ı tekrarlayacağım. Son olarak, derinlemesine araştırmadan denemek istiyorsanız, ses sentezi için özel olarak tasarlanmış bir programlama dili olan Csound'u kullanmayı deneyebilirsiniz.


2

Cevapların çoğu DSP konularına odaklandığından, sadece çalmak istiyorum. SynthMaker gibi bir blok tasarım sistemi kullanmıyorsanız, ses yönetimi ile uğraşmak için çok fazla geliştirme zamanı harcayacaksınız. Sıfırdan bir VSTi enstrüman eklentisi yazıyorsanız, öğrenme eğrisi efekt eklentilerinden çok daha uzundur. Her bir not nesnesini yönetmeniz, DSP'niz sadece 16 ses için yeterince hızlıysa, 20 nota olduğunda ne olacağına karar vermeniz, perde bükülmesine, portamentoya, modülasyona vb. Yanıt vermeniz gerekecek. Bu kolay bir iş değil ve bu yüzden çok Buzz veya SynthMaker ile başlamanızı ve sonunda duvara geldiğinizde kendiniz yuvarlamanızı öneririz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.