No hysteresis when overblowing to get the top octave

Use this forum to report bugs or request new features for WARBL, including fingering chart suggestions.
Post Reply
LouisB
Posts: 16
Joined: Fri Jul 02, 2021 4:22 pm

No hysteresis when overblowing to get the top octave

Post by LouisB »

Hi all,

Just got my warbl this morning -- thanks it arrived early. the email said that it was due on Monday so that was a nice surprise, thank you.

I am having trouble getting the overblowing working properly for the top register as it keeps dropping to the lower register when I don't want it to. I have tried fiddling with the settings for this with no luck. However I realise that there is an easy software fix and that is to implement hysteresis when overblowing, this is something that a real whistle does naturally -- you initially have to blow quite hard to get the top register but once there it tends to stay in that register even if you back of the pressure. in fact on my whistle i have to back off the pressure quite a bit before it drops back down to the lower octave. I am a programmer and an electronic engineer by training and also the author of PianoBooster so I might have a go at trying to fix this issue myself.

Also just to let you know this is my feed back when I first started using the warbl. The connection and setup was fine but I had quite a lot of trouble when I first tried playing it. my mistake was to click the auto calibration without reading the instructions or removing all my fingers and then it did not like it when I pressed too hard to make sure all fingers covered the holes. (a vertical bar show the amount of light each hole is receiving would be very helpful for diagnosing problems). I eventually got that part mostly working OK. I had to disable the expression and Vibrato and Slide as that confused me trying to sort out the problems, Is option 3 to disable to completely disable Vibrato and Slide as that part is not clear.

(I am away for the next few days so might be slow responding)

Louis
User avatar
admin
Site Admin
Posts: 669
Joined: Tue Mar 26, 2019 5:17 pm
Contact:

Re: No hysteresis when overblowing to get the top octave

Post by admin »

Hi Louis,

Thanks very much for the feedback. Someone else recently suggested adding hysteresis for the second register, and I think that's a good idea. I'm going to experiment with that when I have a bit of time.

My apologies about the trouble you had with the setup. I plan (hopefully soon) to make a series of brief videos about the initial setup and connecting to different devices and apps, which I hope will help with this. If you haven't already seen it, here's a video about calibrating the sensors: https://youtu.be/R7Xl5Db8QDM

That's correct, the "3. No Pitch bend" option turns off all slide and vibrato. It was perhaps more clear before we added the fourth option, as logically the option to turn off pitch bend should be first or last in the last, but with the way it's coded it would have been tricky to change it at this point. The reason those options are numbered is because you can toggle through them using a button, and the LED flashes indicating the number of the option that is selected.

Thanks again, and I'll let you know if/when I have a version of the firmware with hysteresis added. If you're interested in changing it yourself, overblowing is controlled by the get_State() function. The GitHub repository has the firmware and the instructions for installing it with the Arduino IDE.

-Andrew
Andrew Mowry
info@warbl.xyz
LouisB
Posts: 16
Joined: Fri Jul 02, 2021 4:22 pm

Re: No hysteresis when overblowing to get the top octave

Post by LouisB »

Just raised an issue here for this https://github.com/amowry/warbl/issues/6 with some suggested code changes for discussion.
speedymollusc
Posts: 3
Joined: Wed Sep 01, 2021 11:42 pm

Re: No hysteresis when overblowing to get the top octave

Post by speedymollusc »

+1 for hysteresis for the second register, that'd be super useful for me and very in line with how (in my admittedly unscientific experience) tin whistles seem to work. I bet that'd really help me deal with a lot of the unintentional "short note" midi artifacts in a graceful way, as many are octave jumps. I could just crank up the pressure required to hit the second octave, and then add hysteresis.

I'd be happy to help code and/or beta test once I've got my arduino setup talking to my warbl - haven't tried that yet but knowing me it is inevitable. :D

It'd also be great if there was be a second set of "mapping" settings for the second register (for sending pressure info as CC, velocity etc). That's obviously less important, and in fact could be implemented as a python script on the pc side without altering the warbl, but it might make sense.
User avatar
admin
Site Admin
Posts: 669
Joined: Tue Mar 26, 2019 5:17 pm
Contact:

Re: No hysteresis when overblowing to get the top octave

Post by admin »

Thanks-- Louis has graciously made a version of the code that adds hysteresis and I've been too busy to find time to look at it yet, but I will soon. I promise :)
Andrew Mowry
info@warbl.xyz
LouisB
Posts: 16
Joined: Fri Jul 02, 2021 4:22 pm

Re: No hysteresis when overblowing to get the top octave

Post by LouisB »

OK @speedymollusc i have made my changes available here: https://github.com/louis-barman/warbl/r ... g/9.1-TEST

Just follow Andrews instructions for updating the firmware on WARBL.

This test release gets rid of a lot unintentional "short note" midi artifacts but not all of them. You need to use the breath #cc2 or volume #cc7 helps a lots because the volume will be quieter when it happens.

These are my notes that are in the zip file:

It fixes the following gtihub issues see:

https://github.com/amowry/warbl/issues

#6 - No hysteresis when overblowing to get the top octave
#7 - When moving from low B to high D a bottom D note on is always sent.
#8 - key latency delay experimental code.
#9 - Too little overblowing pressure will play the very top D (D5).

To get #6 working you need to set Long-press3 byte3 to 60 for 60% hysteresis setting to zero turns it off.
(Using this byte is a temporary workaround).
Please see the settings I am using in WARBL Configuration-Louis.pdf

#7 is actually a nasty bug causing a lot of problems with unwanted transient low notes when overblowing.

#8 is working well as it removes some unwanted ultra short transient notes when moving from note to note.
I can still do the fasted possible trill that i can do and there is not noticeable latency delay that I can detect.

#9 I have done a temporary fix by disabling the very top D (74) and C (72)

The code is from my repo https://github.com/louis-barman/warbl in the ‘wip/debounce’ branch.
LouisB
Posts: 16
Joined: Fri Jul 02, 2021 4:22 pm

Re: No hysteresis when overblowing to get the top octave

Post by LouisB »

Oh i forgot to add that in fork of andrews code released above. I have disabled the jump and drop settings so changings those numbers will have no effect. I had a really good go at trying debug and get that feature working for me but I had no luck so I disabled it while i was testing it.
speedymollusc
Posts: 3
Joined: Wed Sep 01, 2021 11:42 pm

Re: No hysteresis when overblowing to get the top octave

Post by speedymollusc »

Thank you so much Louis! I am only just trying your code now, because Life Happened in October.

First impressions is that (a) it seems to have way fewer spurious notes, (b) I'm used to having even more hysteresis since I typically play an Abell whistle - they have a big bore and need lots of air, so all of these effects are accentuated. So it is time for me to dive into your code and tweak it further. I'll post if I get anywhere.

Edit: haha, I totally forgot to check out the correct branch of the repo! So I suspect I was just running Andrew's original firmware, I just uploaded it the hard way... sigh. Anyways.... I guess (a) that's why I wanted even more hysteresis, (b) the placebo effect is real. I'll try again but this time actually do something!
speedymollusc
Posts: 3
Joined: Wed Sep 01, 2021 11:42 pm

Re: No hysteresis when overblowing to get the top octave

Post by speedymollusc »

ok I got it running with hysteresis for real this time, and it's basically perfect! No further tweaking urgently needed. Thank you so much andrew and Louis. Now to work on getting better at performance :)
User avatar
admin
Site Admin
Posts: 669
Joined: Tue Mar 26, 2019 5:17 pm
Contact:

Re: No hysteresis when overblowing to get the top octave

Post by admin »

Great! I'll be adding Louis' hysteresis and key delay to the next release of the firmware once he has it all ready for me.
Andrew Mowry
info@warbl.xyz
Post Reply