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@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


Reply via email to