64'ler sayı 12, sayfa 50

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 50

SORUNLARINIZ... BİLMEDİKLERİNİZ... Ses Digitizer

GEÇEN SAYIDAN DEVAM

Bunlardan başka, Speech-Basic her türlü disket işlemini rahat olarak gerçekleştirebilmeniz için DISK ve DIR gibi komutlar da sunmakta. Bunlardan ilki, disket sürücüsüne emir göndermek için, diğeri de disketin içeriğini görmek için kullanılıyor. SINIRLANMIŞ ÖRNEKLER, BLOK TABLOSU Speech-Basic'te her bir kelimeyi, cümleyi veya istediğiniz ses bölgelerini bulup, izole etmek oldukça kolaydır. Bunun için, örneklenmiş sesi iki kere dinleyip, birinde kelimenin başında, diğerinde ise sonunda (RESTORE) tuşlarına basıp, başlangıç ve sonuç adreslerini belirlemek gerekiyor. (RESTORE)'a basıldığında dinleme işlemi kesiliyor ve kesilme adresi belirtiliyordu. Kelimenin bulunduğu bölgeyi belirledikten sonra, bu bölgeyi, FROM TO komutunu vererek dinleyebilirsiniz. Burada, başlangıç ve bitiş adreslerini biraz değiştirerek birkaç kere daha dinleyin. En sonunda, istediğiniz ses bölümünü kesin olarak elde edin. Şimdi elde ettiğiniz sayıları pratikte nasıl kullanacaksınız. Bunları bir kenara not etmek lazım? Hayır! Böyle bir kullanım için, ses bloklarını bilgisayarın aklında tutmasını isteyebiliriz. Speech-Basic'te bu tip blokların başlangıcını ve bitişini aklında tutabilmesi için aynı isimle anılan bir komutu mevcut. Bunun kullanımı ise:

BLOCKx (FROM başl.adr. (TO BİT adr.) (string)

Burada, başlangıç ve bitiş adreslerini demin belirlemiştik. String ise, 8 karakterden oluşan ve bu bloğu tanımlayan kısa bir açıklama. Blok numarasını belirleyen x ise 1 ile 31 arasında bir sayı olabilir. 30 numaralı blok için daha evvelden, fonksiyon tuşlarının tanımlandığı bölgenin adresi ile belirlenmiş durumda. 31 numaralı blok için ise blok tanımlama tablosunun başlangıç ve sonuç adresi tanımlanmış durumda. Sıfır numaralı blok, gerçekte var olmasına rağmen, kullanıcı tarafından değiştirilemiyor. Bunun görevi, en son BLOAD işleminin başlangıç ve bitiş adresini akılda tutmak. FROM başl.adr. TO bit.adr. parametrelerini gerektiren bir yerde, bunun yerine belirlenmiş bir blok bölgesini kullanabiliriz. Bunun için söz konusu parametreleri BLOCKx gibi bir kullanımla özetleyebiliriz. Speech-Basic başlangıç ve bitiş adreslerini otomatik olarak blok tanımlamasından alır ve kullanır. Bu kullanım, PLAY, RECORD, BLOAD, BSAVE, MON ve BLOCK komutunun kendisinde geçerlidir. Mesela, buna göre şöyle bir satır yanlış olmaz:

BLOCK 1 BLOCK 0 “Merhaba”

Böylece, yeni yüklenmiş olan, “Merhaba” adlı ses örneğini BLOCK 1'e saklar ve BLOCK 0'ın içeriğini başka bir yerde saklayarak daha sonraki işlemler için kullanılmak üzere serbest hale getirir. Gene benzer şekilde:

8 BLOCK 30 kullanım olarak hatalı değildir ve fonksiyon tuşlarının tanımlanmasını, daha sonra kullanılmak üzere disketle saklamaya yarar. Blok tablosunu tümüyle silmek için şu döngüyü kurmamız gereklidir.

11529:BLOCKx

Burada, başlangıç ve bitiş adresleri verilmediği için, bunların yerine otomatikman kullanılabilecek en düşük adres (HİMEM) ile, kullanılabilecek en yüksek adres ($FFF8) oturtulur. Blok tablosunu görmek için MAPx-y komutunu kullanmanız gerekir. Buradaki x ve y parametrelerinin kullanımı, LİST komutundaki kullanımın olduğu gibi aynısıdır. Örnek olarak, MAP 10, MAP 10-20, MAP-10 verebiliriz. Altı numaralı fonksiyon tuşu kendinden BLOCK komutu ile tanımlanmıştır. (Tabii, bu tanımlamayı siz de değiştirebilirsiniz.) Şayet F6 tuşundan sonra (RETURN) tuşuna basarsanız, tüm blok tablosunu görürsünüz. Çünkü, BLOCK komutu, parametresiz olarak kullanıldığında MAP 0-31 komutu ile özdeştir.

BAZI ÖZEL EFEKTLER

Örneklediğimiz tüm sesleri izole edebildik mi, ses efektleri elde etmek artık çocuk oyuncağı gibi bir şey. Zaten söz konusu efektler program modunda bir şeyler yapmak gereksinimini doğuran tek neden. Diğer tüm işlemleri, direkt modda yapmak daha akıl kârı. En basit olarak elde edilen efekt RAP veya BREAK efekti, yani bir kelimenin kesik kesik tekrarlanması. Bunun için önce kelimenin kendisini (2), bunun içinde yer aldığı cümleyi (1) ve o kelimeden geri kalan kısmını (3) izole etmek ve belirlemek lazımdır. Daha sonra en basit şekliyle 1,2,2,3 sırasıyla ses geri verildiğinde söz konusu efekt elde edilir. Geri verme sırasında, sesin hızıyla da oynanırsa, SCRATCH efektleri elde etmek mümkün. Bir cümlenin son kelimesini belirleyip, cümlenin arkasından bu kelimeyi tekrarlı ve azalan bir ses şiddetiyle geri verirsek ECHO veya HALL efektleri elde edilebilir. Burada, ufak bir aksaklık keşfediyoruz. Ses geri verilirken her bir örnekten bir diğerine geçilirken ekran bir kere göz kırpıyor ve geçiş bölgesi yarattığı hafif parazitle kulak tırmalıyor. Bu durumda yardımımıza EXEC komutu yetişiyor. EXEC sadece parametre kullanan bir komut. Parametreler bir karakter string'in içinde yer alıyor ve çeşitli harf ve rakamlardan oluşuyor. Her bir harf komutu simgeliyor. Örnek verecek olursak, aşağıdaki program;

10 PLAY BLOCK 1: SPEED 1 20 PLAY BLOCK 2 30 PLAY BLOCK 3 40 PLAY BLOCK 4

EXEC“stpip2p2p3a” olarak toparlanabiliyor. Tabiiki burada .....'in işlenmesi programın yü-

tümesinden daha hızlı olarak gerçekleşiyor ve kesin sesin geri verilmesi sırasında ekran daima kapalı kalıyor.

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