Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Only the first Aftertouch value is handled #20

Closed
Florob opened this issue Jul 17, 2015 · 6 comments
Closed

Only the first Aftertouch value is handled #20

Florob opened this issue Jul 17, 2015 · 6 comments

Comments

@Florob
Copy link

Florob commented Jul 17, 2015

I'm trying to use Helm (standalone) with polyphonic aftertouch. It seems that only the first aftertouch event received after the note on is actually handled. Following changes to the aftertouch value don't seem to affect the assigned control.

@mtytel
Copy link
Owner

mtytel commented Jul 19, 2015

Looking into this. My keyboard with aftertouch unfortunately is in storage at the moment..

@mtytel
Copy link
Owner

mtytel commented Jul 29, 2015

Where did I put my keyboard with aftertouch?? :|

@mtytel
Copy link
Owner

mtytel commented Jul 31, 2015

Well I finally found my keyboard with aftertouch and it works with my setup on GNU/Linux and OSX. Haven't tried Windows yet.
Could you send me what OS you're on and what keyboard you're using? Have you gotten aftertouch from that keyboard working with other synthesizers?

@Florob
Copy link
Author

Florob commented Jul 31, 2015

I'm using an up to date Arch Linux, with a Miselu C.24 keyboard.
In my experience there is a certain lack of synthesizers supporting polyphonic aftertouch, so technically no. However, I have verified that events are send using amidi -d:

90 48 05
A0 0C 05
A0 0C 1A
[...]
A0 0C 03
90 48 00
90 4C 01
A0 10 01
[...]
A0 10 00
90 4C 00

Now, having looked at those bytes in some detail, I noticed that the key byte send with the Aftertouch events is different from the note byte send with the Note On events. The Aftertouch key is a one-to-one mapping to the physical keys, while the note changes with octave shifts. If I shift the octave down far enough that the note byte equals the key byte everything works as intended. I still find it strange that the first of the Aftertouch events per note appears to be handled though.
I have not been able to determine whether this behaviour is compliant with the MIDI specification. If you think it isn't/I should complain to Miselu instead, feel free to close this bug.

@mtytel
Copy link
Owner

mtytel commented Aug 3, 2015

The way aftertouch is implemented in Helm is that it takes the velocity value as the first value. I think I did this because defaulting to 0 gave some strange behavior if you slammed down a note.

I'm not sure why you're getting that byte readout, but I know some keyboards have only monophonic aftertouch, some have polyphonic aftertouch and on some keyboards you can switch between them in the settings. The aftertouch in Helm is only polyphonic I believe, so if yours is setup for monophonic that might be the issue.

@mtytel
Copy link
Owner

mtytel commented Aug 22, 2015

Closing because it's working for me and other people haven't run into this issue.
Probably could make it more compatible with more keyboards/control interfaces but I can't afford to buy a bunch of interfaces.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants