Amiga Dünyası sayı 18, sayfa 32

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 32

adından sonra ",P" verilirse, program korumalı olarak kaydedilir. Böyle kaydedilen bir program, yüklenip çalıştırılabilir, ancak listelenemez ve değiştirilemez.

Son kullanım şeklindeki gibi, komut sonuna ",B" eklendiği durumda ise dosya binary formatta kaydedilir. Tanımlı format budur ve dosya kayıt esnasında sıkıştırılır. Normal kayıt modu bu olduğundan, bu opsiyonun yazılması gerekmez. ",B" opsiyonu ile ya da opsiyonsuz olarak SAVE fonksiyonu, dosyayı bu formatta kaydeder.

dosya-adı, drive numarası, directory adı ya da library adı içerebilir. Bu komut için örnek vermemize gerek yok herhalde değil mi?

SAY KOMUTU: Kullanım Şekli: SAY Fonem dizisi [,dizi%(0), dizi%(1), dizi%(2), dizi%(3), dizi%(4), dizi%(5), dizi%(6), dizi%(7)]

SAY komutu, fonem kodları kullanılarak yazılan bir diziyi seslendirir. Fonem, konuşma dilinin hece ve kelime birleşiminin birimleridir ve tabii ki her dilin fonemi farklıdır. Fonem kodlarını TRANSLATE$ komutu ile normal texte çevirebileceğiniz gibi, kendi fonem kodlarınızı da girebilirsiniz. Amiga'da SAY ve TRANSLATE$ komutları, İngilizce foneme göre tanımlanmıştır. Siz fonem kullanmadan Türkçe olarak bir text girerseniz, bu İngilizce telaffuz edilecektir.

Fonem dizisi arkasına yazılan dizi%'ler Amiga'nın konuşma karakteristiğini tanımlar. 9 parametre ile belirtilen bu konuşma karakteristikleri, tamsayı olarak girilir. Tamsayı dışında bir data girilirse, "Type mismatch" hatası ortaya çıkar.

dizi%(0), ses yüksekliğini belirler. Burada sesin hangi yükseklikte çıkacağını belirlersiniz. En yüksek ses 320, en alçak ses ise 65 ile belirtilir. Tanımlı değer 110'dur. dizi%(1)'de, ses tonunun hecelere göre değişeceği (0) ya da bilgisayar monotonluğunda (1) olacağı tespit edilir. Tanımlı değer 0'dır.

dizi%(2), konuşma hızını tespit etmek için kullanılır. Bu değer, dakikada söylenecek kelime sayısıdır. Değer sınırı, 40 (yavaş) ile 400 (çabuk) arasıdır. Tanımlı değer, 150'dir. dizi%(3)'te, kadın (1) sesi mi, yoksa erkek (0) sesi mi kullanılacağı belirtilir. Tanımlı olan erkek sesidir.

dizi%(4), akortu ya da örnekleme frekansını tespit eder. Bu değer sesin derinliğini etkiler ve ses kalitesindeki değişiklikleri kontrol eder. Değer, 5000 (alçak ve gürültülü) ile 28000 (yüksek ve cızırtılı) sınırı arasından verilir. Tanımlı değer 22200'dür.

dizi%(5)'te, ses seviyesi tanımlanır. 0 (ses kapalı) ile 65 (sesli) sınırı arasında bir değer verilir. Tanımlı değer 65'tir.

dizi%(6)'da, ses çıkışının hangi kanaldan olacağını belirten değer verilir. Mevcut 12 kanal kombinasyonu vardır. Bunlar, aşağıdaki tabloda listelenmiştir: DEĞER KANAL/KANALLAR DURUM 0 Kanal 0 Sol 1 Kanal 1 Sağ 2 Kanal 2 Sağ 3 Kanal 3 Sol 4 Kanal 0 ve 1 Stereo 5 Kanal 0 ve 2 Stereo 6 Kanal 3 ve 1 Stereo 7 Kanal 3 ve 2 Stereo 8 Tüm boş sol kanallar 0 ve/veya 3 9 Tüm boş sağ kanallar 1 ve/veya 2 10 Boş bir kanal çifti Tanımlı değer 11 Bir boş kanal Tabloda da gördüğünüz gibi, tanımlı değer 10'dur yani boş bir sol ve sağ kanal çifti kullanılır.

dizi%, senkronizasyon modunu belirtir. 0 ve 1 olarak iki değer ile belirtilir. 0 modunda, AmigaBASIC program çalışmasını bilgisayarın konuşması esnasında durdurur. Konuşma tamamlanınca başka işlemlere geçer. Tanımlı mod budur. Senkronizasyon moduna 1 verildiğinde, konuşma arka zeminde sürerken aynı zamanda programın çalışması devam eder.

dizi%(8), iki SAY yönergesi birbiri arkasına geldiği zaman (bil ki dizi%(7)'de 1 değeri verilmişse) ne olacağını kontrol eder. 0, normal işleyiştir; yani birinci SAY tamamlandıktan sonra ikincisine geçilir. Tanımlı değer, 0'dır. 1, 7. parametreye bakmaksızın konuşma işlemini durdurur. 2 verilirse, ilk SAY komutu aniden kesilir ve ikinciye geçilir. Aşağıdaki örnek program, parametreleri rasgele tespit ederek "Amiga" sözcüğünü tekrarlıyor. Yaz ve dinleyin.

Text$="Amiga" Basla:

alan%(0)=90+180*RND alan%(l)=RND alan%(2)=50+200*RND alan%(3)=RND alan%(4)= 17000+1000*RND alan%(5)=40+24*RND alan%(6)=ll*RND alan%(7)=0 alan%(8)=0 SAY TRANSLATE$(Text$),alan% GOTO Basla

SCREEN KOMUTU: Kullanım Şekli: SCREEN ekran-no, genişlik, yükseklik, derinlik, mod

Bu komut, yeni bir ekran yaratmak için kullanılır. AmigaBASIC, Workbench ekranına ek olarak 4 ekran yaratmanıza izin verir. Yani komuttaki ekran-no parametresi, 1-4 sınırları içinde olabilir.

genişlik ve yükseklik ekranın pixel olarak genişlik ve yüksekliğidir, genişlik, 1 ile 640; yükseklik ise 1 ile 400 arasında bir değerle belirtilir.

derinlik, ekranda kullanılan bitplane sayısıdır. 1 ile 5 arasında bir sayı ile verilen derinlik, ekranda görüntülenecek renk sayısını tespit eder:

DEĞER RENK SAYISI

1 2 2 4 3 8

4 16 5 32 mod, ekranın pixel genişliğini ve interlace olup olmadığını, yani çözümleme derecesini tespit eder. 1 ile 4 arasında bir değerle belirtilir: MOD TANIM BİR BİTPLANE İÇİN

GEREKEN BELLEK 1 320*200 Pixel 8000 Byte 2 640*200 Pixel 16000 Byte 3 320*400 Pixel (interlace) 16000 Byte 4 640*400 Pixel (interlace) 32000 Byte Normalde düşük çözümleme modu televizyon ekranında, yüksek çözümleme ise yüksek çözümlemeli monochrome ve RGB monitörlerde kullanılır. interlace bir ekran, yatay satır sayısını ikiye katlar. Bir örnek komut vererek bu komutumuzu da tamamlayalım: SCREEN 1,640,400,1,4: WINDOW 1,"TEST",(0,0)-(400,300),15,1

SCREEN CLOSE KOMUTU: Kullanım Şekli: SCREEN CLOSE ekran-no

Ekranların her biri bellekten bir miktarını yer. Bu nedenle, gerek kalmadığında ekranlar kapatılmalıdır. SCREEN CLOSE komutu, bu işlem için kullanılır. Ekranı pencere olsa da olmasa da temizler ve ekrana tahsis edilen belleği serbest bırakır.

Evet... Bu aylık da bu kadar. Gelecek ay bu köşede buluşmak dileğiyle, hoşçakalın...

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