home *** CD-ROM | disk | FTP | other *** search
- GUS Musician's Digest Thu, 10 Nov 94 11:58 PST Volume 10: Issue 9
-
- Today's Topics:
- Bank switching
- Extracting samples
- GUS Musician's Digest V10 #8
- Upgrade to MAX offer?
- Using lots of patches with a sequencer II
-
- Standard Info:
- - Meta-info about the GUS can be found at the end of the Digest.
- - Before you ask a question, please READ THE FAQ.
-
- ----------------------------------------------------------------------
-
- Date: Thu, 10 Nov 94 09:35:07 EST
- From: ivan@molson.ho.att.com (Ivan Strom)
- Subject: Bank switching
-
- My posting on bank loading has generated a couple of comments in the
- last digest, where I suggested that if we, as users, can agree on a standard,
- it would be easier to persuade sequencer authors to implement the standard.
-
- What I am doing here is incorporating some of the received comments and
- reorganizing the discussion into a set of issues as follows:
-
- 1) Mapping CC0/CC32 into bank numbers
- 2) Selection of drum channels
- 3) Use of multiple banks
- 4) Bank organization
-
- Note these comments should only apply to tracks mapped to a GUS synthesizer
- port, for those sequencers that can handle multiple output ports.
- ----------------------------------------------------------
- Mapping CC0/CC32 into bank numbers:
- Bank number is determined normally by (controller 0 * 128 + controller 32),
- i.e. CC0 is MSB, CC32 is LSB, the standard MIDI bank select. Since Roland
- uses the reverse (controller 0 + 128 * controller 32) sequencer authors
- should permit the user to select which convention they wish to use for their
- sequences (since both formats are de-facto standards). I would propose the
- convention that if only one of CC0/CC32 were set, that the
- bank number equal the value set in the single register. I have also
- proposed that for drum channel 10, if CC0/CC32 is unused, then a sequencer
- may use a program change on channel 10 as the bank number (for consistency
- with the many synths that choose a drumset based on program change).
- Each track may have its own bank select (but see the limitation in section 3).
- Since the sequencer (if it supports patch caching) will do a
- midiOutCachePatches before playing a sequence, all patches are preloaded
- (anticipated) before the sequence begins, rather than loaded on the fly
- (the driver does NOT interpret CC0/CC32 - these are only interpreted by the
- sequencer and converted to wBank arguments).
- ----------------------------------------------------------
- Selection of drum channels:
- I believe GUS only permits drums on channel 10. One comment suggested
- allowing drums on multiple channels, but these would need to be remapped
- to channel 10 by the sequencer or midimapper.
- ----------------------------------------------------------
- Use of multiple banks:
- Unless Gravis has an undocumented way of doing this (Gravis - any comment),
- you can only use 1 melodic bank and 1 percussive bank (with fallback to
- bank 0 for patches not in the designated bank), since subsequent calls
- to midiOutCachePatches reloads all patches in lpPatchArray from wBank
- (i.e. the call appears to clear all patches, then reload). This is a
- limitation which can only be cleared by Gravis, or thru clever programming
- techniques such as in PatchEze where patches get easily moved to bank 0.
-
- Note that the current windows drivers DO support bankswitching,
- but do not support incremental patch loading, thus only one bank
- may be specified (with fallback to bank 0 for patches not in the
- specified bank). The melodic/drum banks are specified via the wBank
- argument of midiOutCachePatches and the wPatch argument of
- midiOutCacheDrumPatches, not by direct interpretation of controllers 0/32
- nor by interpretation of a channel 10 program change.
- Thus, for example, a sequencer could call midiOutCachePatches with a bank
- of 128 (127?) to get a MT-32 mapping if someone wrote the correct mapping
- into ultrasnd.ini.
-
- The problem is that a sequencer needs to know what bank to request.
- If, for example, I ask for bank 128 on channel 1, but don't specify
- a bank for channel 2 (or specify a different bank number), what should
- the sequencer assume? Even within a single channel, what should the
- sequencer assume if the bank is changed in the middle of a piece?
- Proposal: the first non-zero bank encountered for melodics becomes the
- "controlling" bank, and is mapped into the wBank argument of the
- midiOutCachePatches call. (Similar logic for channel 10 drums).
-
- Note a caution in the above: If a sequence has the following:
- Track 1: Channel 1, Bank 0, ProgCh 0
- Track 2: Channel 2, Bank 128, ProgCh 32
- then the progch 0 will be loaded out of bank 128, not bank 0, if progch 0
- is defined in bank 128. There is no way to avoid this with the present driver,
- because of unimplemented incremental patch loading.
-
- Robert Coleman suggests that "maybe something should be thrown in, between
- the Gus driver , and the sequencer, or whatever uses the patches: a kind of
- Patch Daemon, who has the smarts and so-forth to manage the Gus in the Best
- Possible Way. After all, sequencer authors can't be expected to become
- Master Of All Soundcards' Peculiar Operating Rules, now can they !!!??!!"
-
- This could in fact be possible, written as a windows pseudo-midi device
- (just as midimapper is a pseudo-midi device which in turn invokes another
- device). The user could set their sequencer to talk to the pseudo-device,
- which would sit between the sequencer and the ultrasound. Such a pseudo-device
- might utilize a "temporary bank" (say bank 1024) for its own use, dynamically
- constructing the contents of the "temporary bank" based on the initial
- midiOutCachePatches call and subsequent interpretation of CC0/CC32, and
- with calls to the actual driver to load from the "temporary bank". This
- could create song play delays, which however may be acceptable for some uses.
-
- ----------------------------------------------------------
- Bank organization:
- Banks 0-511 can be "standardized". Suggest using GS bank numbers where
- applicable. E.g. bank 127 (Roland counts 1-128 etc., so then it would be
- bank 128) is the MT-32 mapping
-
- Banks 512+, which we can call USER banks, can be song-specific. These might
- be used where necessary to load patches across multiple banks.
-
- Albert Pauw suggest that the thing to do would to make a `standardized'
- ULTRASND.INI file, containing the banks and patches. Every bank has its own
- directory. Since he doesn't have some many Patches more than the
- standard ones, how are we going to define the other patches?
- Better (other instrument patches) like piano etc. can be used in
- the different banks. Thinking about it, it would be nice to have
- all banks on a CD-ROM. Ok, it takes some time to load them in
- the GUS, but you can keep them together and everyone has the
- same patches in the same banks.
-
- My thanks to Albert Pauw and Robert Coleman for their first set of comments.
- Perhaps after a couple of discussion iterations, we can use some kind of
- "voting" mechanism to come to closure on a proposal. Anyone know how to
- to this?
-
- Ivan Strom
-
- ------------------------------
-
- Date: Wed, 9 Nov 1994 14:25:17 -0500 (EST)
- From: "K.S. Holly" <u8843389@muss.CIS.McMaster.CA>
- Subject: Extracting samples
-
- I know this is old news but I've only recently gotten into making music
- with the GUS.
-
- How can I extract samples from midi files or mod files?
-
- Oh, and one more question. If I was not going to be doing any sampling,
- is it worth is to take advantage of the 'upgrade to the MAX' offer?
-
- All help appreciated.
-
- Kevin
-
- ------------------------------
-
- Date: Wed, 9 Nov 1994 14:22:23 -0800 (PST)
- From: George!!! <gmontem@mercury.sfsu.edu>
- Subject: Re: GUS Musician's Digest V10 #8
-
- <EOT>
-
- > Now, the thing to do would to make a `standardized' ULTRASND.INI
- > file, containing the banks and patches. Every bank has its own
- > directory. Since I don't have some many Patches more than the
- > standard ones, how are we going to define the other patches?
- > Better (other instrument patches) like piano etc. can be used in
- > the different banks. Thinking about it, it would be nice to have
- > all banks on a CD-ROM. Ok, it takes some time to load them in
- > the GUS, but you can keep them together and everyone has the
- > same patches in the same banks.
-
- I vote YES for the "proposed" plan for bank switching. I also had in
- mind that Advanced Gravis release a CD-ROM with patches for the extra
- banks. Users would just install which banks they want to use to the hard
- disk, and the installer simply adds in the proper names to the
- ultrasnd.ini file. That way, musicians can make better music, listeners
- would hear midi files more closely to what it was supposed to sound like
- (with the correct patches), and makes another reason to buy a CD-ROM!
- Also, just as a joke, Advanced Gravis can make a chart on their sound
- card ads, with in big print, 300+ patches, compared to the other sound
- card's 196 patches.
-
- Another change Gravis will have to make once this is proposed is a new
- Patch Manager. The current one only displays one bank at a time. It
- will not show patches used from other banks.
-
- By the way, besides windows, playmidi will need to be capable of Bank
- Switching. Hope a Bank switching standard for the GUS comes out soon.
-
- -= George!!! =-
-
- ------------------------------
-
- Date: Wed, 9 Nov 1994 23:59:05 +0100 (MET)
- From: BlackFunk <black@xs4all.nl>
- Subject: Upgrade to MAX offer?
-
- Someone recently wrote about a upgrade to MAX offer. I was considering
- selling my GUS and buying a GUS MAX so I was wondering if this offer is
- also possible in Europe (esp. the Netherlands).
-
- ANy info is welcome
-
- ------------------------------
-
- Date: Thu, 10 Nov 94 09:18:44 GMT
- From: bhs@utep.eltn.utwente.nl (Thijs Bolhuis)
- Subject: Re: Using lots of patches with a sequencer II
-
- Yes it seems like a fine idea to get all the the patches available in
- a set of directories on a cd-rom. But what I really want is to get a
- more space efficient way to store all the patches. I don't want to
- fill up a complete patchbank in every directory. I would like to be
- able to add for every patch in a bank the path where to find it. So
- the Idea is put a default directory in the ultrasnd.ini for every
- bank and every patch in that bank which is not in the default
- directory set the path for that patch.
-
-
-
-
- --------------------------------------------------------------------
- --
- Thijs Bolhuis
-
- email: t.bolhuis@el.utwente.nl
- --------------------------------------------------------------------
- ---
-
- ------------------------------
-
- End of GUS Musician's Digest V10 #9
- ***********************************
-
- To post to tomorrow's digest: <gus-music@mail.orst.edu>
- To (un)subscribe or get help: <gus-music-request@mail.orst.edu>
- To contact a human (last resort): <gus-music-owner@mail.orst.edu>
-
- FTP Sites Archive Directories
- --------- -------------------
- Main N.American Site: archive.orst.edu pub/packages/gravis
- wuarchive.wustl.edu systems/ibmpc/ultrasound
- Main Asian Site: nctuccca.edu.tw PC/ultrasound
- Main European Site: src.doc.ic.ac.uk packages/ultrasound
- Main Australian Site: ftp.mpx.com.au /ultrasound/general
- /ultrasound/submit
- South African Site: ftp.sun.ac.za /pub/packages/ultrasound
- Submissions: archive.epas.utoronto.ca pub/pc/ultrasound/submit
- Newly Validated Files: archive.epas.utoronto.ca pub/pc/ultrasound
-
- Mirrors: garbo.uwasa.fi mirror/ultrasound
- ftp.st.nepean.uws.edu.au pc/ultrasound
- ftp.luth.se pub/msdos/ultrasound
-
- Gopher Sites Menu directory
- ------------ --------------
- Main Site: src.doc.ic.ac.uk packages/ultrasound
-
- WWW Pages
- ---------
- Main Site: http://www.cs.utah.edu/~debry/gus.html
-
- Main European Site: http://src.doc.ic.ac.uk/packages/ultrasound/
- Main Australian Site: http://ftp.mpx.com.au/archive/ultrasound/general/
- http://ftp.mpx.com.au/archive/ultrasound/submit/
- http://ftp.mpx.com.au/gravis.html
-
- Mirrors: http://www.st.nepean.uws.edu.au/pub/pc/ultrasound/
-
- MailServer For Archive Access: Email to <mail-server@nike.rz.uni-konstanz.de>
- Email to <ftpmail@doc.ic.ac.uk>
-
- New Submit Files Mailing List: Email to <listproc@uni-konstanz.de>
- with content "subscribe epas-list <your-name-here>"
-
- Hints:
- - Get the FAQ from the FTP sites or the request server.
- - Mail to <gus-music-request@mail.orst.edu> for info about other
- GUS related mailing lists (general use, programmers, etc.).
-
-
-