Old 01-29-2023, 09:50 AM   #1
Fergler
Human being with feelings
 
Fergler's Avatar
 
Join Date: Jan 2014
Posts: 5,207
Default Smooth over Polyphonic Aftertouch?

I have use of an old Roland HPD-15 hand drum

It sends poly AT, but a couple pads tend to produce a couple jumps while ascending towards 127.

Does anyone know of existing JS effect that could compare current and previous values and smooth over this leap?

E.g. I send:

0,2,3,4,6,7,8,9,11,12,14,16,17,18,21,0,24,25,26,28, etc

And it replaces the 0 with the last number or blocks it based on some basic comparison


If I get to tackling this myself, does this sound like the simplest approach?:

Make an array containing all 128 MIDI note numbers
Take all incoming Poly AT messages and write their last value to the corresponding array entry, but only if the existing number passes my math check
Output the message, with or without adjustment, or block the message
Fergler is offline   Reply With Quote
Old 01-29-2023, 12:10 PM   #2
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,960
Default

I have no really experience with PA, but probably this will works

Code:
desc:MIDI PA step filter

@init

@block
input = midirecv(offset,msg1,msg2,msg3);
input ? 
  (
    (msg1&0xF0 == 0xA0 && msg3 == 0) ? 
      ( 
        b[msg2] != 0 ? msg3 = b[msg2]
      );
    b[msg2]=msg3; 
    midisend(offset,msg1,msg2,msg3);
  );
mpl is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 07:19 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.