Keresés

Részletes keresés

zbacsko Creative Commons License 2019.03.11 0 1 2349

Alapvetően egyetértenék _kolléga_ kollégával :) Kicsit zavaros ez az egész. Van néhány tisztázandó félreértés is:

Nincs olyan, hogy "trackek amik nincsenek használva a 16-ból vagy 32-ből."

Itt szerintem támadt egy kis zavar az erőben és a track vs. channel probléma újra felütötte a fejét.

Erről korábban írtam itt:

http://forum.index.hu/Article/viewArticle?a=149253713&t=9000363 

Type 1/2 midi fájlok esetében a lehetséges track-ek (sávok) száma 65536 (16-bites érték tárolja).

DE ez nem jelenti, hogy a nem használt track-eknek lenne valamiféle foglalt helye. Nincs értelme azt mondani hogy "ez a midi fájl csak 2 track-et használ a 65536-ból" mintha akkor maradna  65534 üres track.

Annyit lehet biztosan mondani, hogy Type 0 midi fájlok esetében csak 1 track van, ehhez nem kell tovább szkennelni a fájlt.

Midi fájlok esetében a tartalom teljes szkennelése nélkül nem lehet megmondani, hogy egy track tartalmaz-e "zenei tartalmat".

Egyébként meg adódik a kérdés, hogy mi az a "zenei tartalom"? Csak a Note On/Off event-ek ?

Pl. ha egy Type 1 midi fájl esetében egy track csak Controller event-eket (hangerő, balansz stb.) tartalmaz, de ugyanarra a csatornára vonatkozóan, mint egy másik track ahol viszont a Note On/Off event-ek vannak, akkor a track tartalma minek számít?

Szerintem ez nem lett átgondolva. Maga a kérdés olyan homályos fogalmakkal dolgozik, ami alapján nem nagyon lehet egyértelmű válaszokat adni.

djuice Creative Commons License 2019.03.11 0 0 2348

Igen, a 0 és 1 SMF formátumra én is gondoltam, de pont azért kérdezem mert nem tudom, hogy mondjuk olyan trackek amik nincsenek használva a 16-ból vagy 32-ből, hogyan vannak vajon nyilvántartva, merthogy voltak régen olyan szekvencerek is, amik 8 sávosak voltak, pl, Roland MC50. Illetve van-e olyan adat amiből egyértelműen kiszűrhető, hogy 1 sáv van használva. (?)

A kottamegjelenítés, meg hogy a Cubase stb. programok szétszedik több sávra, az más, de általában egy szóló zongora darab 1 sávra szokott 1 midi csatornát használva készülni.

Előzmény: Törölt nick (2347)
Törölt nick Creative Commons License 2019.03.11 0 0 2347

ez így nem elég egyértelmű, tekintve, hogy a type 0 formátumban csak egy track van (amit a szekvencer program "szétszed" csatornánként, és a képernyőn már úgy jelenik meg), szóval minden az első sávon van - persze lehet azt mondani, hogy csak az 1 db csatornát (1-16) használó MIDI-k érdekelnek ebből a típusból

 

a másik oldalról (type 1 formátumnál, ahol sávok is vannak definiálva) egy zongora kotta általában két sávon (és esetleg 2 külön csatornán, de persze ugyanazon is lehet) van kezelve, külön a bal/jobb kéznek - itt meg mindkét 2 sáv kellene - vélhetően ez is megfogható a közös csatornával (ha épp ugyanarra a csatornára megy a 2 sáv)

 

szóval már a szűrés előtt is több lehetőség van - persze nem mondom, hogy nem megoldható, majd Zoltán :)

Előzmény: djuice (2346)
djuice Creative Commons License 2019.03.11 0 0 2346

Na, újabb kérdés:

Totalcommanderben már vizsgálódtunk Kollégával a sysexet tartalmazó fájlok felől régebben...

Most arra keresnék ötletet, hogy milyen adat alapján lehetne azt esetleg leszűrni több száz midi közzül, ahol mindössze 1 tracken van felvett zenei tartalom (pl. szóló zongora darabok esetén)?

Köszi!

djuice Creative Commons License 2019.03.11 0 0 2345

Ez a Chris Midi azóta jól lehúzta a redőnyt! :)

Előzmény: zbacsko (2344)
zbacsko Creative Commons License 2019.03.11 0 1 2344

Úgy tűnik, hogy PHP az oldalon csak a szöveges meta event-ek jelennek meg, pl. tempo change, time/key signature nem:

 

Ha egyéb meta event-ekre is kíváncsi vagy használhatod a Midiplayer beépített Event Viewer/Debugger funkcióját. Ha a Filters menüben az "All Non-Channel Events" -t jelölöd ki akkor csak a meta és SysEx event-ek jelennek meg:

 

 

 

 

 

djuice Creative Commons License 2019.03.11 0 0 2343

Érdekességként

Van egy német srác, PHP-ben írkál ilyeneket: 

 

http://valentin.dasdeck.com/php/midi/

zbacsko Creative Commons License 2019.03.10 0 0 2342

Nem, csak épp Pascal kódból másoltam, ott ez a hexa számok szintaxisa.

Meta event-ek esetében a státusz bájt mindig 0xFF és a második bájt adja meg a meta event típusát.  Az alábbi listákban a hexa számok erre a második "meta event típus" bájtra utalnak.

djuice Creative Commons License 2019.03.10 0 0 2341

A $.. kódok memóriacím hívások?

Előzmény: zbacsko (2338)
djuice Creative Commons License 2019.03.10 0 0 2340

"Szóval amelyik szinti képes Lyrics/Text információk megjelenítésére az valamennyire képes meta event-eket kezelni."

 

Van pl. 2 szinti: Yamaha PSR9000 Pro és Roland G70.

Mindkettő tudja a lyricset, a markert csak a Roland. A Yamaha event listben képes meta adatokat megjeleníteni, de csak hexa kódokban és a képernyő széléig, de a song elején kijelzi a © adatot is. A Roland meg semmit sehol a metákból, max. a sysexeket.

Ahány cucc ezek szerint, annyi koncepció.

Előzmény: zbacsko (2338)
zbacsko Creative Commons License 2019.03.10 0 0 2339

Javítás:

A leggyakoribb "egyéb szöveges" meta event a jelenleg az exportnál használt Track/Sequence name meta event.

(pl. a metaTempoChange és metaTimeSig gyakoribb)

Kiegészítés:

A metaText és metaLyric egyaránt használatos dalszövegek megjelenítésére.

 

 

zbacsko Creative Commons License 2019.03.10 0 1 2338

Nem szőrszálhasogatásból, hanem csak hogy egyértelmű legyen a Text és Lyrics event-ek is meta event-ek. Szóval amelyik szinti képes Lyrics/Text információk megjelenítésére az valamennyire képes meta event-eket kezelni. A leggyakoribb "egyéb" meta event a jelenleg az exportnál használt Track/Sequence name meta event. Ha a szinyó ezt már nem képes sehogy sem megjeleníteni, akkor kicsi az esély, hogy egyéb meta event-eket tudna.   Egyébként ezek az általam ismert meta event-ek:

 

  •   metaSeqno        = $00;
  •   metaText        = $01;
  •   metaCopyright        = $02;
  •   metaTrackName        = $03;
  •   metaInstrumentName    = $04;
  •   metaLyric        = $05;
  •   metaMarker        = $06;
  •   metaCuePoint        = $07;
  •   metaProgramName        = $08;
  •   metaDeviceName        = $09;
  •   metaMiscText2        = $0a;
  •   metaMiscText3        = $0b;
  •   metaMiscText4        = $0c;
  •   metaMiscText5        = $0d;
  •   metaMiscText6        = $0e;
  •   metaMiscText7        = $0f;
  •   metaChannelPref    = $20;
  •   metaMIDIPort      = $21;
  •   metaTrackEnd        = $2f;
  •   metaTempoChange    = $51;
  •   metaSMPTE        = $54;
  •   metaTimeSig        = $58;
  •   metaKeySig        = $59;
  •   metaSequencer        = $7f;

 

 

Közülük pedig ezek úgymond  variable length/ szabad szöveges meta event-ek:

  

  •   metaText        = $01;
  •   metaCopyright        = $02;
  •   metaTrackName        = $03;
  •   metaInstrumentName    = $04;
  •   metaLyric        = $05;
  •   metaMarker        = $06;
  •   metaCuePoint        = $07;
  •   metaProgramName        = $08;
  •   metaDeviceName        = $09;
  •   metaMiscText2        = $0a;
  •   metaMiscText3        = $0b;
  •   metaMiscText4        = $0c;
  •   metaMiscText5        = $0d;
  •   metaMiscText6        = $0e;
  •   metaMiscText7        = $0f;
djuice Creative Commons License 2019.03.10 0 0 2337

jav.: ilyen lehetőségek helyett milyen lehetőségek...

Bocs! :)

Előzmény: djuice (2336)
djuice Creative Commons License 2019.03.10 0 0 2336

Egy ismerősömnél próbálgattuk a progidat és azt kérdeznénk, hogy mivel nem minden szinti képes meta információkat megjeleníteni a midi fájlokból és szerinte a lyricsben meg nem lehetne másik lehetőségként ezt a fájlútvonalat tárolni a "per" jelek miatt, mert az soremelést okoz ott, hogy ilyen lehetőségek volnának adottak még? (Persze ez csak elméleti kérdés, mert annyira a hangszeren nem kell ezt látni, hisz úgy is pc-n dolgozik a fájlokkal az ember válogatás szinten...)

Előzmény: zbacsko (2335)
zbacsko Creative Commons License 2019.03.10 0 1 2335

A lyrics ablak betűmérete automatikusan változik az ablak méretétől függően. Amikor a betűtípus választót megnyitod akkor a dilaógusablak csak megmutatja az aktuális betűméretet. Próbáld meg átméretezni az ablakot, vagy maximalizáld és ezután nyisd meg újra a betűtípus választót. Látni fogod, hogy a méret megváltozott.

djuice Creative Commons License 2019.03.09 0 0 2334

Kérdés:

- a lyrics ablakban miért csak 8-as betűmérete lehet a szövegnek? (Georgia típussal mondjuk jónak tűnik)

djuice Creative Commons License 2019.03.09 0 0 2333

Köszönet így is! Csak 5let volt... :)

(szűrésre én jól tudom pl. a telóm media lejatszójában használni, hogy csak pl. az igazán tetsző ***** zenéket akarom hallani, meg ilyesmi, kb erre találhatták ki)

Előzmény: zbacsko (2331)
zbacsko Creative Commons License 2019.03.08 0 1 2332

Persze. Fent van már a kiexportált fájlok számát jelző verzió a szokott letöltési helyen.

zbacsko Creative Commons License 2019.03.08 0 0 2331

Bizonyára, de mivel én magam soha nem használtam ezt a pontozósdit semmilyen programban (és soha nem is értettem meg teljesen mi értelme van) elég nehéz lesz rávenni magamat az implementálására :) . Szóval nem akarlak hitegetni, a közeljövőben nem sok esélyt látok rá...

djuice Creative Commons License 2019.03.08 0 0 2330

+1

tudná számolni a kiexportált fájlokat? :)

 

djuice Creative Commons License 2019.03.08 0 0 2329

Az az ötletem támadt még, hogy a zenelejátszókhoz hasonlóan ezt az 5 csillagig pontozást a kedvenc zenék okán meglehetne-e valósítani?

Előzmény: zbacsko (2328)
zbacsko Creative Commons License 2019.03.08 0 1 2328

Szívesen :)

Kiegészítettem még a rutint hibakezeléssel és raktam bele valamiféle minimális vizuális visszajelzést is a folyamatról, a letöltés helye ugyanaz.

Ha a későbbiekben egyéb kérés/ötlet felbukkan általában itt megtalálható vagyok (és kapok is visszajelzést új post esetén):

https://www.vogons.org/viewtopic.php?f=24&t=48207

 

 

djuice Creative Commons License 2019.03.08 0 0 2327

Hát ez extra number one! Nem is reméltem hogy... Már nézegettem pythonban épp hogy mit kéne összetákolnom mindehhez előzetes hozzáértés nélkül. Nem igen jött volna ilyen össze! :)

Hálás köszönet!!! ;)

Előzmény: zbacsko (2324)
Törölt nick Creative Commons License 2019.03.08 0 0 2326

szuper, igazi 2 in 1, köszönjük, kipróbálom én is

Előzmény: zbacsko (2325)
zbacsko Creative Commons License 2019.03.08 0 0 2325

Ja, még egy fontos info:

Jó ha a célkönyvtár üres, mivel a program soha nem ír felül meglévő fájlt az export során. Ha meglévő fájllal találkozik akkor az újat sorszámozza. Tehát pl. a második index.mid -> index (2).mid lesz. Így biztosítva van, hogy export során a különböző forrás könyvtárakból származó azonos nevű fájlok nem írják felül egymást.

zbacsko Creative Commons License 2019.03.08 0 1 2324

Valami azt súgta nézzek már be ide, és tessék :)

 

Ezt kéne kipróbálnod:

http://falcosoft.hu/midiplayer_57_exporttest.zip

(csak az exe van benne!)

 

Nem gondolom, hogy a midiplayer a legjobb eszköz ilyen feladatokhoz, úgyhogy még nem is döntöttem el, hogy szeretném-e látni ezt a funkciót a végleges verzióban. De mivel a keretek adottak a programban a feladathoz, a midiplayer-t használtam "template" -ként.

A rekurzív könyvtár feldolgozás már eleve adott volt, szóval annyi a dolgod, hogy rádobod a legfelsőbb szintű könyvtárt amiben a fájljaid vannak a Playlist felületre.

Ezután jelöld ki az exportálandó fájlokat Ctrl vagy Shift +bal egér click segítségével. Ha mindet ki akarod jelölni akkor jelöld ki az elsőt, majd görgesd le a végéig a playlist-et, majd shift+bal egér click az utolsó fájlon. Azért raktam bele a kijelölős dolgot, hogy ha akarsz akkor szegmensenként is tudj exportálni több különböző könyvtárba, nem kell feltétlenül mindent fájlt ömlesztve ugyanabba a könyvtárba rakni.  

Ezután jobb egér click a playlist ablakán és  "Export Selected Files to Folder" kiválaszt. Kapsz egy könyvtár választó ablakot ahol új könyvtárat is létre tudsz hozni (főleg szegmensenkénti exportnál lehet hasznos).

A program az export során beszúr egy új meta TrackName event-et az 1. track-be az eredeti útvonallal és fájlnévvel "Original: xxxx' formában. Fontos, hogy a player sok formátumot ismer (mid, xmi, mus, mds, rmi, kar) de csak .mid -et tud menteni, szóval mid -től eltérő formátumok esetében az export egyben konverziót is jelent (ugyanazt a memória képet menti amivel a player dolgozik lejátszás közben). Szintén fontos lehet, hogy ez a 32-bites verzió, amely a Win9x kompatibilitás miatt nem támogatja a Unicode -ot.

Tehát csak olyan ékezetes fájlnevek működnek, amelyet a Windows aktuális  codepage-e (system locale) támogat. Tehát pl. magyar Windowson, (vagy olyan angol Windowson ahol a system loacale Hungarian-ra van állítva) a magyar ékezetes karaktereket. Egyébként a program megpróbálja a 8.3 formátumot használni, ez FAT32 esetében mindig adott de pl NTFS-en ki lehet kapcsolni. Bővebb info:

https://www.vogons.org/viewtopic.php?f=24&t=48207&p=573541&hilit=NTFS#p573541

 

A 64-bites Midiplayer már támogatja a Unicode-ot (mivel nincs 64-bites Win9x), de abba még nem raktam be ezt a funkciót.

 

djuice Creative Commons License 2019.03.06 0 0 2323

Bacskó bácsi biztos tudna rá írni vmit, de nem igen jár ő már erre. :(

djuice Creative Commons License 2019.03.06 0 0 2322

A gnmidit próbáltam volna mint demo, de az antivírusom egyből kidobta. A midicat jó, de nem tud batch feldolgozást. :(

Előzmény: Törölt nick (2321)
Törölt nick Creative Commons License 2019.03.05 0 0 2321

én sem találtam, eltűntek az internetről a jó kis DOS-os programok :), pedig volt ilyen

ezeket nézted? 

https://www.menemszol.hu/topic/2069-midi-fájl-kezelő-program/

http://gnmidi.com - ennek voltak az ingyenes utiljai (midcopyr pld., amivel a copyright ba lehetett írni) csak eltüntette őket - esetleg gyanús kínai oldalakon megtalálhatók?

Előzmény: djuice (2320)
djuice Creative Commons License 2019.03.04 0 0 2320

Total commanderre is jó lenne ilyen plugin, de csak mp3-ra találtam tag editort.

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!