Kara-Moon Forum
March 30, 2024, 08:30:50 AM *
Welcome, Guest. Please login or register.

Login with username, password and session length
News: You can go back to the main site here: Kara-Moon site
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: High quality soundfonts as alternative to FluidR3_GM.sf2  (Read 9152 times)
falcon74
Jr. Member
*
Posts: 29


« on: December 03, 2019, 02:24:19 PM »

Hi,

Admittedly, I am new to Linux Music/Audio, so some of what I write might be pretty naive or even stupid. Based on what I have understood, apart from what is perhaps the default for FluidSynth, i.e. FluidR3_GM.sf2, there are these alternative SoundFonts that I have on my system, that I've played around with:

  • Guitars-Universal-V1.5.sf2
  • Nice-Keys-B-Plus-JN1.4.sf2
  • SGM-v2.01-NicePianosGuitarsBass-V1.2.sf2
  • OmegaGMGS2.sf2

The Guitars-Universal one has very nice guitar sounds, the Nice-Keys has pretty good keys and pads, OmegaGMGS sounds somewhat better than FluidR3_GM. However SGM-NicePianosGuitarBass seems to offer the best overall sound (with pretty rich base). However, I am not sure that the sound-font is missing some sounds or not. Are there other good soundfonts that cover the full range of banks for GM ? How can I check if some instruments a midi-file requires are missing ? What happens when an instrument is missing from a sound-font ? Is there a fallback to some default sounds ?

cheers,
f74
Logged
sciurius
Sr. Member
****
Posts: 443



« Reply #1 on: December 03, 2019, 04:04:03 PM »

I have good experiences with the CrisisGM font, and the AirFonts (340, 380). Sonatina_Symphonic_Orchestra is also nice.

I'm not sure what happens when an instrument is missing from a font. Good chance you'll hear nothing, or a piano sound. It probably depends on the program playing the midi.
Logged
falcon74
Jr. Member
*
Posts: 29


« Reply #2 on: December 04, 2019, 06:48:35 AM »

Thank you @sciurius. Will try out those sound-fonts. Will also try to find out about the expected behaviour of Fluidsynth when soundfont for some instrument are missing. Wondering if there is any way to use multiple soundfonts i.e. some banks / instruments served by one soundfont file, while others from another. Found out about SWAMI that can be used to edit soundfonts. Worst case one could statically mix into a new soundfount, using the best of both worlds, but I suspect there may be some lingering copyright issues.
Logged
falcon74
Jr. Member
*
Posts: 29


« Reply #3 on: December 04, 2019, 07:32:02 AM »

How to list instruments available in a soundfont file ?
Code:
$ echo "inst 1" | fluidsynth /path/to/FluidR3_GM.sf2

Thanks to this Stackoverflow answer.

As per this the SGM-v2.01-NicePianosGuitarsBass-V1.2.sf2 seems to be pretty comprehensive. Here's the output:

Code:
000-000 Grand Piano                                                                                                                             
000-001 Bright Grand                                                                                                                             
000-002 Piano 3                                                                                                                                 
000-003 Honky-Tonk                                                                                                                               
000-004 E.Piano 1                                                                                                                               
000-005 E.Piano2                                                                                                                                 
000-006 Harpsichord                                                                                                                             
000-007 Clav.                                                                                                                                   
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 Organ 3                                                                                                                                 
000-019 Pipe Organ                                                                                                                               
000-020 Reed Organ                                                                                                                               
000-021 Accordion                                                                                                                               
000-022 Harmonica                                                                                                                               
000-023 Bandoneon                                                                                                                               
000-024 Nylon Guitar                                                                                                                             
000-025 Steel Guitar
000-026 Jazz Guitar
000-027 Clean Guitar
000-028 Muted Guitar
000-029 Overdrive Guitar
000-030 Distortion Guitar
000-031 Gt.Harmonics
000-032 Acoustic Bass
000-033 Fingered Bass
000-034 Picked Bass
000-035 Fretless Bass
000-036 Slap Bass 1
000-037 Slap Bass 2
000-038 Synth Bass 1
000-039 Synth Bass 2
000-040 Violin
000-041 Viola
000-042 Cello
000-043 Contrabass
000-044 Tremolo Strings
000-045 Pizzicato Strings
000-046 Harp
000-047 Timpani
000-048 Strings
000-049 Slow Strings
000-050 Synth Strings 1
000-051 Synth Strings 2
000-052 Choir Aahs
000-053 Voice Oohs
000-054 Synth Vox
000-055 OrchestraHit
000-056 Trumpet
000-057 Trombone
000-058 Tuba
000-059 MutedTrumpet
000-060 French Horns
000-061 Brass 1
000-062 Synth Brass 1
000-063 Synth Brass 2
000-064 Soprano Sax
000-065 Alto Sax
000-066 Tenor Sax
000-067 Baritone Sax
000-068 Oboe
000-069 English Horn
000-070 Bassoon
000-071 Clarinet
000-072 Piccolo
000-073 Flute
000-074 Recorder
000-075 Pan Flute
000-076 Bottle Blow
000-077 Shakuhachi
000-078 Whistle
000-079 Ocarina
000-080 Square Wave
000-081 Saw Wave
000-082 Synth Calliope
000-083 Chiffer Lead
000-084 Charang
000-085 Solo Vox
000-086 5th Saw Wave
000-087 Bass & Lead
000-088 Fantasia
000-089 Warm Pad
000-090 Polysynth
000-091 Space Voice
000-092 Bowed Glass
000-093 Metal Pad
000-094 Halo Pad
000-095 Sweep Pad
000-096 Ice Rain
000-097 Soundtrack
000-098 Crystal
000-099 Atmosphere
000-100 Brightness
000-101 Goblin
000-102 Echo Drops
000-103 Star Theme
000-104 Sitar
000-105 Banjo
000-106 Shamisen
000-107 Koto
000-108 Kalimba
000-109 Bagpipe
000-110 Fiddle
000-111 Shenai
000-112 Tinkle Bell
000-113 Agogo
000-114 Steel Drums
000-115 Woodblock
000-116 Taiko
000-117 Melodic Tom
000-118 Synth Drum
000-119 Reverse Cym.
000-120 Gt.FretNoise
000-121 Breath Noise
000-122 Seashore
000-123 Bird
000-124 Telephone
000-125 Helicopter
000-126 Applause
000-127 Gun Shot
001-005 12 String Guitar
001-008 Pop Celesta
001-025 12 String Guitar
001-028 Muted Dis.Gt
001-050 OB Strings
001-073 Flute 2
001-080 MG Square
001-088 Fantasia 2
001-122 Rain
002-050 StackStrings
002-080 Hollow Mini
002-082 Pure PanLead
002-087 Fat & Perky
002-092 JP8 Sqr Pad
002-120 String Slap
002-122 Thunder
002-127 Laser Gun
003-050 JP Strings
003-055 Euro Hit
003-080 Mellow FM
003-098 Round Glock
003-122 Wind
003-123 Bird 2
003-126 Punch
003-127 Explosion
004-030 Dist.Fast :
004-035 Syn Fretless
004-080 CC Solo
004-087 JP8 BsLead(sybs2sq)
004-098 Loud Glock
004-122 Stream
004-124 Scratch
004-125 Car-Crash
004-126 Heart Beat
005-122 Bubble
005-124 Windchimes
005-125 Siren
005-126 Footsteps
006-080 LM Square
006-081 GR-300
006-120 Pick Scrape
006-125 Train
007-125 Jetplane
008-007 Comp Clav.
008-031 Gt. Feedback
008-038 Acid Bass
008-052 St.ChoirAahs
008-055 Impact Hit
008-080 2600 Sine
008-100 Org Bell
008-103 Dream Pad
008-115 Castanets
008-116 Concert BD
008-118 808 Tom
008-125 Starship
009-011 Vibraphones
009-052 Melted Choir
009-080 Sine Lead
009-103 Silky Pad
010-080 KG Lead
010-098 Music Bell
010-118 Sine Perc.
010-124 Phono Noise
011-124 MC-500 Beep
016-012 Barafon
016-018 Rotary Org.S
016-025 Mandolin
016-030 Power Guitar
016-071 Multi Wind
016-080 P5 Square
016-084 P5 Sync Lead
016-113 Tambourine
016-117 Rash SD
017-080 OB Square
017-090 ReverseSweep
018-080 JP-8 Square
020-038 Hammer
022-120 A.Bs Slap Nz (1)
023-120 A.Bs Slap Nz (2)
024-005 Hard FM EP
024-030 Rock Rhythm
024-061 Octave Brass
024-115 Finger Snaps
024-120 A.Bs Slap Nz (3)
025-030 Rock Rhythm2
026-030 Dist Rtm GTR
035-081 Oct Saw Lead
040-081 SequencedSaw (1)
041-081 SequencedSaw (2)
046-081 SequencedSaw
120-000 STANDARD 1
120-001 STANDARD 2
120-002 STANDARD 3
120-003 ROOM
127-000 GS STANDARD 1
127-001 GS STANDARD 2
127-002 GS STANDARD 3
127-003 -
127-004 --
127-005 ---
127-006 ----
127-007 -----
127-008 GS ROOM
127-009 GS HIP HOP
127-010 GS JUNGLE
127-011 GS TECHNO
127-012 ------
127-013 GS HOUSE
127-016 GS POWER
127-017 -------
127-024 GS ELECTRONIC
127-025 GS TR-808
127-026 GS CR-78
127-027 GS DANCE
127-028 --------
127-029 GS TR-707
127-030 GS TR-909
127-031 ---------
127-032 GS JAZZ
127-033 ----------
127-040 GS BRUSH
127-041 -----------
127-048 GS ORCHESTRA
127-049 GS ETHNIC
127-050 GS KICK & SNARE
127-051 ------------
127-056 GS SFX
127-057 -------------
127-064 --------------
127-065 ----------------
127-066 -----------------
127-117 Taiko (sc55 map)
127-126 ------------------
127-127 -------------------
128-000 STANDARD 1
128-001 STANDARD 2
128-002 STANDARD 3
128-008 ROOM
128-009 HIP HOP
128-010 JUNGLE
128-011 TECHNO
128-012 ---------------
128-013 HOUSE
128-016 POWER
128-024 ELECTRONIC
128-025 TR-808
128-026 DANCE
128-027 CR-78
128-029 TR-707
128-030 TR-909
128-032 JAZZ
128-040 BRUSH
128-048 ORCHESTRA
128-049 ETHNIC
128-050 KICK & SNARE
128-056 SFX
128-064 --SGM drum kits--
Logged
sciurius
Sr. Member
****
Posts: 443



« Reply #4 on: December 04, 2019, 10:53:19 AM »

I don't know about fluidsynth, but Timidity++ takes a config file where you can define your own instrument mappings. For example a section from my 'Bass.cfg':

Code:
bank 0
0 %font 1115-Bass_Jam.sf2 0 0   # BassJam
1 %font 1115-BassPONK.sf2 0 0   # BassPonk
2 %font 1115-Filter_Bass_1.sf2 0 1   # Filter Bass 1
3 %font 1115-Fingered_bass_One.sf2 0 0   # Fingered Bass One
4 %font 1115-Roland_Novation_Bass.sf2 0 0   # Roland Novation Bass
5 %font 1276-FReTLeZzz.sf2 0 0   # NARUBASSO
16 %font 241-Bassguitars.sf2 0 0   # Bassgitaar2
17 %font 241-Bassguitars.sf2 0 1   # Bassgitaar3
18 %font 241-Bassguitars.sf2 0 2   # Bassgitaar4
19 %font 241-Bassguitars.sf2 0 3   # Bassgitaar5

As you can see it maps entries from several different sount fonts.

An example (template) config can be generated from a soundfont file using the attached perl script. You must rename sf_list.txt to sf_list.pl.

Code:
$ perl sf_list.pl -c my_soundfont.sf2

* sf_list.txt (8.55 KB - downloaded 235 times.)
Logged
falcon74
Jr. Member
*
Posts: 29


« Reply #5 on: December 04, 2019, 07:39:44 PM »

Great thanks. What Timidity can do with respect to using multiple sf2 files for various instruments is impressive.
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!
Page created in 0.038 seconds with 20 queries.