Vienna Symphonic Library Forum
Forum Statistics

188,676 users have contributed to 42,622 threads and 256,576 posts.

In the past 24 hours, we have 4 new thread(s), 29 new post(s) and 42 new user(s).

  • last edited
    last edited

    @William said:

    MIDI of course is a programming language.  But the main controls used within VSL instruments are:

    MIDI IS NOT A PROGRAMMING LANGUAGE, IT IS A PROTOCOL !!!!!!

    A Protocol is a way to define how 2 or more machines are going to talk to each other


  • As a former software developer, I gotta say, with no disrespect intended, the -last- thing VSL needs is to get more 'programmery'.

    If anything, I'd prefer that VSL heads in the direction of being more like a violin... in that it gets fewer and fewer 'options' over time and becomes more -playable-... in real time. ie. it will 'see' the notes and with only one or two controllers figure out your -intention- and then generate the proper performance for you. It's already a long way there, but it certainly can and will go -much- further.

    I foresee a day not too far off when there will be nothing like patches/matrices/keyswitches/xfades... except for people who want to make -un-realistic (obviously electronic) sounds. People will laugh out loud at all the MIDI contortions we had to go through to get a 'realistic' performance. I believe it will take as much skill to 'play' VSL as it does a violin (as it does now) but that skill will have less to do with 'programming' and be more like the skills one uses to play a real violin.

    Today, you use a zillion primitive controllers, switches, presets, etc. to emulate a violin. It just takes patience to build something--like a castle of toothpicks.  Tomorrow: it will be like a violin: only a few interface elements but you'll spend a good while learning to manipulate them expressively. But once you master it? You'll make music---real music--as effortlessly as a good violinist.

    That's -my- dream. Real time expression.

    But hey... you are welcome to your fantasy as I am to mine. :D VSL has made it clear they're fully booked so it's all blue skyin' anyhoo.

    I'm still tryin' to figure out slurs and legato... hint, hint. :D

    ---JC


  • last edited
    last edited

    @William said:

    MIDI of course is a programming language.  But the main controls used within VSL instruments are:

    MIDI IS NOT A PROGRAMMING LANGUAGE, IT IS A PROTOCOL !!!!!!

    A Protocol is a way to define how 2 or more machines are going to talk to each other

    MIDI is obviously a language for musical expressions and for controlling complex sequences  of digital commands  - i.e., programming.  If you want to split hairs  then go ahead. 

    By the way - what do you DO with all your  powerful computer equipment, Cyril? I've never heard any music you do.  I am curious as to what you actually do with all this expertise and equipment of yours besides flame people. 


  • sorry, midi is not a programming language, and that distinction is not splitting hairs. At least not to a programmer :)

  • Hi William,

    You are sinking !

    Note of the author :

    I have simplify the whole thing not to make it too complicated so Willian could understand the difference of a programming language and a protocol.

    VSL SE is wrote in a programming language, the most use at this time C or C ++ but thers is also Java, Algol, Cobol, Basic, RPG II.......

    SE will receive Midi messages from your DAW (Logic Cubase...)

    A programming language will look like this (this is inside SE) ;

    define variables :
         type = 1 bit
         note = 1bit
        velocity = 1bit

    Begin:

    read message from midi else on error wait 1 ms then go to Begin

    MidiChannel = message [1,1]                          ;* I extract the midi channel, the type of message, the value of the note, and the velocity

    type = message [2,1]   

    note = message [3,1]

    velocity = message [4,1]

    If type = CTRL the gosub ctrl                                               ;* if it is not a note I will go to the subroutine that is taking care of controlers

    IF note >= c1  and  <= B1 then do                                    ;* i check if it is not an articulation change

           If note = c1 then

           read staccato sample from file

       else 

           if not is c#1 then read legato sample from file

       end

    else

    .........

    If I simplify the Midi protocol it looks like this ;

    midi01noteA066,midi01noteB044,midi01endnoteA0,midi01endnoteB0,

    Explication :

    on midi channel 1 I send the a0 with velocity = 66, I send B0 with velocity = 44, I send end note of A0, I send end note 0f 0

    So dont speak of things you dont know about !

    If my memory is good Midi is a very bad protocol language because the sender just send and the receiver just receive, it is not possible to say in midi "please resend message xxx I have not understand "

    With protocol like BSC it is much more complicate, it looks like this : 

    beggining of a xx bit message,......(my xx bits)....., end of message, control checksum

    so when the receiver read the message it extract the 64 bit , to the calculation of the checksum, compare with the checksum send by the sender.

    If the difference of the checksums is different than zero it sends a message back to the sender so it sends the block again !!!

    Best

    Cyril

    P.S. I have been programming for 30 years, made a lot of teletransmitions between small and VERY big computer, I have also created a language for talking between host and printers over Postscript


  • Hi William,

    You are sinking !

    Note of the author :

    I have simplify the whole thing not to make it too complicated so Willian could understand the difference of a programming language and a protocol.

    VSL SE is wrote in a programming language, the most use at this time C or C ++ but thers is also Java, Algol, Cobol, Basic, RPG II.......

    SE will receive Midi messages from your DAW (Logic Cubase...)

    A programming language will look like this (this is inside SE) ;

    define variables :
         midichannel = 1bit
         type = 1 bit
         note = 1bit
        velocity = 1bit

    Begin:

    read message from midi else on error wait 1 ms then go to Begin

    MidiChannel = message [1,1]                          ;* I extract the midi channel, the type of message, the value of the note, and the velocity

    type = message [2,1]   

    note = message [3,1]

    velocity = message [4,1]

    If type = CTRL the gosub ctrl                                               ;* if it is not a note I will go to the subroutine that is taking care of controlers

    IF note >= c1  and  <= B1 then do                                    ;* i check if it is not an articulation change

           If note = c1 then

           read staccato sample from file

       else 

           if not is c#1 then read legato sample from file

       end

    else

    .........

    If I simplify the Midi protocol it looks like this ;

    midi01noteA066,midi01noteB044,midi01endnoteA0,midi01endnoteB0,

    Explication :

    on midi channel 1 I send the a0 with velocity = 66, I send B0 with velocity = 44, I send end note of A0, I send end note 0f 0

    So dont speak of things you dont know about !

    If my memory is good Midi is a very bad protocol language because the sender just send and the receiver just receive, it is not possible to say in midi "please resend message xxx I have not understand "

    With protocol like BSC it is much more complicate, it looks like this : 

    beggining of a xx bit message,......(my xx bits)....., end of message, control checksum

    so when the receiver read the message it extract the 64 bit , to the calculation of the checksum, compare with the checksum send by the sender.

    If the difference of the checksums is different than zero it sends a message back to the sender so it sends the block again !!!

    Best

    Cyril

    P.S. I have been programming for 30 years, made a lot of teletransmitions between small and VERY big computer, I have also created a language for talking between host and printers over Postscript


  • .


  • last edited
    last edited

    @pat brooks said:

    sorry, midi is not a programming language, and that distinction is not splitting hairs. At least not to a programmer :)
     

    O.K., I stand corrected. 


  • I had better not post anything more here.  I'll leave it to Cyril and the experts.  What do I know?  I'm only a musician.  I know some scales. 


  • +1

    'Only' a musician? I'd put the skills it takes to make good music right up there with brain surgeon and nuclear physicist. But I sure as heck don't want to  -think- like a scientist. Being creative takes up all the brain space I got.

    So if you could listen to my demo (in the post on slurs) I'd hold ya in even -higher- esteem than I already do. [:D] (Until this forum allows me to send ya an e-drink, flattery's all I got for incentives.)

    ---JC


  • [quote=William]

    One other thing Cyril, that last post of yours is not impressive, it is simply stultifying.  I assume your purpose is to bore people so intensely that they simply give up arguing?  If so, you can congratulate yourself on a job well done. 

    William,

    I have spend a lot of time to write the previous mail to explain to you the difference between a programming language and a protocol so you don't die idiot, and instead of thanking me you are insulting me !!!

    Many thanks !

    Cyril


  •  Cyril,  maybe it is a language thing,  but you do come across rather egotistical, I think that is why you get a hard time sometimes.

     I have a notice up on the wall in  my studio, which many read and reconsider what they are about to say:-

    Those people who think they know everything
    Are annoying to those of us that do.

    [:D]


  • last edited
    last edited

    @andyjh said:

    Those people who think they know everything

    Are annoying to those of us that do.

    I keep my mouth shut on subject I dont know.

    I help only on subject I know.

    A lot of people are saying "thanks" for my help

    I have quite a few people speaking directly to me by mail or by phone, lately I have send a Logic template to help to understand Event edit and IAC !

    I was trying help William to understand !  Too bad ! I have spend my time for nothing !


  • Cyril I thought you were trying to be a smart aleck. I got rid of that post by the way but you put it back on.  Anyway I realize you are correct about the nomenclature.


  • last edited
    last edited

    @William said:

    Cyril I thought you were trying to be a smart aleck. I got rid of that post by the way but you put it back on.  Anyway I realize you are correct about the nomenclature.

    you deleted too late, so it was sent to everybody that have subscribe to this tread


  •  Well you could easily edit that out but you don't want to, which is fine with me.  It is all trivia.