Welcome, Guest. Please login or register.


Author Topic: Zeneprogramozás (Read 546905 times)

Offline ergoGnomik

  • EP addict
  • *
  • Posts: 1346
  • Country: hu
  • Stray cat from Commodore alley
Re: Zeneprogramozás
« Reply #810 on: 2017.July.26. 21:11:07 »
És egy kérdés. A ST-vel írt zenéket belelehet tenni mindenféle különösebb átírás nélkül egy EP játékba ? Mert akkor az ST-t át sem kell írni. Itt van a Végső visszaszámlálás :
Nem vagyok szakértő, de megkockáztatom, hogy nem. Az csak az egyik probléma, hogy az ST-ben YM2149-es hangcsip van, ami tudásban nagyon eltért a DAVE-től (bár emulátort már írtak hozzá). A másik, hogy az Atari 68k processzorral működik, nem Z80-nal. Még ha a linkelt fájl csak a zenei adatokat tartalmazza, akkor is kell írni egy programot ami képes azokat értelmezni. Ha meg benne van a lejátszó is (mint Commodore-on), akkor azt át kell írni.

Offline nyuzga

  • EP addict
  • *
  • Posts: 2307
  • Country: hu
Re: Zeneprogramozás
« Reply #811 on: 2017.July.26. 21:31:52 »
Nem vagyok szakértő, de megkockáztatom, hogy nem. Az csak az egyik probléma, hogy az ST-ben YM2149-es hangcsip van, ami tudásban nagyon eltért a DAVE-től (bár emulátort már írtak hozzá). A másik, hogy az Atari 68k processzorral működik, nem Z80-nal. Még ha a linkelt fájl csak a zenei adatokat tartalmazza, akkor is kell írni egy programot ami képes azokat értelmezni. Ha meg benne van a lejátszó is (mint Commodore-on), akkor azt át kell írni.

Szerintem félreérted. AZ ST az egy Amstrad program. SoundTracker 1.1.

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 10101
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Zeneprogramozás
« Reply #812 on: 2017.July.26. 21:56:09 »
A ST-vel írt zenéket belelehet tenni mindenféle különösebb átírás nélkül egy EP játékba ?
Szerintem lejátszót kell írni hozzá. Ez talán különösebben nem lehet bonyolult, ha ismerjük a zenei fájl felépítését. Hogy teljesen ugyanúgy le tudja-e játszani, mint a CPC-s program, azt nem tudom.
A MusicBox-hoz is készült külön lejátszó, szóval biztos ehhez is lehetne írni.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline geco

  • EP addict
  • *
  • Posts: 7223
  • Country: hu
    • Támogató Támogató
Re: Zeneprogramozás
« Reply #813 on: 2017.July.27. 08:42:38 »
Szerintem lejátszót kell írni hozzá. Ez talán különösebben nem lehet bonyolult, ha ismerjük a zenei fájl felépítését. Hogy teljesen ugyanúgy le tudja-e játszani, mint a CPC-s program, azt nem tudom.
A MusicBox-hoz is készült külön lejátszó, szóval biztos ehhez is lehetne írni.
Szerintem van is hozzá CPC-re, István AY emulátorát kell beépíteni, vagyis nem ilyen egyszerű a helyzet, az ST-vel készült zenéket vagy befordított a lejátszó kódot tartalmazó fájl formájában, vagy a CPC-re írt zeneszerkeszőben lejátszhatók, 2 megoldás van, vagy minden befordított zenébe betenni az AY emulációt, vagy kiszedni a lejátszót a zeneszerkesztőből.

Offline endi

  • EP addict
  • *
  • Posts: 7298
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
    • Honlapom
Re: Zeneprogramozás
« Reply #814 on: 2017.July.28. 12:23:36 »
tovább fejlesztettem a random zene generátort tegnap este, hát, ebben nagy lehetőségek vannak.
csak hát itt is előjön a kérdés, hogy mennyire komolyra érdemes megírni? mert a lehetőségek végtelenek. de ügye időm sok nincs rá, plusz a szórakozás szintjén kéne megmaradnia... csak hát a kísértés... :)
Vigyázat! Szektás vagyok! :)

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 10101
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Zeneprogramozás
« Reply #815 on: 2017.July.30. 19:27:49 »
Még jó 20-25 éve raktam össze ezt, ami inkább vicc, mint zene. Egy mix akart lenni, minden elképzelhető és elképzelhetetlen dalból van pár másodperc részlet benne, még saját szerzemények is.
Eredetileg a Xorgame zenéje kapcsán jutott eszembe. Talán logikai játékoknál szoktak mixeket berakni a háttérben. De ahhoz a játékhoz nem tudom, mennyire illene. Egyszólamú csak az egész. Hátha valamire jó lesz, esetleg lehet majd folytatni is, ha van rá igény.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline endi

  • EP addict
  • *
  • Posts: 7298
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
    • Honlapom
Re: Zeneprogramozás
« Reply #816 on: 2017.July.31. 18:33:27 »
mi az a .sou?
Vigyázat! Szektás vagyok! :)

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 10101
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Zeneprogramozás
« Reply #817 on: 2017.July.31. 23:27:07 »
mi az a .sou?
Csak kitaláltam valami kiterjesztést anno a fájlnak (akkor még nem volt jelentősége). De sima basic program. Mondjuk tényleg félrevezető, hogy így felraktam ide, erre nem gondoltam.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline endi

  • EP addict
  • *
  • Posts: 7298
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
    • Honlapom
Re: Zeneprogramozás
« Reply #818 on: 2017.July.31. 23:46:05 »
Csak kitaláltam valami kiterjesztést anno a fájlnak (akkor még nem volt jelentősége). De sima basic program. Mondjuk tényleg félrevezető, hogy így felraktam ide, erre nem gondoltam.

aha, meghallgattam, tök jó a hangzás
de ez itt off, hacsak nem random generáltad :)
Vigyázat! Szektás vagyok! :)

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 10101
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Zeneprogramozás
« Reply #819 on: 2017.August.01. 13:41:43 »
de ez itt off
Nem off, direkt a zeneprogramozásba tettem, nem a randomos topikba.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline endi

  • EP addict
  • *
  • Posts: 7298
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
    • Honlapom
Re: Zeneprogramozás
« Reply #820 on: 2017.August.01. 14:27:11 »
Nem off, direkt a zeneprogramozásba tettem, nem a randomos topikba.

ja tényleg :)
Vigyázat! Szektás vagyok! :)

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 10101
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Zeneprogramozás
« Reply #821 on: 2017.August.08. 22:56:30 »
É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:
Code: [Select]
 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.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14779
  • Country: hu
    • http://enterprise.iko.hu/
Re: Zeneprogramozás
« Reply #822 on: 2017.August.08. 23:11:54 »
Nem rossz effekt!
Ahogy írod, a zene tartományához kéne egy kicsit jobban belőni.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: Zeneprogramozás
« Reply #823 on: 2017.August.08. 23:24:39 »
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?

r = (pitch - pitch_min) * 255 / (pitch_max - pitch_min)
if r < 0 then r = 0
if r > 255 then r = 255
l = 255 - r

Lineáris helyett cos() és sin() függvények (0 és PI/2 közötti tartományban) elvileg jobbak lennének, így ugyanis a két csatorna együttes teljesítménye konstans lenne.

Quote
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.

mod() függvénnyel egyszerűen megoldható, hogy ne a teljes terjedelem alatt mozduljon el balról jobbra, hanem ismétlődve.

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 10101
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Zeneprogramozás
« Reply #824 on: 2017.August.09. 01:25:27 »
István módszerével megcsináltam jobban. A pmin és pmax változókban lehet megadni, mely pitch értékeknél legyen a legjobban bal ill. jobb oldalon a hang. Nem tudom, nem túlzás-e a most megadott 25 és 55. Írtam még a Dreamland elé pár hangot (nem biztos, hogy illik is hozzá), amiknél jól előjön a jobb- és baloldali "pártállás": az egyik s szólam balról (mély hangok), a másik jobbról (magas hangok) indul:
[ Guests cannot view attachments ]

A sin és cos függvénnyel hogyan lenne a képlet? És a mod függvénnyel? Ezeket nem értem.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos