Welcome, Guest. Please login or register.


Author Topic: Zeneprogramozás (Read 219409 times)

Offline geco

  • EP addict
  • *
  • Posts: 5728
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Firefox 71.0 Firefox 71.0
    • View Profile
Re:Re: MIDI
« Reply #1035 on: 2020.January.01. 10:55:32 »
Vagy trükközöl, mint C64-en. Ott azt csinálták a virtuális 4. digi csatornánál, hogy nem teljes bitmélységben játszották a digitális mintákat a hangerő regiszteren ($D418). A normális négy bites (0..15) felbontás helyett hármat használtak, és azt eltolták a négy bites tartomány felső felébe (8..15). Így a kecske sem éhezett és a káposztából is maradt valamennyi. A TV hangerőszabályzóját meg csak tudja az ember, hogy merre van. ;)
Ezt nem értem, az eltolt 3 bit nem adott hangot akkor nem? (mert ott a filter beállítások vannak)

Illetve, ha bírja a program és a gép videó memóriával, akkor olyan LPT-t készíthetsz, amiben minden második rasztersor megszakítást generál. Az 50*312/2=7800Hz, ami már nem rossz lejátszási sebességnek, ha visszafogod a digi hang maximális frekvenciáját. És így nem kell feláldozni egy csatornát sem.
Jogos.

Online szipucsu

  • EP addict
  • *
  • Posts: 8584
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 71.0 Firefox 71.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re:Re: MIDI
« Reply #1036 on: 2020.January.01. 11:25:41 »
minél több a digi csatorna, annál kisebb az esélye, hogy be lehet építeni játékba.
Én csak olyasmire gondoltam, hogy Tetrisznél szólna a háttérben a fullos 4 csatornás Dave muzsika, és közben, amikor egy durung leér alulra, akkor lenne egy nagyon rövid digi hang, valami dobütés szerű. Még talán az se tragédia, ha arra az időre minden megáll, de azért szebb persze, ha nem áll meg, és ilyen hangeffekthez nem is kéne fullos dolby minőségú 48KHz digihang se, valami gagyibb is elmenne. Csak kár, hogy nem írok épp Tetris programot, főleg nem gépi kódban. :D
100 SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
110 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
120 SOUND PITCH 25,SYNC 2
Videos

Offline ergoGnomik

  • EP lover
  • *
  • Posts: 950
  • Country: hu
  • Stray cat from Commodore alley
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Opera 12.18 Opera 12.18
    • View Profile
Re:Re: MIDI
« Reply #1037 on: 2020.January.01. 12:01:27 »
Ezt nem értem, az eltolt 3 bit nem adott hangot akkor nem? (mert ott a filter beállítások vannak)
Szerintem pedig jól leírtam. A regiszter írásoknál a 3 bites mintát nem feltolták a bájt felső felébe (-xxx----), hanem a négy bites hangerő tartomány felső felében játszották le (----1xxx). Tehát a $D418 írásoknál az értékek a 8-tól 15-ig tartományba estek.

Jogos.
Illetve ha az megoldható, lehet lejjebb is menni, például minden harmadik az még mindig 5200 Hz, ami a normál A hang felett több, mint két oktávig jó, vagy a negyedikeknél is van 3900 Hz, ami bizonyos effektekhez és dobokhoz simán lehet jó.

Ja, és BÚÉK mindenkinek!
« Last Edit: 2020.January.01. 12:05:09 by ergoGnomik »

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13718
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Firefox 71.0 Firefox 71.0
    • View Profile
    • http://enterprise.iko.hu/
Re:Re: MIDI
« Reply #1038 on: 2020.January.01. 14:51:26 »
amikor egy durung leér alulra, akkor lenne egy nagyon rövid digi hang, valami dobütés szerű
Enterballból lehetne kiszedni.

Online szipucsu

  • EP addict
  • *
  • Posts: 8584
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 71.0 Firefox 71.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re:Re: MIDI
« Reply #1039 on: 2020.January.01. 17:18:22 »
Enterballból lehetne kiszedni.
Attól függően, hogy milyen színű és alakú objektum ér a képernyő aljára, lehetne különféle dobok hangját megszólaltatni.
100 SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
110 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
120 SOUND PITCH 25,SYNC 2
Videos

Offline geco

  • EP addict
  • *
  • Posts: 5728
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 68.0 Firefox 68.0
    • View Profile
Re:Re: MIDI
« Reply #1040 on: 2020.January.02. 08:54:40 »
Szerintem pedig jól leírtam. A regiszter írásoknál a 3 bites mintát nem feltolták a bájt felső felébe (-xxx----), hanem a négy bites hangerő tartomány felső felében játszották le (----1xxx). Tehát a $D418 írásoknál az értékek a 8-tól 15-ig tartományba estek.
Ja, és BÚÉK mindenkinek!
Bocsi, félreértettem a 8-15 -öt bitre gondoltam, de akkor már 2 byte-os lenne a regiszter :D :D
Az előnyét még mindig nem értem, mert ebben az esetben mind a négy csatornát ott játszották le, és minden csatornánál ki kellett írni az értéket a $d418-ra, ezt megtehették volna 4 bites mintákkal is :)
Nem az volt, hogy 2 3 bites mintát összeadtak, és az került ki a $d418-ra, és ezt eljátszották a másik 2 csatornával is? EP-n hasonlóan működött a Rockdigi, két 5 bites sample értéke lett összeadva, és 2 csatorna összege ment a bal oldali D/A-ra a másik 2-é a jobbra.

BÚjjÉK

Offline ergoGnomik

  • EP lover
  • *
  • Posts: 950
  • Country: hu
  • Stray cat from Commodore alley
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 52.0 Firefox 52.0
    • View Profile
Re:Re: MIDI
« Reply #1041 on: 2020.January.02. 09:36:07 »
Az előnyét még mindig nem értem, mert ebben az esetben mind a négy csatornát ott játszották le, és minden csatornánál ki kellett írni az értéket a $d418-ra, ezt megtehették volna 4 bites mintákkal is :)
Nem az volt, hogy 2 3 bites mintát összeadtak, és az került ki a $d418-ra, és ezt eljátszották a másik 2 csatornával is?
Hát nem igazán. Ez a virtuális 4. csatorna volt. Amellett hogy digit játszottak, megmaradt a normál 3 SID csatorna a hagyományos zenelejátszásra, a hangerő némi csökkenése árán. Én úgy értettem, hogy szipucsunak is ez volt az elképzelése. A sima DAVE zenélés mellé valahogyan pluszban digitális hangokat odatenni.

Viszont az jutott eszembe, hogy itt ezzel lehet hogy árnyékra vetődnénk. A 6581-en azért működik biztosan, mert amikor a csatornák nincsenek aktívan hajtva (0 jelszint) az analóg erősítők szivárgása miatt akkor is van áram a fő hangerő szabályzóban, amit lehet modulálni. A DAVE tisztán digitális kimenetén ez nem biztos hogy jól működne. Persze egy próbát ettől még megérhet.

Offline geco

  • EP addict
  • *
  • Posts: 5728
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 68.0 Firefox 68.0
    • View Profile
Re:Re: MIDI
« Reply #1042 on: 2020.January.02. 10:30:57 »
Viszont az jutott eszembe, hogy itt ezzel lehet hogy árnyékra vetődnénk. A 6581-en azért működik biztosan, mert amikor a csatornák nincsenek aktívan hajtva (0 jelszint) az analóg erősítők szivárgása miatt akkor is van áram a fő hangerő szabályzóban, amit lehet modulálni. A DAVE tisztán digitális kimenetén ez nem biztos hogy jól működne. Persze egy próbát ettől még megérhet.
Ha jól emlékszem, emulátoron működik, igazi gépet nem tudom.

Online szipucsu

  • EP addict
  • *
  • Posts: 8584
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 74.0 Firefox 74.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Zeneprogramozás
« Reply #1043 on: 2020.April.02. 19:32:07 »
A zajcsatorna tud aluláteresztő szűrőt a source 2-es csatornával. A következő fantasztikus programmal a gép billentyűzetén tesztelhetjük csodás hangzásvilágát. Érdemes a billentyűket shift-tel és anélkül is nyomogatni. Elsősorban a hard techno kedvelőinek lehet nagy felüdülés ez. A 110-es sorban a 00 helyett oda lehet írni 8-at, 12-őt és 16-ot is, úgy más lesz a hangzás. Érdekes, hogy itt is előjön, ami alacsony torzításnál, hogy időnként ugyanarra a hangmagasságra nem mindig ugyanazt a hangzást eredményezi. Néha arra emlékeztet, amikor a SAY beszédimitáló programban valami beszédhangot próbál "kiejteni" a gép. Ha beszédet akarunk utánozni az EP-vel egyszerűen, akkor ebbe az irányba kellene elindulni.
* low pass filter buherator.ep128s (42.13 kB - downloaded 33 times.)
Meg lehet adni még a source 2-es csatornán (órajelcsatorna) torzítást is, és a zajcsatorna azt fogja felhasználni, megint más lesz a hangzás. Sőt, gyűrűmodulációval is meg lehet kínálni a 2-es csatornát (a 0-ás csatornát is feláldozva), vagy torzítással és gyűrűmodulációval is egyszerre, az megint más hangzást eredményez. Hogy mennyire jó hangzást, az már más kérdés. :D
100 SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
110 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
120 SOUND PITCH 25,SYNC 2
Videos

Offline Tomato77

  • EP user
  • *
  • Posts: 250
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 80.0.3987.149 Chrome 80.0.3987.149
    • View Profile
Re: Zeneprogramozás
« Reply #1044 on: 2020.April.02. 20:03:58 »
Érdekes hangokat csinált. :) Source 0-2 között lehet úgy valami másféle hangot előhozni, hogy ne kelljen másik csatornát beáldozni? Style 16 és 32-vel lehet torz gitárszerű hangokat kiadni, de olyanokat nem tudtam csinálni, mint amilyenek a játékokban vannak. Esetleg az envelope-pal lehet játszani, de nem az igazi.

Egy kis szórakozás az alábbi programmal: techno buli a gőzmozdonyon. :)

Code: [Select]
100 CLEAR SOUND
110 FOR I=0 TO 255
120   SOUND SOURCE 3,STYLE I,DURATION 6
130 NEXT
Kotasoft

Online szipucsu

  • EP addict
  • *
  • Posts: 8584
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 74.0 Firefox 74.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Zeneprogramozás
« Reply #1045 on: 2020.April.02. 20:20:30 »
Source 0-2 között lehet úgy valami másféle hangot előhozni, hogy ne kelljen másik csatornát beáldozni?
Hogy csak egyetlen csatornát használjon? Talán ilyesmit, de ez valószínűleg csak Zzzippel fordítva lenne értékelhető, de az meg nem kezeli a törteket, de mégis meg lehet csinálni Zzzippel is, ha érdekel, hogy hogyan, akkor leírom:

100 INPUT PROMPT "PITCH:" A
110 FOR B=1 TO 20
120 SOUND PITCH A,DURATION 1
130 SOUND PITCH A+.3,DURATION 1
140 NEXT
150 RUN

A 130-as sorba lehet .3 helyett más számot is írni, pl. .1, .2, .5 is lehet, vagy 12, vagy 7 például. De lehet olyat is, hogy a 130-as sorba még beírni, hogy STYLE 16/32/48, csak nem biztos, hogy pont olyan lesz a hangmagasság, ami minden értéknél szól. Ha torzítást is beleteszel az egyik sorba, akkor a hangmagasságot is oda kell beállítani, ahol a négyszögjel magassága is van, mert nem azonos a hangmagasság a torzított és a nem torzított hangnál is. Ha fontos, akkor kiszámolom, mennyit kell odaírni. Ja, és még kicsit hangosabb torzítással mint torzítás nélkül a hang általában, tehát a hangerőt is jobb kicsit halkabbra venni akkor.

De lehet pl. ilyet is:
100 INPUT PROMPT "PITCH:" A
120 SOUND PITCH A,DURATION 3,STYLE 16 (v 32 v 48)
130 SOUND PITCH A,DURATION 20
150 RUN
Így torzított hangból indul és utána négyszögjel lesz. Lehet még az utolsó fázisnak is valami halk torzítást betenni. De a torzítás hangmagasságát itt is érdemesebb a négyszögjel magasságához hangolni.

A nemrég TVC-ről átírt Crossfire játékban a behajtani tilos tábla és a lőpor felvételekor van érdekes hang, ha azt is négyszögjellel oldják meg és nem digi hanggal (szerintem az nem digi hang még talán).
100 SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
110 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
120 SOUND PITCH 25,SYNC 2
Videos

Online szipucsu

  • EP addict
  • *
  • Posts: 8584
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 74.0 Firefox 74.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Zeneprogramozás
« Reply #1046 on: 2020.April.02. 20:29:24 »
techno buli a gőzmozdonyon. :)

Code: [Select]
100 CLEAR SOUND
110 FOR I=0 TO 255
120   SOUND SOURCE 3,STYLE I,DURATION 6
130 NEXT
Ez fura, hogy nem ugyanazt a variációt adja végig... Tehát nem teljesen ugyanaz ismétlődik, hanem a hangzás állandóan változik... Ja, már sejtem miért, talán mert közben a szűrők birodalmába ér, a közepétől (128-tól) meg gyűrűmoduláció is van, az órajelcsatorna meg sehol. De akkor is érdekes. 32-től az aluláteresztő, 64-től a felüláteresztő szűrű van bekapcsolva. 128+32-től és 128+64-től meg ugyanígy, csak még gyűrűmoduláció is van, ha egyáltalán lehet a kettőt egyszerre a zajcsatornával.
Még érdekesebb lenne pl. a következő sorral:

125 SOUND PITCH I,DURATION 6,LEFT 0,RIGHT 0 (,STYLE 16/32/48)

Bár nem próbáltam, de tuti ad hozzá valamit
100 SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
110 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
120 SOUND PITCH 25,SYNC 2
Videos

Online szipucsu

  • EP addict
  • *
  • Posts: 8584
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 74.0 Firefox 74.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Zeneprogramozás
« Reply #1047 on: 2020.April.02. 20:31:57 »
Közben találtam a gépemen egy programot, ami véletlenszerű "zenét" generál. A dátum szerint 2017 végéről származik. Valószínűleg én írtam, de már nem emlékszem. Itt a fórumon nem találtam, így most itt van. Ez inkább a trance stílus rajongóinak való. Ha túl sokáig zenél, le kell stoppolni és újraindítani. Minden indítás után más lesz a dallam:
* randmus.ep128s (42.82 kB - downloaded 33 times.)
A generált dallamokat még el is lehetne képzelni valami trance zeneszámban, némi tuctuc kísérettel és dinamikus szűrőkkel.
100 SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
110 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
120 SOUND PITCH 25,SYNC 2
Videos

Offline Tomato77

  • EP user
  • *
  • Posts: 250
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 80.0.3987.149 Chrome 80.0.3987.149
    • View Profile
Re: Zeneprogramozás
« Reply #1048 on: 2020.April.02. 22:26:53 »
Köszi! Kipróbáltam, egész érdekes hangzása volt. Arra gondoltam, hogy ciklus helyett envelope-pal oldom meg, valahogy így:

103 ENVELOPE NUMBER 3;0,63,63,1;.5,-10,0,2;-.5,-5,-5,2;.5,-5,-5,2;-.5,-5,-5,2;.5,-5,-5,2;-.5,-5,-5,2;.5,-5,-5,2;-.5,-5,-5,2;.5,-30,-40,20

De nem ugyanaz lett az eredmény, mert olyankor hajlítja a hangot, nem pedig két különböző hangmagasságot váltogat, de amúgy nem lett rossz a hangzás. De úgy látom, hogy az igazán érdekes hangzásokhoz két csatorna kell szóljon szinkronizálva.

Basicben csak próbálgatom a zenét, majd C-ben szeretném lejátszani. A tört számokkal sincs gond, mert a SOUND: eszközre küldött értékeket fogom eltárolni, oda pedig egész bájtok mennek.
Kotasoft

Online szipucsu

  • EP addict
  • *
  • Posts: 8584
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 74.0 Firefox 74.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Zeneprogramozás
« Reply #1049 on: 2020.April.02. 22:45:32 »
De nem ugyanaz lett az eredmény, mert olyankor hajlítja a hangot, nem pedig két különböző hangmagasságot váltogat
Meg lehet úgy is csinálni, hogy ne hajlítsa a hangot, hanem előbb hallgasson el a hang 0 hangerőre, utána változtassa a hangmagasságot, a következő fázisban szóljon újra. Csak ehhez sok fázis kell. Nulla nem is lehet a fázis hossza (a midinél lehet), legalábbis az envelope numberen belül nem. Talán C-ben meg lehet csinálni.

Amúgy a következővel kísérleteztem, így egy csatornán is viszonylag érdekesebb hangzást lehet elérni, de a sebesség miatt ezt is inkább C-ből lehetne. Azért is van benne a 0 hangerejű hosszú hang, hogy amíg az szól, addig össze tudja kapni magát a gép és ne szaggatva játssza le azt, ami a cikluson belül van:
* one channel sounding.ep128s (63.39 kB - downloaded 42 times.)
Még a 120-as sorban lehet más számokat is megadni 12 helyett, pl. 7-et vagy akár 0-át (12 egy oktávval magasabb, 7 egy kvinttel magasabb, 0 ugyanaz a hang), és utána a zárójelben lévő műveletet is lehet máshogy összehozni.
100 SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
110 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
120 SOUND PITCH 25,SYNC 2
Videos