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

  1. GUS Programmer's Digest     Thu, 20 Oct 94 12:24 PST     Volume 13: Issue  11 
  2.  
  3. Today's Topics:
  4.                          Continuous recording
  5.                    GUS Programmer's Digest V13 #10
  6.                               UNSUBCRIBE
  7.  
  8. Standard Info:
  9.     - Meta-info about the GUS can be found at the end of the Digest.
  10.     - Before you ask a question, please READ THE FAQ.
  11.  
  12. ----------------------------------------------------------------------
  13.  
  14. Date: 20 Oct 94 09:23:00 MET
  15. From: "VISX80::GRECNER" <GRECNER%VISX80.decnet@musx53.zfe.siemens.de>
  16. Subject: Continuous recording
  17.  
  18. >I see that the actual recording is taking place via DMA directly into the  
  19. >PC's memory (rather than the GUS RAM).  Is it possible to set the recording  
  20. >to loop inside of a (for example) 20K block, sending an IRQ when a rollover  
  21. >point (10K, say) is reached?  It makes sense that this would be possible, but  
  22. >I don't see from the SDK docs how to set it up.
  23.  
  24. You have to implement your own double buffer. You start a transfer to one
  25. buffer, after it's full, the DMA will signal an interrupt. Now you have
  26. to programm DMA again to another buffer and go on. You have to be fast
  27. to miss no sample. On a 20Mhz machine, you have cca. 450 cycles to do it
  28. at 44.1kHz. This is the same technique Sound Blaster programmers have
  29. to use for both recording and playback, and the same you'll have to use
  30. when programming CODEC on the GUS MAX. Maybe there is some small DMA buffer
  31. on GUS to deal with this, which lets you setup the new buffer address in
  32. DMA controller not necesseraly that quickly. I don't know. Anyway, SDK DOC
  33. describes an AUTOINIT mode in UltraRecordData() saying you don't have to
  34. reprogram the DMA again, you just have to hook the record int handler, and
  35. "hit the control register on UltraSound to restart the recording", which
  36. should be fast. But then they say you have to take care about losing no
  37. samples, since the buffer remains the same. They don't, however, say how.
  38. So either you do it like I said first, if it doesn't take 450 cycles
  39. to reprogram the DMA, or you'll use the autoinit mode and try not to lose
  40. any samples. I can imagine two techniques here. Either you manage to
  41. change the DMA buffer address only in PC DMA controller without programing
  42. anything else, which should be reasonably fast, and the you restart recording
  43. by hiting the control register, as they say, or, if the address change is
  44. impossible (I don't know much about PC DMA yet), you'll have to save let's
  45. say first 16 bytes of recorded data while in interrupt handler prior to
  46. restarting recording again. Then, when back from interrupt, you could read the
  47. rest of the buffer away hoping recording didn't reach 17-th byte yet, which
  48. should not happen. You have 16 * 450 cycles then.
  49.  
  50. >Also, what is the lowest sampling rate that would allow distinguishable  
  51. >speech to be recorded?  I'm looking at an application that needs to be able  
  52. >to transfer sampled speech through a _s_l_o_w_ communications connection, and  
  53. >even with ADPCM encoding I'll still need to minimize the samples...
  54.  
  55. You'll have to try. In telephony they use 8kHz with A-law or U-law or whatever
  56. it is.
  57.                 Hope this helps.
  58.                 Martin Grecner
  59.  
  60. P.S. It did help me as well, since I'll have to write a recording routine
  61.      in the future.
  62.  
  63. ------------------------------
  64.  
  65. Date: Wed, 19 Oct 1994 15:59:06 -0400 (EDT)
  66. From: Phat Hong Tran <ptran@sciborg.uwaterloo.ca>
  67. Subject: Re: GUS Programmer's Digest V13 #10
  68.  
  69. On Wed, 19 Oct -1, GUS Programmer's Server wrote:
  70.  
  71. > Date: Wed, 19 Oct 1994 13:31:55 BST
  72. > From: Chris Barrett <se2cb@de-montfort.ac.uk>
  73. > Subject: Re: GUS MIDI driver source?
  74. > Hi GUS proggers.
  75. > I am attempting to write some MIDI software (player, sequencer type stuff), and
  76. > I have all the info I need on the MIDI format, and the .PAT file format.
  77. > What I have not yet come across is any source code which handles the playing of
  78. > patches (including all that enveloping and vibrato stuff). 
  79. > There's plenty of source for playing MODs, but does anybody out there have or
  80. > knows of any freely available source to do such a thing?
  81. > I'd luv to hear from ya...
  82.  
  83. There's no freely available MIDI engine source, but have you considered
  84. using Ultramid as your MIDI driver?  It does all that you're asking for,
  85. but it's a TSR-type driver for DOS.  Ultramid programming docs can be 
  86. found on Epas.
  87.  
  88. Phat.
  89.  
  90. ------------------------------
  91.  
  92. Date: Thu, 20 Oct 1994 07:47:18 +0800 (GMT+0800)
  93. From: "SiNnEd..." <leechinh@iscs.nus.sg>
  94. Subject: UNSUBCRIBE
  95.  
  96.  
  97.  
  98. ------------------------------
  99.  
  100. End of GUS Programmer's Digest V13 #11
  101. **************************************
  102.  
  103. To post to tomorrow's digest:                    <gus-sdk@mail.orst.edu>
  104. To (un)subscribe or get help:            <gus-sdk-request@mail.orst.edu>
  105. To contact a human (last resort):          <gus-sdk-owner@mail.orst.edu>
  106.  
  107.                        FTP Sites                     Archive Directories
  108.                        ---------                     -------------------
  109. Main N.American Site:  archive.orst.edu              pub/packages/gravis
  110.                        wuarchive.wustl.edu           systems/ibmpc/ultrasound
  111. Main Asian Site:       nctuccca.edu.tw               PC/ultrasound
  112. Main European Site:    src.doc.ic.ac.uk              packages/ultrasound
  113. Main Australian Site:  ftp.mpx.com.au                /ultrasound/general
  114.                                                      /ultrasound/submit
  115. South African Site:    ftp.sun.ac.za                 /pub/packages/ultrasound
  116. Submissions:           archive.epas.utoronto.ca      pub/pc/ultrasound/submit
  117. Newly Validated Files: archive.epas.utoronto.ca      pub/pc/ultrasound
  118.  
  119. Mirrors:               garbo.uwasa.fi                mirror/ultrasound
  120.                        ftp.st.nepean.uws.edu.au      pc/ultrasound
  121.                        ftp.luth.se                   pub/msdos/ultrasound
  122.  
  123.                        Gopher Sites                  Menu directory
  124.                        ------------                  --------------
  125. Main Site:             src.doc.ic.ac.uk              packages/ultrasound
  126.  
  127.                        WWW Pages
  128.                        ---------
  129. Main Site:             http://www.cs.utah.edu/~debry/gus.html
  130.  
  131. Main European Site:    http://src.doc.ic.ac.uk/packages/ultrasound/
  132. Main Australian Site:  http://ftp.mpx.com.au/archive/ultrasound/general/
  133.                        http://ftp.mpx.com.au/archive/ultrasound/submit/
  134.                        http://ftp.mpx.com.au/gravis.html
  135.                        
  136. Mirrors:               http://www.st.nepean.uws.edu.au/pub/pc/ultrasound/
  137.  
  138. MailServer For Archive Access: Email to <mail-server@nike.rz.uni-konstanz.de>
  139.                                Email to <ftpmail@doc.ic.ac.uk>
  140.  
  141. New Submit Files Mailing List: Email to <listproc@uni-konstanz.de>
  142.                          with content "subscribe epas-list <your-name-here>"
  143.  
  144. Hints:
  145.       - Get the FAQ from the FTP sites or the request server.
  146.       - Mail to <gus-sdk-request@mail.orst.edu> for info about other GUS
  147.     related mailing lists (general use, musician's, etc.).
  148.  
  149.  
  150.