fluid-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [fluid-dev] Help about EWI behavior


From: Louis B.
Subject: Re: [fluid-dev] Help about EWI behavior
Date: Sun, 3 May 2015 10:01:52 +0100

Hi jjc,

I hope you don't mind me posting your reply below publicly but I have spent a lot of time researching my answers.  And I want others with an EWI to be able to find this information on the fluidsynth mailing list archive. Also it allows other people to contribute. My answers are to follow.

Louis

---------- Forwarded message ----------
From: "CERESA Jean-Jacques ENAC/ENAC" 
Date: 1 May 2015 18:21
Subject: About EWI behavior

 Hi, Louis
 
Thanks for you response about this subject.
I need some precision from your last post and to ovoid overload on  fluidsynth maillist i prefer using direct mailing.
 
>However playing a note on the EWI it always sends a midi note on with a velocity just above zero.
>This is because when you start blowing the sound level starts from zero then builds up.
When MIDI noteOn event occurs ? When you start blowing ?
When MIDI noteOff event occurs ? When you stop blowing ?
 
>but this is a large sound fount and has the vibrato built into the sound loops
1) Often musician use 'vibrato' word talking  about amplitude modulation.
Technically 'vibrato' is a pitch modulation and 'tremolo' is an amplitude modulation. What are you talking about ?
 
2.a) Do you mean that this "modulation"  is blended in the sound signal sample ?, or
2.b) Do you mean that it is described as a modulator with a MIDI CC on input. ?.
In case 2.a, while playing it is impossible "to say" to the synthesizer engine to change anything during synthesis.
In case 2.b, while playing it alway possible "to say" to the synthesizer engine to change any parameters via MIDI CC and modulators.
Soundfont (2.01) have a lot of default modulator. For example Mod wheel (MIDI CC 1) to Vibrato LFO pitch depth.
It is just an example describing a MIDI CC that change the pitch depth of Vibrato LFO.
Notice that 'Vibrato LFO' in soudfont 2.01 synthesizer model is an LFO that change the pitch of sound.
 
> What is needed is a custom sound font that uses a breath controller to control the volume. There is natural vibrato in the MIDI breath data.
> So what would be great if we could somehow add a magic flag to fluidsynth that overrides the global vibrato modulation used on many sound fonts
> and instead control that with the breath controller input. This would save having to manually edit all the sound fonts to respond to the breath controller.
 
To control the amplitude of a note in real time you need a soundfont with a modulators to do that.
Fortunately, when any soundfont is loaded, a list of default modulators is build inside the engine. You can use theses defaut modulators
as far they are not changed by custom modulators having the same name in the soundfont.
 
Here the list of default modulators to change the amplitude of a sounding note in real time (called "Initial Attenuation" in SoudFont terms) .

- MIDI Note-On Velocity to Initial Attenuation

- Volume (MIDI CC 7) to initial attenuation

- _expression_ (MIDI CC 11) to initial attenuation

 

As you see there is no default modulator with breath controler (CC 2 ) on its input. But when using fluidsynth application you can "say" it to transform

any MIDI message CC 2 in a MIDI CC 11 using the router command line interface.

Using fluidsynth application, you need to enter the following command in the shell to instruct the router.

# Remove current rules (to remove any default rules):
router_clear

# Set the rule to transform CC breath (CC 02) to CC _expression_ (CC 11)

router_begin

cc

router_par1 02 02 0 11

router_end

# Set the rules to pass through other messages types (note, prog, pbend, cpress, kpress)

router_begin note

router_end

router_begin prog

router_end

router_begin pbend

router_end

router_begin cpress

router_end

router_begin kpress

router_end

 

>I will post over the weekend a MIDI recording (with matching audio).

If possible, MIDI file format 2 will be appeciated as well the kind of synthesizer used when recording audio.

 

Thanks a lot for your contribution.

 

jjc

 


On Fri, May 1, 2015 at 8:51 AM, Louis B. <address@hidden> wrote:
Ha Ha. Yes, I have just bought (rather foolishly) an EWI, thinking that I could easily use it to make MIDI recordings instead of using the keyboard as the MIDI input. I am not so skilled on the keyboard. So I thought if I get a wind controller, I can close the lid on my piano keyboard and instead pick up the wind controller and play that, after all I can play much better and faster on the flute than on the piano. I thought what fun, I can use the EWI to play all the different midi instrument sounds available. 

It was only after I got the EWI I discovered how fundamentally different wind instruments are from percussive instruments like the piano. When you press a note on the keyboard it sends a MIDI note on, with the velocity controlling how loud you play the instrument. However playing a note on the EWI it always sends a midi note on with a velocity just above zero. This is because when you start blowing the sound level starts from zero then builds up. A wind controller and all wind instruments (non percussive instruments) do not have a ADSR envelope but instead use the MIDI breath controller for the attack and sustain levels in real time. For that reason trying to use a wind controller to play instruments like the piano or guitar won't really work out.

I did look at some sound fonts in particular the  Fluid (R3) General MIDI SoundFont (GM) but this is a large sound fount and has the vibrato built into the sound loops. However smaller samples like "TimGM6mb.sf2" use have tiny loops without vibrato and use the sound generator engine to provide the vibrato. What is needed is a custom sound font that uses a breath controller to control the volume. There is natural vibrato in the MIDI breath data.

So what would be great if we could somehow add a magic flag to fluidsynth that overrides the global vibrato modulation used on many sound fonts and instead control that with the breath controller input. This would save having to manually edit all the sound fonts to respond to the breath controller.

I will post over the weekend a MIDI recording (with matching audio) of me playing using the EWI and we will see what anybody can do with the MIDI data when fed into fluid synth.

Louis


On Thu, Apr 30, 2015 at 5:54 PM, CERESA Jean-Jacques ENAC/ENAC <address@hidden> wrote:
 Hi,
 
In the aim for adding monophonic support to Fluidsynth, i am interested by
EWI behavior. I am not an EWI player nor an accoustic monophonic instrument player.
I am only familiar with somes polyphonic instruments.
 
I wonder how an EWI reacts when a player is playing in staccato or legato manner.
In others words, what could be the stream of MIDI messages produced by an EWI
when playing in all possible combinations of articulations ?
 
Thoses MIDI informations seems to be useful to be compared with MIDI messages
produced by a MIDI keyboard controler when playing it in the same manner (staccato,legato,..)
than playing EWI.
 
Any knowledge are welcome.
Thanks to monophic instruments players for your interest.
 
jjc
 
 

_______________________________________________
fluid-dev mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/fluid-dev




reply via email to

[Prev in Thread] Current Thread [Next in Thread]