Hi Andrew.
My understanding of the sequence of operations with note-ons is this:
Start blowing
Pressure reaches minimum breath pressure
CC2s start sending
After a delay the noteon sends with velocity=a function of current pressure
What I'm seeing on the W2 is:
case 1:
Start blowing gently
after a delay Noteon sends with velocity = minimum set velocity
Pressure reaches minimum breath pressure
CC2s start sending
case 2:
Start blowing hard
Pressure reaches minimum breath pressure immediately
CC2s start sending
After a delay the noteon sends with velocity=a function of current pressure
In case 1 the noteon occurs before the CC2s are sent. I think this is wrong.
In case 2 the sequence seems to be correct, but I think that is only because of the delay in the noteon.
Am I right in assuming that the start of the noteon delay (whatever it is) occurs when breath pressure goes above ambient, not when it goes above the minimum setting?
My current settings are:
CC2
Breath min max = 1", 5"
Breath output = 1, 127
Velocity
Breath min max = 1", 5"
Velocity output = 1, 127
The only reason I noticed this is that I've just started using SWAM and notes start with very little breath pressure (below the minimum I have set). There may be a tweak in SWAM to fix this, but I'm not experienced enough to find it yet.
Gonzo
Note-On and CC2 with W2
Note-On and CC2 with W2
---------------------------
Gonzo Projects Page: https://gonzos.net/projects
Gonzo Projects Page: https://gonzos.net/projects
Re: Note-On and CC2 with W2
Thanks for this question. I'll admit I've never been totally sure if there' a "proper" way to send the CC messages.
If I understand correctly, here's the issue in a nutshell:
Currently, no CC messages are sent until the minimum mapped pressure is reached. Are you saying that CC messages with a value of 0 should be sent in that case? I can definitely see the logic behind that. I haven't experimented much with that scenario (minimum value higher than the "note on" value).
I made a number of changes to the pressure mapping with the WARBL2 because it can do faster calculations and the pressure readings are higher resolution. IIRC I did also make one fundamental change from the original WARBL mapping, which is that it no longer sends CC messages if the pressure is too low to trigger a note (just barely above ambient pressure). This may also be related to what you're seeing. However, I think that sending CC messages with a value of 0 as long as the pressure is high enough to trigger a note would solve the issue you're seeing. The CC messages might still occur immediately after the note is sent, but there wouldn't be a "gap" where you have to build enough pressure to reach the minimum mapped value.
The timing also gets complicated when mapping pressure to velocity because as you noticed if there hasn't been a note playing previous there is a necessary delay (16 ms) while the pressure is sampled in order to get an accurate velocity reading. That delay *only* occurs if you're mapping velocity and you're starting from silence. For this reason I usually recommend turning velocity mapping off for the fastest possible response times with staccato playing (this is unrelated to your question but might be useful info for someone ).
If I understand correctly, here's the issue in a nutshell:
Currently, no CC messages are sent until the minimum mapped pressure is reached. Are you saying that CC messages with a value of 0 should be sent in that case? I can definitely see the logic behind that. I haven't experimented much with that scenario (minimum value higher than the "note on" value).
I made a number of changes to the pressure mapping with the WARBL2 because it can do faster calculations and the pressure readings are higher resolution. IIRC I did also make one fundamental change from the original WARBL mapping, which is that it no longer sends CC messages if the pressure is too low to trigger a note (just barely above ambient pressure). This may also be related to what you're seeing. However, I think that sending CC messages with a value of 0 as long as the pressure is high enough to trigger a note would solve the issue you're seeing. The CC messages might still occur immediately after the note is sent, but there wouldn't be a "gap" where you have to build enough pressure to reach the minimum mapped value.
The timing also gets complicated when mapping pressure to velocity because as you noticed if there hasn't been a note playing previous there is a necessary delay (16 ms) while the pressure is sampled in order to get an accurate velocity reading. That delay *only* occurs if you're mapping velocity and you're starting from silence. For this reason I usually recommend turning velocity mapping off for the fastest possible response times with staccato playing (this is unrelated to your question but might be useful info for someone ).
Andrew Mowry
info@warbl.xyz
info@warbl.xyz
Re: Note-On and CC2 with W2
Thanks for the quick response.
The issue is that , I think, the noteon should not be sent until after the breath pressure has got above the minimum setting. Until the pressure gets that high you can't say that a note has occurred. The EWIs and the Aerophones only send noteons after the minimum pressure is reached.
Similarly the noteoff should be sent when the pressure drops below the minimum.
You shouldn't have to send CC2=0 because that's already been sent when the previous note finished. The current sending of CC2s looks ok.
As for sending dynamic velocity values, your method is ok (IMHO). The delay time for sampling the pressure to get a value for velocity should be determined by testing. EWIs use about 30ms. Yes it does create latency, but it's a tradeoff for realism.
Gonzo
The issue is that , I think, the noteon should not be sent until after the breath pressure has got above the minimum setting. Until the pressure gets that high you can't say that a note has occurred. The EWIs and the Aerophones only send noteons after the minimum pressure is reached.
Similarly the noteoff should be sent when the pressure drops below the minimum.
You shouldn't have to send CC2=0 because that's already been sent when the previous note finished. The current sending of CC2s looks ok.
As for sending dynamic velocity values, your method is ok (IMHO). The delay time for sampling the pressure to get a value for velocity should be determined by testing. EWIs use about 30ms. Yes it does create latency, but it's a tradeoff for realism.
Gonzo
---------------------------
Gonzo Projects Page: https://gonzos.net/projects
Gonzo Projects Page: https://gonzos.net/projects
Re: Note-On and CC2 with W2
Oh, interesting. I'll have to give this some thought as it would be a pretty big change from how it currently works.
As a workaround, you can currently set the "note on" pressure in the "Note trigger and register control" panel. If you set that to the same pressure as your minimum CC and velocity mapping value, does it do what you're trying to achieve?
On the EWI and the Aerophone, is the note on pressure tied to the velocity setting, or CC2 setting, or both? In other words, if you have different minimum pressures for velocity and CC2, which is used for the note on pressure? I guess to me it seems a bit more flexible having different settings for all three, but I do see the logic behind not wanting to send notes with a velocity of 0.
As a workaround, you can currently set the "note on" pressure in the "Note trigger and register control" panel. If you set that to the same pressure as your minimum CC and velocity mapping value, does it do what you're trying to achieve?
On the EWI and the Aerophone, is the note on pressure tied to the velocity setting, or CC2 setting, or both? In other words, if you have different minimum pressures for velocity and CC2, which is used for the note on pressure? I guess to me it seems a bit more flexible having different settings for all three, but I do see the logic behind not wanting to send notes with a velocity of 0.
Andrew Mowry
info@warbl.xyz
info@warbl.xyz
Re: Note-On and CC2 with W2
Ahh - the note-on pressure. Didn't realise what that did!!!
Yes, that seems to work OK. Good solution. Will test further....
The EWI and Aerophone have a setting to send a fixed velocity or a dynamic one. The noteons are tied to the breath minimum pressure, and there isn't the flexibility (and complication!) that the W2 has with separate config for noteon, velocity and CC2. With dynamic velocity, the EWI simply waits for the set delay after CC2s start to issue a noteon with velocity equal to current CC2. I don't know what the timing is with fixed velocity (I'll check). I can't remember what the Aerophone does (I don't have one any more).
Thanks.
Gonzo
Yes, that seems to work OK. Good solution. Will test further....
The EWI and Aerophone have a setting to send a fixed velocity or a dynamic one. The noteons are tied to the breath minimum pressure, and there isn't the flexibility (and complication!) that the W2 has with separate config for noteon, velocity and CC2. With dynamic velocity, the EWI simply waits for the set delay after CC2s start to issue a noteon with velocity equal to current CC2. I don't know what the timing is with fixed velocity (I'll check). I can't remember what the Aerophone does (I don't have one any more).
Thanks.
Gonzo
---------------------------
Gonzo Projects Page: https://gonzos.net/projects
Gonzo Projects Page: https://gonzos.net/projects
-
- Posts: 4
- Joined: Fri Aug 16, 2024 5:52 pm
Re: Note-On and CC2 with W2
I don't see anything called "note on" pressure in the "Note trigger and register control" panel. Where is that?
I'd like to try this "workaround".
I tried putting a value in the "inH20" box, but that didn't do anything.
In Pressure mapping I have CCmapping input pressure range set to: 2.4 to 9.8, with output range set ot 0-127
And in Velocity mapping I have the same settings.
However, I get a note on with WAY less pressure than 2.4. (and CC2 is output 0) Why is that?
IS that what this workaround is supposed to fix?
Re: Note-On and CC2 with W2
When you enter a value in the "inH20" box you also have to select "Learn or enter pressure" above it. Then notes should be triggered at the pressure you entered rather than the ambient air pressure.
Andrew Mowry
info@warbl.xyz
info@warbl.xyz
-
- Posts: 4
- Joined: Fri Aug 16, 2024 5:52 pm
Re: Note-On and CC2 with W2
Oh! I see. you have to have "Learn or enter Preasure" selected then type the value in inH20.
And then you select "learn or enter preasure" again accept any changes in the value (it turns green briefly when you do this ).
Anyway. I got it to work much better now.
Presure min/max the same as Velocity Min/Max and set the inH20 to the same as the min of these other two.
Edit:
Oh! i didn't see your post before I posted this, sorry...
And then you select "learn or enter preasure" again accept any changes in the value (it turns green briefly when you do this ).
Anyway. I got it to work much better now.
Presure min/max the same as Velocity Min/Max and set the inH20 to the same as the min of these other two.
Edit:
Oh! i didn't see your post before I posted this, sorry...