[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [fluid-dev] Soundfont banks
From: |
jimmy |
Subject: |
Re: [fluid-dev] Soundfont banks |
Date: |
Thu, 12 Jul 2012 10:04:41 -0700 (PDT) |
--- On Wed, 7/11/12, David Henningsson <address@hidden> wrote:
> The XG spec is the easy one to find:
>
> http://web.archive.org/web/20060926124939/http://www.yamaha.co.uk/xg/reading/pdf/xg_spec.pdf
I believe I have read that document before. It's some 20, or 30 years old
guideline. Later, Yamaha had some XG-Lite labeling on lower-priced keyboards
and sound modules, which is less than the XG label on higher priced arranger
keyboards.
I mentioned much of what I knew relating to XG before on this mailing list.
Anyway, let me share a more up-to-date items and my views on XG and GM again
here.
Compare that XG-spec to the CC0/CC32 tables for numerous Yamaha arranger
keyboards since the date of that old XG-specs, there have been many
improvements "well beyond" what was mentioned in that XG-spec document.
Synth and workstation keyboards are geared toward instrument voice-tweaking,
for both live performance as well as studio recording. Arranger keyboards are
geared toward one-man-band players in live performance, arranger keyboards have
much better MIDI related soundbanks pre-assembled. Here's a place to look for
Yamaha arranger keyboard manuals:
http://www.yamaha.co.jp/manual/english/
Top-of-the-line arrangers are the Tyros series:
Tyros, Tyros2, Tyros3, Tyros4
Currently, right below that price range would be the PSR-S series:
PSR-S900, PSR-S910
Older generation higher-end keyboards prior to the Tyros and PSR-S series
include:
PSR-9000, PSR-8000, PSR-2000, PSR-3000, PSR-4000, PSR-5000, PSR-6000,
PSR-7000...
There are even more similar models in those numbering range, which are slight
enhancements to those base series.
I mention those, so those who are interested can get the manuals, go to the
appendix section and look up the soundbank mapping with the CC0/CC32 numbers.
Even down to individual instrument for normal instrument sound, or drum note
mappings.
Those who want to look at some XG-MIDI files, one zip-archive of a few dozen
files is here:
psrtutorial.com/songs/Yamaha/XGCurrent.zip
Not all of them use multiple drum channels, I din't look through all of them,
but here are a few within this archive which use 2 drum channels:
YamahaCurrent/Dance/Lost YME '97.mid
YamahaCurrent/Dance/Ambient by Sam Sketty YME '96.mid
YamahaCurrent/Dance/Matrix YME '97.mid
YamahaCurrent/Dance/Cop Out by Sam Sketty YME '96.mid
YamahaCurrent/Dance/Space Cat by Sam Sketty YME '96.mid
YamahaCurrent/Dance/Galactic Invasion by David Reading YME '96.mid
YamahaCurrent/SmoothJazz/Low Down by Sam Sektty YME '97.mid
YamahaCurrent/SmoothJazz/Steely by David Kelly YME '96.mid
YamahaCurrent/SmoothJazz/Animate1 Yamaha '96.mid
YamahaCurrent/Latin/Farolillo Yamaha '96.mid
I believe this one setup drums on 3 different channels:
YamahaCurrent/Dance/JazzJung Yamaha '96.mid
Make sure you run FluidSynth in XG mode with:
-o synth.midi-bank-select=xg
Note that some of those FluidSynth console messages may refer to various
soundbank numbers that could not be found. Beware that those soundbank numbers
might not be acurrate, because FluidSynth currently ignore CC0 (MSB) portion of
the soundbank number, particularly in XG mode. With my patch, the reported
numbers would be the accurate soundbank numbers, which will help in working on
a more accurate soundbank mapping strategies.
I don't consider any of those XG-MIDI files being in contradiction to the GM
specs at all. If anything, they are some examples of how one may interpret the
GM specs.
As such, I would recommend folks who don't have the official GM, and GM2 specs
to take a peek at the Tyros and PSR-S900 manuals for some examples of soundbank
mapping using CC0/CC32 numbering.
Might as well, inspecting some of the multiple drum-channel usages in the
XG-MIDI files for some understanding of the GM2 "suggesting" 2 drum channels
being explicitly mentioned in GM2 specs. Again, in my opinion, using multiple
drum channels is in no way violating the original GM specs at all. Only the
narrowest-minded people would stick to the explicit "channel 9 for drum" as
"the only drum channel allowed", especially now that some examples have been
shown, along with GM2 specs.
> Apart from GM1, GM2, XG and GS, I don't know of any other
> specification
> or standard, so I'm not sure exactly what you mean with
> "MIDI-1",
> "MIDI-2", or "Full MIDI specs" which you talk about below.
> Could you
> explain these three terms, where you find specifications for
> them, and
> so on?
I suppose I use MIDI-1 and MIDI-2 to refer to GM1 and GM2 specs. Although, I
totally disagree with your definition of "GM-mode" not allowing soundbank
switching (not allowing CC0/CC32) as the full GM1 specs.
You implied that the "no soundbank switching" as "the GM specs". I call that
the "minimalist, default soundbank in GM-mode", provided as a "compatibility
mode" back in the era when most instruments did not even have a "single"
complete soundbank. GM specs also include CC0/CC32. Without numerous CC#
events, it wouldn't be MIDI standard at all.
By "default soundbank", I mean that GM specs allows for using CC0/CC32 to
change to other soundbanks. But if no such additional soundbank was available
for that CC0/CC32 combo, it would revert to use the "default soundbank".
Of course, interpretation from 20, 30 years ago was the struggle to provide
even one common soundbank for all hardwares. Nowaday, if any musical
instrument come out providing just one single soundbank, make sure your
calendar didn't show April 1st.
> I'm also open to extending the XG mode to make use of that
> feature, once
> that feature is complete.
Let me state my opion again here, that XG is just a play on GM-specs. If
FluidSynth has proper support for GM specs, XG should not be a big deal.
GM-specs include numerous CC# messages. Currently my point of contention is
lack of full CC0/CC32 support (which is part of GM-specs). For those
interested, a list of those can be found here:
http://home.roadrunner.com/~jgglatt/tech/midispec/ctllist.htm
I don't even know most of those things. Even the
CC7 Volume (coarse)
was at one time referred by some as "Master volume" for some hardwares,
probably a carry over from some MIDI-controller, or some simple synth with just
a few sounds which transmits on only a single channel. More recently it is
used more appropriately as "channel volume".
GM specs do not explicitly forbid drumset usage in other channels. It simply
suggest that channel 9 be used for drum. What if someone want to use more than
one drum-sets at the same time? GM specs didn't explicitly address that, but a
flexible GM implementation should not forbid such usage either.
GM2 suggests 2 specific channels for drums. What if someone want to use 3 drum
channels, or use some other channel for drum instead? One of the XG-MIDI files
above wanted 3 drum channels. Don't tell me that is against some specs, please.
I brought it up because I want people to realize that softwares should be
flexible to accommodate numerous different intrepretations, configurations and
variations even years down the road. It comes down to having a flexible
interpretation to begin with. If "drums was said to be on channel 9 by the GM
specs" was the only interpretation, then there would be no options what-so-ever
for drums to be used on any other channels at all. Such is just sad, IMHO.
I was at a live hard-rock concert once, where there were two "over-full"
drumsets on the stage, played by two drumers at the same time. It's not
impossible. Hey, gutarists do it, symphonies do it, let the drummers do it.
Jimmy
- Re: [fluid-dev] OSC support, (continued)
Re: [fluid-dev] OSC support, jimmy, 2012/07/09
- [fluid-dev] Soundfont banks (was: Re: OSC support), David Henningsson, 2012/07/09
- Re: [fluid-dev] Soundfont banks (was: Re: OSC support), jimmy, 2012/07/09
- Re: [fluid-dev] Soundfont banks, David Henningsson, 2012/07/09
- Re: [fluid-dev] Soundfont banks, jimmy, 2012/07/10
- Re: [fluid-dev] Soundfont banks, David Henningsson, 2012/07/10
- Re: [fluid-dev] Soundfont banks, jimmy, 2012/07/10
- Re: [fluid-dev] Soundfont banks, David Henningsson, 2012/07/11
- Re: [fluid-dev] Soundfont banks,
jimmy <=
- Re: [fluid-dev] Soundfont banks, David Henningsson, 2012/07/16
- Re: [fluid-dev] Soundfont banks, jimmy, 2012/07/16
Re: [fluid-dev] Soundfont banks, Matt Giuca, 2012/07/11
Re: [fluid-dev] Soundfont banks, Ebrahim Mayat, 2012/07/11
Re: [fluid-dev] Soundfont banks, jimmy, 2012/07/10