edrum hihat pedal controller, for closed, open and half-open hihat

43 views
Skip to first unread message

Simone Baracchi

unread,
Dec 16, 2012, 1:19:54 PM12/16/12
to midi...@googlegroups.com
Hi,

I was trying to achieve a good hihat synth in Hydrogen for my recorded edrum, but couldn't get a good natural sounding hi-hat with all its closed, nearly closed, half open nuances it should have.
Then I stumbled in Mididings and I think I nailed the problem. I've produced this script:

from mididings import *

class HiHatController:
    def __init__(self):
        self.pedal = -1
    def __call__(self, ev):
        if ev.type_ == CTRL and ev.param == 4:
            self.pedal = ev.value
            return None
        elif ev.type_ == NOTEON and ev.note == 55 and self.pedal != -1:
            ev.note = ev.note + (4 - ((4 * self.pedal) / 127))
        return ev

run(Process(HiHatController()))


which maps note #55 to #55, #56, #57, #58 etc based on the pedal (CC#04) position.

So, I wanted ask if I was making stuff over complicated, or there was a better way to do this.
In particular, I was wondering if there is a (simple) way to perform non-linear mapping, maybe with a tool similar to the Velocity() curve modifier.

Also, thank you for writing mididings!

Simone
Reply all
Reply to author
Forward
0 new messages