Tuslu elektronik enstruman yapiminda trickler

Mikro Step

Kıdemli Üye
Katılım
25 Eylül 2022
Mesajlar
6,308
Biraz gevezelik edecegim;

Osilatorler yapip bunlari tuslarla devreye sokup cikartmayi dusunerek enstruman yapacak arkadaslara uyari babinda yaziyorum.

Bir zamanlar orglar cok ilgimi cekiyordu. Henuz digital daha dogrusu mixed sistemler hakkinda bilgimin olmadigi donemlerden bahsediryorum.

Notalarin frekanslari belli o halde bu frekanslara tune edilmis osilatorler yapar bunlarin cikislarini butonlarla mixere veririm diye dusunurdum.

Bu amacla basit RC OSC yapip kare dalga sinyal ureten duzenek ile cocuk orgu yapmistim.

Fakat tini denen fiziksel ozellikten yoksun oldugu icin (daha dogrusu muzikal tinidan yoksun) orkestralarda duydugumuz seslerden uzak cirtlak bir sese sahip enstruman oluyordu bu calismalar.

Nasil isikta renk varsa seste de tini diye bir olgu var.

Bu en basit su sekilde aciklanir.

Notanin frekansi f ise

her enstruman f frekansinda temel ses verir. Fakat her enstruman bunun ustune f1, f2, f3... gibi harmonikler ekler. Bu harmoniklerin genlikleri de g1, g2, g3 dur.

Dolayisi ile herhangi bir f frekansi icin karsimiza sonsuz secenek cikar. Iste bu seceneklerin her birisi karsimiza ayri tinida bir ses demektir.

O halde harmonikleri olmayan bir oscden elde edilecek ses kulaga cok yalin bir ses gelecektir. En yalin en temiz hali de saf sinusel ses sinyalidir ve muziksel anlamda hic bir degeri yoktur.

Peki tini yeterli mi.

Tabiki yeterli degil. Diyelim ki herhangi bir enstrumanin nota seslerini bire bir elektronik osilatorlerle elde ettik.

Malesef bu da cok isimize yaramiyor.

Bunu da su sekilde aciklayabiliriz. Bir enstrumani calmaya yeni basladik. Saat gibi tik tak tik tak tek duze, sert dokunuslarla notalari caliyoruz. Do do re mi mi re do re mi do. Ne sesin genligi ile oynayabiliyoruz ne vibrato etkisi yapabiliyoruz.

Tamam kulaga bir miktar hos gelir ama gene bir seyler eksik olacak ve enstrumanimizin bu hali bile muzikte kendine cok az yer bulabilecektir.


Peki eksik olan ne?

Iste burda notanin devreye girdigi an hangi genlik seviyesi ile girip ne surede max genlige ulasacagi, bu genlik suresini ne kadar devam ettirtecegi, daha sonra ne kadar surede genlikte dusme olacagi ve nihayetinde notayi susturdugumuzda sesin ne kadar surede sifira inecegi.

Bu olaylar zinciri aslinda notanin zarfindan bahsediyor. Bu zarf ADSR parametreleri ile tanimlaniyor.

A enstrumanin bir nota tusuna bastigimizda Attack olayi yani, sesin hucum ettigi sifir genlikle baslayip max genlige kadar istenen surede ulasmasi asamasi.

Daha sonra Decay asamasi. Bu asamada sesin genliginde cokme basliyor. Ne kadar surede ne kadar cokecek.

Daha sonra sustain bolgesine geciliyor. Ses bu asamada sabit genlikte devam ediyor.

Tusa bastigimizda A asamasi basliyor. Parmagimizi tusta tutmaya devam ettigimizde D asamasina, hala basiyorsak S asamasina geciliyor.
Zaten bu asamalar cok hizli oldugu icin parmak S asamasindan once parmak cekilemez cekilirse de ise yarar ses olusmaz. (Kazara bir tusa parmagin carpmasi vs gibi)

Parmak tusta basili oldugu surece S bolgesi devam ediyor. Sustain.

Ne zaman tustan parmagimizi cektik iste bu asamada R Relase asamasi basliyor.. Sesin genligi belirlenen surede dusmeye basliyor.

Dolayisi ile harmonik acidan zenginlestirdiginiz bir sinyali farkli ADSR parametreleri ile bambaska seslere donustrurebilirsiniz.

Tabiki aslinda ADSR parametreleri harmonik acisdan zenginlstirdiginiz bir sinyale yeni harmonikler katmaktan baska bir sey degil aslinda.

1737888491845.png


Bu sayede ayni zamanda tusa basildiginda olusacak click sesleri de buyuk olcude engellenmis olur.

Diyelimki cok guzel bir ton yakaladiniz ve ADSR parametresiz bununla muzik yapmak istiyorsunuz. Farkli notlari butonlarla devreye alip cikartitken click sesleri kacinilmaz olur.

Bunu asagidaki cizimde bir notanin gelisiguzel bir anda kesilip diger notaya gecme aninii kalinlastirdigim bolge ile ifade etmeye calistim.

1737889548989.png


Bu anlar click seslerine neden olur.


Neyse en azindan bir baslangic yaptik.

Gecmiste yaptigim iki calismay ait videoyu da ekliyorum.

Birisi synthesizer (6581 cipinin (SID) STM32F103C8 ile simulasyonu)

Digeri ise elektronik zurna sesi elde etmeye calistigim fakat sonu husran olan bir proje.





Zurna calismasinda ADSR kullanilmadi cunku bu ADSR nin yapacagi isi ufleme basinci kullanildigindan agurtumuzla kendimiz yapmaya calisiyoruz.
Fakat videoda yakalamissinizdir tus gecislerinde clickler var. ADSR olmadan click engelleme ayri bir calisma ister.
 
Son düzenleme:
Bu arada click onemli bir konu. Parmagimizi tustan cektigimizde sesi birden kesmek her durumda click sesine neden oluyor. Sifir gecisini bekleyip ardindan sesi kesmek de click sesini engellemiyor. Yapilmasi gereken parmak tustan cekildiginde genligi ustel olarak zayiflatarak sifira kadar inmek.

Evet melodika sesine benzetti herkes. Zurnada yaptigim hata ya fourier bilesenlerini yanlis hesapladim ya da yeterince harmonik ilave etmedim.
Bir de bu iste PWM + Filtre degil de dogrudan DAC kullanmak gerekirdi.

SID calismasinda PWM teknigini kullandim. Sonucta SID cipi zaten bol harmonikli oyun muzikleri icin gelistirilmis. Halbuki sentezorler gercekten enstuman taklidi icin tasarlaniyor. Haliyle HIFI kaliteyi yakalamak sart.
 
Bu arada click onemli bir konu. Parmagimizi tustan cektigimizde sesi birden kesmek her durumda click sesine neden oluyor. Sifir gecisini bekleyip ardindan sesi kesmek de click sesini engellemiyor. Yapilmasi gereken parmak tustan cekildiginde genligi ustel olarak zayiflatarak sifira kadar inmek.

Evet melodika sesine benzetti herkes. Zurnada yaptigim hata ya fourier bilesenlerini yanlis hesapladim ya da yeterince harmonik ilave etmedim.
Bir de bu iste PWM + Filtre degil de dogrudan DAC kullanmak gerekirdi.

SID calismasinda PWM teknigini kullandim. Sonucta SID cipi zaten bol harmonikli oyun muzikleri icin gelistirilmis. Halbuki sentezorler gercekten enstuman taklidi icin tasarlaniyor. Haliyle HIFI kaliteyi yakalamak sart.
Kullandığın programları kendin mi yazdın? Delphi ile yazılmış gibi duruyorlar.
Kodları varsa atabilir misin?
FAX decoder yapmak istiyorum. :)
 
Programlari kendim yazdim da hepsi memleketteki makinada. Fourier donusum programi ve digitizer.
 

Forum istatistikleri

Konular
7,274
Mesajlar
122,973
Üyeler
2,933
Son üye
talhassmiths

Son kaynaklar

Son profil mesajları

Freemont2.0 herbokolog Freemont2.0 wrote on herbokolog's profile.
nick iniz yakıyor
:D
Freemont2.0 posta Freemont2.0 wrote on posta's profile.
Merhabalar :)
az bilgili çok meraklı
Prooffy semih_s Prooffy wrote on semih_s's profile.
Merhaba, sizden DSO2C10 hakkında bilgi rica ettim. Yanıtlarsanız sevinirim...
Unal taydin Unal wrote on taydin's profile.
Timur Bey, Arduino kontrollü bir akü şarj cihazı yapmaya çalışıyorum. Aklımdaki fikri basit bir çizim olarak konu açmıştım. Özellikle sizin fikirlerinizi çok önemsiyorum.
Back
Top