[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Denemo-devel] Fluidsynth build
From: |
Richard Shann |
Subject: |
Re: [Denemo-devel] Fluidsynth build |
Date: |
Wed, 28 Oct 2009 10:04:35 +0000 |
On Mon, 2009-10-26 at 13:39 -0500, Jeremiah Benham wrote:
> On Mon, 2009-10-26 at 18:11 +0000, Richard Shann wrote:
> > I have built denemo from git with --enable-fluidsynth
> > but I don't know how to test it. I don't hear anything synthesized
> > with/without immediate playback set for example, and the aural training
> > game did not sound out.
> > What are the settings needed?
>
> At the moment the settings are in preferences FLUIDSYNTH tab. This will
> soon be moved to the playback properties. First I must clean up playback
> properties. I see that it is still using tables. I thought I did this
> already. I guess I did not. Perhaps that is another file I am thinking
> of. In the FLUIDSYNTH choose and audio output driver. You will probably
> want alsa or jack. This will soon be a combobox. Next you are going to
> have to place the path to your soundfont in the other text entry dialog.
> This will also be replaced with one of those file chooser dialogs. I
> plan on having the display of loaded soundfonts in a kind of display
> that looks similar to the Score Configuration Wizard Instrument
> selection with a load sound font and an unload soundfont button. Then we
> will also have to have a way to chose bank and all of that from the
> soundfont selected.
>
> Midi playback does not work yet via FLUIDSYNTH it is still via timidity
> or users midi player. I have not read all of fluidsynth's api but so far
> the only way to deal with midi data is like this:
> fluid_synth_noteon(synth, channel, key, velocity);
>
> If this is all we have we will have to fire this off at the time of each
> midi event. Would we use a similar timer that would increment an index
> in midi ticks for time then run fluid_synth_noteon in a for loop.
> Something like is sudo code:
>
> for (;;){
> if (smf->midi_tick = NULL){ //end of song
> EndOfSong = TRUE;
> break;
> }
> if (index smf->event->midi_tick)
> fluid_synth_noteon(synth, channel, key, velocity);
>
> smf->event = smf_next_event();
> }
>
> The the timer would be stopped and index reset to 0 when EndOfSong ==
> TRUE;
>
> Am I on the right track with that?
I think you may need:
fluid_synth_t fluid_synth_handle_midi_event() calls the appropriate
synth routine (noteon, pitch bend etc).
which I found at
https://resonance.org/svn/fluidsynth/api/index.html
Richard
- Re: [Denemo-devel] Fluidsynth build, (continued)
- Re: [Denemo-devel] Fluidsynth build, Richard Shann, 2009/10/28
- Re: [Denemo-devel] Fluidsynth build, Jeremiah Benham, 2009/10/28
- Re: [Denemo-devel] Fluidsynth build, Richard Shann, 2009/10/28
- Re: [Denemo-devel] Fluidsynth build, Richard Shann, 2009/10/28
- Re: [Denemo-devel] Fluidsynth build, Jeremiah Benham, 2009/10/28
- Re: [Denemo-devel] Fluidsynth build, Richard Shann, 2009/10/28
- Re: [Denemo-devel] Fluidsynth build, Jeremiah Benham, 2009/10/29
Re: [Denemo-devel] Fluidsynth build, Richard Shann, 2009/10/27
Re: [Denemo-devel] Fluidsynth build,
Richard Shann <=