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

  1. GUS Programmer's Digest     Fri, 21 Oct 94 12:09 PST     Volume 13: Issue  12 
  2.  
  3. Today's Topics:
  4.        -*ANNOUNCEMENT*- gaia.ucs.orst.edu downtime Sat 10/22/94
  5.                          Continuous Recording
  6.                    GUS Programmer's Digest V13 #11
  7.                     MIDI engine source & UltraMID
  8.  
  9. Standard Info:
  10.     - Meta-info about the GUS can be found at the end of the Digest.
  11.     - Before you ask a question, please READ THE FAQ.
  12.  
  13. ----------------------------------------------------------------------
  14.  
  15. Date: Thu, 20 Oct 1994 18:23:24 -0700 (PDT)
  16. From: Vince - IE - Experimental Mail Server Admin Acct <mailserv@ucs.orst.edu>
  17. Subject: -*ANNOUNCEMENT*- gaia.ucs.orst.edu downtime Sat 10/22/94
  18.  
  19.     This is just to let everyone know that there will be a delay for
  20. all the GUS Digests for Saturday October 22, 1994 as the server will be
  21. unavailable in the morning.  Sorry for any inconvenience.
  22.  
  23. ---------- Text of forwarded message ----------
  24. Date: Wed, 19 Oct 1994 16:22:24 PDT
  25. From: Kean Stump <kean@cerridwen.ucs.orst.edu>
  26. Subject: gaia.ucs.orst.edu downtime Sat 10/22/94
  27.  
  28. We are changing out the boot disk on gaia Saturday morning, starting at 7:30.
  29. Expected downtime will be 4 hours.  Gopher, ftp and news service will be 
  30. unavailable during this time.  ccmail traffic to the Internet will be routed
  31. through a different mail relay so service will not be interrupted.
  32.  
  33. Kean
  34.  
  35. Kean Stump                                             Information Services
  36. kean@ucs.orst.edu                                      Oregon State University
  37. OSU doesn't pay me to have official opinions.          (503)-737-4740
  38.  
  39.  
  40.                               Cheers,
  41.                          Vince
  42. E-mail:
  43. vince@kbrown.oldcampus.yale.edu,\|/ Sys Adm - CircleStar Technologies,Inc. 
  44.   root@berkeley.circlestar.com,(o o) San Francisco, California USA
  45.   _________________________oOO__(_)__OOo_____________________________
  46.  |  There are many forms of science but only physics is the quantum  |
  47.  |                    leap of the 21st Century.                   |
  48.   \_________________________________________________________________/
  49.     uPoy@physics.ucla.edu         UCLA Physics
  50.                       Los Angeles, California USA
  51.         
  52. GUS Digest Adminstrator
  53. Advanced Gravis UltraSound Card - The ultimate in soundcard technology 
  54.  
  55. ------------------------------
  56.  
  57. Date: Fri, 21 Oct 94 11:16:24 EDT
  58. From: "c.   james" <cjames@julian.uwo.ca>
  59. Subject: Continuous Recording
  60.  
  61. >Date: 20 Oct 94 09:23:00 MET
  62. >From: "VISX80::GRECNER" <GRECNER%VISX80.decnet@musx53.zfe.siemens.de>
  63. >Subject: Continuous recording
  64.  
  65.  
  66. Roughly:
  67.  
  68.  
  69.      {-------------------|-------------------} DMA BUFFER
  70.  
  71. Fill whole buffer
  72. Program record counter (might be MAX only? for half buffer length)
  73. Put DMA in auto-init mode, go etc
  74. Handle Irq (occurs at half way) set flag1 to fill first half
  75. Fill first half on flag1
  76. Handle Irq (occurs now at end) set flag2 to fill second half
  77. Fill second half on apropriate flag2
  78.  
  79. etc.
  80.  
  81. To stop, need to re-program DMA to one-shot mode with apropriate count
  82. or just read the card's counter buffer and terminate when sufficient
  83. samples have been transferred.
  84.  
  85. You can also do this without using interrupts by just polling counters,
  86. but thus means you're stuck for doing anything else at the same time.
  87.  
  88. Okay, can someone tell me how to use the GF1 to get "seemless" playback.
  89. I followed all the SDK instructions - roll-over etc. The results were fine
  90. if the signals are fairly harmonically rich (i.e. speech) but I tried a
  91. sine wave and I get a click! I did that filler stuff with putting the
  92. previous word before the start of the voice's buffer and after the end
  93. (because of the linear interpolation) - still a click, but as I say not
  94. noticeable with music or speech. Saying that it must be possible since
  95. playfile did fine! There's a very slight gap when the GF1 loops
  96. back to the beginning (on a scope). I gave up and went with the Codec in
  97. the end, but it would be kinda cool to get it going with the DRAM and GF1
  98. (if you want a tone the buffer only needs to be one cycle long! Although
  99. I used 2048, 4096 etc points).
  100.  
  101. Chris James
  102.  
  103. ------------------------------
  104.  
  105. Date: Fri, 21 Oct 1994 11:20:37 +0000 (GMT)
  106. From: kj@raunvis.hi.is (Kristjan Jonsson)
  107. Subject: Re: GUS Programmer's Digest V13 #11
  108.  
  109. > Date: 20 Oct 94 09:23:00 MET
  110. > From: "VISX80::GRECNER" <GRECNER%VISX80.decnet@musx53.zfe.siemens.de>
  111. > Subject: Continuous recording
  112. > >I see that the actual recording is taking place via DMA directly into the  
  113. > >PC's memory (rather than the GUS RAM).  Is it possible to set the recording  
  114. > >to loop inside of a (for example) 20K block, sending an IRQ when a rollover  
  115. > >point (10K, say) is reached?  It makes sense that this would be possible, but  
  116. > >I don't see from the SDK docs how to set it up.
  117. > You have to implement your own double buffer. You start a transfer to one
  118. > buffer, after it's full, the DMA will signal an interrupt. Now you have
  119. > to programm DMA again to another buffer and go on. You have to be fast
  120. > to miss no sample. On a 20Mhz machine, you have cca. 450 cycles to do it
  121. > at 44.1kHz. This is the same technique Sound Blaster programmers have
  122. > to use for both recording and playback, and the same you'll have to use
  123. > when programming CODEC on the GUS MAX. Maybe there is some small DMA buffer
  124.  
  125. Actually you can program the CODEC to interrupt after a specific number
  126. of bytes have been recorded (less than the size of the DMA buffer) and thus
  127. use the method first described to implement double buffering. It is documented
  128. in the latest SDK (v2.11) and doesn't work for plain GUS since it doesn't have
  129. the CODEC.
  130.  
  131. -- 
  132. --- Kristjan Jonsson --- kj@raunvis.hi.is ---
  133.  
  134. ------------------------------
  135.  
  136. Date: Fri, 21 Oct 1994 14:32:58 BST
  137. From: Chris Barrett <se2cb@de-montfort.ac.uk>
  138. Subject: Re: MIDI engine source & UltraMID
  139.  
  140. >> Hi GUS proggers.
  141. >> 
  142. >> I am attempting to write some MIDI software (player, sequencer type stuff), and
  143. >> I have all the info I need on the MIDI format, and the .PAT file format.
  144. >> 
  145. >> What I have not yet come across is any source code which handles the playing of
  146. >> patches (including all that enveloping and vibrato stuff). 
  147. >> 
  148. >> There's plenty of source for playing MODs, but does anybody out there have or
  149. >> knows of any freely available source to do such a thing?
  150. >> 
  151. >> I'd luv to hear from ya...
  152. >
  153. >There's no freely available MIDI engine source, but have you considered
  154. >using Ultramid as your MIDI driver?  It does all that you're asking for,
  155. >but it's a TSR-type driver for DOS.  Ultramid programming docs can be 
  156. >found on Epas.
  157. >
  158. >Phat.
  159.  
  160. I forgot to mention that I AM currently using UltraMID! I suppose it will do
  161. for now, it does it's job pretty well, but you still have to load it it before
  162. using any programs that use it. 
  163. I also want to be able to load patches into memory that may not neccessarily be 
  164. listed in the .INI file (ie custom patch support). 
  165. Can I get UltraMID to do this?
  166.  
  167. Shame there's no MIDI engine source out there, hey Gravis, feeling generous?
  168. How about just putting that PlayMidi source in the SDK (nudge nudge, wink wink)!
  169.  
  170. --
  171. Chris A. Barrett
  172. De Montfort University, Leicester, UK
  173. se2cb@dmu.ac.uk
  174. "Electronic mail - the best thing since electronic bread."
  175.  
  176. ------------------------------
  177.  
  178. End of GUS Programmer's Digest V13 #12
  179. **************************************
  180.  
  181. To post to tomorrow's digest:                    <gus-sdk@mail.orst.edu>
  182. To (un)subscribe or get help:            <gus-sdk-request@mail.orst.edu>
  183. To contact a human (last resort):          <gus-sdk-owner@mail.orst.edu>
  184.  
  185.                        FTP Sites                     Archive Directories
  186.                        ---------                     -------------------
  187. Main N.American Site:  archive.orst.edu              pub/packages/gravis
  188.                        wuarchive.wustl.edu           systems/ibmpc/ultrasound
  189. Main Asian Site:       nctuccca.edu.tw               PC/ultrasound
  190. Main European Site:    src.doc.ic.ac.uk              packages/ultrasound
  191. Main Australian Site:  ftp.mpx.com.au                /ultrasound/general
  192.                                                      /ultrasound/submit
  193. South African Site:    ftp.sun.ac.za                 /pub/packages/ultrasound
  194. Submissions:           archive.epas.utoronto.ca      pub/pc/ultrasound/submit
  195. Newly Validated Files: archive.epas.utoronto.ca      pub/pc/ultrasound
  196.  
  197. Mirrors:               garbo.uwasa.fi                mirror/ultrasound
  198.                        ftp.st.nepean.uws.edu.au      pc/ultrasound
  199.                        ftp.luth.se                   pub/msdos/ultrasound
  200.  
  201.                        Gopher Sites                  Menu directory
  202.                        ------------                  --------------
  203. Main Site:             src.doc.ic.ac.uk              packages/ultrasound
  204.  
  205.                        WWW Pages
  206.                        ---------
  207. Main Site:             http://www.cs.utah.edu/~debry/gus.html
  208.  
  209. Main European Site:    http://src.doc.ic.ac.uk/packages/ultrasound/
  210. Main Australian Site:  http://ftp.mpx.com.au/archive/ultrasound/general/
  211.                        http://ftp.mpx.com.au/archive/ultrasound/submit/
  212.                        http://ftp.mpx.com.au/gravis.html
  213.                        
  214. Mirrors:               http://www.st.nepean.uws.edu.au/pub/pc/ultrasound/
  215.  
  216. MailServer For Archive Access: Email to <mail-server@nike.rz.uni-konstanz.de>
  217.                                Email to <ftpmail@doc.ic.ac.uk>
  218.  
  219. New Submit Files Mailing List: Email to <listproc@uni-konstanz.de>
  220.                          with content "subscribe epas-list <your-name-here>"
  221.  
  222. Hints:
  223.       - Get the FAQ from the FTP sites or the request server.
  224.       - Mail to <gus-sdk-request@mail.orst.edu> for info about other GUS
  225.     related mailing lists (general use, musician's, etc.).
  226.  
  227.  
  228.