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.
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.
Then just deposit those 12bit numbers into the PDP11 memory and blast away!
Will it work? I don't know.
Anyway, it's July and too hot to go outside. This is an inside project,
with air conditioning.
Doug
On 7/10/2023 9:41 AM, Paul Koning via cctalk wrote:
On Jul 9, 2023, at 9:19 PM, Douglas Taylor via
cctalk <cctalk(a)classiccmp.org> wrote:
Wow! Actual engineers responding...
It looks like I could only do the most rudimentary audio.
1. Sample Rate: You got maybe 20K samples to store in lower memory. At 7KHz sample rate
that would allow 3 seconds of audio. Voice only.
2. Samples: They must be 12 bits. Converting a modern audio clip requires, band
filtering, resampling and mapping to 12 bit integers. Could be done in python, they have
libraries.
3. Clocking output: I have a KMV11, but never programmed around it.
4. Amplify output: AAV11-C produces -10 to +10 volts, have to divide this down for input
to an audio amp.
In the end I will have undone all the advances made in digital audio in the last 30 to 40
years.
I'm reminded of a project I did in college in 1974, when I made a
primitive graphics display using an X/Y oscilloscope driven by an AA-11. Since the
machine was a PDP-11/20 with 8 kW of memory, I decided to use the RC-11 disk as the
refresh memory, doing DMA directly from disk to the D/A data CSR.
So on the scenario here: the sample rate is clearly more than adequate. 12 bits is not
CD grade audio but not bad; for ears used to the distorions of compressed audio files
it's probably good enough.
The PDP-11 certainly won't be able to decompress modern lossy compression files. It
should be fine with raw or nearly-raw files, which means you can convert externally and
feed the resulting files to the PDP-11. You could convert to 16 bit raw mono with
standard tools and then drop the bottom 4 bits. Band filtering? Resampling? I don't
know why you would want to do that, unless there isn't a reasonable way to drive the
device at the source file's data rate. For example, if you have a KW-11/P that's
clearly doable. (Come to think of it, that 11/20 had a KW-11/P and I created BASIC
extensions for it that would allow sampling to be driven by that clock, at a rate of your
choosing.)
You can't fit a whole lot of data in 64 kW of memory, but that isn't needed.
That rate isn't all that high; it isn't hard to write a program that does double
buffering from a disk file to memory to the D/A. That makes a really nice real time
programming exercise.
paul