Yayınlama: 26 Ağustos 2020
BEEP
Sistem hoparlöründen bip sesi çalar. En basit ses çalma komutudur. Parametresi yoktur.SOUND
Kullanımı:
SOUND frekans, süreBelirtilen frekanstaki sesi süre kadar çalar.
frekans: Sıklık, saniyedeki salınım sayısı. 37-32767 arası bir değer alabilir. Birimi Hertz(Hz)dir.
süre: Sesin süresini belirler. 0-65535 arası bir değer alabilir. Birimi saat tikidir. 1 sn = 18.2 tik
Örnek 1:
' SOUND Örnek ' ©2020 Mesut Akcan ' mesutakcan.blogspot.com CLS FOR n = 1 TO 5 SOUND 1000, 3 '1 KHz, 3/18 sn PRINT CHR$(254); SLEEP 1 NEXT PRINT CHR$(219) SOUND 1000, 10 '1 KHz, 10/18 snÖrnek 2:
' SOUND Örnek ' ©2020 Mesut Akcan ' mesutakcan.blogspot.com CLS : COLOR 10 FOR n = 40 TO 1000 STEP 20 SOUND n, n / 500 LOCATE 12, 1 PRINT STRING$(n / 20, "X") NEXT SLEEP 1 COLOR 12 FOR n = 1000 TO 40 STEP -20 SOUND n, n / 500 CLS : LOCATE 12, 1 PRINT STRING$(n / 20, "X") NEXT
PLAY
Müzik notalarını çalar.
Kullanımı:
PLAY komutdizesikomutdizesi: Bir veya daha fazla müzik komutu içeren bir dize ifadesidir. PLAY komutu, müzik makro dilini tek bir dizeye yerleştirmesi açısından DRAW'a benzer bir yapıyı kullanır.
Oktav ve Ton komutları:
Oktav:
On : Mevcut oktavı ayarlar. 7 oktav vardır. n = 0-6.
> : Oktavı 1 arttırır. En fazla: 6
< : Oktavı 1 azaltır. En az: 0
Ton:
A-G: A-G aralığındaki notayı çalar. Nota adları İngiliz sistemine göredir.
Türkiye'de kullanılan karşılıkları:
C : Do
D : Re
E : Mi
F : Fa
G : Sol
A : La
B : Si
Nota adları yanına eklenecek simgeler:
Diyez için: # veya +
Bemol için: -
Nn : n notasını çalar. 7 oktavda 84 nota vardır. n=0-84.
Örnek 1:
nota$ = "CDEFGAB" FOR n = 0 TO 6 PLAY "O" + STR$(n) + nota$ NEXTSüre ve Tempo komutları:
Süre:
Ln : Herbir notanın çalma uzunluğunu ayarlar. L1 tam, L4 çeyrek(1/4)uzunlukta notadır. n=1-64.
Uzunluk, sadece bir nota için olacaksa nota ve uzunluk şeklide girilebilir.
Örneğin, A16, L16A'ya eşdeğerdir.
. (Nokta) : Notayı L veya T ile belirtilen sürenin 1.5 katı süre çalar.
Örneğin: PLAY "L1C."
Örnek 2:
DEFINT A-Z nota$ = "CDEFGAB" PLAY "L24" FOR n = 0 TO 6 PLAY "O" + STR$(n) PLAY nota$ NEXTÖrnek 3:
' Daha dün annemizin kollarında n1$ = "CCGGAAG4FFEEDDC4" n2$ = "GGFFEEDP8" PLAY "L8" PLAY n1$ + n1$ + n2$ + n2$MN : Müziği normale ayarlar. Notalar uzunluğun(L) 7/8'i kadar çalar.
ML : Müziği legato'ya ayarlar. Notalar L ile belirtildiği gibi çalar.
MS : Müziği staccato'ya ayarlar. Notalar uzunluğun(L) 3/4'ü kadar çalar.
Tempo:
Pn : Ln deki n nota süresi gibi sessizlik ayarlar.
Tn : Müzik çalma temposunu ayarlar. Bir dakikada L4 müzik notasının kaç tanesini çalınacağı ayarlanır. 32-255 arası bir değer alır. Normali 120'dir.
Ön / arkaplan İşlemleri:
MF : Müziği ve SES'i ön planda çalışacak şekilde ayarlar. Yani, sonraki her nota veya ses, önceki nota veya ses bitene kadar başlamaz. Bu varsayılan ayardır.
MB : Müzik ve ses arka planda çalışacak şekilde ayarlar. Yani, her nota veya ses bir arabelleğe yerleştirilerek, nota veya ses arka planda çalarken BASIC programı yürütülmeye devam eder.
Arka planda aynı anda çalınabilecek maksimum nota sayısı 32'dir.
Değişken kullanımı:
"X" + VARPTR$(stringdeğişken) : Belirtilen değişken içeriğini çalar.
Örnek 4:
a$ = "cde" PLAY "X" + VARPTR$(a$)Örnek 5:
'Beethoven un 5. senfonisinin ilk 5 notasını çalar LISTEN$ = "T180 o2 P2 P8 L8 GGG L2 E-" FATE$ = "P24 P8 L8 FFF L2 D" PLAY LISTEN$ + FATE$Örnek 6:
'İstiklal Marşı PLAY "L4 o2" PLAY "<B>EFGD#8. F16E2. EAB>C8. <B16G#8.B16A2." PLAY "B8A#8 B8FF2A16G8. D#16 E8. F16 G8. A16 B8.>C16 D8.E16D" PLAY "<D8 C#8 D8 BAG2.<B8 A#8 B8 >F<B>B8. A16 G8F8G8E" PLAY ">E2D16C8<B16 A8G16 F8E16B<B>E2." ' Çanakkale içinde PLAY "L8 P8 AAA4AGGA- GFEF4 EFGFA# GFED3 CEFG AF3 EF16G16EDD2 P8" 'Uzun ince bir yoldayım PLAY "o2 L8" PLAY "P4 FGG4 F16E16 DFE4 DD4D4" PLAY "AGAFG4 F16E16DFE4DD4D4" PLAY "P4 B>CC<B>C4C<B4A>C<BB4" PLAY ">C<A4GGAA4A4 GFAGG4" PLAY "G4F16E16 DGEF4F4 EDF E4.E4DCEDD4D1"
ON PLAY(n)
Arka plan modunda müzik komutları önce tampon belleğe aktarılır ve oradan
sırasıyla çalınır.
Bu sırada basic komutları yürütülmeye devam eder. Tampon bellek sınırı 32'dir.
Bu sırada basic komutları yürütülmeye devam eder. Tampon bellek sınırı 32'dir.
ON PLAY(n) komutu, arka plan tampon belleğindeki komut sayısı n'nin bir altına düştüğünde, komut yürütme adımını belirtilen alt rutine gönderen bir olay yakalama durumunu oluşturur.
Aşağıdaki Örnek 1'e bakınız.
PLAY ON, PLAY STOP, PLAY OFF
PLAY ON: ON PLAY(n) işlevi etkinleştirir.PLAY OFF: ON PLAY(n) işlevi devre dışı bırakılır.
PLAY STOP: ON PLAY(n) işlevini durdurur ancak PLAY ON ile tekrar işlev etkinleştirilebilir.
PLAY(n)
Arka plan modunda çalınmak üzere tamponda bekleyen müzik komutu sayısını
verir.
n herhangi bir integer sayı olabilir önemi yoktur. Sonucu etkilemez.
Önplan modunda PLAY(0) fonksiyon sonucu 0'dır.
Örnek 1:
' PLAY Örnek ' © 2020 Mesut Akcan ' mesutakcan.blogspot.com CLS 'müzik tamponu 2 ye düştüğünde alt rutine git ON PLAY(3) GOSUB ArkaplandaCal PLAY ON muzik$ = "L8 EEFGGFEDCCEEED12D4" PLAY "MB" + muzik$ 'arkaplanda müzik çal PRINT "D : Durakla" PRINT "C : Çal" PRINT "B : Bitir" PRINT "ESC: Çıkış" DO A$ = UCASE$(INKEY$) SELECT CASE A$ CASE "D": PLAY STOP 'Durakla CASE "C": PLAY ON 'Çal CASE "B": PLAY OFF 'Kapat CASE CHR$(27): EXIT DO END SELECT LOCATE 7, 1 PRINT "Tamponda kalan müzik komutu sayısı:"; PLAY(0) PRINT A$ LOOP PLAY "mb o1 bagfedc2" END ArkaplandaCal: o% = o% + 1 'oktav IF o% = 7 THEN o% = 0 s% = s% + 1 'sayı LOCATE 5, 1 PRINT "Müzik arkaplanda "; s%; " defa çalındı."; PRINT "Oktav="; o% PLAY "MB o" + STR$(o%) + muzik$ RETURN
Önceki Bölüm: 23: Fare (mouse) kullanımı-4 | Sonraki Bölüm: 25: Klavye kullanımı |
Hiç yorum yok:
Yorum Gönder