|
I'm happy to inform the Csound list that my composing Csound program (MCCs)
is available at the following address (only for Dos platforms):
http://www.friends.panservice.it/pa2278/
This program is a score generator with various options: you only must answer
to a sequence of questions.
I'd like to know your comments or suggestions about my program.
Have a good time!
Luca Pavan
---
Luca Pavan
E-Mail: pavan@panservice.it
http://people.panservice.it/pa2278
Received: from stork2.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa04742;
27 Apr 97 9:19 BST
Received: from goggins.bath.ac.uk by stork.maths.Bath.AC.UK id aa05625;
27 Apr 97 9:18 BST
Received: from hermes.ex.ac.uk by goggins.bath.ac.uk with SMTP (PP);
Sun, 27 Apr 1997 09:18:30 +0100
Received: from noether [144.173.8.10] by hermes via SMTP (IAA07940);
Sun, 27 Apr 1997 08:52:32 +0100
Received: from hermes.ex.ac.uk by maths.exeter.ac.uk;
Sun, 27 Apr 97 08:52:21 +0100
Received: from io.worldonline.nl [194.151.128.27] by hermes
via ESMTP (IAA07925); Sun, 27 Apr 1997 08:51:35 +0100
Received: from none (asd5-p55.worldonline.nl [154.9.171.55]) by worldonline.nl (8.8.5/8.8.5)
with ESMTP id JAA15483; Sun, 27 Apr 1997 09:43:56 +0200 (MET DST)
Message-Id: <199704270743.JAA15483@worldonline.nl>
From: "J.A. Bijsterbosch"
To: vadims
Cc: CSound Mailing List
Subject: Re: How to get csound up and running?
Date: Sat, 26 Apr 1997 10:50:42 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1157
Mime-Version: 1.0
Content-Type: text/plain; charset=KOI8-R
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk
Hello Vadim,
on wednesday april 16, 1997 3:09 you wrote:
>
> Hi Jan,
[ snip my question how to get started ]
> Here is how:
>
> 1) ftp to ftp.maths.bath.ac.uk (138.38.96.5),
>
> 2) download the following files:
> /pub/dream/newest/csound_new.zip (program files)
> /pub/dream/platforms/pc/Midi.zip (this could serve for test)
[ rest of your instructions snipped ]
Well, this was exactly what I was looking for, thanks to you and all others
who replied to my request. Now I'll be digging in the docs, and get
started... ;-))
>
> Good luck,
> Vadim.
Greetings from sunny Amsterdam,
Jan Bijsterbosch
email: bijster@worldonline.nl
http:\\www.worldonline.nl\~bijster
Received: from stork2.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa04846;
27 Apr 97 10:46 BST
Received: from goggins.bath.ac.uk by stork.maths.Bath.AC.UK id aa07094;
27 Apr 97 10:45 BST
Received: from hermes.ex.ac.uk by goggins.bath.ac.uk with SMTP (PP);
Sun, 27 Apr 1997 10:45:25 +0100
Received: from noether [144.173.8.10] by hermes via SMTP (KAA09411);
Sun, 27 Apr 1997 10:22:56 +0100
Received: from hermes.ex.ac.uk by maths.exeter.ac.uk;
Sun, 27 Apr 97 10:22:44 +0100
Received: from mail2.digital.com [204.123.2.56] by hermes via SMTP (KAA09388);
Sun, 27 Apr 1997 10:22:03 +0100
Received: from matriarch.shl.dec.com by mail2.digital.com (5.65 EXP 4/12/95
for V3.2/1.0/WV) id AA05272; Sun, 27 Apr 1997 02:15:56 -0700
Received: from gobbledoc.shl.dec.com by matriarch.shl.dec.com;
(5.65v3.2/1.1.8.2/16Aug96-1226PM) id AA13191;
Sun, 27 Apr 1997 19:15:05 +1000
Received: by gobbledoc.shl.dec.com
with SMTP (Microsoft Exchange Server Internet Mail Connector Version 4.0.994.63) id <01BC533F.0CE4D660@gobbledoc.shl.dec.com>;
Sun, 27 Apr 1997 19:13:12 +1000
Message-Id:
From: Greg Sullivan
To: 'csound'
Subject: RE: a hardware question....
Date: Sun, 27 Apr 1997 19:13:10 +1000
X-Mailer: Microsoft Exchange Server Internet Mail Connector Version 4.0.994.63
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk
Joel wrote:
[snip]
>The problem is that hard drive access
>time isn't quick enough to keep up with my 44.1kHz clock; hence, within
>22usec I could never hope to make 4 reads to the
>hard drive, and the samples to the DACs aren't making it there fast enough!
>I thought about loading my samples first into
>RAM, but that wouldn't be very efficient and would place a severe limit on
>the size of the sound file(100 secs of quad
>music takes around 35 Megabytes). Does anyone know how a sound card achieves
>its output? Surely it uses some kind of
>buffering (maybe with DMA?) that will keep on filling up a buffer with the
>samples, and then the samples are just
>ported out from the buffer, thus allowing the critical 22usec time frame to
>be achieved so that all DACs are filled and
>outputed according to the 44.1kHz clock before the next set of samples comes
>in.
>
>Any knowlege on sound card output would be appreciated...
Joel, as you suspected, soundcards do typically use DMA to read the
samples
out of a buffer. But, you *may* be able to make your existing hardware
work,
by doing what you say, which is to hold the samples in memory, and
writing
4 samples to the soundcard every clock tick. (I assume there is at least
a latch on your soundcard, to store the 4 samples, so that the precise
time that the processor writes the samples during the interrupt service
routine doesn't matter? I.e, I assume that the processor doesn't
write directly to the DACs! :) This would not necessarily
limit the size of the soundfile, because you could maintain a buffer,
and re-fill it when it has emptied to a certain lower threshold. But no,
this is not generally how it's done - it places a high overhead on the
processor, since it has to service 44100 interrupts a second.
I am not a "soundcard pro", and cannot give you details on
exactly how to do the DMA interface. There are books
on interfacing to PCs - I think you should obtain one.
I *think*, though, that there are two main ways to do the
DMA: (my memory is very hazy - please do not rely
on this information without backing it up with
a more reliable source!)
Single DMA channel
This mode requires the soundcard to be able to
generate an interrupt to the main processor.
The DMA controller (on the motherboard) is configured
for, say, 64K, and the interrupt generator on the
soundcard is configured to interrupt at two points -
when the buffer pointer is half way through the buffer,
and when the buffer pointer is at the end. The DMA
controller is configured to automatically reset and
start reading from the beginning of the memory buffer
when it reaches the end of the buffer. When you
receive an interrupt, you can load samples into
the other half of the memory buffer, etc. etc.
Dual DMA channels
This mode has the advantage of not requering an interrupt
generator on the soundcard, but has the disadvantage of
consuming two DMA channels. The DMA controller
is itself configured to generate an interrupt
when either channel reaches the end of it's buffer.
When a channel reaches the end of it's buffer,
the soundcard immediately switches over to the
other channel. In the mean time, software loads
samples into the other channel's buffer.
Note that not all soundcards use DMA. For example,
I know that some Turtle Beach soundcards have
their own memory buffer on the souncard,
which is made available in the upper memory
address range. Software is able to write
samples directly into this memory
buffer. My understanding is that this
method can be more efficient than DMA,
because DMA cyles are not very efficient
on an ISA bus. (it takes considerable time
for the processor to relinquish control
of the bus to the DMA controller, and
again to regain control)
Greg.
Greg.
>
|