|
From: | Louis B. |
Subject: | Re: [fluid-dev] Help about EWI behavior |
Date: | Sun, 3 May 2015 10:23:56 +0100 |
> 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
>
>
>
>
>
>
[Prev in Thread] | Current Thread | [Next in Thread] |