Instrument Definition : Sherman Filterbank V2

I use drumlanes to active (or not) audio triggers for envelopes, midi trig the envelopes and make envelopes attack faster.

VERSION 1 # Currently, this should only be 1.

# Supports all alphanumeric ASCII, and ' ', '_', '-', '+' - can also be NULL
TRACKNAME FILTERBANK
# Can be POLY, DRUM, MPE, or NULL
TYPE NULL

# Can be A, B, C, D, USBD, USBH, CVGx (x between 1&4), CVx, Gx, or NULL
OUTPORT B

# Can be x (between 1-16), or NULL -- this is ignored if output port is not MIDI
OUTCHAN 16

# Can be NONE, ALLACTIVE, A, B, USBH, USBD, CVG, or NULL
INPORT NULL

# Can be x (between 1-16), ALL, or NULL. This definition will be ignored if INPORT is NONE, ALLACTIVE or CVG
INCHAN NULL

# DRUMLANES
# Syntax: ROW:TRIG:CHAN:NOTENUMBER NAME
# ROW must be between 1 and 8
# TRIG can be between 0 and 127, or NULL
# CHAN can be a number between 1 and 16, Gx, CVx, CVGx (x between 1 and 4), or NULL
# NOTENUMBER can be between 0 and 127, or NULL
# NAME supports all alphanumeric ASCII, and ' ', '_', '-', '+' - can also be NULL
# Please note this section will be discarded for tracks which are not DRUM tracks
[DRUMLANES]
8:NULL:16:60 #ADSR AUDIO TRIG ON
7:NULL:16:61 #ADSR AUDIO TRIG OFF
6:NULL:16:62 #AR AUDIO TRIG ON
5:NULL:16:63 #AR AUDIO TRIG OFF
4:NULL:16:66 #ADSR TRIG
3:NULL:16:70 #AR TRIG
2:NULL:16:65 #ADSR FAST ATTACK TRIG
1:NULL:16:69 #AR FAST ATTACK TRIG
[/DRUMLANES]


# PC
# Syntax: NUMBER NAME
# number must be either:
#   - A number (for simple PC)
#   - Three numbers, delimited by ':', which represent PC:MSB:LSB. You can put 'NULL' to not set the MSB/LSB.
# PC must be between 1...128
# MSB/LSB must be between 0...127
[PC]
[/PC]


# CC
# Syntax: CC_NUMBER NAME or CC_NUMBER:DEFAULT=xx NAME
# DEFAULT_VALUE must be a valid number between 0 and 127
[CC]
1 CUTOFF 2
2 RESONANCE 2
4 FM DEPTH
7 VCA BIAS
11 AM/RING DEPTH
5 ADSR ATTACK
16 ADSR DECAY
17 ADSR RELEASE
18 AR ATTACK
19 AR RELEASE
[/CC]


# NRPN
# Syntax: "MSB:LSB:DEPTH NAME" or "MSB:LSB:DEPTH:DEFAULT=xx NAME"
# Lsb & msb should be between 0 and 127
# DEPTH can be 7 or 14
# For NRPN: DEFAULT_VALUE must be a valid number, either between 0 and 127 (for 7 bit NRPNs) or between 0 and 16383 (for 14bit NRPNs)
[NRPN]
[/NRPN]


# ASSIGN
# Syntax: POT_NUMBER TYPE:VALUE or POT_NUMBER TYPE:VALUE DEFAULT=DEFAULT_VALUE
# POT_NUMBER must be between 1 and 8
# TYPE can be "CC", "PB" (pitchbend), "AT" (aftertouch), "CV", "NRPN", or "NULL" (this won't assign the pot).
# Non explicitly-defined pots will be considered "NULL"
# VALUE VALIDATION
#### For CC: Value must be a valid number between 0 and 119
#### For PB and AT, any text after the TYPE will be ignored
#### For CV, value must be between 1 and 4
#### For NRPN, value must be MSB:LSB:DEPTH, with both lsb & msb bebtween 0 and 127, and DEPTH being either 7 or 14
# DEFAULT VALUE
#### For CC: DEFAULT_VALUE must be a valid number between 0 and 127
#### For PB: DEFAULT_VALUE must be a valid number between 0 and 16383
#### For NRPN: DEFAULT_VALUE must be a valid number, either between 0 and 127 (for 7 bit NRPNs) or between 0 and 16383 (for 14bit NRPNs)
#### For CV: DEFAULT_VALUE must be either a valid number between 0 and 65535, or a voltage between -5V and 5V, e.g. "-4.25V" or "1.7V"
#### Please note default value will be ignored for PB and AT messages.
[ASSIGN]
[/ASSIGN]


# AUTOMATION
# Syntax: TYPE:VALUE
# TYPE can be "CC", "PB" (pitchbend), "AT" (aftertouch), "CV", or "NRPN"
# VALUE VALIDATION
#### For CC: Value must be a valid number between 0 and 119
#### For PB and AT, any text after the TYPE will be ignored
#### For CV, value must be between 1 and 4
#### For NRPN, value must be MSB:LSB:DEPTH, with both lsb & msb bebtween 0 and 127, and DEPTH being either 7 or 14
[AUTOMATION]
PB #CUTOFF 1
AT #RESONANCE 1
CC:1 #CUTOFF 2
CC:2 #RESONANCE 2
CC:4 #FM DEPTH
CC:7 #VCA
CC:11 #AM/RING DEPTH
CC:5 #ADSR ATTACK
CC:16 #ADSR DECAY
CC:17 #ADSR RELEASE
CC:18 #AR ATTACK
CC:19 #AR RELEASE
[/AUTOMATION]


# This section will be readable from Hapax.
[COMMENT]
[/COMMENT]
4 Likes

Thanks for this. It’s very clear that I need to understand how to use the FB first before automating it in HAPAX!

1 Like

You’re welcome :wink:

There is a lot to learn and experiment with it ! I don’t think using Hapax automations is the best way to use the Filterbank, except for triggering the enveloppes.

Have fun !

1 Like

I’m sure that will be understood more when I dig a little deeper. At present it just squeaks and growls at me, hahaha. I’ll have a go at those tutorials now……:crazy_face:
Thanks again!

Hi, I’m new to hapax and instrument definitions and don’t really understand how to do them… I used your definition but it writes SYNTAX ERROR LINE 29
What should I do? Did you have similar problems? Thanks:)

Hi,
I don’t have the filterbank anymore but this file worked fine for me when I still had it. Maybe it was before the syntax’s reform in a previous firmware update.

You can delete this part (drumlanes) of the instrument definition and just use note on the grid to trig the envelopes or change the envelope speed.

thanks, that did the job