Welcome, Guest. Please login or register.


Author Topic: MIDI (Read 401737 times)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: MIDI
« Reply #90 on: 2017.August.17. 14:26:06 »
Lehet a teljes MIDI formátum lenne az igazi, akkor midiként is lejátszható lenne, igaz a mérete is nagyobb lenne, vagy arra gondoltál, hogy az ep-re írt midit lebutítani direkt a lejátszóhoz? Ha igen, ez a legszimpatikusabb :)

A file konvertálás már működik, bár lehet, hogy még bugos. Ez az eredeti file:
[ Guests cannot view attachments ]
konvertálva ilyen lett:
[ Guests cannot view attachments ]
A megszakítás frekvenciája állítható konvertáláskor. A formátum hasonló a szabványoshoz, csak fejléc nélkül. Lehetne hatékonyabb is, például az események között 0 időtartamot 1 byte helyett csak 1 biten tárolva.

Módosított midiplay.com változat, amely le tudja játszani a mididata.bin-t:
[ Guests cannot view attachments ]

Offline nyuzga

  • EP addict
  • *
  • Posts: 2280
  • Country: hu
Re: MIDI
« Reply #91 on: 2017.August.17. 16:30:11 »
Módosított midiplay.com változat, amely le tudja játszani a mididata.bin-t:

Szépen szól. :)

Offline nyuzga

  • EP addict
  • *
  • Posts: 2280
  • Country: hu
Re: MIDI
« Reply #92 on: 2017.August.17. 17:15:16 »
3 zene, ami átalakítás nélkül is szépen szól.

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: MIDI
« Reply #93 on: 2017.August.17. 17:25:15 »
konvertálva ilyen lett:
Jól működik!
Hogyan lehet midi fájlt így átkonvertálni?
A Slowlandon kicsit módosítottam, talán végleges verzió:
[ Guests cannot view attachments ]

Az envelope, látom a freeee fedőnevű zenéből van hozzá. Ezt az envelope-t meg lehetne változtatni a következőre? A Slowland-ban egyes (főleg mélyebb) hangok tovább kéne, hogy szóljanak, de mivel rövid az envelope, előbb lecsengenek. Ezért kicsit jó lenne megnyújtani a végét:
ENVELOPE NUMBER 1;0,63,63,3;0,0,0,5;0,-63,0,5;0,60,-63,5;0,-60,60,5;0,57,-60,5;0,-57,57,5;0,55,-57,5;0,-55,55,5;0,50,-55,5;0,-50,10,40;0,0,-10,20
(A freeee-ben ennek nincs jelentősége, mert ott nincsenek túl hosszú hangok.)
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: MIDI
« Reply #94 on: 2017.August.17. 17:31:43 »
Felhasználó által definiálható burkológörbék, ez is még hibás lehet:
[ Guests cannot view attachments ]
[ Guests cannot view attachments ]

Az envelope.txt formátuma talán nagyjából érthető a file alapján, egy "hangszer" definíciója így néz ki:

HANGSZER {
  IDŐTARTAM, BAL, JOBB, HAJLÍTÁS, TORZÍTÁS;
  ...
}


Több hangszer is használhatja ugyanazt a burkológörbét, több számot megadva vesszővel elválasztva. A hangszer száma vagy 0 és 127 közötti a normál csatornákhoz, vagy -1 és -127 közötti a dobokhoz.

Az időtartam (ami video megszakítás egységekben adható meg, 0 esetén a paraméterek változása azonnali) előtt az 'S' karakter azt jelenti, hogy az adott szegmens kezdete "sustain" pozíció, ahonnan a lejátszó csak a billentyű elengedésekor lép tovább. Ennek doboknál nincs értelme.

Az EXOS-tól eltérően a hangerők abszolút értékek 0 és 63 között, azt adják meg, hogy mi lesz az új hangerő a következő szegmens elején, amit lineáris interpolációval ér el. Lehetőség van azonban exponenciális burkológörbék definiálására is, ha a hangerő érték előtt '*' karakter található, akkor a megadott szám / 128-al szorzódik a hangerő minden megszakításnál. Tehát például *96 esetén 0.75 a szorzó, *128-nál nem változik a hangerő, stb. A hajlítás egy -128 és +127 közötti egész, 64 felel meg egy zenei félhangnak. Itt is lineáris interpoláció történik (szerk.: ebben a verzióban ez bugos), és a megadott értéket a következő szegmens elejére éri el. Dobokat nem lehet hajlítani.

A torzítás (STYLE) a többi paraméterrel ellentétben nem interpolálható, hanem az értéke azonnal módosul, erre figyelni kell ha változik a hang közben.

Szóközök, Tab karakterek és új sorok tetszőlegesen használhatók, a program ezeket figyelmen kívül hagyja. '#' karakter esetén a sor további részét megjegyzésnek tekinti és szintén figyelmen kívül hagyja.
« Last Edit: 2017.August.17. 17:44:58 by IstvanV »

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: MIDI
« Reply #95 on: 2017.August.17. 17:33:05 »
Hogyan lehet midi fájlt így átkonvertálni?

A konvertáló programot hamarosan kiadom, illetve készítek valós idejű midiplay verziót a szöveges burkológörbe formátum támogatásával.

Szerk.: a hajlítás és a frekvencia táblázat hibája javítva:
[ Guests cannot view attachments ]
« Last Edit: 2017.August.17. 17:59:53 by IstvanV »

Offline endi

  • EP addict
  • *
  • Posts: 7298
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
    • Honlapom
Re: MIDI
« Reply #96 on: 2017.August.17. 17:41:44 »
A konvertáló programot hamarosan kiadom, illetve készítek valós idejű midiplay verziót a szöveges burkológörbe formátum támogatásával.

8-O
Vigyázat! Szektás vagyok! :)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: MIDI
« Reply #97 on: 2017.August.17. 18:31:42 »
A file konvertáló program, amint említettem, könnyen előfordulhat, hogy még hibás: :oops:
[ Guests cannot view attachments ]

A használata:
midiconv INFILE.MID OUTFILE.BIN [IRQFREQ]

Alapértelmezés szerint az IRQFREQ 50.0363 Hz. Ha a zene tempója 125 vagy 150 BPM, vagy más érték ahol a negyedhangok időtartama 20 ms pontos többszöröse, akkor célszerűbb lehet 50-re állítani.

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: MIDI
« Reply #98 on: 2017.August.17. 20:53:19 »
A file konvertáló program, amint említettem, könnyen előfordulhat, hogy még hibás
Látszólag működik.
[ Guests cannot view attachments ]
[ Guests cannot view attachments ]

UI: Teszek fel snapshotot az egyikről, hogy könnyebb legyen megnyitni. Kicsit félkész még:
[ Guests cannot view attachments ]
« Last Edit: 2017.August.17. 21:02:26 by szipucsu »
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: MIDI
« Reply #99 on: 2017.August.17. 21:22:55 »
durva :)
nyitva az út a tök jó mid zenék konvertálásához
Vigyázat! Szektás vagyok! :)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: MIDI
« Reply #100 on: 2017.August.17. 22:29:30 »
[ Guests cannot view attachments ]

Nem sokat teszteltem, de elvileg ezeket tudja:
- burkológörbe definíciók az envelope.txt alapján (a csomagban található file csak egy példa, a hangszereket még át kell írni ilyen formátumra vagy újakat készíteni, és ez még rossz is, mert a hajlítás tesztelésére használtam :))
- mididata.bin használata ha létezik ilyen file, egyébként valós idejű bemenetre vár a MIDI portról
- néhány EP billentyű használható vezérlésre:
F1: a program újraindítása, újraolvassa az envelope.txt-t és (ha van) a mididata.bin-t
F4: minden hang kikapcsolása, hasznos "beragadt" hang esetén
F6: teljes MIDI reset, a vezérlőket, hajlítást és hangszereket is alaphelyzetbe állítja
F8: kilépés

Szerk.: a frissített és javított envelope.txt file itt található.
« Last Edit: 2017.August.18. 13:04:56 by IstvanV »

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: MIDI
« Reply #101 on: 2017.August.17. 23:13:00 »
Sajnos túl nagy lett a fájl, nem akarta lejátszani, így a végét külön csináltam meg:
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: MIDI
« Reply #102 on: 2017.August.17. 23:15:51 »
Sajnos túl nagy lett a fájl, nem akarta lejátszani, így a végét külön csináltam meg:

mondjuk ezek tök unalmasak, valami érdekesebbet és érdekesebb hangzásút konvertáljatok, érdekes envelope-okkal :)
Vigyázat! Szektás vagyok! :)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: MIDI
« Reply #103 on: 2017.August.18. 10:16:27 »
Sajnos túl nagy lett a fájl, nem akarta lejátszani, így a végét külön csináltam meg:

A maximális file méretet még lehetne növelni, jelenleg ez 16K az envelope.txt és a mididata.bin számára is (ugyanazt a puffert használják, az utóbbi felülírja a szöveges burkológörbe adatot a konvertálása után), és 8K a lefordított bináris burkológörbe adatnak (1 másodperc burkológörbe = 200 byte 50 Hz-es megszakításnál, tehát 40 másodpercnek van hely). Van még ~20K kihasználatlan memória, ebből lehetnének nagyobb pufferek, de valamennyit az esetleges későbbi fejlesztésekre is fenn kell tartani.
« Last Edit: 2017.August.18. 10:21:15 by IstvanV »

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14722
  • Country: hu
    • http://enterprise.iko.hu/
Re: MIDI
« Reply #104 on: 2017.August.18. 10:47:29 »
Sajnos túl nagy lett a fájl, nem akarta lejátszani, így a végét külön csináltam meg:
Szerintem tök jó lett!