[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference napalm::commusic_v1

Title:* * Computer Music, MIDI, and Related Topics * *
Notice:Conference has been write-locked. Use new version.
Moderator:DYPSS1::SCHAFER
Created:Thu Feb 20 1986
Last Modified:Mon Aug 29 1994
Last Successful Update:Fri Jun 06 1997
Number of topics:2852
Total number of notes:33157

972.0. "How Does MIDI Sustain Work?" by JAWS::COTE (BddddttttYEEeeoowww! (C. Hynde)) Mon Oct 05 1987 19:26

    Can someone explain to me how MIDI Sustain works?
    
    My gut feeling was that it just repressed note-offs from being
    sent, but recent noodlin's with the QX tell me that's not the
    whole story.
    
    Tanx
    
    Edd
T.RTitleUserPersonal
Name
DateLines
972.1Doesn't do anything with note on/offs.MAY20::BAILEYSteph BaileyMon Oct 05 1987 20:4229
    Hunh?  Do you mean what happens when you press the sustain pedal
    on a keyboard?
    
    It sends a a ``hold on'' message (control change of control number
    64 to a value of 64).  When you let it go it sends a control change
    of control number 64 to 0.
    
    It don't do nothing with the note ons or offs.  Its just a binary
    switch which the device is supposed to interpret.
    
    Therefore if a sequencer wants to figure out where notes actually
    end, for editing on a per-note basis, they have to make assumptions
    about how a synth interprets the message (like that all notes struck
    will hold until the pedal is released).
    
    As a counter example to the traditional hold-pedal processing,
    the Prophet T-8 and VS have two different release phases on their
    envelopes, one which is used when the note is released and the hold
    pedal is up, and the other one to use when the hold pedal is down.
    
    I have never seen a sequencer which actually tried to figure out
    when a note ended after factoring the hold pedal.  The problem is
    that you can't edit such notes very easily.  Better to just show
    where the hold starts and ends.
    
    I hope this was what you were asking about..........
    
    Steph
    
972.2SALSA::MOELLERMon Oct 05 1987 20:4912
    I've examined the MIDI data stream both with Performer on the MAC
    and the Emax' own 'MIDI Window' function. As far as I know you're
    BOTH right. The only change to the MIDI stream is the insertion
    of a 64/64 controller entry when depressed, and a 64/0 entry when
    released.
    
    As far as what happens within the synth, my impression is that
    note-offs are suppressed, up to the synth's polyphony limit, and
    if more notes are requested then its own 'stealing' algorithm is
    invoked.
    
    karl
972.3SALSA::MOELLERMon Oct 05 1987 20:5413
    I've examined the MIDI data stream both with Performer on the MAC
    and the Emax' own 'MIDI Window' function. As far as I know you're
    BOTH right, just not communicating clearly. The only change to the 
    MIDI stream is the insertion of a 64/64 controller entry when
    depressed, and a 64/0 entry when released. The note-off commands 
    ARE still sent.
    
    As far as what happens within the synth, my impression is that
    the note-offs are ignored, up to the synth's polyphony limit, and
    if more notes are requested then its own 'stealing' algorithm is
    invoked.
    
    karl
972.4JAWS::COTEBddddttttYEEeeoowww! (C. Hynde)Tue Oct 06 1987 10:585
    Of the 2 previous scenarios, it appears the suppressed note-off
    idea is wrong. My DX faithfully sends Note-Offs even when the 
    sustain pedal is depressed.
    
    Edd
972.5... or was the pedal plugged in? ...AKOV68::EATONDThe Mike Mongeon Band: 10/9, HoldenTue Oct 06 1987 11:486
RE < Note 972.4 by JAWS::COTE "BddddttttYEEeeoowww! (C. Hynde)" >

	Not to insult your intelligence, Edd, but have you checked the DX's
controller parameters to be sure that some relavant switch hasn't been toggled?

	Dan
972.6'course it was plugged in...JAWS::COTEBddddttttYEEeeoowww! (C. Hynde)Tue Oct 06 1987 11:5511
    No insult taken.
    
    In case there's any confusion, I'm not having any problems, I'm
    just curious as to *how* it works. All this time I assumed that
    depressing the pedal just supressed note-offs, but when I had the
    monitor on, there they were! Just like always. Which got me to
    thinking....
    
    Just an FMI type question. Can be FYI too.
    
    Edd
972.7I remember asking this ...AKOV68::EATONDThe Mike Mongeon Band: 10/9, HoldenTue Oct 06 1987 12:368
	It's definately a control change accross the interface.  When I got
the CZ101 and tried controlling it from a juno, the first big dissapointment
I had was that it (the CZ) wouldn't accept sustain hold from the pedal; only 
sustain via holding down the keys.  Looking on various MIDI implementation 
charts I found MIDI sustain under the Control Change section.  Needless to say, 
it was ommitted on the CZ's chart.

	Dan
972.8An analogyDYO780::SCHAFERDragons is *so* stupid ...Tue Oct 06 1987 14:0916
   MIDI SUSTAIN (like any other MIDI command) is interpreted on a per
   instrument basis, and processed accordingly.  Kinda like a FORTRAN
   READ statement - it may look the same in FORTRAN, but the machine code
   varies by processor. 

   As for the SUSTAIN command, it simply tells a synth to "act like
   someone pressed your sustain pedal".  The reason this command does NOT
   work on the CZ (or on pre MIDI synths that have MIDI retrofits) is
   because the synth's processor (which is used to process MIDI protocol)
   does not process its internal SUSTAIN command.  In the case of the
   OB-Xa, sustain is a seperate circuit.

   There are probably as many different ways to directly answer your
   question as there are synth manufacturers, Edd. 

8^)
972.9how bout master volume?JON::ROSSMicro-11: The VAX RISCTue Oct 06 1987 16:0812
    look, the kbd HAS to also send note offs, because it 
    could be a master controller to >1 synth. 
    
    The sustain messages (on, off) are distinctly separate
    from note on/offs, and why not?

    no problem. if your synth doesnt handle it. If the kbd
    suppressed note offs, you could get stuck note ons on
    a synth that had sustain disabled or such....
    
    fun.
    
972.10Voicing/MIDI Implentation ProblemsSSDEVO::WESTBROOKFri Oct 09 1987 18:2036
       Jim Cooper once hinted at making a box which would take your MIDI
       keyboard control input as well as a footswitch input.  It would
       then supress the Note-Off events whenever the pedal was pressed,
       sending them when the pedal was released. However, he never
       released it because of problems with the way different synths
       assign/deassign voices. 

       For example, suppose a four-voice box (e.g. Poly-800) was slaved
       to this controller (you'd have to use a separate keyboard
       controller unless your synth supported local on/off) and you
       pressed the pedal and played a bunch of notes.  Then you released
       the pedal.  A bunch of note-off events would be sent.  However,
       some synths would hang notes, because whenever they receive
       note-off events for non-sounding notes, they get confused.

       I encountered problems like this when designing the operating
       code for Lync's LN-1 strap-on controller.  We wanted to make sure
       it wouldn't crash anybody's synths, no matter what the voice
       capability or voice-stealing algorithm.  Seems they all handled
       it a little bit differently, and many completely ignored
       commandments from the MIDI spec (does all-notes-off ring a
       bell?).

       Even Yamaha was bad about this.  The old TX816 modules would hang
       a note if too many note-on events arrived.  Then, even after the
       notes stopped sounding, the next time a note-on/off sequence
       arrived for the same note, the note would hang again. They seem
       to have fixed this in the later modules, though (especially in
       the TX802 - - one of the better MIDI implementations I've seen,
       especially with the multi-instrument capability and the problems
       that could have arisen). 

       Well, enough rambling for now.

       Eric