allbery@ncoast.UUCP (Brandon Allbery) (10/24/86)
Quoted from <270@ndmce.uucp> ["3-part harmony on a PC"], by ted@imsvax.UUCP@ndmce.uucp (Ted Holden)... +--------------- | How many voices does the PC speaker have? Try this one and you be the | judge. Steve Muenter's (Rocketdyne) technique, no fakery involved. +--------------- I should be surprised? I had (still have, in fact) an OSI Superboard II, with provision for a speaker which was activated via a DAC. I also had a simple program which implemented a 4-voice music synthesizer with user- definable waveforms for each voice. Doing this by flipping a single bit in an IBM PC (the other method of generating sound wouldn't work too well) would be difficult, but not absolutely impossible. Simply use the DAC input table as the current bit-flipping frequency and grab the clock interrupt to determine when the next voice or DAC table entry should be used. Since those actions wouldn't require DOS accesses (the tables would be in memory), there would be no conflict problems or DOS re-entrancy problems with the clock interrupt. Maybe someone with more smarts than myself could figure out the same trick with the 8253 chip; I don't know enough about those kinds of noisemakers, but the 8253, a busy loop in the main program and a clock interrupt to flag a change in voice would seem to be a good idea. ++Brandon -- ---------------- /--/ Brandon S. Allbery UUCP: decvax!cwruecmp! / / /|\/ Tridelta Industries, Inc. ncoast!tdi2!brandon ---- -------- /-++ 7350 Corporate Blvd. PHONE: +1 216 974 9210 / / /---, ---- Mentor, Ohio 44060 SYSOP: UNaXcess/ncoast / / / / / / -- HOME -- (216) 781-6201 24 hrs. / / / / / / 6615 Center St. Apt. A1-105 ARPA: ncoast!allbery% ---- -----~ ---- Mentor, Ohio 44060-4101 case.CSNET@relay.cs.net