Discussion:
[fluid-dev] Change instrument on channel ?
k***@nm.ru
2003-03-31 04:01:23 UTC
Permalink
Hi !
I use fluidsynth with my sf2 collection, and i have some full-GM sf2.
channels
chan 0, Piano 1 - SC88
chan 1, Piano 2 - SC88
chan 2, Piano 3 - SC88
chan 3, Honky Tonk - SC88
chan 4, EMU Mark I Soft NC
chan 5, E.Piano 2
chan 6, Harpsichord
chan 7, Clavinet
chan 8, Celesta
chan 9, no preset
chan 10, Music Box
chan 11, Vibraphone
chan 12, Marimba
chan 13, Xylophone
chan 14, Tubular Bells
chan 15, Dulcimer
I try change instrument in sequencer (or in virtual keyboard), but fluidsynth play own
instrument (for example, i select bass-guitar on channel 12, but fluidsynth play Marimba).
Is it right ? May be i must to load font with options, which instrument load to channel ?
I cann't find "docs and tutorial" about fluidsynth.
Please help me.
Sorry for a possible mistakes, WBR
Roman.
Antoine Schmitt
2003-03-31 11:24:10 UTC
Permalink
Post by k***@nm.ru
select bass-guitar on channel 12
which instrument load to channel ?
try :
prog <chan> <num>
example : prog 12 35 assigns preset number 35 to channel 12
--
++ as
k***@nm.ru
2003-04-01 04:49:11 UTC
Permalink
Hello, Antoine Schmitt
Ïí, 31.03.2003 15:24:10 you wrote:

AS> :::::::::31/03/03::::8:01 +0400::::<***@nm.ru>:::::::::
AS> >select bass-guitar on channel 12
AS> :::::::::31/03/03::::8:01 +0400::::<***@nm.ru>:::::::::
AS> >which instrument load to channel ?
AS>
AS> try :
AS> prog <chan> <num>
AS> example : prog 12 35 assigns preset number 35 to channel 12
AS>
AS> --
AS>
AS> ++ as
AS>
AS> __________

Thank you! It's realy work.
But... some problems with drums and non-zero-bank instruments.
Example:

$fluidsynth -z 2048 -c 2 -a alsa -n -r 48000
load CD_arkivo/sf2_01/gm/sYnerGi-8Mb.sf2
inst 0
000-000 Piano 1 - SC88
000-001 Piano 2 - SC88
000-002 Piano 3 - SC88
000-003 Honky Tonk - SC88
000-004 EMU Mark I Soft NC
000-005 E.Piano 2
000-006 Harpsichord
000-007 Clavinet
000-008 Celesta
000-009 Glockenspiel
000-010 Music Box
000-011 Vibraphone
000-012 Marimba
000-013 Xylophone
000-014 Tubular Bells
000-015 Dulcimer
000-016 Organ 1
000-017 Organ 2
000-018 Rock Organ (EMU8Mb)
000-019 Church Organ
000-020 Reed Organ
... //skipped
000-120 Fret Noise
000-121 Breath Noise
000-122 Seashore
000-123 Bird
000-124 Telephone
000-125 Helicopter
000-126 Applause
000-127 Gun Shot
001-038 Studio Bass
001-081 VanHalen 'Jump' Saw
128-000 DazGM8Mb Standard
128-008 DazGM8Mb Room
128-016 DazGM8Mb Power
128-024 DazGM8Mb Electronic
128-025 DazGM TR808 909
128-032 DazGM8Mb Jazz
128-040 DazGM8Mb Brush
128-048 DazGM8Mb Orchestra
channels
chan 0, Piano 1 - SC88
chan 1, Piano 2 - SC88
chan 2, Piano 3 - SC88
chan 3, Honky Tonk - SC88
chan 4, EMU Mark I Soft NC
chan 5, E.Piano 2
chan 6, Harpsichord
chan 7, Clavinet
chan 8, Celesta
chan 9, no preset
chan 10, Music Box
chan 11, Vibraphone
chan 12, Marimba
chan 13, Xylophone
chan 14, Tubular Bells
chan 15, Dulcimer
prog 9 128
channels
chan 0, Piano 1 - SC88
chan 1, Piano 2 - SC88
chan 2, Piano 3 - SC88
chan 3, Honky Tonk - SC88
chan 4, EMU Mark I Soft NC
chan 5, E.Piano 2
chan 6, Harpsichord
chan 7, Clavinet
chan 8, Celesta
chan 9, no preset
chan 10, Music Box
chan 11, Vibraphone
chan 12, Marimba
chan 13, Xylophone
chan 14, Tubular Bells
chan 15, Dulcimer

no instr on channel 9! i try prog 9 128-000, prog 9 024-128 and other combinations - no result.
also, when i try to load instrument with bank!=0, f.e. "001-081 VanHalen 'Jump' Saw", fluidsynth load
an instrument with same number and bank number == 0.

and can i to change instrument number in sequencer, or i MUST do it in fluidsynth? it's ok with midi-keyboard,
but strangely with sequencer.

may be i can see docs, manuals and/or tutorial about fluidsynth? i cann't find on fluidsynth.org and in fluidsynth-tarball. it's a good program, and i want to use it completely.

sorry for possible mistakes, WBR
Roman.
Antoine Schmitt
2003-04-01 11:02:51 UTC
Permalink
Post by k***@nm.ru
may be i can see docs, manuals and/or tutorial about fluidsynth?
To select other banks than bank 0, use :
select <chan> <sfont> <bank> <preset>
example :
select 12 0 128 16
=> selects preset 16 of bank 128 of sfont 0 on channel 12
(sfont 0 is the first loaded soundfont file, sfont 1 the second, etc..)

For the documentation of the fluidsynth.exe commands, please use the
'help' command (and 'help help' is useful).

For the documentation of the fluidsynth library, please refer to the
CVS sources. There is a documentation file.

Hope this helps,
--
++ as
Antoine Schmitt
2003-04-28 23:34:47 UTC
Permalink
I fixed a nasty bug that dropped random noteon events:
In defsfont.C, the instrument zone's lokey was not initialized. So if
a loaded soundfont did not have a lokey defined for an instrument
zone, the lokey in RAM was set to whatever value was in memory at
that moment. Thus all noteon below that random number were dropped on
that channel/preset/instrument. It was nasty to find because it does
not happen in the debugger (in VC++)...

Fixed in CVS.
--
++ as
Antoine Schmitt
2003-05-13 15:15:57 UTC
Permalink
It seems that the refcount/notify scheme defined in the sample_t API
is never used nor implemented in the fluidsynth code.
Am I missing something ?
--
++ as
Antoine Schmitt
2003-05-13 16:13:08 UTC
Permalink
Post by Antoine Schmitt
It seems that the refcount/notify scheme defined in the sample_t API
is never used nor implemented in the fluidsynth code.
Am I missing something ?
Sorry for the very short message above. What I meant is : I dont seem
to be able to figure out, given the current implementation, if I can
delete a sample or not, as it might be currently used in a voice. Am
I right?
--
++ as
Loading...