Érdekes ötletem lett. Másik topikban is említettem: a zongora sztereó hangjának utánzásaként minél mélyebb a hang, annál inkább balról, és minél magasabb, annál inkább jobbról szól. Megpróbáltam ezt megvalósítani. A PITCH értéke 0 és 127 közötti lehet, és a LEFT ill RIGHT értéke 0 és 255 közötti. Így nem nehéz némi szorzással és kivonással megoldani a zongora-hatást.
Viszont a 127-es pitch érték olyan magas, hogy nem is hallatszik már. Talán olyan 80-90 felett nem is érdemes már pitch értéket használni (torzítás és egyebek nélkül, tehát alapesetben), mert nem hallatszik. Így a legmagasabb hang, ami leginkább jobbról szól, nem a 127 kéne, hogy legyen, hanem olyan 80 felett akármilyen magas már, az szólhatna teljesen jobbról.
Ezt nem is nehéz megcsinálni:
105 LET W=4
120 RESTORE
130 DO
140 READ IF MISSING EXIT DO:G,G1,H
150 LET L1=255-G*W:LET R1=G*W
155 IF L1<0 THEN LET L1=0
156 IF L1>255 THEN LET L1=255
157 IF R1<0 THEN LET R1=0
158 IF R1>255 THEN LET R1=255
160 LET L2=255-G1*W:LET R2=G1*W
165 IF L2<0 THEN LET L2=0
166 IF L2>255 THEN LET L2=255
167 IF R2<0 THEN LET R2=0
168 IF R2>255 THEN LET R2=255
170 IF G=127 THEN LET L1=0:LET R1=0 ! Ez azért kell, mert a 127-es hangmagasság a szünetet jelzi.
180 IF G1=127 THEN LET L2=0:LET R2=0 ! Lásd fent.
190 SOUND PITCH G,DURATION H,SOURCE 1,SYNC 1,ENVELOPE 2,LEFT L1,RIGHT R1
200 SOUND PITCH G1,DURATION H,SYNC 1,ENVELOPE 2,LEFT L2,RIGHT R2
210 LOOP
A W változóban minél nagyobb számot adunk meg, annál kevésbé kell a hangnak magasnak lennie, hogy teljesen jobbról szóljon. Olyan túlzottan nem észrevehető a változás az eredeti Dreamland című szerzeményben így. Az elejére betettem pár hangot, egyre magasabb hangok jönnek egymás után, majd egyre mélyebbek, így könnyen letesztelhető a sztereó hatás:
[ Guests cannot view attachments ]
Még azt lenne jó megcsinálni, hogy ne a 0 PITCH érték szóljon teljesen balról, hanem mondjuk már 20 körül is. Merthogy kevés zene van EP-re, amely ennyire tág hangterjedelmet használ, és amúgy sem szólnak szépen már a nagyon mély hangok. Igazából a szerzemény hangterjedelmétől függően kéne talán belőni, melyik hangnál szóljon teljesen balról, és melyik hangnál teljesen jobbról.
Hogy kevésbé magas hang is már teljesen jobbról szóljon, azt W-vel való szorzással lehet megoldani. De azt hogy lehet ezen felül beírni, hogy a kevésbé mély hang is már teljesen balról szóljon?
Ezzel a módszerrel szerintem elég jó sztereó, EP-s hatást lehetne elérni akár többcsatornás, nagyobb hangterjedelmű zenékben! Ki lehetne találni talán más algoritmusokat is, amik a hangmagasságból kiszámolnak valami értéket, hogy a sztereó térben hol szólaljon meg a hang. Zozónak a Stereo demo zenéje tetszett nagyon a sajátos sztereó hangzása miatt. Persze minden egyes hanghoz megadni a left és right értékeket eléggé macerás, jobb lenne erre valami olyan eljárás, amit itt írtam.