[comp.sys.amiga] PD Audio

rap@dana.UUCP (Rob Peck) (05/22/87)

In article <1200@cullvax.UUCP>, csb@cullvax.UUCP (Craig Brown) writes:
> 
> A few months ago, someone mentioned that Robert Peck was working 
> on some Midi Routines that would be placed in the public domain.
> Were they ever released (our news system has been down for a couple
> of weeks) ?  Has anyone else released routines that will perform
> midi functions (or should I write my own) ?
>
> Craig

Just to clarify things, yes, I'm planning to post the PD Audio
library I've developed.   But it does not include Midi, since
I'm not really an expert at the serial stuff.

The AmigaWorld article is definitely on tap for the July/Aug
issue, and I cannot "publish" the contents of the article until
the magazine actually hits the stands (per my agreement with
them).  So when you see it there, it'll get posted, just as
though some other kind soul had typed it in from the mag, as
PD goes.

The article mentions certain enhancements to the actual published
material.   Between now and the publication, I may have the time
to put in those enhancements, but I do believe that the basic
material in the article will be helpful and useful to those who
have never tried to use the audio before.  (A/W gave my address
for those who want to get the listings on disk, along with the
enhancements for a nominal fee... so the posting may or may not
include enhancements to date, but will at least contain the
article's actual printed listings.)

---------------------------------------------------------------
On a related topic... at the beginning of April, I spoke to the
creators of the Narrator/Translator and told them about the PD
audio project.  I told them I wanted to make the voice sing!
(snicker, guffaw, chortle).  I had suggested that I would, as
does SpeechToy, continuously send "give me mouth positions"
requests to the device while it is speaking, then immediately
turn around and modify the device's data structures from which
it was getting frequency and/or M/F information so it would
be able to change its output for the next mouth position. 

I realized, of course, that there could be multitasking problems
but as we all know, sometimes people turn off multitasking for
"important things" (and some even turn it back on again).

We discussed it at some length, and it would seem to be do-able
if these weren't internal data structures.   They also seemed
to think that it might require the official support of C-A
so that when 1.3 (2.0?) of the operating system came out, the
technique would still work.  But then, again, why not, if necessary,
hack a new version for the new OS, as long as the device still
exists.  Besides, how high a priority can there be if the
device already works (who's gonna fix it if it ain't broke?).

So anyway, the technique, from a user standpoint, would be:

  Send a phrase to the translator and narrator,
  Use SpeechToy method to get back a list of mouth X,Y size values
    for that phrase.
  User examines the mouths (perhaps visual sequencing) to compare
    mouth positions to words; assigns pitch variation points to
    mouth positions (multitasking or not, the same total  number
    of mouth position changes comes back for a given phrase...
    they did at least confirm that.)
  Save this encoding in some (IFF?) form
  Playback version sends the phrase to the device, waits in a
    loop for the mouth info, compares it to the when-should-I-change
    the-device's parameters, and sings.

I have a few other things I have to work on, but I thought somebody
else with a bit more experience at disassembling (if need be) 
devices and so on might be looking for a screwball hack project
to work on.  (or maybe convince CATS this is a worthwhile
hack... maybe to release relevant data structures and how to find
them once loaded...?)

(I brought this topic up when recently I gave a talk about the
PD Audio project and somebody said "Oh Please, when you demo it
[singing], don't have it do 'Daisy, daisy, g i v e    m e    y o u r rrrrr....'
(I'm sorry, Dave, I'm afraid I can't do that!)  but then that 
was PRECISELY the first thing that I wanted it to do.  His response,
understandably, was aaaaaaaaaaaaarrrrrrrrrrrrrgggggggggggghhhhhhhhhh!!!)


Or, of course, if nobody else is interested, then this was just
good for a laugh.   C'est le vie.