home .. forth .. nosc mail list archive ..

[Nosc] toy workstation


On Sunday 09 December 2001 08:39 am, Arthur W. Green wrote:
> Mr. Plichota wrote:
> > My interest in a big toy workstation is because I want to develop an
> > integrated MIDI software synthesizer+audio multitrack recording studio.
>
> What kind of hardware did you have in mind for this undertaking?

- dreamware 32-bit MISC Forth main CPU with:
    64-bit SDRAM DIMM glueless interface
    4(?) high speed serial links
    32-bit free-running timer
    as much on-chip RAM as possible
    serial boot EEPROM
    as many parallel I/O pins as possible
- dreamware (32-bit?) single-chip MISC Forth I/O coprocessors with:
    N(?) high speed serial link(s)
    32-bit free-running timer
    as much on-chip RAM as possible
    serial boot EEPROM
    as many parallel I/O pins as possible
- 1280x1024 RGB display controller with memory-mapped interface and local
  display RAM; further study required!

In the not so obvious digital audio context, I hope to use the I/O 
coprocessors to implement sigma/delta A/D and D/A. I have done experiments in 
this direction for years and only need raw processing bandwidth to pull it 
off. I know there are audio codec chips and PCI cards that do a great job, 
but they tend to go obsolete after a very short lifetime and the codec chips 
are typically difficult or impossible to procure in small quantities even 
while they are in full production. In the same way that PLDs streamlined the 
inventory vs. TTL "jellybeans" when they first hit the market, I hope to rely 
on a standard I/O coprocessor for present and future needs.

> > Too
> > tiny a system just won't do because of the sheer size of the digital
> > audio streams, not because I anticipate bloated code. These would ideally
> > be held in RAM, not franticly streaming in and out of the hard drive(s).
>
> That's a real concern. Although I think that performance suffers either way
> if you let the buffers get too large and attempt to throw them to disk.
>
> This is more of a concern for an audio multitracking system rather than a
> software synthesizer.

Exactly. I want to be able to do both in various mixtures in real time 
without buffering hiccups or track synchronization slippages. Ideally, 4 
Gcells (16 Gbytes!) would be available to allow fast access and comfortable 
slack in the track buffers. 1 PCM audio track = 88200 bytes/sec = 5292000 
bytes/minute! I should make a spreadsheet just to scare myself with realistic 
scenarios.

> I believe a very adequate software synthesizer could be written within the
> size of one floppy disk and a nice "wad" of RAM, assuming of course you
> don't need to read large waveform segments or tables, where I would think a
> hard disk is unavoidable.

For various reasons I am ambandoning floppy disks and thinking LBA hard 
disks, but I agree with your remark.

> > My integer
> > DSP experience leaves me no doubt that even 32-bits is marginal for
> > getting _true_ CD-quality end results after any significant processing.
> > This technical concern warrants consideration of investing the extra
> > transistors in a double-precision lookahead carry adder and shifter. This
> > is getting to be a pretty big toy, but the toyness could be preserved by
> > sticking to an essential minimalism.
>
> My knowledge of DSP is minimal. If what you say is true, it would certainly
> explain the poor fidelity found in many common studio systems.

Specifically, recursive digital filters propagate roundoff noise which needs 
to be buried in the throwaway LSBs of extended-precision data representation. 
You need lots of precision in order to make the noise disappear from the 16 
MSBs.

> > Other people have different visions of sugarplums dancing in their heads.
> >
> > > First, I say we design a small wearable computer that uses a one-handed
> > > variant of Dvorak key layout. Each machine should have intercomputer
> > > and interdevice connectivity using something to USB and a small VHF or
> > > UHF "packet radio" to facilitate radio networking.
> >
> > An example above.
>
> Actually, it was meant to be a somewhat funny, rather than a serious
> comment. While I would try to actively support a "stack-computer" wearable,
> it is quite far from my own ambitions.
>
> A radio network wouldn't be such a bad thing, though (now that I think of
> it) maybe even for just "messing around" with an amateur radio license.

Any of us can have anything we want by coding functionality in an I/O 
coprocessor, inserting it into a serial comm loop, and adding the main CPU 
code to take advantage of it!

Myron Plichota
------------------------

To Unsubscribe from this list, send mail to Mdaemon@xxxxxxxxxxxxxxxxxx with:
unsubscribe NOSC
as the first and only line within the message body
Problems   -   List-Admin@xxxxxxxxxxxxxxxxxx
Main 4th site   -   http://www.