Subject: AV DSP Mini-FAQ v 1.01
From:
[email protected] (Benjamin Denckla)
Date: 7 Dec 1993 17:43:17 GMT
This document contains information relevant to the AV Macs,
especially in relation to the use and programming of their DSP chip. It
is the product of my own experience and many helpful responses I
have received to posts I have made. I have taken slight liberties in
editing responses, so what you see below are not always the exact words
of the contributors to the FAQ. It is structured in the typical FAQ
format of question and answer with the questions listed at the
beginning. Please write me with any additions to or comments about this
document.
Ben Denckla
Manager
Harvard University Electronic Music Studio
1. Are modem/fax software and the GeoPort telecom adapter included?
2. Does audio output from the CD have an extra stage of A/D & D/A?
3. Is there an included utility which allows digital recording of part
of an audio CD to an AIFF file?
4. Is there an included utility which will allow me to play/record 16-
bit, 44.1KHz stereo AIFF files?
5. Is there any digital audio software available for the 660AV?
6. Is there any digital audio interfacing hardware available? (AES/EBU
<--> DAV or AES/EBU <--> GeoPort)
7. What is needed to do DSP programming?
8. Where can I get example code for programs that use the AV's DSP?
9. Where can I get information about the DSP chip?
10. BugLite only supports 32-bit floating point data. Do I really want
to use this data type?
11. Can I use Think C to write the Macintosh part of DSP applications?
12. What happens to DSP modules I have written when the hardware
platform changes (to PowerPC, for instance)?
c.1. Are modem/fax software and the GeoPort telecom adapter included?
The Geoport adapter must be bought separately for about $125. The
adapter comes with the modem driver software and a complete, user-level
fax software package. So you still need to own a separate modem
communications program. Contrary to what some documentation says, you
can do 14.4Kbaud, not just 9600 baud, with the modem.
As an aside, I would like to point out that though the AV does
speech generation and recognition right out of the box, it can't do
modem/fax out of the box. Frankly I cannot believe that the number of
users needing speech functions even approaches the number who need
modem/fax. A clear case of "Gee-whiz! Bells & whistles! Screw the
user!" marketing. Not that the $125 for the GeoPort even compares the
the $995 for the ARTA toolkit (see below).
c.2. Does audio output from the CD have an extra stage of A/D & D/A?
Yes. Evidence of this appears on p. 39 of Apple Developer Note
#5, where the L & R outputs of the CD enter a block labelled "analog
front end" before entering the Singer block.
John Turpin <
[email protected]> confirms this and notes that the
digital audio output from the CD is not compatible with the singer
serial data bus.
c.3. Is there an included utility which allows digital recording of
part of an audio CD to an AIFF file?
No. In order to to this, you need to open a QuickTime-
aware application and select the audio "file" from the mounted
CD using the File Open menu item. You'll then get a dialog
asking for conversion confirmation. Then you will have a
QuickTime movie with 16-bit audio which still needs to be
converted to an AIFF file. I am not sure if such a utility
exists, but it seems probable that it does.
James Wang <
[email protected]> and <
[email protected]>
contributed to the answer of this question.
c.4. Is there an included utility which will allow me to play/record
16-bit, 44.1KHz stereo AIFF files?
No. The bundled version of FusionRecorder does allow you to
record this kind of audio into QuickTime movies, though.
c.5. Is there any digital audio software available for the 660AV?
[email protected] (Doug Slansky) replies:
Contact OSC (800-343-3325) regarding Deck II, a sound editing
program being upgraded specifically to use the 3210 in the AVs. See
MacWeek (10/4/93), page 24 for details.
c.6. Is there any digital audio interfacing hardware available?
(AES/EBU <--> DAV or AES/EBU <--> GeoPort)
Open question.
c.7. What is needed to do DSP programming?
[email protected] (george.t.warner) replies:
Tools for DSP development under the Apple Real Time Architecture
(ARTA) on AV Macs are available for $995 from:
Spectral Innovations
1885 Lundy Avenue, Suite 208
San Jose, CA 95131
408/955-0366
[email protected]
You will need MPW to use these tools. The tools include the AT&T
DSP3210 assembler, linker/loader, simulator, Macsbug D Commands, Apple
Snoopy browser/debugger, and Apple BugLite graphical DSP module
installer. It does not include the C Compiler but as you may have
already read, the compiler is not very good. Fortunately, DSP3210
assembly programming (unlike other DSPs) is very C-like, so getting up
to speed is not too difficult. The main part is getting used to the
latencies involved with the pipelined architecture.
Additionally, the AT&T Application Library includes many (about
100?) useful DSP algorithms (FFTs, FIR and IIR filters) with complete
source code. It should sell for about $100.
[email protected] (Walter Horat) replies:
Apple got the 3210 tools from AT&T, which were written to use VCOS
(AT&Ts 3210 realtime O/S). Apple modified the tools somewhat for use on
the Mac, and began shipping them to developers. When Apple realized
that it might cost money to actually *support* the tools, they foisted
the tools off on a company called Spectral Innovations (actually not a
bad choice since Spectral has been doing programming for AT&T DSPs for
over five years).
BTW, the 'C' compiler is a complete piece of shit. It produces
some of the worst code I have ever seen (trying to do a matrix multiply
in 3210 'C' ran 5 times slower than the host 68k on a Quadra 700 -
rewriting the same in assembler ran 7-8 times *faster*). If you do any
serious 3210 programming, you will need to learn 3210 assembler.
Ben Denckla replies:
I now own the ARTA toolkit and have a few comments about it.
First of all, a few picky remarks about the documentation. It comes in
two parts:
A. A big stack of 3-hole punched looseleaf paper, containing about
10 different sections, only two of which are separated from each other
in any manner (you have to hunt through and separate out the documents).
No overall table of contents, not even an overall list of contents.
B. A spiral bound, bad photocopy of the AT&T DSP3210 manual. The
photocopy is blurry and has at least one page out of order (the first
page of the table of contents, actually). It's unclear why they don't
just get some from AT&T since AT&T is willing to send out the real thing
for free (see below).
There are only 3 tiny examples of realtime DSP modules included,
and I believe only 1 timeshare task example exists. The examples are
not well-documented.
The cost is amazingly prohibitive. If you look at the price of
APDA developer's toolkits for things like Telephone Manager, Sound
Manager, or MIDI Manager, they are less than one tenth the price ($75,
$50, and $35 respectively). I thought my 660AV was going to be a real
steal for $1820 + whatever development tools were needed. Well I had no
clue that that "whatever" would be $995, more than half of the price of
the computer itself. So the 660AV makes a lot of sense: it does speech
generation and recognition (two capabilites that are really only needed
for people with disabilities) right out of the box, but you have to pay
$995 to actually be able to program the thing. Does the price of such
DSP development software reflect the fact that DSP programming is an
esoteric activity, or does it _cause_ DSP programming to remain
esoteric? I thought the 660AV was a revolution in bringing DSP
programming onto the personal desktop. I was wrong, because the cost of
the development software shattered the illusion of the bargain.
c.8. Where can I get example code for programs that use the AV's DSP?
See question #7 for description of DSP module examples that come
with the ARTA toolkit.
Author: George Warner <
[email protected]>
Name: ARTAbrot 1.1
Description: Mandelbrot program
Source Code: Mac & DSP
Location: sumex-aim.stanford.edu
archive.umich.edu
AmericaOnLine
AppleLink (Developer Code Submissions area)
Author: Malcolm Slaney <
[email protected]>:
Name: VUMeters
Description: simulates analog VU meters
Source Code: Mac (Think C) & DSP
Location: ears.atg.apple.com
c.9. Where can I get information about the DSP chip?
Call AT&T Microelectronics (1-800-372-2447) and ask for the "AT&T
DSP3210 Digital Signal Processor Information Manual". They sent it out
to me quickly & for free.
c.10. BugLite only supports 32-bit floating point data. Do I really
want to use this data type?
[email protected] (Walter Horat) replies:
I used to think the same way before programming on the 3210 (I
don't need floats, so I'll just program in integer arithmetic). Once
you get into the architecture of the chip and the instruction set, you
realize that it really was designed *only* to manipulate floating point
data types. The integer operations which the chip supports are not very
robust, for instance there is no integer multiply. But, you can
effectively convert a 8 or 16 bit integer (in signed, unsigned, u-law or
a-law format) to a dsp-floating point number in a single instruction
cycle. The reverse conversion is just as fast. And you can convert
from dsp/ieee and ieee/dsp format in a single instruction (an
instruction takes four cycles to process, but the 3210 has a four-stage
pipeline, so instructions effectively complete in 1 cycle)
c.11. Can I use Think C to write the Macintosh part of DSP
applications?
Malcolm Slaney <
[email protected]> replies:
YES! The VUMeters application [see question #8] was done this
way. Only the DSP code needs to be compiled under MPW. The ARTA Toolkit
does include a good DSP simulator which definitely makes code
development easier.
c.12. What happens to DSP modules I have written when the hardware
platform changes (to PowerPC, for instance)?
[email protected] (george.t.warner) replies:
The DSP3210 will not go away when the PowerPCs come out. While
Apple has not yet announced what their plans are, I can say that it is
very likely that third parties will make plug-in DSP3210 boards for
PowerPCs not equipped with a DSP.