On Jul 10, 2023, at 12:19 PM, Douglas Taylor via
cctalk <cctalk(a)classiccmp.org> wrote:
I'm looking to see if it possible to do something similar. Just blasting raw 12bit
samples from memory out the D/A board.
A fine point would be to use the KWV11-C realtime clock board for the sample rate
control. No interrupts, just polling.
In the case I mentioned I could use the "inhibit bus address increment" feature
of the RC11 controller (and a number of other older controllers) so a long DMA would send
every 16-bit data word to the same bus address (the AA11 data CSR). That may not be an
option for you. If not, you'd have to read from disk while simultaneously sending to
the D/A, which is a simple exercise in asynchronous I/O programming.
Harder is taking an existing MPG or WAV audio clip and
converting it into raw 12bit integers.
I wouldn't try this on the PDP11, I would do this in Linux, offline, using python or
octave to take a wide band audio file convert it into a narrowband audio file, then
resample down to the rate I would use on the PDP11 and finally convert the numbers into
12bit integers.
You could certainly downsample if you want to, but as was already observed the hardware
can handle standard audio data rates of 44.1 k (CD rate) or 48 k (the other common rate)
directly. That also avoids the need for much if any filtering of the output, since the
aliases would be above the audible range.
paul