fluid-dev
[Top][All Lists]
Advanced

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

Re: [fluid-dev] Issue with modulation


From: Mark de Roussier
Subject: Re: [fluid-dev] Issue with modulation
Date: Thu, 21 Jul 2016 22:48:14 +0100

Hello Jean-Jacques, 

OK, I agree completely that this behaviour is strange :). I expected that
the noteon command would be enough show the problem. I was very surprised
when it didn't and I needed to hit a key on the midi keyboard. 

But if my midi keyboard was sending on two channels or alsa was causing
duplication, and the fluidsynth router is not doing anything, I would also
expect to hear the problem when trying to play the Hammond on channel 2,
which would be mixed up with the Acoustic Keyboard on channel 1. This does
not happen.

And it does not explain ( for me ! ) why cc 0,121,0 ( which deals only with
the state of modulators for the voice associated with the channel, I think
) makes the problem go away on channel 1 until another 'Hammond' key is hit
via another channel. 

Here is what 'amidi -p hw:1,0,0 -d' says when I hit a midi keyboard key (
middle C on channel 1 ) with the channel set to 1 :

90 3C 5A
90 3C 00

And with the channel set to 2 :

91 3C 5A
91 3C 00

So, just the note on and note off for one channel. 

I noticed there was an Anjuta project file. I've been looking at the
sources in Anjuta on my workstation, and I can build it there, so I'll see
if I can reproduce the problem there too, will be easier to work with than
on the RPi. 

Thanks,
Mark

On Thu, 21 Jul 2016 09:51:59 +0200, you wrote:

>Hi, Mark
>
>Hope thiss should help to localize the issue:
>A)Inside Fluidsynth,
>1)The 'noteOn command' plays a note using the function API 
>fluid_synth_noteon(channel,key,velocity).
>2) When receiving a MIDI noteOn message, the MIDI driver puts this 
>message to the input Router and than the Router use the same API 
>fluid_synth_noteon(channel,key,velocity).
>The same description is true for 'noteoff command'/ MIDI noteOff message 
>(both make use of API fluid_synth_noteoff(channel,key)).
>If we assume that the router is neutral (which is the default behavior), 
>there is no reason that  the results using 'commands noteon/noteoff,' or 
>using MIDI are differents.
>
>So, may be your MIDI keyboard sends events on more than one MIDI 
>channels at the same time ?.
>Or, may be Alsa Driver do this kind of duplicates MIDI messages ?
>
>B)
> > Current Raspian distro, fluidsynth 1.1.6
>
>Just want to report that the current fluidsynth 1.1.6 coming from Rasbian 
>repository is out of date!
>I don't think that the issue is related to current Rasbian fluidsynth.
>however, if your RPi is connected to internet you may update:
>1)Download the current git fluidsynth source version (1.1.6) on sourceforge.
>2)Build Fluidsynth.
>  
>Regards
>
>
>Le 20/07/2016 20:14, Mark de Roussier a écrit :
>> Hello Jean-Jacques,
>>
>> perhaps it will help if I describe how I can create the problem.
>>
>> Environment :
>> =============
>> Current Raspian distro, fluidsynth 1.1.6
>>
>> I'm using an RPi 2 with an external Behringer USB DAC and a Roland UM-ONE
>> USB Midi adaptor - I don't believe the specific hardware is relevant.
>>
>> Steps to reproduce :
>> ====================
>>
>> Run fluidsynth as follows :
>>
>> schedtool -R -p 49 -e fluidsynth -a alsa -o audio.alsa.device=front:CODEC,0
>> -m alsa_raw -o midi.alsa.device=hw:1,0,0 -g 0.5 -C no -R no -l
>>
>> Load the standard GM font :
>>
>>      load /usr/share/sounds/sf2/FluidR3_GM.sf2
>>
>> Sound a note from this font :
>>
>>      noteon 0 60 80
>>      noteoff 0 60
>>      
>> This makes the correct noise - GM Acoustic Grand.
>>
>> Load a Hammond Organ font :
>>
>>      load /home/pi/Music/Hammondsf2/05.sf2
>>      
>> This has blown away our channel mapping, so remap :
>>
>>      select 0 1 0 0
>>      select 1 2 0 0
>>      
>> Sound the same GM note as before :
>>
>>      noteon 0 60 80
>>      noteoff 0 60
>>      
>> This makes the correct noise - GM Acoustic Grand.
>>
>> Sound a note from the Hammond font :
>>
>>      noteon 1 60 80
>>      noteoff 1 60
>>      
>> This makes the correct noise - Hammond.
>>
>> Sound a note from the GM font again :
>>
>>      noteon 0 60 80
>>      noteoff 0 60
>>      
>> This makes the correct noise - GM Acoustic Grand
>>
>> Now play a note on channel 2 on a midi keyboard - this makes the correct
>> noise ( Hammond ).
>>
>> Now play a note on channel 1 on a midi keyboard. This makes the WRONG
>> noise, its a horribly distorted Acoustic Piano.
>>
>> It might just be a mix of Hammond and Acoustic Piano, but to me it sounds
>> more like the Acoustic Piano with the vibrato from the Hammond.
>>
>> Issue the command
>>
>>      cc 0 121 0
>>      
>> Play the keyboard again ( channel 1 ) - now this makes the correct noise (
>> Acoustic Grand ).
>>
>> Unfortunately the Hammond soundfont is commercial, so I can't just share it
>> :(. I used a tool ( Swami ) to look at this font. When I look at notes in
>> the instrument section, and select the 'Misc. Controls' tab, I see a non
>> zero value ( 8.176 ) for the frequency setting of the Modulation LFO.
>>
>> So my initial hypothesis is that when a note is played ( via MIDI ), then
>> this modulation is applied to all MIDI channels, even if they are mapped to
>> an entirely different font.
>>
>> Cheers,
>> Mark
>>
>> On Wed, 20 Jul 2016 09:56:14 +0200, you wrote:
>>
>>> Hi, Mark
>>>
>>>> the modulation characteristics of a Hammond font mapped to one midi
>>>> channel end up being applied to everything...
>>> Can you explain what you mean by "..the modulation caracteristics of a 
>>> Hammond font.." ?
>>> If you feel that there is something wrong, please don't hesitate to explain 
>>> what you have found.
>>>
>>>> I've looked at sourceforge, but it wasn't clear how I should raise a
>>> ticket.
>>>
>>> 1) You must create an account on Sourceforge.
>>> 2) Once logged from your account, the Ticket tab enables menus to create 
>>> and edit your ticket.
>>>
>>>> Is this an appropriate place to discuss the problem ? If so I'll
>>>> supply more details.
>>> I you read through the tickets you will find that usually tickets are used 
>>> to:
>>> 1) raise "Bugs"  or offer "patches".
>>> 2) but they are used also for "technical suggestions"about fluidsynth 
>>> actual behavior
>>> and possible enhancements to remain compliant with SoundFonts and MIDI.
>>>
>>> Regards
>>>
>>>
>>> Le 20/07/2016 02:30, Mark de Roussier a écrit :
>>>> Hi everyone,
>>>>
>>>> I'm attempting to use fluidsynth as the basis for a headless soundfont
>>>> synth based on an RPi. The particular requirement is that it should have
>>>> some good Hammond organ sounds, and also support standard GM. So I'm trying
>>>> to configure fluidsynth with some commercial Hammond fonts plus the
>>>> standard fluidsynth GM font.
>>>>
>>>> I think I've found a problem in the course of trying to make this work. The
>>>> gist of the matter is that there appear to be some circumstances in which
>>>> the modulation characteristics of a Hammond font mapped to one midi channel
>>>> end up being applied to everything, regardless of font or channel.
>>>>
>>>> I've looked at sourceforge, but it wasn't clear how I should raise a
>>>> ticket. Is this an appropriate place to discuss the problem ? If so I'll
>>>> supply more details.
>>>>
>>>> Thanks,
>>>> Mark
>>>>
>>>> _______________________________________________
>>>> 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]