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: Fri, 22 Jul 2016 00:45:12 +0100

Hi Element,

OK, I've just tried the aseqdump idea. There are no unexpected note events.
But there are control change events sent when I change channel on the
keyboard, which of course I am doing during my test. When I change midi
channel from 1 to 2, I see :

Control change  0, controller 1, value 0
Control change  1, controller 1, value 127

And vice versa, for 2 to 1 :

Control change  1, controller 1, value 0
Control change  0, controller 1, value 127

I think controller 1 is modulation MSB. I don't know what effect setting it
to 127 is actually intended to have, but then I don't understand why any
such message should be generated :(.

And just to confirm, I also see these when I dump the channel using 'amidi
-p hw:1,0,0 -d'. 

Arrrgh !!!! I've just tried pressing the 'vibrato' button on the keyboard
I'm using, which is ancient and only used for hacking/testing purposes.
There's a small rubber button that turns vibrato on, and a LED that should
light up when vibrato is on, but it seems that it doesn't. 

Very sorry to waste all your time - but without your help, I might still be
screwed, so thanks a lot :). 

Cheers,
Mark

On Thu, 21 Jul 2016 15:52:47 -0600, you wrote:

>Hello Mark,
>
>I wouldn't trust the Anjuta project file, it may be outdated.  The cmake
>build is the recommended method of building FluidSynth currently.
>
>In regards to MIDI events being possibly the source of the problem, what
>about running something like aseqdump and connecting your keyboard up to it
>and see if it is sending anything weird.
>
>Best regards,
>
>Element
>
>On Thu, Jul 21, 2016 at 3:48 PM, Mark de Roussier <address@hidden>
>wrote:
>
>>
>> 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
>>
>> _______________________________________________
>> 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]