Amiga Dünyası sayı 25, sayfa 71

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 71

DEFOA4A 14676132 AÜUDİLEN DFEFOB4 14676148 AÜDZLEN DEFOC4 14676164 AUD3LEN DFFOD4 14676180 AUDOVOL 14676136 AUDIVOL DEFOB8 14676152 AUD2VOL DEFOC8 14676168 AUD3VOL DFFOD8 14676184 AUDOPER 14676134 AÜDIPER DEFOB6 14676150 AÜD2PER DEFOC6 14676166 AUD3PER 14676182

Not olarak belirteyim, bu sayıların hepsini elle yazdım, ancak çifter çifter yazıldıkları ve aralarında sıkı ilişki olduğundan, olası hataları yok edebilirsiniz. Artık en büyük insan sizsiniz, rahatça istenen bir sesi çalabilirsiniz. Yok hemen acele etmeyin, bir iki ufak sorunumuz var, Bunların ilki, sesi yüklemek. Aklınıza gelebilecek en basit çözüm OPEN ile dosyayı byte byte okuyup hafızaya hall olacaktır. Ne var ki DIM ile açabileceğiniz hafıza, CHIP MEMORY olmayabilecektir. Dolayısı ile kendinize belirli bir uzunlukta CHIP hafıza ayırmak zorundasınız. Takıldık mı, hayır ancak Library kullanmak zorundayız. Madem Library ile başladık devam da edebiliriz ve Librarylerin OPEN ve READ fonksiyonlarını kullanabiliriz. (Basic'in kendi OPEN ve READ'i ile karışmasın diye bu fonksiyonlar XOPEN ve XREAD olarak adlandırılacak). Library fonksiyonlarına ilişkin genel sorunlara örneğin arkasından değineceğim.

DECLARE FUNCTİON AllocRemember& LİBRARY DECLARE FUNCTİON xOpen& LİBRARY DECLARE FUNCTİON xRead& LİBRARY

LIBRARY "dht li rary”

ad$ OPEN ad$ FOR İNPUT AS 1 boyâ& - LOF(1) CLOSE 1

RAMtipi > 2 4 Remember& - 0 tir bel VARPTR (Remember&) Mem& z AllocRemember (RememberKey&,boy&,RAMtipi) 1F THEN FreeRemember&RememberKey,-1:END

Handle& xOpen& (SADD(ad$),1005) İF Handle& < Ö then sor Lengthâ& — xRead& (Handle&,Mem&,boyâ) xClose& Handle&

POKEL 14676128&,Mem& :REM Datanın yeri POKEW 14676132&,boy&/2 :REM Word olarak uzunluk POKEW 14676136&,64 — :REM Son ses POKEW 146761348&,250 :REM Çalış hizi

POKEW 14676118&,32769& : REM Artik ses var WHİLE INKEY$ : WEND REM buralarda istediginiz degisikligi yapın !!!! son:

POKEW 14676118&,1 — : REM Yeter artık FreeRemember&,RememberKey&,-i AM CLOSE

Evet, ben yazabildiğime göre, siz de haydi haydi yazabilirsiniz. Ses konusundaki kontrol sizi hiç şaşırtmamış olmalı, DMA çalışırken ses sürekli tekrar edecektir. Bu arada istediğiniz değişikliği yapabilme şansına sahipsiniz. Mesela ile çalışma hızını ayarlayabilirsiniz. Kanallar arası parametrelerde 16 fark olduğunu düşünerek kolayca tüm kanalları çalan programlar geliştirebilirsiniz. Mesela kanal 0 ve kanal 3 olmak üzere: POKEW 14676134, 4 kanal*16, hız ile ayarlanabilir. Aynı zamanda tüm ses hazır hafızada iken bu sesin neye benzediğini görebilmek için bunu ekrana bastırabilirsiniz. Hatta basit bir editör bile tasarlayabilirsiniz. Programın en başında dosya uzunluğunu bilmek için sesi bir dosya gibi açıyor ve LOF fonksiyonu ile uzunluğunu öğreniyoruz. Daha sonra AllocMem Library fonksiyonu ile kendimize CHIP hafıza ayırıyoruz. Daha sonra ses Chip RAM'a dos Library komutlarınca kopyalanıyor. Bu bölüm orijinal örnekte olduğu için aldım. İsterseniz dosyadan teker teker okuyup POKE emri ile Mem adını alan sırayla yazabilirsiniz. Ancak örnekteki çözüm hem pratik, hem de oldukça hızlı. Sonra ise biraz önce üzerinde durduğumuz DMA kontrol register'ları geliyor. Daha önceki bazı örnek programlarda da Library kullanmıştım. Bunun ne gibi sorunlar yarattığının farkındayım, ancak iyi bir şeyler yapabilmek için bazı fe-

* dakarlıklar gerekiyor. Bu Library komutlarını bir kere kullanmaya alışınca, size getirdiği rahatlıktan son mutlu olacaksınız, bunun yanısıra başka bir dile uyum sağlamanız kolaylaşacak. Her şeyden önemlisi daha önceden yapamayacağınızı düşündüğünüz birçok şeyi yapabilme şansı bulabileceksiniz. Bir kere daha bu library kullanımı için gereken bmap dosyalarını anlatıyorum; Basic library'lerle iletişim kurmak için bazı ara dosyalara gerek duyuyor. Bu dosyalara bmap dosyaları deniyor ve sonları .bmap ile bitiyor. Örneğin verilen hik dh i:user/basic/bmaps directory'sinde (bu benim bilgisayarım için geçerli) dos library'sine ait dos.bmap isimli bir dosya bulunuyor. Ancak programı LIBRARY emrinin içine "...dos.library" şeklinde belirtiliyor. Bence de kullanım saçma, ancak Microsoft öyle öngörmüş, ne Peki bu bmap dosyalarını nereden bulabilirsiniz?, Çok basit, Amiga'yı aldığınız zaman size iki adet disket verilecektir. Bunlardan ilki Workbench ikincisi ise Basic/Extras disketidir. Bu ikinci Basic/Extras disketinin BasicDemos isimli bir içinde bu bmap dosyalarından en önemlileri mevcuttur. Olmasa bile bu directory içinde mutlaka ConvertFD isimli bir program bulunur. Bu program ile bmap dosyaları oluşturulabilir. ConvertFD programı, FD formatındaki dosyaları kullanılabilir bmap dosyalarına çevirecektir, FD dosyaları yine bu diskette FD1.3 directory'sinde (veya benzer bir directory'de) bulmanız mümkün. Bunlara rağmen yine dergi ile aldığınız PD disketlerine en yakın zamanda bu dosyaları eklemeye çalışacağım söz (Yine sorun çıkarsa her zaman dergiyi arayıp, not bırakabilirsiniz!!!), » Son olarak yine biraz ses üzerinde durmak istiyorum. Eğer programı çalıştırırsanız göreceksiniz, ses sürekli çalınacaktır. Eğer örneklenen ses bir enstrümansa bu pek hoş olmayacaktır, ancak bir ritm veya bir ölçü melodi tam olarak örneklenebilir. Bu sürekli alındığında son derece güzel sonuç verir. Mesela 'orts of en başında isim girerken çıkan müzik, bu türde hazırlanmıştır Sadece bir nota çalabilmek için sesin nerede bittiğini beklemek ve durdurmak gerekir. Ne var ki bu tür iyi bir zamanlama yapabilmek için Basic yetersiz kalmaktadır. Uğraşarak belirli sesler için tatmin edici sonuçlar verecek olan bir iki yöntem bulmanız olası. Kendinize bir editör yaparak kısa sample'ları kendinizde oluşturabilirsiniz. Sadece ses şekillerini görebilmek için ekrana bastırmakta oldukça basit ve etkili bir fikir. Hele bir sampleriniz varsa, kendinize basit bir ses işleme programı bile tasarlayabilirsiniz. Sor olarak bazı ses formatlarına değinmek istiyorum. Programımız, RAW adı verilen ve sadece ses datasından oluşan sesleri çalar. Aslında İFF standardında bir örneklenmiş ses standardı mevcuttur. 8SVX isimli bu standarttaki sesleri, SONİX türü Beden kullanır. Bu DEVİCES & AUTO- (1-63)'te bulabilirsiniz. Yazılarımın işinize yaradığını ümit ediyorum (Heyy burayı okuyan vaaaaar mı ?????), bir dahaki sefere dek Herkese başarılar ve mutluluklar.

Klavyeyle gezinmek için ← ve → tuşları.