home *** CD-ROM | disk | FTP | other *** search
- GUS Programmer's Digest Thu, 20 Oct 94 12:24 PST Volume 13: Issue 11
-
- Today's Topics:
- Continuous recording
- GUS Programmer's Digest V13 #10
- UNSUBCRIBE
-
- 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: 20 Oct 94 09:23:00 MET
- From: "VISX80::GRECNER" <GRECNER%VISX80.decnet@musx53.zfe.siemens.de>
- Subject: Continuous recording
-
- >I see that the actual recording is taking place via DMA directly into the
- >PC's memory (rather than the GUS RAM). Is it possible to set the recording
- >to loop inside of a (for example) 20K block, sending an IRQ when a rollover
- >point (10K, say) is reached? It makes sense that this would be possible, but
- >I don't see from the SDK docs how to set it up.
-
- You have to implement your own double buffer. You start a transfer to one
- buffer, after it's full, the DMA will signal an interrupt. Now you have
- to programm DMA again to another buffer and go on. You have to be fast
- to miss no sample. On a 20Mhz machine, you have cca. 450 cycles to do it
- at 44.1kHz. This is the same technique Sound Blaster programmers have
- to use for both recording and playback, and the same you'll have to use
- when programming CODEC on the GUS MAX. Maybe there is some small DMA buffer
- on GUS to deal with this, which lets you setup the new buffer address in
- DMA controller not necesseraly that quickly. I don't know. Anyway, SDK DOC
- describes an AUTOINIT mode in UltraRecordData() saying you don't have to
- reprogram the DMA again, you just have to hook the record int handler, and
- "hit the control register on UltraSound to restart the recording", which
- should be fast. But then they say you have to take care about losing no
- samples, since the buffer remains the same. They don't, however, say how.
- So either you do it like I said first, if it doesn't take 450 cycles
- to reprogram the DMA, or you'll use the autoinit mode and try not to lose
- any samples. I can imagine two techniques here. Either you manage to
- change the DMA buffer address only in PC DMA controller without programing
- anything else, which should be reasonably fast, and the you restart recording
- by hiting the control register, as they say, or, if the address change is
- impossible (I don't know much about PC DMA yet), you'll have to save let's
- say first 16 bytes of recorded data while in interrupt handler prior to
- restarting recording again. Then, when back from interrupt, you could read the
- rest of the buffer away hoping recording didn't reach 17-th byte yet, which
- should not happen. You have 16 * 450 cycles then.
-
- >Also, what is the lowest sampling rate that would allow distinguishable
- >speech to be recorded? I'm looking at an application that needs to be able
- >to transfer sampled speech through a _s_l_o_w_ communications connection, and
- >even with ADPCM encoding I'll still need to minimize the samples...
-
- You'll have to try. In telephony they use 8kHz with A-law or U-law or whatever
- it is.
- Hope this helps.
- Martin Grecner
-
- P.S. It did help me as well, since I'll have to write a recording routine
- in the future.
-
- ------------------------------
-
- Date: Wed, 19 Oct 1994 15:59:06 -0400 (EDT)
- From: Phat Hong Tran <ptran@sciborg.uwaterloo.ca>
- Subject: Re: GUS Programmer's Digest V13 #10
-
- On Wed, 19 Oct -1, GUS Programmer's Server wrote:
-
- > Date: Wed, 19 Oct 1994 13:31:55 BST
- > From: Chris Barrett <se2cb@de-montfort.ac.uk>
- > Subject: Re: GUS MIDI driver source?
- >
- > Hi GUS proggers.
- >
- > I am attempting to write some MIDI software (player, sequencer type stuff), and
- > I have all the info I need on the MIDI format, and the .PAT file format.
- >
- > What I have not yet come across is any source code which handles the playing of
- > patches (including all that enveloping and vibrato stuff).
- >
- > There's plenty of source for playing MODs, but does anybody out there have or
- > knows of any freely available source to do such a thing?
- >
- > I'd luv to hear from ya...
-
- There's no freely available MIDI engine source, but have you considered
- using Ultramid as your MIDI driver? It does all that you're asking for,
- but it's a TSR-type driver for DOS. Ultramid programming docs can be
- found on Epas.
-
- Phat.
-
- ------------------------------
-
- Date: Thu, 20 Oct 1994 07:47:18 +0800 (GMT+0800)
- From: "SiNnEd..." <leechinh@iscs.nus.sg>
- Subject: UNSUBCRIBE
-
-
-
- ------------------------------
-
- End of GUS Programmer's Digest V13 #11
- **************************************
-
- To post to tomorrow's digest: <gus-sdk@mail.orst.edu>
- To (un)subscribe or get help: <gus-sdk-request@mail.orst.edu>
- To contact a human (last resort): <gus-sdk-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-sdk-request@mail.orst.edu> for info about other GUS
- related mailing lists (general use, musician's, etc.).
-
-
-