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:23:56 +0100

Hi, jcc,

Here are my replies. Sound  + midi recording to follow.

jjc> Technically 'vibrato' is a pitch modulation and 'tremolo' is an amplitude modulation. What are you talking about ?

I am talking about the way I play the flute and the sound produced when I don't play a steady note.

jjc> 2.a) Do you mean that this "modulation"  is blended in the sound signal sample ?

Yes, I meant that. The problem with this "modulation"  in the sound signal sample is that that the breath data steam includes it own natural modulation/vibrato following how the player plays.  It may be better to work with sound fonts that use fluidsynth for the modulation as it is possible to override this with the breath modulation.

jjc> Here the list of default modulators to change the amplitude of a sounding note in real time (called "Initial Attenuation" in SoudFont terms) .

What is needed is "Continual Attenuation"  rather than "Initial Attenuation".

I don't think that the 'note on' velocity is used so much in a breath capable synth instead the amplitude is set from the breath stream.

jjc> When MIDI noteOn event occurs ? When you start blowing ?

Yes, and also when you play a different note.

jjc> When MIDI noteOff event occurs ? When you stop blowing ?

Yes, and also when you play a different note.

There is a subtlety here, if you change notes while blowing steadily the new 'note on' comes just before the old 'note off'. When this happens maybe you should skip the attack part of the new note and go straight into the sustain part of the next note. Lets called these 'linked notes', more about this in following emails.

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

I use the built in sound generator of the EWI5000. There are not many breath capable synths out there.


It would be great if we could tweak fluidsynth to make it a breath capable synth but there are lots of challenges.

Louis


On 1 May 2015 at 18:21 "CERESA Jean-Jacques ENAC/ENAC"  wrote:

>  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
>
>  
>
>  
>
>  

 

reply via email to

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