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

Pitch bends affect all channels #8

Open
ChickenSaysBak opened this issue Nov 3, 2023 · 6 comments
Open

Pitch bends affect all channels #8

ChickenSaysBak opened this issue Nov 3, 2023 · 6 comments

Comments

@ChickenSaysBak
Copy link

I am using the app with a Warbl wind controller on channel 1 and drones on channel 2. Whenever I use vibrato or slides on channel 1, the pitchbend applies to channel 2 as well.

If possible, it would be nice if pitchbends only applied to their respective channels, or if select channels could be excluded from pitchbends entirely.

Coincidentally, the manufacturer of the Warbl has also voiced a concern for this problem just a couple weeks ago:
https://sante100.polyphone-soundfonts.com/forum/soundfonts-help/821-disable-pitchbend

@bradhowes
Copy link
Owner

Hi @ChickenSaysBak

Can you be a bit more specific about how you set up your environment? Curious about the channel 1 and channel 2 setups and how these are configured, how they are receiving data from your Warbl device. I am trying to understand better how SoundFonts is being used in your setup to see what options there could be.

Regards,

Brad

@ChickenSaysBak
Copy link
Author

ChickenSaysBak commented Nov 15, 2023

Here's a log snippet of the midi messages:

On 2 46 36
On 1 67 64
PB 1 0 60
PB 1 49 58
PB 1 45 59
PB 1 4 59
PB 1 49 58
PB 1 94 57
...
PB 1 102 19
PB 1 30 16
PB 1 40 13
PB 1 9 10
PB 1 72 4
PB 1 0 0
Off 1 67 64
Off 2 46 36

When the drones are turned on (via a button on the back), a "Note on" message is sent on channel 2 for note 46 (Bb). When it is pressed again, the note is turned off.

On channel 1, the melody notes are sent. The Warbl has optical sensors that detect how close your fingers are to the holes, and as the sensors detect change, they send corresponding pitchbend messages on channel 1.

The problem is that the pitchbends on channel 1 (intended for the chanter/melody only) are being applied to channel 2 affecting the drones which should remain a constant pitch. Here is a demo video highlighting the problem:
https://youtu.be/0rzE_l4ytUI

@bradhowes
Copy link
Owner

@ChickenSaysBak

Perfect! Thanks! Now I have a better understanding of what is going on. I think I have a fix.

Brad

@ChickenSaysBak
Copy link
Author

Do you think you will have an update released to the App Store before Friday the 24th? If not, that's okay, I'm just trying to figure out if I need to get an alternative solution together (worst case scenario, I'll use my laptop, but it's not ideal).

@bradhowes
Copy link
Owner

@ChickenSaysBak Unfortunately, no. My first attempt failed due to an issue with the underlying synth engine I am using. It does not filter by MIDI channel, and so all note sent are affected by pitch bend and other controller changes. I have begun work on an alternative approach to remove this issue but it will take time.

On alternative you have is to use a digital audio workstation that will allow you to host multiple versions of SoundFonts such as AUM or GarageBand. You would then configure each version to respond to a specific MIDI channel, say 1 and 2. As long as your MIDI messages are appropriately tagged, this should work right now and provide you with the note playing experience you are looking for.

Brad

@ChickenSaysBak
Copy link
Author

Thank you! I didn't see a way to restrict the midi channel within GarageBand or the SoundFonts panel (there seems to be less settings available there than on the standalone app), but what I did was split the soundfont file into 2 and loaded one on GarageBand and the other on the standalone SoundFonts app with midi channel set to 2, and that did the trick.

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