Difference between revisions of "SID-del bővített MIDI"
(→Az ENVELOPE.TXT használata) |
|||
Line 7: | Line 7: | ||
=== Az ENVELOPE.TXT használata === | === Az ENVELOPE.TXT használata === | ||
− | Az envelope.txt felépítése némiképp eltér a korábbi, négyszögjeles midiplay-étől. Ugyanúgy használhatók | + | Az envelope.txt felépítése némiképp eltér a korábbi, négyszögjeles midiplay-étől. Ugyanúgy használhatók a D, L, R, S paraméterek, melyek el is maradhatnak a hangszerdefiníció elejéről. A P paraméter viszont nem használható. Az időtartam után nem kettő, csak egy csatornát kell megadni hangerőnek (mivel a SID nem sztereó). A hajlítás is a megszokott módon adható meg, majd a PWM érték (négyszögjel kitöltési tényező), végül a hullámforma, mely lehet négyszögjel, háromszögjel és fűrészfog rezgés: |
[L|R|S] IDŐTARTAM, HANGERŐ (0..31), HAJLÍTÁS (-4096..4095), PWM (0..255*), HULLÁMFORMA; | [L|R|S] IDŐTARTAM, HANGERŐ (0..31), HAJLÍTÁS (-4096..4095), PWM (0..255*), HULLÁMFORMA; | ||
Line 15: | Line 15: | ||
A hullámforma: | A hullámforma: | ||
− | * 0 háromszögjel | + | * 0: háromszögjel |
− | * 32 fűrészjel | + | * 32: fűrészjel |
− | * 64 négyszögjel | + | * 64: négyszögjel |
− | * 96 zaj | + | * 96: zaj |
− | * 128 hozzáadása engedélyezi a gyűrűmodulációt. | + | * 128: hozzáadása engedélyezi a gyűrűmodulációt. |
+ | |||
+ | Példa: | ||
+ | |||
+ | * 0 { | ||
+ | * 0, 30, 0, 64, 64; | ||
+ | * 50, 0, 0, 0, 64; | ||
+ | * } | ||
+ | |||
+ | A sor végi 64-et azt jelentik, négyszögjel fog szólni. Bár az első fázis hanghossza 0, így ez még nem fog hallatszani, csak a hangerőt állítja be 30-ra, ami a következő fázisban 50 időtartamig le is fog csengeni, mivel a hangerő itt 0, amit a hang a fázis végére elér a 30-ról kiindulva. Az első fázis utolsó előtti száma, a 64 a négyszögjel kitöltési tényezőjét állítja be, ami a hang lecsengése végére fokozatosan átmegy "kitöltetlen" négyszögjelbe. Mindkét fázisban a hangmagasságnak (harmadik szám) 0 van megadva, így a hangmagasság változatlan marad végig. | ||
=== A MIDI vezérlők használata === | === A MIDI vezérlők használata === |
Revision as of 08:55, 25 October 2017
A Midiplay az Enterprise Dave chipjének eredeti négyszögjel generálásával kapcsolatos képességeit használja ki, igen jó hatásfokkal. Ennek továbbfejlesztett változata még több hangzást tesz lehetővé, melynek alapja a SIDBASIC nevű, 2016-2017-ben írt Enterprise program, amely a Commodore 64 hangchip emulációja által C64-es zenéket tud lejátszani, többnyire eredeti, C64-es hangzásban. Ez többek között azt jelenti, hogy a négyszögjel mellett más hullámformájú hangokat is meg tud szólaltatni. Képes továbbá a PWM effektus megvalósítására, azaz a négyszögjel kitöltési tényezőjét is lehet vele állítani.
Az alapok
A SID emulációval bővített MIDIPLAY használatához szükség van az EP128Emu legfrissebb változatára, mely kezeli a MIDI bemenetet. A helyes működéséhez 10 MHz-es konfigurációra van szükség (CPU frequency = 10000000, Sound clock frequency = 1250000), normál sebességnél kilép az EP logóhoz. A burkológörbe frekvencia elvileg 100 Hz-es, a lejátszás pedig 12626 Hz ha az órajelek jól vannak beállítva.
Használatához ugyanarra van szükség, mint a Dave négyszögjelet használó Midiplay-hez, tehát az említett emulátoron kívül egy MIDI portra (pl. loopMidi, ill. Linuxon pl. a Midi Through port), valamint magára a Midiplay program SID emulációval bővített változatára.
Az ENVELOPE.TXT használata
Az envelope.txt felépítése némiképp eltér a korábbi, négyszögjeles midiplay-étől. Ugyanúgy használhatók a D, L, R, S paraméterek, melyek el is maradhatnak a hangszerdefiníció elejéről. A P paraméter viszont nem használható. Az időtartam után nem kettő, csak egy csatornát kell megadni hangerőnek (mivel a SID nem sztereó). A hajlítás is a megszokott módon adható meg, majd a PWM érték (négyszögjel kitöltési tényező), végül a hullámforma, mely lehet négyszögjel, háromszögjel és fűrészfog rezgés:
[L|R|S] IDŐTARTAM, HANGERŐ (0..31), HAJLÍTÁS (-4096..4095), PWM (0..255*), HULLÁMFORMA;
A PWM valójában lehet a 0-255 tartományon kívül is, de csak az alsó 8 bit számít.
A hullámforma:
- 0: háromszögjel
- 32: fűrészjel
- 64: négyszögjel
- 96: zaj
- 128: hozzáadása engedélyezi a gyűrűmodulációt.
Példa:
- 0 {
- 0, 30, 0, 64, 64;
- 50, 0, 0, 0, 64;
- }
A sor végi 64-et azt jelentik, négyszögjel fog szólni. Bár az első fázis hanghossza 0, így ez még nem fog hallatszani, csak a hangerőt állítja be 30-ra, ami a következő fázisban 50 időtartamig le is fog csengeni, mivel a hangerő itt 0, amit a hang a fázis végére elér a 30-ról kiindulva. Az első fázis utolsó előtti száma, a 64 a négyszögjel kitöltési tényezőjét állítja be, ami a hang lecsengése végére fokozatosan átmegy "kitöltetlen" négyszögjelbe. Mindkét fázisban a hangmagasságnak (harmadik szám) 0 van megadva, így a hangmagasság változatlan marad végig.
A MIDI vezérlők használata
- 10-es vezérlő (Pan): nem támogatott
- 74-es vezérlő: négyszögjel kitöltési tényezője, ez a burkológörbével együtt határozza meg a tényleges értéket
- 71, 76: hasonló célú a DAVE-es lejátszóhoz, de itt a 3-5. bitek a hullámformát és a gyűrűmodulációt állítják a SIDBASIC formátumával azonos módon (csak két bittel jobbra léptetve)
- 70, 77: ez is hasonló, de továbbfejlesztve, a harmadik csatorna is osztható (csak két hangra), és több lehetőség van a csatorna foglalás vezérlésére