[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

2201.0. "Electronic HiHat Switch: DIY suggestions?" by TOOK::MCPHERSON (Doug McPherson | LKG2-2/N1 | DTN 226-5145) Tue Dec 12 1989 01:08

   I'm trying to figure out a reasonably simple method to replicate (within
   reason) the function of a hi-hat using some drum pads, a Roland PM-16
   (trigger->midi converter) and an Alesis HR16.   I'm hoping I can get
   this to work reasonably well, but if not I guess I can  stick with
   "analog cymbal technology" ;^)....

   What I would like is the following:  

   1. a simple piezo trigger (struck via a pedal mechanism) to "fire" the
      "FOOT CLOSED HH" voice on the HR16.   This is easy.  No prob.

   2. A Pad that serves as the actual,  er, virtual "HH cymbal". The pad
      piece is easy, too.   This is where is gets tricky: Output from this pad
      would be "switched" to trigger either the "CLOSED HH" or "OPEN HH"
      voice, depending on the position of the foot pedal. 

      For example:

           If the pedal position is "sensed" as being all the way down
           (i.e. past some threshold point in the throw) then output from
           the pad would be switched to the input on the PM-16 that
           triggers the "CLOSED HH" voice on  the HR16.

           If the pedal is in the "UP" position (i.e. on the _other_ side
           of the threshold point) then the output from the pad is switched
           to the input on the PM-16 that triggers the "OPEN HH" voice on 
           the HR16.                                  

   
   In more graphic terms, this is what the "operating regions" of the pedal
   assembly would look like:

        ^  P    ------------------------ <---- At rest (Pedal "full open")
        |  E       ^    
        |  D       |         
        |  A       |  Open HH zone
        |  L       v     
        |       - - - - - - - - - - 
        |  T       ^     
        |  H       |  Closed HH zone 
        |  R       |
        |  O       v 
        v  W    oooooooooooooooooooooooo   <---- "ground zero", 
                (here the piezo sensor triggers the FOOT_CLOSED_HH voice)
        

   The system diagram for such a contraption would look something like
   this:
                                  .-------- to OPEN_HH trigger input 
                                 /            (input #3 on PM16)
    +---+                +------'-+
    |Pad|----------------| Switch |
    +---+                +-.----.-+ 
                           |     \ 
                           |      '-------- to CLOSED_HH trigger input
                           |                 (input #4 on PM16)
           +-----+         |
           |Pedal|---------+
           +-----+
 

   The crux of this entire mess is this:  how to build a switch that WILL
   NOT TRIGGER the PM16 WHEN IT SWITCHES.    The switch itself should only
   make the connection to the appropriate cable without generating any
   noise in the process.    

   Normally the way to suppresss such noise would be to stick in a
   capacitor to absorb the spike.   Unfortunately, the very signal that is
   *intended* to fed across the link (impulse output from the pad's piezo)
   is itself merely a "spike".

   Anybody got any ideas?  Suggestions? 
T.RTitleUserPersonal
Name
DateLines
2201.1Throw money at it!!!WEFXEM::COTECall *who* Ishmael???Tue Dec 12 1989 12:4218
    I believe Todd Rhodes (no longer at DEC) built just such a beast. I
    don't know how you might get in touch with him.
    
    You may run into a problem using the PM-16. The pads only generate 
    trigger impulses which are fed to the brain. The brain then maps
    the trigger to the appropriate NOTE-ON. I believe ANY signal appearing
    at the input will trigger the appropriate voice(s), so a switch BEFORE
    the brain doesn't seem like it will accomplish much.
    
    A decided "high tech" approach would be to have a footswitch that
    generated program change messages. You could set up 2 HR16 kits.
    One with the CHH on a pad, another with the OHH on the same pad.
    All other drums remain the same. Toggling back and forth betwixt 
    the two would get the OHH and CHH on the same PM-16 trigger input.
    
    Probably doesn't help, 'eh?
    
    Edd
2201.2Couple of suggestionsTALK::HARRIMANNo witty words todayTue Dec 12 1989 12:4923

	Nice idea. 

	I'm not sure about the PM16's trigger logic, but if it's like
	the PAD-8 then it sees positive logic (i.e. rising edge), which means
	that you need to (a) debounce your switch, and (b) keep the unused
	side low (grounded or disabled).

	You could do it with TTL level logic if you don't care about velocity,
	or CMOS analog switches (4016?) whose gates are enabled via the
	microswitch poles (appropriately debounced since they aren't 
	carrying pulse signals, they are high or low)... that would allow
	you to get velocity (such as it is) from the crystal transducer. 

	There are numerous ways to debounce. My favorite is to use a 555 as
	a one-shot. You can get a dual 555 (556?) which would do both sides
	of the switch. Unfortunately these require power, but it sounds like
	the only reliable way to go.

	My 2 cents

	/pjh
2201.3fuel for the fire ...DYO780::SCHAFERBrad - boycott hell.Tue Dec 12 1989 13:1017
2201.4I'd like to do this too, with my computerHPSRAD::NORCROSSBeauty, Feeling, Play, CreativityTue Dec 12 1989 13:1110
This is not a reasonable solution for your problem...

A computer based MIDI mapping program would be  appropriate in this case.
The  footpedal  would  be  a MIDI Continuous Controller message generator
which  qualifies incoming note-on messages.  Real time MIDI mapping takes
place based on the last value of the pedal.

Computers are wonderfully flexible.

/Mitch
2201.5Flow chart...WEFXEM::COTECall *who* Ishmael???Tue Dec 12 1989 13:1136
________
|Piezo |___________________________
| Pad  |  Generic "trigger" pulse |
|______|                          |<- One of 16 inputs to PM-16
                           _______|_______
                           |   PM-16     |
                           |_____________|
                                  |               ________
                                  |<- MIDI        |      |
                                  |_______________| HR16 |
                                                  |______|

This might make the delemma (as I see it) easier to understand. The NOTE-ON
the HR-16 needs to see in order to fire the OHH (or CHH) voice is not generated
by the pad, but by the PM-16. All the pads generate the same trigger but are
fed to 1 of 16 inputs on the brain.

The only way I see to do it is to have 3 cables running from the "hi-hat"
to the brain. The FCHH is already dealt with. The logic then becomes how
to get a switch to quietly route the trigger input from one cable to another.

________   _  Switch (if open then 1, else 2)
|Piezo |__|_|_____________________
| Pad  |   |                      |<- signal path 1 mapped to OHH
|______|   |____________________  |   _______ Signal 3 mapped to FCHH        
             ^             ____|__|___|___
          Signal path 2    |   PM-16     |
          mapped to CHH    |_____________|
                                  |               ________
                                  |<- MIDI        |      |
                                  |_______________| HR16 |
                                                  |______|

The innards of the switch are beyond me.

Edd
2201.6responseTOOK::MCPHERSONPorgy Tirebiter, a student like you.Tue Dec 12 1989 21:3183
re: .1         
    
>    A decided "high tech" approach would be to have a footswitch that
>    generated program change messages. You could set up 2 HR16 kits.
>    One with the CHH on a pad, another with the OHH on the same pad.
>    All other drums remain the same. Toggling back and forth betwixt 
>    the two would get the OHH and CHH on the same PM-16 trigger input.
    
    That's actually pretty easy to do. I'll have to try it to see what the
    latency is like....  There are 2 jacks on the back of the PM16: one for
    program advance and one for program retreat (ok, decrement ;^).   They
    just rely on a switch that is either NC or NO (I forget) and do their
    thing when the circuit either open or closes). 
    
    Because each patch (a kit setup) in the PM16 (8 banks of 8 patches
    each) comprises not only a pad#_to_midi_note_# map, but also a program
    change # that is transmitted over the MIDI i/f on patch select.   This
    program number tells the HR16 *which* pattern to bring up.  The mapping
    is a little screwy (but predictable) because of the numbering scheme
    mismatch between R-word and A-word.(e.g. program 1 on PM16 brings up
    pattern 0 on the Alesis, 2 brings up 1, etc)
    
re .2


    >	You could do it with TTL level logic if you don't care about velocity,
    >	or CMOS analog switches (4016?) whose gates are enabled via the
    >	microswitch poles (appropriately debounced since they aren't 
    >	carrying pulse signals, they are high or low)... that would allow
    >	you to get velocity (such as it is) from the crystal transducer. 

    Actually, I *do* care about velocity since I'm trying to preserve as
    much 'nuance' as possible.
    
    The trick I'm trying to pull off is to simply switch between 2 _analog_
    signal paths without inducing a false "trigger glitch" on the wire.
    
    I guess I'm being dense, but I don't understand how CMOS or TTL is
    going to transmit anything but a Vcc "click" and if so, how does the
    output of the pad's piezo map to that in a 1:1 fashion ?
    
re: .3
    
    >Stupid question - what about wanting to trigger a "partially opened
    >HH"?  
    
    Stupid answer:
    
    Actually, that's not a stupid question at all, it's a special case of
    the basic problem (and one that I would be implementing as soon as I 
    got the "2 zone" case working).
    
    The basic problem is simply  how to build a noiseless switch.   Once
    that was done, I'd simply wire in another cable to another sensor and
    go from a 1x2 to a 1x3 switch, mapping the "middle zone" to the
    (thoughtfully provided) "MID HH" on the HR16.
    
re .4
    
>This is not a reasonable solution for your problem...
    
    You're right.   All of the work I'm trying to do is "pre-MIDI".  I.e.
    I'm simply trying to mangle/re-route signals from triggers to a
    trigger-midi converter based on the position of a pedal...
    
    Ugly, simple hardware problem.   
    
re .5  
    
    Nice diagram, Edd,  Thanks. I think that synopsizes the signal isuue a
    little better.
    
    I think I may cross-post this problem in the ELECTRO_HOBBY conference
    tonite or tomorrow and see what shakes out...
    
    As soon as I whip out a few more pads, I think I'll try to see just
    _how much_ noise the PM16 will tolerate from a switch before it false
    triggers... It is possible to so quite a bit of tweaking on the
    individual pad inputs.   We'll see,
    
    Well thanks for the input, folks....  I'm still wonderin',,,
    
    /doug
2201.7Analog switch may do the job.TROA01::HITCHMOUGHWed Dec 13 1989 11:3643
>        Actually, I *do* care about velocity since I'm trying to preserve as
>    much 'nuance' as possible.
    
>    The trick I'm trying to pull off is to simply switch between 2 _analog_
>    signal paths without inducing a false "trigger glitch" on the wire.
    
>    I guess I'm being dense, but I don't understand how CMOS or TTL is
>    going to transmit anything but a Vcc "click" and if so, how does the
>    output of the pad's piezo map to that in a 1:1 fashion ?
 
    From memory, the 4051 that was mentioned earlier is an analog
    multiplexer and actually allows analog signals such as that from
    your piezo to be directed to one of 8 possible outputs depending
    on the state of 3 control lines. I'm not good at ascii drawing but
    I'll have a go:
                 
                 |----------|
       	A--------|          |
        B--------|          |
    	C--------|          |-------\
    	         | 4051     |        \
                 |          |        / 8 analog outputs
                 |          |-------/
     i/p --------|          |
                 |---|------|  
                     |
        enable-------|
    
    The analog i/p signal is sent to one of 8 outputs depending on the
    state of lines ABC, ie from 000 to 111, and the enable line. 
    
    Actually the signal is not really sent, but a switch is made between
    the i/p and the o/p so the i/p and o/p can actually be reversed.
    
    So, using perhaps  switches to sense the position of your pedal
    to determine the codes on A and B you can send the piezo o/p to
    different inputs on the brain.
    
    Any help?
    
    Ken
     
    
2201.8circuits are usLEDDEV::ROSSshiver me timbres....Wed Dec 13 1989 14:0034
	You dont have a problem. There is no voltage across the
	piezo TO create a glitch.

	Think about velocity. You're just closing the hi hat.
	It in itself makes no sound, right? (If so, it gets
    	very very complicated....) Lets assume it's just an
    	on/off situation TO SELECT the input. (of course, the
    	piezo trigger pulse SHOULD reflect velocity!)

	There are some choices on design, and difficult to
	show the whole thing in ascii...

	The 4051 is a good start, ( or half a 4066 quad switch).
	Run off a 9 volt battery...nice. But first, have you
	verified that the piezo by itself will trigger the brain?
	(lets assume so). Most commercial footswitches close to ground. 
	Here ya go:

	piezo___.______ \___________to brain_in_1
		|       ^
		|_______|______ \_____to brain_in_2
			|       ^
	+v		|       |
	|		+--|>o--|	
	R		|
	|               |
	+----DEBOUNCE---+
	|
	 / (footswitch)
	|
	gnd

 
2201.9See June 90 Electronic MusicianTOOK::MCPHERSONI'm an ADULT now.Fri May 18 1990 16:489
For posterity's sake:   This identical problem was solved by a guy in the June
Electronic Musician.    

Only thing is he used a 9V circuit to trigger the FOOT-CLOSED HH voice on his
drum machine.   Seems to me like you'd lose  a lot of nuance with the 9v
circuit; you'd have the FC-HH the same exact volume all the time (at least
until it started to run down... ;^))

/doug