Program Döküm Eki sayı 13, sayfa 22

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 22

İşte müziksever arkadaşların seveceği bir program. C-64'ün ses özelliklerini bir yığın POKE komutu kullanarak elegeçirmekten bıkanlar için 8 yeni BASIC komutu.

Önce SOUND MASTER programını MDE ile yazın ve bir yere kaydedin. Daha sonra LOAD edip RUN komutunu verin. Yeni komutlar aktif hale gelecektir. Üç değişik örnek program da verdik. Bunların satırlarında kontrol toplamları yok. Nedeni, yeni komutlar. İsterseniz hemen komutların tanıtımına geçelim...

SOUNDCLEAR

SID'in (Sound interface device, C-64'ün ses işlemlerini kontrol eden ünitesi) tüm yazmaçları sıfırlanır.

VOLUME vol

'vol' ile belirtilen 0-15 arası sayı, ses üreteçlerinin ses şiddetini belirler. 0 sessiz kalmaktadır. 15 ise en yüksek sestir.

OSCILLATE ses, frekans

Bildiğiniz gibi C-64'ün üç ses üreticisi vardır. Bu komutta, 'ses' parametresiyle belirtilen 1-3 arası numaraya sahip ses üreteci 'frekans' ile verilen 0-3848 arası frekansla yüklenir. Bu sayı Hz cinsindendir.

Örneğin,

OSCILLATE 2,1399.34

komutu ile ikinci ses üretici 1399.34Hz ile yüklenmektedir.

Bu komut, hemen ses çıkarmaz. Sesin oluşmasını PLAY komutu kontrol eder.

TUNE ses, nota$

'ses' üreticini bir frekansla yüklemenin ikinci bir yolu da bu komuttur. 'ses' ile belirtilen üretece, 'nota$' ile belirtilen notanın frekansı yüklenir. 'nota$', bir karakter dizisi veya string değişkeni olabilir. İçinde, notanın adı ve oktavı yer alır. Ne yazık ki, notaları do, re, mi... şeklinde değil de A, B, C... şeklinde vermelisiniz. Bu, C-64'ün el kitabının arkasında da bulabileceğiniz uluslararası nota yazım şeklidir. Biz kısaca bir listesini verelim.

DO : C RE : D Mİ : E FA : F SOL : G LA : A Sİ : H

Örneğin TUNE1,"D4" veya A$ = "D4": TUNE1,A$ komutları, 1 numaralı üreteci dördüncü oktavın RE notasının frekansı ile yükleyecektir. Aynı şekilde, TUNE2,"C 3" demekle de, ikinci üretece üçüncü oktavın DO DİYEZ'i yüklenir.

ENVELOPE ses,a,d,s,r

'ses' ile belirtilen üretecin zaman içindeki ses dalgalanmasını belirler. Bu dalganın özellikleriyle ilgili ayrıntılı bilgi C-64 el kitabında var. Biz gene biraz anlatalım.

'a' (attack), sesin en yüksek seviyesine ne kadar çabuk ulaşacağını belirler. Eğer 0 ise, ses aniden en yüksek şiddetine ulaşacaktır. 15 ise, sesin suskunluktan VOLUME ile belirtilen seviyeye çıkması 8 saniye sürecektir. 'a'nın alacağı 0-15 arası değerlere göre, sesin yükselme süreleri aşağıdaki gibi olacaktır:

0 : 2 ms 1 : 8 ms 2 : 16 ms 3 : 24 ms

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