First impressions

Feel free to post any broad WARBL questions or comments here.
Dollhead
Posts: 8
Joined: Thu Sep 02, 2021 1:39 pm

First impressions

Post by Dollhead »

Getting used to my WARBL now.

there are any number of things I could discuss, but right now, my biggest issues is using over blowing.

I have set the setting to function like a tin whistle, but the one I can't seem to get working is the drop/drop time.

no matter what I set, there seems to be no way, other then tonguing, to make the warbl go from playing a high register note, to silent consistently.
Is it a programming issue or a physics issue or both?
If my breath can inform a real whistle when I want silence and when I want to go down an octave, I shoudl be able to do the same thing with a breath pressure sensor. It seems to almost always hit the lower register before going to silence.

'drop' and 'drop time', seem to have no effect other then introduce 'lag'.
Dollhead
Posts: 8
Joined: Thu Sep 02, 2021 1:39 pm

Re: First impressions

Post by Dollhead »

It seems the max "Drop time" is 125, but whatever 125 is, it's no where near long enough. it'd need to be like 200~300
User avatar
admin
Site Admin
Posts: 669
Joined: Tue Mar 26, 2019 5:17 pm
Contact:

Re: First impressions

Post by admin »

Thanks for your input on this. It's on my list to review the jump/drop algorithm again. The issue is largely one of the limitations of MIDI-- a real whistle also drops from the upper register to the lower one before going silent, but it's not really noticeable because it's such a smooth transition. With MIDI, note transitions over such a large range tend to be very noticeable, so the jump/drop algorithm is a workaround to try to avoid that. Basically, it's a matter of trying to decipher the intent of the player in the span of just a couple of milliseconds, which has turned out to be very tricky. The way it currently works is by analyzing the rate of change of the pressure, which is why tonguing is an effective way of stopping the note-- it causes the pressure to drop very rapidly.

I've experimented with very long drop times, but in my experience they interfere with normal playing because it makes it more difficult to transition between the upper and lower registers, particularly in fast passages (you start getting silence instead of first-register notes). I guess my thinking has been that going from the upper register to silence is less common than alternating between registers, so I tend to err on the side that benefits the latter. I've gotten used to tonguing the upper register notes to cut them off (as you mentioned) to go directly to silence, and that seems pretty effective with the default settings, but I agree that it's not always an ideal solution.

In a nutshell, I apologize that it's not perfect, and I'll be sure to review this and see if I can figure out something that works better. I believe that LouisB, who has contributed here, has looked at this too, and I'll see what he has come up with as well.
Andrew Mowry
info@warbl.xyz
Dollhead
Posts: 8
Joined: Thu Sep 02, 2021 1:39 pm

Re: First impressions

Post by Dollhead »

If I may:

> "a real whistle also drops from the upper register to the lower one before going silent, but it's not really noticeable because it's such a smooth transition"

This is not true.

a real whistle holds it's frequency for a time after sufficient the pressure to hold that note stops, and in that time (in the real world instrument) you have enough time to have the note abruptly stop (without tonguing or other such technique) with no register dip at all; a pitch on the lower register is not produced, even for a micro second.

Here's a sonogram of my regular acoustic whistle:
The first two are upper register only then stop.
The third is upper register sliding down to lower. You can see the lower note clearly begin some time after the upper note loses it's support. The previous two abrupt stops, doesn't contain the 'lower' register before stopping (it is not dropping a register before going silent).
The fourth is upper register, a tiny silence, immediate lower register.
sono.jpg
sono.jpg (57.88 KiB) Viewed 4328 times
Last edited by Dollhead on Tue Sep 14, 2021 7:24 pm, edited 7 times in total.
Dollhead
Posts: 8
Joined: Thu Sep 02, 2021 1:39 pm

Re: First impressions

Post by Dollhead »

in the bit marked "upper / lower" that is me supporting the note less and less until the instrument finally gives up the ghost and switches down.
sono 2.png
sono 2.png (67.25 KiB) Viewed 4327 times
you can see there is a moment where the instrument fights back, and "holds the upper register", but the lower register doesn't appear at all until after this battle is lost.

The forth note (in the image above this one) is me going upper register, stopping, then beginning a lower register note.


to cut a long story short, it might be a simpler problem then it first appears. if this is what the "drop time" is for then it will work as is so long as one can set it to the time needed to reflect a real-to-life instrument.
Dollhead
Posts: 8
Joined: Thu Sep 02, 2021 1:39 pm

Re: First impressions

Post by Dollhead »

unless, It's MUCH MORE complex then I think!!
:D
Dollhead
Posts: 8
Joined: Thu Sep 02, 2021 1:39 pm

Re: First impressions

Post by Dollhead »

Sorry. I keep editing my posts.

What I mean to say is, a real life instrument has the fact it is 'an object of substance that can hold residual vibration' to keep itself from flicking up and down — but especially down — registers temperamentally like a 'paper/plastic party horn' does when you stop supporting the note.
We're used to flicking up an octave 'immediatly when we say so' and flicking down an octave again, but only after that few milliseconds of residual vibration is dispersed by us (either by note change, silence, finger slap, breathe burst, etc, etc, etc).

We subtly learn how to manipulate this 'few microseconds of residual vibration' in the instrument we most often play. Bassier instrument are more stubborn, and tiny instruments more agile, but also more temperamental.

with Warbl, size is irrelevant; is it "substantially non existent" in our physically plain, but plays all registers. In physical terms, it's a fictional instrument that can play all registers, as if that register is being played on a "zero-grams, infinitely tiny bugle".


I think the 'down time' will always be a compromise, and that might be a fact of physics. but, it also make the instrument fun and interesting. It might be whack in years to come to having some kind of... dynamic register behaviour, like the lower the midi note the slower and more stubbornly it drops a harmonic when over blowing, and the higher the note the easier but more temperamental. This would be like the woodwind version of the way digital pianos have graduation in their weighted keys.

Right now, the Warbl, is uniformly temperamental no matter what the pitch, which is less a criticism I guess, and more a statement of fact.

thee deeper one dives into "make it hold an upper register, when I stop to silence", "make it know when I want an octave drop", "make it know how to do this/that real instrument thing", I guess, the less room there is to let it be what it is, and maybe find new fun things to do with it!
User avatar
admin
Site Admin
Posts: 669
Joined: Tue Mar 26, 2019 5:17 pm
Contact:

Re: First impressions

Post by admin »

Thanks for the charts. That's interesting, maybe it depends somewhat on the instrument? With the whistles I have here, if I tongue the note I can get an abrupt cutoff from the upper register, but without tonguing I always hear a brief lower register note before the sound cuts off.

The "drop time" setting is actually the amount of time after the sound cuts off completely before any note is allowed to be played again. That's necessary because when we're looking at the rate of change of pressure, it's possible to turn off a note when the pressure drops rapidly but the pressure is still above the normal threshold for sound to be playing. Without the drop time setting, a new note would immediately be turned back on. So, it's not actually related to how easily a note can be cut off when in the upper register, it's just there to prevent oscillations after the note is turned off by allowing the pressure time to settle to its desired level.

The "drop" setting (they should have more descriptive names--they weren't originally exposed in the interface at all, so the names are sort of placeholders that stuck) is what controls the sensitivity to the rate of change of pressure, so it's the only setting that controls how easy it is to cut off a note from the upper register. Lower settings mean that a lower rate of change of pressure is needed to cut off a note. If you set that very low, say 3 or four, you may find that it's easier to cut off a note, but other artifacts begin to appear, namely lots of unwanted clipped notes.

It's certainly possible that there is a better way to tackle the problem, but I think it is fairly complex, unless I'm missing something obvious. I'm most certainly open to suggestions, though. If you're interested you can take a look at Louis' comments here on GitHub:

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

You can see my comment there at the bottom, where I tried to explain in more detail how the current algorithm works. My reason for promoting the current method is that there's no artificial delay introduced other than the 2 mS needed to capture a rate of change of the pressure. My concern is that waiting longer for the pressure to stabilize would effectively add unwanted latency to all notes.

I should add that if for any reason you find that you're not satisfied with the device in its current state, I'm more than happen to refund the cost. While I've tried to make it as realistic as my current ability allows, I'm certainly aware that it will never be perfect. I'll keep thinking about this issue, though.
Andrew Mowry
info@warbl.xyz
User avatar
admin
Site Admin
Posts: 669
Joined: Tue Mar 26, 2019 5:17 pm
Contact:

Re: First impressions

Post by admin »

I posted before I saw your last comment, but yes, I guess there is also the question of how much we want to try to interpret the user's intent as a workaround to simulating a real instrument vs. being okay with WARBL being something different. If as an experiment you're interested in turning off the jump/drop capability completely, setting "jump" and "drop" to their maximums should do that by requiring extremely fast changes in pressure to trigger either one.
Andrew Mowry
info@warbl.xyz
User avatar
admin
Site Admin
Posts: 669
Joined: Tue Mar 26, 2019 5:17 pm
Contact:

Re: First impressions

Post by admin »

By the way, some this is also tangentially relate to the question of hysteresis here, which I am also amiss in not addressing sooner :) :

viewtopic.php?f=6&t=222
Andrew Mowry
info@warbl.xyz
Post Reply