fluid-dev
[Top][All Lists]
Advanced

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

Re: [fluid-dev] Son of ticket #65


From: Pedro Lopez-Cabanillas
Subject: Re: [fluid-dev] Son of ticket #65
Date: Thu, 29 Jul 2010 13:00:31 +0200
User-agent: KMail/1.9.6 (enterprise 20070904.708012)

On Wednesday, July 28, 2010, David Henningsson wrote:
> 2010-07-28 22:21, Pedro Lopez-Cabanillas skrev:
> > On Wednesday, July 28, 2010, David Henningsson wrote:
> >> 2010-07-27 18:34, Pedro Lopez-Cabanillas skrev:
> >>> Hi,
> >>>
> >>> Something similar but not exactly the same to ticket #65.
> >>>
> >>> Sending a bank/program change CC MSB=1, PC=48 corresponding to a GM2/GS
> >>> Strings instrument, FluidSynth changes to percussion bank 128,
> >>> Orchestral set.
> >>>
> >>> Test case: load the GeneralUser GS soundfont [1] and play the demo song
> >>> "March #1 in D major".
> >>
> >> Banknumber is MSB*128 + LSB, in this case 128, there seems to be program
> >> changes for channel 11 to 15 to bank 128 prog 48 in the midi file, and
> >> there is a bank 128 prog 48 preset in GeneralUser_GS, and its name is
> >> "Orchestral".
> >>
> >> What is FluidSynth doing wrong?
> >
> > The formula ("Banknumber = MSB*128 + LSB") is not correct for GS
> > instruments. The bank number is the MSB value alone in this case. So, a
> > MIDI message CC#0 val=1 means bank#1.
> >
> > Changing this behavior breaks a lot of GM2/GS songs that now sound bad
> > when played by FluidSynth.
>
> Okay, thats bad.
>
> If we assume it was changed on purpose, changing it back will just
> probably break someone else's songs, I'm afraid. And that the GS/GM2
> specs are closed does not improve the situation, so it's difficult to
> verify. :-(
>
> Any suggestions? Adding yet another setting?
>
> // David

Comparision with other soft synths.

1. TiMidity++ version 2.13.2

Using a configuration file for TiMidity "GeneralUser.cfg" with this content:
---8<---
soundfont /usr/share/sounds/sf2/GeneralUser_GS_FluidSynth.sf2
---8<---

$ timidity -idv -c GeneralUser.cfg March_#1_in_D_major.mid
Init soundfonts `GeneralUser_GS_FluidSynth.sf2'
Playing March_#1_in_D_major.mid
Format: 1  Tracks: 17  Divisions: 120
Sequence: untitled
Time signature: 4/4 24 clock 8 q.n.
Key signature: 0 sharp(s) major
Time signature: 5/4 24 clock 8 q.n.
Key signature: 2 sharp(s) major
Time signature: 4/4 24 clock 8 q.n.
Track name: Piccolo
Track name: Flutes
Track name: Oboes
Track name: A Clarinets
Track name: Bassoons
Track name: F Horns
Track name: Trumpets
Track name: Trombones
Track name: Tuba
Track name: Percussion
Track name: Timpani
Track name: Violins
Track name: Violins II
Track name: Violas
Track name: Cellos
Track name: Double Basses
20584 supported events, 10558696 samples, time 3:59
Loading SF Drumset 48 36: Orchestral
Loading SF Drumset 48 59: Orchestral
Loading SF Drumset 48 81: Orchestral
Loading SF Tonebank 8 61: Brass Section 2
Loading SF Tonebank 1 48: Mono Strings Fast
Loading SF Tonebank 0 45: Pizzicato Strings
Loading SF Tonebank 0 47: Timpani
Loading SF Tonebank 0 57: Trombone
Loading SF Tonebank 0 58: Tuba
Loading SF Tonebank 0 60: French Horns
Loading SF Tonebank 0 68: Oboe
Loading SF Tonebank 0 70: Bassoon
Loading SF Tonebank 0 71: Clarinet
Loading SF Tonebank 0 72: Piccolo
Loading SF Tonebank 0 73: Flute
Loading SF Tonebank 0 48: Stereo Strings Fast
Loading SF Tonebank 0 61: Brass Section
Loading SF Drumset 0 36: Standard
Loading SF Drumset 0 59: Standard
Loading SF Drumset 0 81: Standard

Comments. TiMidity sound OK, with all instruments correctly selected.

2. Gervill Java SoftSynth (https://gervill.dev.java.net/)

$ java -cp gervill.jar:. simplemidiplayer.SimpleMidiPlayer

Loading the same SoundFont and MIDI file, it reports this:

(Sequence tab)

Track   Chan    Bank,Patch      Names

0       0       0,0             Acoustic Grand Piano untitled
1       1       0,72            Piccolo Piccolo
2       2       0,73            Flute Flutes
3       3       0,68            Oboe Oboes
4       4       0,71            Clarinet A Clarinets
5       5       0,70            Bassoon Bassoons
6       6       0,60            French Horn F Horns
7       7       1024,61         Trumpets
8       8       0,57            Trombone Trombones
9       9       0,58            Tuba Tuba
10      10      0,48            String Ensemble 1 Percussion
11      11      0,47            Timpani Timpani
12      12      128,48          Violins
13      13      128,48          Violins II
14      14      128,48          Violas
15      15      128,48          Cellos
16      16      128,48          Double Basses

(Soundbank tab)

Bank,Patch      Name

0,0     Stereo Grand
0,1     Bright Grand
0,2     Electric Grand
0,3     Honky-Tonk
0,4     Tine Electric Piano
0,5     FM Electric Piano
0,6     Harpsichord
0,7     Clavinet
0,8     Celeste
0,9     Glockenspiel
0,10    Music Box
0,11    Vibraphone
0,12    Marimba
0,13    Xylophone
0,14    Tubular Bells
0,15    Dulcimer
0,16    Tonewheel Organ
0,17    Percussive Organ
0,18    Rock Organ
0,19    Pipe Organ
0,20    Reed Organ
0,21    Accordian
0,22    Harmonica
0,23    Bandoneon
0,24    Nylon Guitar
0,25    Steel Guitar
0,26    Jazz Guitar
0,27    Clean Guitar
0,28    Muted Guitar
0,29    Overdrive Guitar
0,30    Distortion Guitar
0,31    Guitar Harmonics
0,32    Acoustic Bass
0,33    Finger Bass
0,34    Pick Bass
0,35    Fretless Bass
0,36    Slap Bass 1
0,37    Slap Bass 2
0,38    Synth Bass 1
0,39    Synth Bass 2
0,40    Violin
0,41    Viola
0,42    Cello
0,43    Double Bass
0,44    Stereo Strings Trem
0,45    Pizzicato Strings
0,46    Orchestral Harp
0,47    Timpani
0,48    Stereo Strings Fast
0,49    Stereo Strings Slow
0,50    Synth Strings 1
0,51    Synth Strings 2
0,52    Concert Choir
0,53    Voice Oohs
0,54    Synth Voice
0,55    Orchestra Hit
0,56    Trumpet
0,57    Trombone
0,58    Tuba
0,59    Muted Trumpet
0,60    French Horns
0,61    Brass Section
0,62    Synth Brass 1
0,63    Synth Brass 2
0,64    Soprano Sax
0,65    Alto Sax
0,66    Tenor Sax
0,67    Baritone Sax
0,68    Oboe
0,69    English Horn
0,70    Bassoon
0,71    Clarinet
0,72    Piccolo
0,73    Flute
0,74    Recorder
0,75    Pan Flute
0,76    Bottle Blow
0,77    Shakuhachi
0,78    Irish Tin Whistle
0,79    Ocarina
0,80    Square Lead
0,81    Saw Lead
0,82    Synth Calliope
0,83    Chiffer Lead
0,84    Charang
0,85    Solo Vox
0,86    5th Saw Wave
0,87    Bass & Lead
0,88    Fantasia
0,89    Warm Pad
0,90    Polysynth
0,91    Space Voice
0,92    Bowed Glass
0,93    Metal Pad
0,94    Halo Pad
0,95    Sweep Pad
0,96    Ice Rain
0,97    Soundtrack
0,98    Crystal
0,99    Atmosphere
0,100   Brightness
0,101   Goblin
0,102   Echo Drops
0,103   Star Theme
0,104   Sitar
0,105   Banjo
0,106   Shamisen
0,107   Koto
0,108   Kalimba
0,109   Bagpipes
0,110   Fiddle
0,111   Shenai
0,112   Tinker Bell
0,113   Agogo
0,114   Steel Drums
0,115   Wood Block
0,116   Taiko Drum
0,117   Melodic Tom
0,118   Synth Drum
0,119   Reverse Cymbal
0,120   Fret Noise
0,121   Breath Noise
0,122   Seashore
0,123   Birds
0,124   Telephone 1
0,125   Helicopter
0,126   Applause
0,127   Gun Shot
128,38  Synth Bass 101
128,44  Mono Strings Trem
128,48  Mono Strings Fast
128,49  Mono Strings Slow
128,52  Concert Choir Mono
128,57  Trombone 2
128,60  Solo French Horn
128,61  Brass Section Mono
128,80  Square Wave
128,81  Saw Wave
128,98  Synth Mallet
128,120 Cut Noise
128,121 Fl. Key Click
128,122 Rain
128,123 Dog
128,124 Telephone 2
128,125 Car-Engine
128,126 Laughing
128,127 Machine Gun
256,102 Echo Pan
256,120 String Slap
256,122 Thunder
256,123 Horse Gallop
256,124 Door Creaking
256,125 Car-Stop
256,126 Scream
256,127 Lasergun
384,122 Howling Winds
384,123 Bird 2
384,124 Door
384,125 Car-Pass
384,126 Punch
384,127 Explosion
512,122 Stream
512,123 Scratch
512,125 Car-Crash
512,126 Heart Beat
640,122 Bubbles
640,124 Windchime
640,125 Siren
640,126 Footsteps
768,125 Train
896,125 Jet Plane
1024,4  Chorused Tine EP
1024,5  Chorused FM EP
1024,6  Coupled Harpsichord
1024,14 Church Bells
1024,16 Detuned Tnwl. Organ
1024,17 Detuned Perc. Organ
1024,19 Pipe Organ 2
1024,21 Italian Accordian
1024,24 Ukulele
1024,25 12-String Guitar
1024,26 Hawaiian Guitar
1024,27 Chorused Clean Gt.
1024,28 Funk Guitar
1024,30 Feedback Guitar
1024,31 Guitar Feedback
1024,38 Synth Bass 3
1024,39 Synth Bass 4
1024,48 Orchestra Pad
1024,50 Synth Strings 3
1024,61 Brass Section 2
1024,62 Synth Brass 3
1024,63 Synth Brass 4
1024,80 Sine Wave
1024,81 Doctor Solo
1024,107 Taisho Koto
1024,115 Castanets
1024,116 Concert Bass Drum
1024,117 Melodic Tom 2
1024,118 808 Tom
1024,125 Starship
1152,14 Carillon
1152,125 Burst Noise
1408,0 Piano & Str.-Fade
1408,1 Piano & Str.-Sus
1408,4 Tine & FM EPs
1408,5 Piano & FM EP
1408,8 Tinkling Bells
1408,14 Bell Tower
1408,38 Techno Bass
1408,39 Pulse Bass
1408,49 Stereo Strings Velo
1408,50 Synth Strings 4
1408,51 Synth Strings 5
1408,61 Brass Section 3
1408,78 Whistlin'
1408,81 Sawtooth Stab
1408,87 Doctor's Solo
1408,88 Harpsi Pad
1408,89 Solar Wind
1408,96 Mystery Pad
1408,98 Synth Chime
1408,100 Bright Saw Stack
1408,119 Cymbal Crash
1408,121 Filter Snap
1408,127 Interference
1536,0 Bell Piano
1536,4 Bell Tine EP
1536,10 Christmas Bells
1536,27 Clean Guitar 2
1536,38 Mean Saw Bass
1536,48 Full Orchestra
1536,49 Mono Strings Velo
1536,80 Square Lead 2
1536,81 Saw Lead 2
1536,88 Fantasia 2
1536,89 Solar Wind 2
1536,119 Tambourine
1536,122 White Noise Wave
1536,127 Shooting Star
1664,48 Woodwind Choir
1664,80 Square Lead 3
1664,81 Saw Lead 3
1664,88 Night Vision
2048,25 Mandolin
15360,0 Standard Drums
15360,1 Standard 2 Drums
15360,8 Room Drums
15360,16 Power Drums
15360,24 Electronic Drums
15360,25 808/909 Drums
15360,26 Dance Drums
15360,32 Jazz Drums
15360,40 Brush Drums
15360,48 Orchestral Perc.
15360,56 SFX Kit
0,0     Standard
0,1     Standard 2
0,8     Room
0,16    Power
0,24    Electronic
0,25    808/909
0,26    Dance
0,32    Jazz
0,40    Brush
0,48    Orchestral
0,56    SFX

Comments. This soft synth also plays correctly the composition, in despite of 
calculating the bank number from the MIDI song with the same formula as 
FluidSynth. The difference is that the SoundFont file bank numbers are also  
adjusted according to the GS standard.

Regards,
Pedro



reply via email to

[Prev in Thread] Current Thread [Next in Thread]