Welcome, Guest. Please login or register.


Author Topic: MIDI (Read 46221 times)

Online geco

  • EP addict
  • *
  • Posts: 5084
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 52.0 Firefox 52.0
    • View Profile
Re:MIDI
« Reply #15 on: 2017.August.03. 10:52:36 »
Tegnap már feltöltöttem egy MIDI-s verziót példa programmal, de nem töltötte le senki. Bár file konvertáláshoz egyébként sem lenne szükség ilyesmire, amint említettem, először a C64 és CPC programok között lenne érdemes keresni, könnyen lehetséges, hogy ezekre a gépekre már írtak jó minőségű konvertáló programot, aminél nehéz lenne jobbat készíteni.
Honnan tölthető le, nem találom.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4753
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 52.0 Firefox 52.0
    • View Profile
Re:MIDI
« Reply #16 on: 2017.August.03. 10:58:12 »
A chip ami a lelke a dolognak: MC6850P ACIA "Asynchronous Common Interface Adapter", ugyan ez van az Atari ST-ben is felhasználva a MIDI-hez. Gondolom ez van berakva memóriába ágyazott I/O-val.

Valóban memóriába ágyazott I/O-nak tűnik. :( A 07-es szegmens végén (BFF8-BFF9, de úgy látom, ez csak kimenet), de talán az F8-on is van, mert a program végtelen ciklusban próbál olvasni valamit onnan amíg érvényes byte jelenik meg. Szerk.: lehet, hogy nem jól értettem az egészet, és a ROM a MIDI kártyát valójában csak lejátszásra használja, nem felvételre. :)

Honnan tölthető le, nem találom.

* ep128emu_midi.7z (1465.68 kB - downloaded 73 times.)
* keyboard.com (1.27 kB - downloaded 76 times.)
* keyboard.s (8.94 kB - downloaded 65 times.)
« Last Edit: 2017.August.03. 13:07:17 by IstvanV »

Online gflorez

  • EP addict
  • *
  • Posts: 2372
  • Country: es
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 54.0 Firefox 54.0
    • View Profile
Re:MIDI
« Reply #17 on: 2017.August.03. 11:19:23 »
Láttam ezeket a links, de aztán eltűntek.

Offline endi

  • EP addict
  • *
  • Posts: 6754
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 59.0.3071.115 Chrome 59.0.3071.115
    • View Profile
    • Honlapom
Re:MIDI
« Reply #18 on: 2017.August.03. 17:35:24 »
fájlból is ha tudna .mid-et olvasni tök jó lenne!
és akkor basic-ból lehetne paraméterezni a hangzást meg mindent, kíirni esc szekvenciákba, máris lenne egy jó midi konverterünk.
A diplomás magyar programozó megcsinált egy pacmant egy év alatt, majd lefikázta a világ legjobb játékait. :D

Offline endi

  • EP addict
  • *
  • Posts: 6754
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 59.0.3071.115 Chrome 59.0.3071.115
    • View Profile
    • Honlapom
Re:MIDI
« Reply #19 on: 2017.August.04. 17:08:09 »
amúgy ennek a midis dolognak jó lenne egy másik topik, mert elég jó téma.

a midiben amúgy hogy van az időzítés? emlékszem, mintha programoztam volna midis dolgot, tök jó kis egyszerű nyelve van, de nem ugrik be hogy hogyan van az időzítés benne.

ja és az exos sound tud olyat hogy az envelope-ban megadható RELEASE, ami a midi billentyű elengedésnek feleltethető meg

várom már hogy fájból tudjunk basicben midit olvasni :)
A diplomás magyar programozó megcsinált egy pacmant egy év alatt, majd lefikázta a világ legjobb játékait. :D

Offline IstvanV

  • EP addict
  • *
  • Posts: 4753
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 52.0 Firefox 52.0
    • View Profile
Re:MIDI
« Reply #20 on: 2017.August.04. 17:33:43 »
a midiben amúgy hogy van az időzítés? emlékszem, mintha programoztam volna midis dolgot, tök jó kis egyszerű nyelve van, de nem ugrik be hogy hogyan van az időzítés benne.

A MIDI alapvetően esemény alapú, ezek az egyszerűbb (csatorna) események lehetségesek:

8xh y z = Note Off = billentyű elengedése (y = magasság, z = sebesség, az utóbbi gyakran figyelmen kívül hagyható), X mindenhol a csatorna száma, a paraméterek 7 bitesek
9xh y z = Note On = billentyű leütése (y = magasság (69 = 440 Hz, a BASIC-hez képest +23), z = erősség, a z = 0 valójában Note Off)
Axh y z = Polyphonic Pressure = billentyű Y lenyomva tartásának az erőssége (Z), ezt az olcsóbb billentyűzetek általában nem támogatják
Bxh y z = Control Change = vezérlő (hangerő stb.) Y változása Z értékre
Cxh y = Program Change = program (hangszer) Y választása
Dxh y = Channel Pressure = az összes billentyű lenyomva tartásának az átlagos erőssége a csatornán
Exh y z = Pitch Bend = hajlítás, 0 és 16383 közötti 14 bites érték (y = alsó 7 bit, ami valójában gyakran 0), 8192 esetén nincs hajlítás, a "szabványos" tartomány alapértelmezés szerint +/- 2 félhang

Valós idejű bemenetnél ezeket a legrövidebb késéssel fel kell dolgozni, a PC-s API-k adnak információt a késés mértékéről is a pontos időzítéshez. A MIDI file formátum az események közötti időt tárolja.

Quote
ja és az exos sound tud olyat hogy az envelope-ban megadható RELEASE, ami a midi billentyű elengedésnek feleltethető meg

Az EXOS hangkezelőjével az a probléma, hogy a hangjegy időtartamát már az indításakor is ismerni kell, ami valós idejű bemenet (hangszeres játék) esetén nyilvánvalóan nem lehetséges. Illetve a hang paramétereit (magasság stb.) sem lehet az indítása után már módosítani, csak INTERRUPT lehetséges, ami lecsengés nélkül megszakítja.

Quote
várom már hogy fájból tudjunk basicben midit olvasni :)

Az IS-BASIC támogat file műveleteket, tehát elvileg semmi akadálya. :)

Offline endi

  • EP addict
  • *
  • Posts: 6754
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 59.0.3071.115 Chrome 59.0.3071.115
    • View Profile
    • Honlapom
Re:MIDI
« Reply #21 on: 2017.August.04. 17:43:33 »
hát a hang közbeni paraméter megváltoztatás főleg a hajlításra van alkalmazva, amit meg kevés midi zene használ, persze az igényesebbek biztos. de szerintem megleszünk nélküle.

a fájlból lejátszást nem csinálod meg? :)
A diplomás magyar programozó megcsinált egy pacmant egy év alatt, majd lefikázta a világ legjobb játékait. :D

Offline IstvanV

  • EP addict
  • *
  • Posts: 4753
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 52.0 Firefox 52.0
    • View Profile
Re:MIDI
« Reply #22 on: 2017.August.04. 19:08:59 »
a fájlból lejátszást nem csinálod meg? :)

Loopback eszközzel már most is tetszőleges lejátszó (vagy sequencer vagy egyéb program) csatlakoztatható a MIDI bemenethez. Bár a közvetlen file olvasás előnye a pontosabb időzítés. Mindenesetre ha a tömeges file konvertálás a cél, azért szerintem nem éri meg az emulátorba építeni, ezt meg lehet oldani PC-s programmal a SID konvertáláshoz hasonlóan.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4753
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 52.0 Firefox 52.0
    • View Profile
Re:MIDI
« Reply #23 on: 2017.August.05. 10:20:23 »
Érdekelhet, kéne midi lejátszót írni, van egy valagnyi midi zene, csak az a fránya idő, meg másképp idő, ebben a kellemes melegben a gépet sincs kedvem bekapcsolni.

Linuxon a "Midi Through" porton keresztül egyszerűen összeköthető a módosított emulátor bármilyen programmal:

wine ep128emu_midi.exe -no-opengl

18451-0

A port azért jelenik meg két példányban a listán, mert a második a kimenet, de az nem használható. Célszerű a hang és video beállításokat optimalizálni a késés (latency) és időzítési hiba minimalizálása céljából:
- Windowson érdemes az alapértelmezett MME helyett WASAPI audio eszközt használni, ha lehetséges: ez megkerüli a lassú szoftveres keverőt, de kizárólagos hozzáférést igényel a hangkártyához
- a Latency paraméter az alapértelmezett 70-nél lényegesen kisebbre is állítható az operációs rendszertől és audio API-tól (ALSA, MME, WASAPI, stb.) függően. A kisebb alapvetően jobb, legalábbis amíg stabil a lejátszás és nem akadozik a hang
- a CPU-t terhelő vagy várakozást igénylő video módokat (pl. "Resample to monitor refresh rate") érdemes lehet letiltani, bár ezek hatását az időzítésre még nem teszteltem

A bemenet előállítására a legegyszerűbb program talán az "aplaymidi", ami egy parancssoros file lejátszó:

aplaymidi -l

 Port    Client name                      Port name
 14:0    Midi Through                     Midi Through Port-0

aplaymidi -p 14:0 file.mid


Azonban a kezdetleges "keyboard.com" programmal valószínűleg csak egészen egyszerű (egy csatornás) file lejátszása lesz elfogadható.

Offline nyuzga

  • EP addict
  • *
  • Posts: 1954
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 54.0 Firefox 54.0
    • View Profile
Re:MIDI
« Reply #24 on: 2017.August.05. 11:36:37 »
Nálam nincs midi, de a win7 lejátssza a mid fájlokat.

18453-0
« Last Edit: 2017.August.05. 11:42:03 by nyuzga »

Offline endi

  • EP addict
  • *
  • Posts: 6754
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 59.0.3071.115 Chrome 59.0.3071.115
    • View Profile
    • Honlapom
Re: MIDI
« Reply #25 on: 2017.August.05. 12:27:58 »
megpróbálom majd istván basic port olvasó programját átalakítani hogy .mid fájlt tudjon olvasni és átalakítani exos zenévé
A diplomás magyar programozó megcsinált egy pacmant egy év alatt, majd lefikázta a világ legjobb játékait. :D

Online gflorez

  • EP addict
  • *
  • Posts: 2372
  • Country: es
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 54.0 Firefox 54.0
    • View Profile
Re: MIDI
« Reply #26 on: 2017.August.05. 12:47:18 »
Kérlek Istvan, készíthetsz egy Win32-t az emulátor Midi változatából?

Ünnepnapokon vagyok, és az egyetlen PC-je Win7 32bits.

Kösz.

---------------------------------------------

Please Istvan, can you put a Win32 build of that Midi version of the emulator?

I am on holidays and my only PC is a Win7 32bits.

Thanks.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4753
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 52.0 Firefox 52.0
    • View Profile
Re: MIDI
« Reply #27 on: 2017.August.05. 12:57:14 »
32-bit version (the Win64 package can be found here):
* ep128emu_midi_32.7z (1456.99 kB - downloaded 55 times.)

Offline endi

  • EP addict
  • *
  • Posts: 6754
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 59.0.3071.115 Chrome 59.0.3071.115
    • View Profile
    • Honlapom
Re: MIDI
« Reply #28 on: 2017.August.05. 13:06:44 »
kicsit lassítanunk kéne... már midi is lesz EP... mi marad így nekünk 30 év múlva? :)
A diplomás magyar programozó megcsinált egy pacmant egy év alatt, majd lefikázta a világ legjobb játékait. :D

Online geco

  • EP addict
  • *
  • Posts: 5084
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 52.0 Firefox 52.0
    • View Profile
Re: MIDI
« Reply #29 on: 2017.August.05. 13:10:17 »
Error opening Portmidi device-t kapok, win7 alatt (bármelyik midit választom ki) , valaki tudja mi lehet a baj?