home *** CD-ROM | disk | FTP | other *** search
/ Sound, Music & MIDI Collection 2 / SMMVOL2.bin / GRAV_SDK / GMD10I09.ZIP / GMD10I09.TXT / text0000.txt < prev   
Encoding:
Text File  |  1995-03-04  |  13.1 KB  |  282 lines

  1. GUS Musician's Digest       Thu, 10 Nov 94 11:58 PST     Volume 10: Issue   9 
  2.  
  3. Today's Topics:
  4.                             Bank switching
  5.                           Extracting samples
  6.                      GUS Musician's Digest V10 #8
  7.                         Upgrade to MAX offer?
  8.               Using lots of patches with a sequencer II
  9.  
  10. Standard Info:
  11.     - Meta-info about the GUS can be found at the end of the Digest.
  12.     - Before you ask a question, please READ THE FAQ.
  13.  
  14. ----------------------------------------------------------------------
  15.  
  16. Date: Thu, 10 Nov 94 09:35:07 EST
  17. From: ivan@molson.ho.att.com (Ivan Strom)
  18. Subject: Bank switching
  19.  
  20. My posting on bank loading has generated a couple of comments in the
  21. last digest, where I suggested that if we, as users, can agree on a standard,
  22. it would be easier to persuade sequencer authors to implement the standard.
  23.  
  24. What I am doing here is incorporating some of the received comments and
  25. reorganizing the discussion into a set of issues as follows:
  26.  
  27.     1) Mapping CC0/CC32 into bank numbers
  28.     2) Selection of drum channels
  29.     3) Use of multiple banks
  30.     4) Bank organization
  31.  
  32. Note these comments should only apply to tracks mapped to a GUS synthesizer
  33. port, for those sequencers that can handle multiple output ports.
  34.  ----------------------------------------------------------
  35. Mapping CC0/CC32 into bank numbers:
  36. Bank number is determined normally by (controller 0 * 128 + controller 32),
  37. i.e. CC0 is MSB, CC32 is LSB, the standard MIDI bank select.  Since Roland
  38. uses the reverse (controller 0 + 128 * controller 32) sequencer authors
  39. should permit the user to select which convention they wish to use for their
  40. sequences (since both formats are de-facto standards).  I would propose the
  41. convention that if only one of CC0/CC32 were set, that the
  42. bank number equal the value set in the single register.  I have also
  43. proposed that for drum channel 10, if CC0/CC32 is unused, then a sequencer
  44. may use a program change on channel 10 as the bank number (for consistency
  45. with the many synths that choose a drumset based on program change).
  46. Each track may have its own bank select (but see the limitation in section 3).
  47. Since the sequencer (if it supports patch caching) will do a
  48. midiOutCachePatches before playing a sequence, all patches are preloaded
  49. (anticipated) before the sequence begins, rather than loaded on the fly
  50. (the driver does NOT interpret CC0/CC32 - these are only interpreted by the
  51. sequencer and converted to wBank arguments).
  52.  ----------------------------------------------------------
  53. Selection of drum channels:
  54. I believe GUS only permits drums on channel 10.  One comment suggested
  55. allowing drums on multiple channels, but these would need to be remapped
  56. to channel 10 by the sequencer or midimapper.
  57.  ----------------------------------------------------------
  58. Use of multiple banks:
  59. Unless Gravis has an undocumented way of doing this (Gravis - any comment),
  60. you can only use 1 melodic bank and 1 percussive bank (with fallback to
  61. bank 0 for patches not in the designated bank), since subsequent calls
  62. to midiOutCachePatches reloads all patches in lpPatchArray from wBank
  63. (i.e. the call appears to clear all patches, then reload).  This is a
  64. limitation which can only be cleared by Gravis, or thru clever programming
  65. techniques such as in PatchEze where patches get easily moved to bank 0.
  66.  
  67. Note that the current windows drivers DO support bankswitching,
  68. but do not support incremental patch loading, thus only one bank
  69. may be specified (with fallback to bank 0 for patches not in the
  70. specified bank).  The melodic/drum banks are specified via the wBank
  71. argument of midiOutCachePatches and the wPatch argument of
  72. midiOutCacheDrumPatches, not by direct interpretation of controllers 0/32
  73. nor by interpretation of a channel 10 program change.
  74. Thus, for example, a sequencer could call midiOutCachePatches with a bank
  75. of 128 (127?) to get a MT-32 mapping if someone wrote the correct mapping
  76. into ultrasnd.ini.
  77.  
  78. The problem is that a sequencer needs to know what bank to request.
  79. If, for example, I ask for bank 128 on channel 1, but don't specify
  80. a bank for channel 2 (or specify a different bank number), what should
  81. the sequencer assume?  Even within a single channel, what should the
  82. sequencer assume if the bank is changed in the middle of a piece?
  83. Proposal: the first non-zero bank encountered for melodics becomes the
  84. "controlling" bank, and is mapped into the wBank argument of the
  85. midiOutCachePatches call.  (Similar logic for channel 10 drums).
  86.  
  87. Note a caution in the above:  If a sequence has the following:
  88.        Track 1: Channel 1, Bank 0, ProgCh 0
  89.        Track 2: Channel 2, Bank 128, ProgCh 32
  90. then the progch 0 will be loaded out of bank 128, not bank 0, if progch 0
  91. is defined in bank 128.  There is no way to avoid this with the present driver,
  92. because of unimplemented incremental patch loading.
  93.  
  94. Robert Coleman suggests that "maybe something should be thrown in, between
  95. the Gus driver , and the sequencer, or whatever uses the patches: a kind of
  96. Patch Daemon, who has the smarts and so-forth to manage the Gus in the Best
  97. Possible Way.  After all, sequencer authors can't be expected to become
  98. Master Of All Soundcards' Peculiar Operating Rules, now can they !!!??!!"
  99.  
  100. This could in fact be possible, written as a windows pseudo-midi device
  101. (just as midimapper is a pseudo-midi device which in turn invokes another
  102. device).  The user could set their sequencer to talk to the pseudo-device,
  103. which would sit between the sequencer and the ultrasound.  Such a pseudo-device
  104. might utilize a "temporary bank" (say bank 1024) for its own use, dynamically
  105. constructing the contents of the "temporary bank" based on the initial
  106. midiOutCachePatches call and subsequent interpretation of CC0/CC32, and
  107. with calls to the actual driver to load from the "temporary bank".  This
  108. could create song play delays, which however may be acceptable for some uses.
  109.  
  110.  ----------------------------------------------------------
  111. Bank organization:
  112. Banks 0-511 can be "standardized".  Suggest using GS bank numbers where
  113. applicable.  E.g. bank 127 (Roland counts 1-128 etc., so then it would be
  114. bank 128) is the MT-32 mapping 
  115.  
  116. Banks 512+, which we can call USER banks, can be song-specific.  These might
  117. be used where necessary to load patches across multiple banks.
  118.  
  119. Albert Pauw suggest that the thing to do would to make a `standardized'
  120. ULTRASND.INI file, containing the banks and patches. Every bank has its own
  121. directory. Since he doesn't have some many Patches more than the
  122. standard ones, how are we going to define the other patches?
  123. Better (other instrument patches) like piano etc. can be used in
  124. the different banks. Thinking about it, it would be nice to have
  125. all banks on a CD-ROM. Ok, it takes some time to load them in
  126. the GUS, but you can keep them together and everyone has the
  127. same patches in the same banks.
  128.  
  129. My thanks to Albert Pauw and Robert Coleman for their first set of comments.
  130. Perhaps after a couple of discussion iterations, we can use some kind of
  131. "voting" mechanism to come to closure on a proposal.  Anyone know how to
  132. to this?
  133.  
  134.                     Ivan Strom
  135.  
  136. ------------------------------
  137.  
  138. Date: Wed, 9 Nov 1994 14:25:17 -0500 (EST)
  139. From: "K.S. Holly" <u8843389@muss.CIS.McMaster.CA>
  140. Subject: Extracting samples
  141.  
  142. I know this is old news but I've only recently gotten into making music 
  143. with the GUS.
  144.  
  145. How can I extract samples from midi files or mod files?
  146.  
  147. Oh, and one more question. If I was not going to be doing any sampling, 
  148. is it worth is to take advantage of the 'upgrade to the MAX' offer?
  149.  
  150. All help appreciated.
  151.  
  152. Kevin
  153.  
  154. ------------------------------
  155.  
  156. Date: Wed, 9 Nov 1994 14:22:23 -0800 (PST)
  157. From: George!!! <gmontem@mercury.sfsu.edu>
  158. Subject: Re: GUS Musician's Digest V10 #8
  159.  
  160. <EOT>
  161.  
  162. > Now, the thing to do would to make a `standardized' ULTRASND.INI
  163. > file, containing the banks and patches. Every bank has its own
  164. > directory. Since I don't have some many Patches more than the
  165. > standard ones, how are we going to define the other patches?
  166. > Better (other instrument patches) like piano etc. can be used in
  167. > the different banks. Thinking about it, it would be nice to have
  168. > all banks on a CD-ROM. Ok, it takes some time to load them in
  169. > the GUS, but you can keep them together and everyone has the
  170. > same patches in the same banks.
  171.  
  172. I vote YES for the "proposed" plan for bank switching.  I also had in 
  173. mind that Advanced Gravis release a CD-ROM with patches for the extra 
  174. banks.  Users would just install which banks they want to use to the hard 
  175. disk, and the installer simply adds in the proper names to the 
  176. ultrasnd.ini file.  That way, musicians can make better music, listeners 
  177. would hear midi files more closely to what it was supposed to sound like 
  178. (with the correct patches),  and makes another reason to buy a CD-ROM!  
  179. Also, just as a joke, Advanced Gravis can make a chart on their sound 
  180. card ads, with in big print, 300+ patches, compared to the other sound 
  181. card's 196 patches.
  182.  
  183. Another change Gravis will have to make once this is proposed is a new 
  184. Patch Manager.  The current one only displays one bank at a time.  It 
  185. will not show patches used from other banks.
  186.  
  187. By the way, besides windows, playmidi will need to be capable of Bank 
  188. Switching.   Hope a Bank switching standard for the GUS comes out soon.  
  189.  
  190. -= George!!! =-
  191.  
  192. ------------------------------
  193.  
  194. Date: Wed, 9 Nov 1994 23:59:05 +0100 (MET)
  195. From: BlackFunk <black@xs4all.nl>
  196. Subject: Upgrade to MAX offer?
  197.  
  198. Someone recently wrote about a upgrade to MAX offer. I was considering 
  199. selling my GUS and buying a GUS MAX so I was wondering if this offer is 
  200. also possible in Europe (esp. the Netherlands).
  201.  
  202. ANy info is welcome
  203.  
  204. ------------------------------
  205.  
  206. Date: Thu, 10 Nov 94 09:18:44 GMT
  207. From: bhs@utep.eltn.utwente.nl (Thijs Bolhuis)
  208. Subject: Re: Using lots of patches with a sequencer II
  209.  
  210. Yes it seems like a fine idea to get all the the patches available in 
  211. a set of directories on a cd-rom. But what I really want is to get a 
  212. more space efficient way to store all the patches. I don't want to 
  213. fill up a complete patchbank in every directory. I would like to be 
  214. able to add for every patch in a bank the path where to find it. So 
  215. the Idea is put a default directory in the ultrasnd.ini for every 
  216. bank and every patch in that bank which is not in the default 
  217. directory set the path for that patch.
  218.  
  219.  
  220.  
  221.  
  222.  --------------------------------------------------------------------
  223. --
  224. Thijs Bolhuis
  225.  
  226. email: t.bolhuis@el.utwente.nl
  227.  --------------------------------------------------------------------
  228. ---
  229.  
  230. ------------------------------
  231.  
  232. End of GUS Musician's Digest V10 #9
  233. ***********************************
  234.  
  235. To post to tomorrow's digest:                        <gus-music@mail.orst.edu>
  236. To (un)subscribe or get help:                <gus-music-request@mail.orst.edu>
  237. To contact a human (last resort):              <gus-music-owner@mail.orst.edu>
  238.  
  239.                        FTP Sites                     Archive Directories
  240.                        ---------                     -------------------
  241. Main N.American Site:  archive.orst.edu              pub/packages/gravis
  242.                        wuarchive.wustl.edu           systems/ibmpc/ultrasound
  243. Main Asian Site:       nctuccca.edu.tw               PC/ultrasound
  244. Main European Site:    src.doc.ic.ac.uk              packages/ultrasound
  245. Main Australian Site:  ftp.mpx.com.au                /ultrasound/general
  246.                                                      /ultrasound/submit
  247. South African Site:    ftp.sun.ac.za                 /pub/packages/ultrasound
  248. Submissions:           archive.epas.utoronto.ca      pub/pc/ultrasound/submit
  249. Newly Validated Files: archive.epas.utoronto.ca      pub/pc/ultrasound
  250.  
  251. Mirrors:               garbo.uwasa.fi                mirror/ultrasound
  252.                        ftp.st.nepean.uws.edu.au      pc/ultrasound
  253.                        ftp.luth.se                   pub/msdos/ultrasound
  254.  
  255.                        Gopher Sites                  Menu directory
  256.                        ------------                  --------------
  257. Main Site:             src.doc.ic.ac.uk              packages/ultrasound
  258.  
  259.                        WWW Pages
  260.                        ---------
  261. Main Site:             http://www.cs.utah.edu/~debry/gus.html
  262.  
  263. Main European Site:    http://src.doc.ic.ac.uk/packages/ultrasound/
  264. Main Australian Site:  http://ftp.mpx.com.au/archive/ultrasound/general/
  265.                        http://ftp.mpx.com.au/archive/ultrasound/submit/
  266.                        http://ftp.mpx.com.au/gravis.html
  267.                        
  268. Mirrors:               http://www.st.nepean.uws.edu.au/pub/pc/ultrasound/
  269.  
  270. MailServer For Archive Access: Email to <mail-server@nike.rz.uni-konstanz.de>
  271.                                Email to <ftpmail@doc.ic.ac.uk>
  272.  
  273. New Submit Files Mailing List: Email to <listproc@uni-konstanz.de>
  274.                          with content "subscribe epas-list <your-name-here>"
  275.  
  276. Hints:
  277.       - Get the FAQ from the FTP sites or the request server.
  278.       - Mail to <gus-music-request@mail.orst.edu> for info about other
  279.     GUS related mailing lists (general use, programmers, etc.).
  280.  
  281.  
  282.