Yli 7-bittisiä MIDI controller viestejä...?
Yks ongelma on kiusannut mua viime aikoina.
Miettikää kahta seuraavaa sovellusta:
- haluat ohjata MIDI-controllerin slidereilla DJ-ohjelman pitchiä
- haluat ohjata MIDI-controllerin slidereilla tai potikoilla jotain VST-syntikan filtterin cut-offia
- melkein mikä tahansa midi-kontrolleri taitaa olla 7-bittinen eli n. 128-portainen. Jos +-10% pitchin mäppää 128 portaaseen, niin on aika selkeää, ettei tarkka pitchin säätäminen ole mahdollista, eli resoluution pitäisi olla huomattavasti suurempi, vähintään 16-bit
- sama homma, jos hienosäätää filtterin cut-offia tietyllä taajuusalueella, niin portaat saattaa kuulla, eli tosi hienot cutoff-liikkeet ei ole mahdollisia (esim. eka tekee tosi pientä liikettä, sit vetää yhtäkkiä cut-offin aivan ylös).
Tämän ongelman ydinhän lienee se, että normaali midi-standardi tukee vain 7-bittisiä kontroller viestejä (poikkeuksena pitch-bend, joka on kai 16-bit) ?
Eli jos haluan kauko-ohjata DJ-ohjelman pitchiä (ilman Seraton ja vastaavien aikakoodisysteemiä), niin onko olemassa mitään "epästandardia" kontrolleria, jolla tämä olisi mahdollista, tai mitään muuta kikkaa (käytetään samanaikaisesti 2-3 kontrolleria tms..) ?
Vaikea vaan uskoa, että tälle ongelmalle ei vieläkään olisi tehty yhtään mitään, mun mielestä 16 tai 24-bittisen ohjauksen sovellukset ovat niin selkeitä (sama homma, jos vaikka MIDI:llä ohjataan valo-ohjausohjelmaa, ja yksi slideri on mäpätty moving headin keilan kulmaan, niin esim. 270 astetta (moving headin liikkumavara vaakasuunnassa..?) jaettuna 128 osaan ei mahdollista kovin tarkkaa hienosäätöä.
Aika mielenkiintonen juttu kyl, en oo kyl ite ikinä ees ajatellu.
Tosin ihmetellyt kyllä välillä kun rautasynat ei pysy ihan biitissään kun puskee piuhan täydeltä 1/32 nuottia ja kontrolleria.
En tiedä kuinka lähelle tää liippaa aihetta mutta jos kontrolleri on ohjelmoitavissa niin CC#88 tarjoaa ainakin jotain note on/off ratkaisua jopa 14bittiseen ohjaamiseen.
Tossa sitten vielä astetta diodimpaa läppää aiheesta:
http://www.midi.org/techspecs/ca31.pdf
[q]golem, 17.11.2008 19:49:
Tämän ongelman ydinhän lienee se, että normaali midi-standardi tukee vain 7-bittisiä kontroller viestejä (poikkeuksena pitch-bend, joka on kai 16-bit) ?
[/q]
Eri valmistajilta on tuohon eri nimillä kutsuttuja ratkaisuja rotary controlleille, ideana lähettää +1, -1, +2, -2 (jne.) tyyppisiä relatiivisia viestejä -> http://www.doepfer.de/pd_tec_e.htm
Liuille yms kontrolleille parempaa tarkkuutta ei vielä saa.
Midi manufacturers accociation suunnittelee ainakin tällä hetkellä uutta ns. HD-MIDI formaattia, jonka on luvattu tuovan protocollaan tarkemman resoluution ja nopeamman tiedon siirron. Tiedä sitten koska ko. formaatti tulee kuluttajakäyttöön.
Juu ja onhan se midi 2.0:kin ollu tulossa jo kymmenen vuotta... :)
Sillä välin kun oottelee tulevaisuutta niin kyllähän se normi midikin tukee tarkempaa resoluutiota kun lähettää CCn sijaan NRPNiä.
http://en.wikipedia.org/wiki/NRPN
14-bit = 16 384 pykälää luulis jo riittävän mukavammin.
Ainakin meikäläisen vanha Peavey Studiomix lähettää NRPN viestejä, eli ei mikään uus ja harvinainen juttu. Aika moni sekkari ottaa tuota vastaan, mutta esim ableton liven kanssa joutuu käyttämään pientä softakikkaretta välissä joka kääntää viestit CCksi, eli hyöty häviää. Mut esim Sonarin kanssa juttelee kiltisti heittämällä.
Joo, eli nyt oon aika kauan aikaa käyttäny tähän asiaan perehtymiseen, ja löytäny kolme ratkaisua:
- relatiiviset viestit, joista Apokin mainitsi
- NRPN midi-viestit
- NRPN viesti koostuu tiettyjen midi-kontrollerinumeroitten muodostamasta 6-tavun pituisesta standarviestistä (olikos se nyt kontrollerit 100 ja 101 tms,, sit alemmat controllerit, googlettamalla löytyy)
- jotkut kontrollerit tai synat lähettää luonnostaan NRPN-muodossa kontrollidataa. Kaikki ohjelmat eivät tätä kuitenkaan ilmeisesti ymmärrä, mm. Ableton Live
- 14-bittiset control change viestit
- midi standardi määrittelee varsinaisesti 7-bit CC-viestit, eli 14-bit CC-viesti koostuu kahdesta peräkkäisestä 7-bit CC-viestistä., joiden CC-arvot ovat 32 päästä toisistaan.
Tässä Abletonin manuaalista ote:
Live also supports pitch bend messages and high-precision (14-bit Absolute) controller
messages with a 0...16383 value range. The above specications apply to these as well,
except that the value ranges center is at 8191/8192.
Eli sitten kuuluukin iso kysymys, että minkälaiset kontrollerit kykenevät lähettämään knobien tai sliderien arvot 14-bittisinä NRPN tai CC-viesteinä. Tästä perustin toisen topikin.
Tässä joku artikkeli.
http://www.cycling74.com/forums/index.php?rid=0&S=6595643d3c650e03f5587da32caf4382&t=msg&th=22098