CA2025844A1 - Audio adapter for personal computers and method - Google Patents

Audio adapter for personal computers and method

Info

Publication number
CA2025844A1
CA2025844A1 CA 2025844 CA2025844A CA2025844A1 CA 2025844 A1 CA2025844 A1 CA 2025844A1 CA 2025844 CA2025844 CA 2025844 CA 2025844 A CA2025844 A CA 2025844A CA 2025844 A1 CA2025844 A1 CA 2025844A1
Authority
CA
Canada
Prior art keywords
sound
digital
data
signals
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
CA 2025844
Other languages
French (fr)
Inventor
Thomas M. Taylor
Mitchell G. Burton
Mark J. Wilson
Stuart M. Goldstein
Karim Mitha
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CA 2025844 priority Critical patent/CA2025844A1/en
Publication of CA2025844A1 publication Critical patent/CA2025844A1/en
Abandoned legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

ABSTRACT OF THE DISCLOSURE

An audio electrical circuit board for use with a personal computer comprises a digital storage device for storing in digital form data representative of each of one or more distinct sounds which are to be produced, a digital to analog converter for converting the digital signals to an analog signal for transmission of an audio output device, such as a speaker, and a processing circuit electrically connected to the converter and responsive to command signals transmitted by the computer for retrieving from the storage means data respecting one or more of the distinct sounds, and for each of the distinct sounds, producing a stream of digital signals in the format required by the converter and transmitting the stream of digital signals to the converter at a rate specified by the command signals.

Description

2~2~84~

The present invention relates to a low cost method and apparatus for providing personal computers with high quality sound capability.

BACKGR~UND OF THE INVlENTION
Personal computers, commonly known as IBM-PC's and compatibles, have proven to be extremely popular in recent years with the result that the computing, display and storage capacities have increased by many orders of magnitude since they were first introduced. Likewise, the number and sophistication of programs have similarly increased. Great strides have been made in improving the video quality of business oriented software, educational software and entertainment software. However, one area which has received relatively little attention is the sound capability of personal computers. Heretofore, personal computers have been capable of only producing a "beep" or versions thereof so that the audio output of an application is not at all comparable to the quality of display produced by high quality applications. Even if new personal computer hardware were provided with the capability of producing realistic sound effects, there is still the need of enabling the many millions of existing personal computers, which arecapable of displaying the new wave of video graphics, to also produce high quality sound effects.
Some attempts have been made to improve the quality of the audio output of personal computers. Stewart United States Patent No. 4,812,847 granted on March 14, 1989 discloses a digital-to-analog converter device which is adapted to be connected to the parallel printer port of a personal computer. The device is provided with a digital-to-analog converter which is connected to both a parallel printer and the parallel printer port of the personal computer. The converter sends an analog signal to the amplifier and speaker included in a conventional video monitor. There are a number of drawbacks to such an arrangement. First, as mentioned earlier, the speaker included with conventional computer systems are of poor quality as compared with the speakers associated with a good quality~ 30 set of headphones or those of high fidelity audio equipment. Accordingly, the `~ quality of the sound produced by such a system is not substantially improved.
Second, the system is incapable of producing stereo sound because it outputs only ~: 2~2~4 one analog signal. Third, even if the device was capable of producing high quality sound, there are still the major problems of, in addition to producing stereo ~; sounds, playing more than one sound simultaneously and the considerable computational power required, even with current high speed personal computers, 5 to generate the required multi-voice digital sound signals and synthesize the signals while running the application software. If the computational burden of doing this is left to the computer, the quality of the operation of the software and the sound deteriorates substantially.
There are, of course, many sound synthesizing instruments on the market 10 capable of producing very high quality sound. However, these devices are relatively expensive and are not adapted to be connected to personal computers.
Even if somehow they could be connected to personal computers, this solution would still not solve the problem of reducing the computational burden problem mentioned above.
SUMMARY OF THE INVENTION
The present invention seeks to provide a relatively simple and inexpensive audio circui~ board, hereinafter referred to as "sound board" which can be easily , connected to any existing or new personal computer, which is capable of providing 20 dedicated digital signal processing and sample playback capabilities using advanced sound generation techniques and which provides a personal computer with the ability to play professional musical compositions and realistic sampledsounds effects.
The present invention makes use of digitally stored sound recordings as 25 well as digitally synthesized sounds. The digital sound representations are manipulated by the softwàre and hardware of the present invention to produce high quality music, voice and other sound effects. Physically, in the preferred embodiment of the invention, the circuit board is a peripheral device that attaches externally to the computer via the parallel printer port. However, it can also be 30 adapted to be mounted in an expansion slot of the computer or to be connecteddirectly to the computer mother board. A headphone jack provides a connection for headphones or an amplified speaker. The device can be used in three ~' -~ "
different ways. First, it can be used with application software that speci9cal1ysupports the audio circuit board. Second, it can be used by users invoking a standard DOS (Disk Operating System) command line functions and, third, it can be used in a "terminate and stay resident" mode (TSR) where the system operates as a background task which can be activated by events such as special keystrokes, computer errors or interrupts.
The preferred form of the circuit board is a dual-processor based system utilizing a digital signal processor (DSP) and a programmable interface controller (PIC~ microcontroller which can be configured as a multi-timbral polyphonic synthesizer and an audio playback device. The board is designed to shift the burden of sound processing from the computer to the board. This allows the computer to execute application software while the sound board controls sound production. As indicated above, the sound board uses the conventional 8 bit parallel port to pass digital signal processing code, sound synthesis information and sample data to the unit. The software includes a printer loop through function which allows transparent operation of the sound board with a printer from the same port. High resolution stereo output is provided by two 16 bit digital-to-analog converters (DAC) and dual l/2 watt output amplifiers and output jacks for both RCA and stereo Mini plugs.
` ~ ~ 20 The sound board can perform both music synthesis and sampled sound ;~ ~ playback at any time. Each synthesized musical note or sampled sound file to be i~ played is referred to as one voice. The sound board can play any combination of ` ~ voices at one time, limited only by the number of instruction cycles executed by ` the digital signal processor. Sampled sounds are transferred in data packets through the eight bit parallel port to the sound unit. The digital signal processor performs rnixing, filtering, volume and pan setting on the voices as they pass through the DAC outputs. Synthesis is performed by algorithms downloaded by the computer to the sound board during configuration and triggered by musical ` ~ instructions from the computer in a manner similar to MIDI equipped synthesizers in commonuse~
` ~ Generally, in accordance with one aspect of the present invention, there `" is provided an audio electrical circuit board for use with a personal computer, 2 ~ ~ r5 8 4 4 comprising storage means for storing in digital form data representative of eachof one or more distinct sounds which are to be produced, means for converting the digital signals to an analog signal for transmission of an audio output device, and means electrically connected to the converting means and responsive to command signals transmitted by the computer for retrieving from the storage means data respecting one or more of the distinct sounds, and for each of the distinct sounds, producing a stream of digital signals in the format required by the converting means and transmitting the stream of digital signals to the converting means at a rate specified by the command signals.
In accordance with another aspect of the present invention, there is provided a method of producing high quality, multi-voice stereo sound in a personal computer having a parallel printer port, comprising the steps of connecting an audio board to the parallel printer port of the computer, the audio board having storage means for storing in digital form sound data for each of the : 15 voices and being operable to convert the sound data in accordance with one or ~: more predetermined algoAthms to produce a stream of digital sound signals and convert the stream of digital sound signals to an analog signal capable of driving a sound speaker; storing data for each of one or more of a plurality voices in memory in the computer; assembling a digital packet of data of a sound to be played with command signals indicative of the volume and frequency at which the sound is to be played; assembling a plurality of the packets in the sequence in which the sounds are to be played with control signals indicative of the generalfunctions which are to be performed on the plurality of the packets; transmitting : ~ a command to the printer port to cause the audio board to intercept all subsequently transmitted data transmitted to the port until a predetermined command is transmitted; transmitting the plurality of the packets as a digital data burst storing data packets in the storage means in the order in which they were transmitted; processing the data packets in accordance with the command and control signals to produce a stream of digital signals; converting the stream of` 30 digital signals to an analog signal; and transmitting the analog signal to an audio output device.

2~2~84~

BRIEF DESCRIPTION OF THE DRAV~INGS
These and other features of the invention will become more apparent from the following description in which reference is made to the appended drawings wherein:
S FIGURE 1 is a system blocl~ diagram of an audio circuit board, according a preferred embodiment of the present invention, illustrating the input port of the board connected to the printer port of a personal computer and to a printer by way of an extension cable and the output port of the board connected to various output devices;
10 FIGURES 2A and 2B are an electrical schematic of a preferred embodiment of FIGURE~3a~i~a ~it~td~OUll~l~elationship between the software application, the Basic Input Output System (BIOS), according to the present invention, and audio sample data stored in computer memory;
FIGURE 4 is a diagram illustrating of a trigger flag table shown in FIGURE 3;
15 FIGURE S is a flow chart illustrating the operation of the Basic Input Output System (BIOS) which is loaded into the computer;
FIGURE 6 is a flowchart illustrating the sound board operating system which processes command signals and sampled data transmitted by the computer to the sound board to effect sound production; and 20 FIGURE 7 is an electrical schematic showing the power supply circuit for the sound board.

'~

.~ , ~ --.

. ':
: ~ .

: ` :

202~8~

DESCRIPTION OF PREFERRED EMBODIMENT
The present invention consists of five main sub systems: Hardware, BIOS, firmware, DSP operating system and data protocol. The hardware is electronic circuitry that converts digital signals representative of sound data to an analog 5 sound signal that can be heard through a speaker or headphones. The BIOS
(Basic lnput Output System) is software that runs on the personal computer as a part of the application software and are input/output routines which allow application software to access the sound board. The firmware is software that iscontained in read only memory ROM on the circuit board and, among other 10 functions described later, serves to initialize the sound board when it is turned ON. The DSP operating system is software which is loaded into the on board RAM and together with the DSP manipulates command and data signals transmitted to the board by the computer. The sound board can be customized to a great extent by changing the DSP operating system. The Data Protocol is the15 data format that is used to transfer sound information from the personal computer to the stereo circuit board and allows data to be sent to the board at a high rate with low computational overhead on the personal computer. The data protocol also keeps the voice sound information synchronized with the voice control systems and allows programming of different sound modes.
- ~ 20 With particular reference to ~IGURES 1, 2A and 2B of the drawings, the ~ sound board according to a preferred embodiment of the present invention is i generally designated by reference numeral 10. The board is provided with an ~ input port 12 which is adapted to be connected to the parallel port of a personal - .
"` computer 14 by a standard exapansion cable 16 and a similar output port 18 for 25 connection to a printer 20 by a standard expansion cable 22. It is to be understood at the outset that whilé a preferred embodiment of the invention is one in which the board is an external component adapted to be connected to the parallel printer port of a personal computer, the board may also be adapted to form an integral part of a computer or may be adapted to be connected to the , ~
30 usual expansion ports typically provided by personal computers.
The board further includes output jacks 24 for both RCA and a stereo Mini plug to provide a connection for headphones or an amplified speaker (not ;~
.

202~4~

shown). The board also includes an internal expansion bus port 26 to allow the board to be connected to add-on modules generally designa~ed by reference numeral 28, including instruments using the Musical Instrument Digital Interface(MIDI) specification, a quadraphonic module, microphone sampling recorder and the like. The sampling recorder allows the sound board to capture and digitize sounds and transmit the sounds to the computer for storage and playback at a later time.
Input port 12 of the sound board is connected to a latch 38 and a 2.5 MHz 16C55 Programmable Interface Controller (PIC) 40. The latch serves as a buffer between the parallel port and the internal data bus 46 of the sound generator.
Connected to the data bus is a 20 MHz TMS32010 Digital Signal Processor (DSP) 42, which process commands from the PC and performs all programmed functions. The PIC 40 and DSP 42 are connected to RAM chips 44 along the data bus 46A and an address bus 46B. They are also connected to clock and generic array logic circuitry, generally indicated by reference numeral 48, in a{ ~ manner well known to those skilled in the art. Accordingly, these components are .~ ~ not described in further detail herein.
PIC 40 includes an internal read only memory which contains firmware which initializes the board on start up, controls the process of loading the S-~S~ 20 operating system into the DSP from the computer, controls the board timing and playback rate, controls communication with expansion module 26 and controls the connection between the printer and the sound board. The operation of the DSP
is described more fully below with reference to FIGURE 6.
The output of the DSP is connected along an output bus 52 to two 16-bit digital-to-analog converters (DAC~ 50 and 55. The outputs of the DACs are connected through 20 kHz low pass filters 60 to dual 1/2 watt output amplifiers ~` 54 which, in turn, are connected to aforementioned output jacks 24. The present invention uses an "R2R" network 55 of discrete resistors to implement the DACs.
Normally, an R2R network is only built up to the precision of its discrete ~` 30 elements. In other words, if the network is constructed of elements accurate to within 1%, then the number of elements used is usually limited to that which will give a linearity of 1% in the DAC. Any more resolution in the DAC would be 202~8~

lost in the error associated with the discrete elements. The accuracy of the elements that the present invention uses in the DACs yield an equivalent linearity of about 10 bits. The present invention uses these elements to build a 16 bit DAC. Thus, for the cost of a 10 bit DAC, many of the benefits of a 16 bit DAC
are realized. Since the majority of digitally recorded sounds have a modulation of around 10 bits, signal quality is not noticeably affected, yet the ful] 16 bits of dynamic range are available for volume control. Accordingly, the present invention can rely on software scaling for volume control and no mechanical or hardware volume control is needed or used. In addition, since a 16 bit DAC is used, no time consuming conversion of the currently available 16 bit sampled data files is required.
PIC 40 is also employed as an alternative to documentation based copy protection. Once installed, the application software, such as a game program loaded into the computer, requests an electronic serial number from the sound ~5 board. The PIC then sends the serial number to the computer. If the serial number is not available or if it is not the same serial number as when the application was previously installed, access to the application can be prohibited.
The sound board further includes an interrupt generator 56 which generates an ~ interrupt signal in response to data sent to the sound board by the computer.
"~ 20 There is also provided an analog switch 57 which operates under the control of the PIC to send an interrupt signal to the computer when the sound board requires data.
The sound board is adapted to be connected to a standard 120 volt a.c.
source. The power supply 61, shown in FIGURE 7, employs a standard voltage regulator. When the unit is tuned ON, the PIC initializes the board and then remains idle. Instructions intended for the printer are permitted to pass from port -~
12 to port 18. Part of the software associated with the application software is the BIOS which is loaded into the memory of the computer when the software program is loaded. The BIOS in turn causes the DSP operating system, the ' 30 software which causes the sound board to operate in accordance with the present ' invention, to be downloaded into the sound board from computer memory. It is to be noted that the BIOS can also be loaded into computer memory ", ' -3~
~02~84~

independently of application software to allow the board to be accessed by issuing commands at the DOS prompt or by invoking special keystrokes.
There are two methods of utilizing the hardware of the present invention to generate musica] sounds. The first is referred to herein as "sampling" involves S storing digital representations or samples of a sound at discrete time intervals in a data file on the computer and transmit$ing a portion or the entire contents ofthe file from the personal computer to the sound device. The sound board processes the digital data, in a manner explained latter, and feeds the processed data as a digital signal to the DACs which, in turn, feed an analog signal to the speakers.
The second method of generating sounds involves sound synthesis which involves computing various parameters of a sound using mathematical equations or other algorithms. Thus, in this case, the computer transmits the digital signals representative of the variables for use in such equation or algorithm to the sound board, and the sound board executes the equation or algorithm to provide a digital signal which of the same format as the signals which result from the sampling technique. As with the sampled output signal, the synthesized output signal is fed to the DACs which, in turn, feeds analog signals to the speakers.
There are different advantages to both methods, for instance, when the sampling technique is used, it is somewhat easier to generate the sour d by using standard digital recording techniques.
The advantages of utilizing a synthesis technique is that a smaller package of information can be sent down from the PC and then utilizing the programming capacity of the sound generating device, high quality sound can be generated.
With reference to FIGURE 3, a Basic Input Output System (BIOS) 100 in the form of memory resident code is loaded into the mernory of the cornputer concurrently with a software application 102, such as a game. The BIOS are the routines that run on the personal computer and interface the application software and the sound board. The BIOS contains the code to generate the data protocol necessary to communicate with the sound board and is used to provide a uniform interface to the sound board. The BIOS output routines are driven by interrupts generated by the sound board and it is this interrupt driven nature of the BIOS

202.~8~

that allows the board to operate transparently to the application software. The BIOS algorithms use techniques to reduce the computation burden of serving the stereo circuit board. The software application communicates with the BIOS by means of a trigger flag table 104 illustrated in more detail in FIGURE 4. The S BIOS also accesses audio sample files 106 stored in the PC's RAM or on the mass storage device (not shown) such as on a hard or floppy disk connected to the computer. The audio sample files are digital representations of pre-recorded sounds. As can be seen in FIGURE 3, the BIOS is operable to download a board or DSP operating system (illustrated in FIGURE 6) on start up and transmit commands and data packets during normal operation. The BIOS also responds to a printer interrupt signal transmitted by the sound board by transmitting further data or a command that no further data will be transmitted.
Referring to FIGURE 4, the trigger flag table maintains the current status of the playback functions and provides a memory area for the application programto issue playback instructions. The table contains a 10 byte command block 110 that is used to trigger all playback functions. Following the command block are four sample 10 byte voice blocks 112, 114,116 and 118 that are used to indicate the voice status and set up voice instructions.
The BIOS includes an interrupt service routine on the computer at "~ 20 interrupt 15 (hex OF) which is activated by a hardware interrupt from the sound board via the parallel port, a software interrupt generated by an applica~ion program or a software call command. This routine is illustrated by reference numeral 120 in FIGURE 5. The sound board interrupts the computer only during audio data transfers when sampled data needs to be sent to fill the sound board internal FIFO buffers as explained later. Since interrupts could occur every 4 milliseconds, by way of example, when playing a sample, the computer only needs to interrupt when no data transfer cycles are in progress. The application software generates an interrupt or a call command in order to initiate data transfer cycles or process a trigger command. Thus, if the software application needs to send a command, it updates the trigger table. The BIOS checks whether the sound board is inactive and if it is, the BIOS issues an interrupt 15 signal. On the other hand, if the sound board is playing a sample and needs more data, it issues an interrupt 15 to the computer BIOS. Once interrupted, the resident interrupt se~vice routine processes the trigger command byte 122 of the trigger flag table and resets the command byte to zero. This provides a good method for ensuring that the command was processed.
The trigger command and trigger data bytes, 122 and 124 respectively, are 1 byte each and specify the general functions which are to be performed by the BIOS. These functions include setting the master volume desired, specifying the device to which data is to be sent (printer or sound board), the parallel port to be used, process sample instructions, setting the data format, setting the data packet size, and resetting the sound board by terminating all active samples. The Active Sample Voice Count byte 126 is a read-only value which indicates the number of currently playing or paused sample voices and is used to check the status of active samples.
Each of the four sample voice blocks 112, 114, 116 and 118 includes a voice instruction byte 130, a loop counter byte 132, four bytes address offset/segment data 134, a voice volume byte 136, a pan byte 138 and two bytes 140 for output rate shift. The voice instruction byte 130 may be one of several values including a value set by the BIOS to indicate that the voice instruction has been processed, a value to specify that a specified sample is to be played, a value to specify that a sample is to be stopped, paused or continued, or a value to ` change the volume, pan or phase shift for the voice from the master value specified in the command block. The loop counter byte 132 is a value which indicates the number of times a sample is to be looped or repeated. The four address offset/segment data bytes 134 specify the sample number to be played.
The voice volume byte determines the output level of the sample. The stereo pan byte specifies where the sample is to be positioned in ~he stereo field. The output rate shift byte sets the frequency at which the a sample is output.
The trigger table may also contain, in blocks 142, 144 and 148, parameter values for use by routines in the DSP operating system for generating additionalvoices of synthesized sounds using digital frequency modulation and other such techniques well known to those skilled in the art. One such method of synthesis that can be used with the present invention is FM synthesis. This technique is ~' 202~84~
:..

well known as for example, it was described in U.S. Patent 4,018,121 to Chowning.
Each of the synthesis blocks includes a voice instruction byte, ADSR envelope parameters, LFO parameters, synthesis type, voice volume byte and a pan byte.
Up to 16 synthesis blocks may be present.
Referring to FIGURE 5, as explained earlier, both the application software and the sound board issue interrupt signals. When the BIOS detects an interrupt signal, it determines whether the interrupt is a command from the application software or a request for more data from the sound board by checking the triggercommand in the trigger table. It will be recalled that when a command has been processed, the trigger command byte is reset to zero. Thus, a non-zero byte indicates a new command while a zero byte indicates a data request by the sound board. When a command is received, the BIOS converts the commands to sound board commands in accordance with a predetermined protocol and transmits them to the sound board, as indicated by boxes lS0 and 152 in ~IGURE S. For sampled voices, as indicated by boxes lS4, lS6, lS8 and 160, the BIOS then retrieves, for each of the four voices, the voice information specified in the trigger table in the manner described above and transmits the information to the sound ~ board in the manner specified by voice block in the trigger table. This process :~` continues until all voices specified in the trigger table have been processed. When ,:
the interrupt routine 120 detects a signal issued by the sound board, the BIOS
'r'.~; retrieves additional sample data from memory and transmits it to the sound board.
. ~ .
The data which is transmitted may be data representative of pre-recorded sounds or may be variables for use in sound synthesizing routines loaded into the soundboard during start up.
FIGURE 6 is a flow chart which illustrates the DSP operating system which is loaded into RAM 44 on the sound board. The DSP operating system consists of two primary components. The first component is comprised of the sound operating system. The sound operating system sequences and controls the sound synthesis algorithms and interprets the sound data and instruction stream sent by the personal cornputer. The operating system also allows the personal computer to set and control the synthesis mode of the circuit. The second component 202~3~

includes the sound algorithms which are the routines which manipulate the sound data. ;
The data protocol is used to transfer sound information from the personal computer to the sound board. The data protocol allows information to be sent 5 with relatively low computational and processing circuitry requirements. In addition, the protocol allows sound data and control data to be intermixed. The data protocol does not use the data strobe line of the parallel port and, therefore, allows data to be sent transparently to the parallel port printer.
As with the BIOS, the sound board is provided with an interrupt routine 10 which is responsive to an interrupt signal transmitted by the computer BIOS, when the sound board is inactive, to indicate to the sound board that commands and data are to be transmitted. This routine is generally indicated by reference numeral 170. This routine first determines at box 172 whether the information being transmitted is data and, if not, then it determines at box 174 whether theinformation is a command. If the information is a command or commands, it is -fed to command interpreter 176 and processed. If the information is data, the data is routed to RAM and stored therein in four FIFO (First In First Out) buffers 180, 182, 184 and 186. One word of each active voice is read in sequence, its associated volume and pan setting are applied. This produces two signals, 20 namely, a left and a right digital signal, and the resulting signals are mixed with the immediately read word and stored as intermediate left and right signals. This process continues until all words for all active voices have been read and processed. :
The final intermediate signals are then scaled and filtered by a routine 25 indicated by box 188 to provide a left and right digital signals representative of the sound. In the event that the computer transmitted a sound synthesis cornmand and associated parameters (as mentioned earlier with reference to block 141 in FIGURE 4), such a command would be detected at 174 and routed by command interpreter 176 to process the command. The synthesis computation routine 185 30 would produce left and right digital signal representative of the desired sound in the same format as that of the sampled data. The resulting signals would be mixed with the final sampled data left and right signals at 187. These signals are 2 0 2 ~

then oversampled at 190 and placed in an output FIFO buffer 192 and extracted at regular intervals for output to the DACs. As is well known, oversampling is the process of increasing of the sample rate of a digital recording and interpolation of extra samples between a given digital recording's samples. The illustrated 5 embodiment uses a simple oversampling routine that doubles the sample rate by computing an extra sample between every sample in a digital recording. The DSP
operating system uses oversampling to digitally reproduce sampled sound with itsaliasing component (digital high frequency noise that is a result of digital sampling) shifted beyond what the ear can hear. Thus, expensive, extra analog 10 low-pass filtering circuitry is not required to remove the aliasing component from the reproduced sound. Oversampling is also used to allow the reproduction of sampled sound of any ~un-fixed) sample rate. Since analog filtering implies the use of fixed (in hardware) sample rates and oversampling does not, oversampling allows the reproduction of sound at any sample rate chosen by the user instead 15 of those used in hardware.
It will be understood that various modifications and alterations may be made to the present invention without departing from the spirit of the appended claims.

Claims (29)

1. An audio board for use with a computer, comprising:
means for connecting said board to said computer;
means for converting a first digital signals representative of sound data output by said computer in parallel format into a second digital sound signal;
means for converting said second digital sound signal to an analog signal and delivering said analog signal to an audio output port.
2. An audio board as defined in claim 1, said means for converting digital signals representative of sound data including:
a digital signal processor for processing sound data and instructions transmitted by said computer and outputting said digital sound signal;
a programmable interface controller for monitoring said digital signals transmitted by said computer and presenting them to said digital signal processor.
3. An audio board as defined in claim 1, further including a buffer for receiving said sound data and instructions digital signals.
4. An audio board as defined in claim 3, said buffer being a first in first out (FIFO) buffer.
5. An audio board as defined in claim 1, further including means for generating a clock signal for controlling said means for converting digital signals representative of sound data.
6. An audio board as defined in claim 1, further including a headphone amplifier for generating an output signal for driving headphones.
7. An audio board as defined in claim 1, said means for connecting said board to said computer including an input port for connection to a parallel printer port of said computer and an output port for connection to an input port of a parallel printer, further including means responsive to a predetermined interrupt signal transmitted by said computer for delivering sound data and commands transmitted by said computer to said means for converting digital signals representative of sound data.
8. An audio electrical circuit board for use with a personal computer, comprising:
storage means for storing in digital form data representative of each of one or more distinct sounds which are to be produced;
means for converting digital signals to an analog signal for transmission of an audio output device; and means electrically connected to said converting means and responsive to command signals transmitted by said computer for retrieving from said storage means data respecting one or more of said distinct sounds, and for each of said distinct sounds, producing a stream of digital signals in the format required by said converting means and transmitting said stream of digital signals to said converting means at a rate specified by said command signals.
9. An audio electrical circuit board as defined in claim 8, further including second means electrically connected to a second output of said responsive means for converting of digital signals to an analog signal, said response means beingfurther operable to transmit said stream of digital signals to one of both of said converting means to allow said distinct sound to be played on one or both of a pair of audio output devices.
10. An audio electrical circuit board as defined in claim 8, said responsive means being further operable to adjust said digital signals whereby to cause said distinct sound to be played at a volume specified by said command signals.
11. An audio electrical circuit board as defined in claim 8, said responsive means being further operable to synthesize said data in accordance with a predetermined synthesizing algorithm prior to transmitting said stream of digital signals.
12. An audio electrical circuit board as defined in claim 9, said responsive means being further operable to adjust said digital signals whereby to cause said distinct sound to be played at a volume specified by said command signals.
13. An audio electrical circuit board as defined in claim 12, said responsive means being further operable to synthesize said data in accordance with a predetermined synthesizing algorithm prior to transmitting said stream of digital signals.
14. An audio electrical circuit board for use with a personal computer, comprising:
storage means for receiving from said computer and storing digital data packets representative of each of one or more distinct sounds which are to be produced in timed sequence;
first means for converting a first stream of digital signals to a first analog signal for transmission to a first audio output device;
second means for converting a second stream of digital signals to a second analog signal for transmission to a second audio output device;
processing means having first and second output ports connected to said first and second converting means, respectively, and having an input port for connection to a parallel printer port of said computer for receiving thereat from said computer digital command signals and associated data packets representative of distinct sounds, said processing means being operable to produce and transmit to each said first and second converting means a stream of digital signals comprised of data from one or more of the data in said data packets arranged in predetermined sequence with data for each packet being adjusted to provide the desired volume and distribution between said converting means and transmitted at a rate specified by said command signals.
15. An audio electrical circuit board as defined in claim 14, further includingmeans responsive to a predetermined signal transmitted by said computer to said input port for routing said data packets to said storage means.
16. An audio electrical circuit board as defined in claim 14, further includingmeans for monitoring the amount of data in said storage means and transmitting an interrupt signal to said computer when further data is required.
17. An audio electrical circuit board as defined in claim 14, said processing means including:
a digital signal processor for processing said data packets in accordance with commands signals transmitted therewith by said computer; and a programmable interface controller for routing said data packets to said storage means and transmitting said command signals to said digital signal processor.
18. An audio electrical circuit board as defined in claim 17, said storage being random access memory chips.
19. An audio electrical circuit board as defined in claim 18, said storage means being configured as a first in first out buffer.
20. An audio board as defined in claim 14, further including means for generating a clock signal for controlling said processing means.
21. A method of producing high quality, multi-voice stereo sound in a personal computer having a parallel printer port, comprising the steps of:
connecting an audio board to the parallel printer port of said computer, said audio board having storage means for storing in digital form sound data for each of said voices and being operable to convert said sound data in accordance with one or more predetermined algorithms to produce a digital sound signal and convert said digital sound signal to an analog signal capable of driving a sound speaker;
storing data for each of one or more of a plurality voices in memory in said computer;
assembling a digital packet of data of a sound to be played with command signalsindicative of the volume and frequency at which said sound is to be played;
assembling a plurality of said packets in the sequence in which said sounds are to be played with control signals indicative of the general functions which are to be performed on said plurality of said packets;
transmitting said plurality of said packets as a digital data burst to said printer port to cause said audio board to intercept all subsequently transmitted data transmitted to said port until a predetermined interrupt command is transmitted;
storing data packets in said storage means in the order in which they were transmitted;
processing said data packets in accordance with said command and control signals to produce a stream of digital signals;
converting said stream of digital signals to an analog signal; and transmitting said analog signal to an audio output device.
22. A method as defined in claim 21, said processing step further including thestep of synthesizing each packet of data in accordance with a predetermined synthesizing algorithm prior to producing said stream of digital signals.
23. An apparatus for creating digital signals representative of one or more sounds and transmitting said digital signals to a device for converting digital signal to analog signals, comprising:
storage means for storing digital signals representative of one or more pre-recorded sounds to be played;
buffer means for storing digital signals representative of predetermined parameters of at least a portion of one or more sounds to be played and the location in said storage means of said portions of each said one of more sounds;
means responsive to a first interrupt signal for retrieving digital signals representative of said portions of said one or more sounds from said location and delivering said digital signals to and output port for transmission to a device for converting said digital signals to an analog signal; and means responsive to a second interrupt signal received from said device for retrieving from said location in said storage means additional digital signals representative of additional portions of said one or more sounds and transmitting said additional signal as an additional packet of sound data.
24. An apparatus as defined in claim 23, further including means for producing said digital signals representative of predetermined parameters of at least a portion of one or more sounds to be played and the location in said storage means of said portions of each said one of more sounds.
25. An apparatus as defined in claim 23, said predetermined parameters including the volume at which said portion of said one or more signals is to be played.
26. An apparatus as defined in claim 23, said predetermined parameters including the pan setting by which said portion of said one or more signals is to be distributed between two or more sound reproducing ports on said device.
27. An apparatus as defined in claim 23, said predetermined parameters including the frequency at which said portion of said one or more signals is to be played.
28. An apparatus as defined in claim 23, said predetermined parameters including the number of times said portion of said one or more signals is to be played.
29. An apparatus as defined in claim 23, said predetermined parameters including the volume at which said portion of said one or more signals is to be played, the pan setting by which said portion of said one or more signals is to be distributed between two or more sound reproducing ports on said device, the frequency at which said portion of said one or more signals is to be played and the number of times said portion of said one or more signals is to be played.
CA 2025844 1990-09-20 1990-09-20 Audio adapter for personal computers and method Abandoned CA2025844A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CA 2025844 CA2025844A1 (en) 1990-09-20 1990-09-20 Audio adapter for personal computers and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CA 2025844 CA2025844A1 (en) 1990-09-20 1990-09-20 Audio adapter for personal computers and method

Publications (1)

Publication Number Publication Date
CA2025844A1 true CA2025844A1 (en) 1992-03-21

Family

ID=4146021

Family Applications (1)

Application Number Title Priority Date Filing Date
CA 2025844 Abandoned CA2025844A1 (en) 1990-09-20 1990-09-20 Audio adapter for personal computers and method

Country Status (1)

Country Link
CA (1) CA2025844A1 (en)

Similar Documents

Publication Publication Date Title
JP2566697B2 (en) Digital filter for digital music synthesizer
EP0690434B1 (en) Digital manipulation of audio samples
JP3915585B2 (en) DATA GENERATION METHOD, PROGRAM, RECORDING MEDIUM, AND DATA GENERATION DEVICE
US6366971B1 (en) Audio system for playback of waveform sample data
JP2584185B2 (en) Method and apparatus for generating audio signal
JP3292492B2 (en) Performance information processing device
US5847304A (en) PC audio system with frequency compensated wavetable data
US5815583A (en) Audio serial digital interconnect
US6137047A (en) Electronic apparatus with online reconfiguration of PLD components
CA2106442C (en) Sound processing apparatus
CA2025844A1 (en) Audio adapter for personal computers and method
KR102227110B1 (en) Apparatus for generating virtual engine sound for car using accelerator depth variation, midi and wave sound
JP3246405B2 (en) Musical sound generating method, musical sound generating device, and recording medium recording musical sound generating program
US7561931B1 (en) Sound processor
WO1999020006A2 (en) Single-chip audio circuits, methods, and systems using the same
EP0882286B1 (en) Pc audio system with frequency compensated wavetable data
JP2709965B2 (en) Music transmission / reproduction system used for BGM reproduction
KR20040104200A (en) apparatus for controlling audio date of a different driver only by inner software and method for controlling the same
US20090116653A1 (en) Audio signal processing device, audio signal processing method, program thereof, and recording meduim containing the program
JP7159583B2 (en) Musical sound generating device, musical sound generating method, musical sound generating program, and electronic musical instrument
JPH02192259A (en) Output device for digital music information
JP3991475B2 (en) Audio data processing apparatus and computer system
JP3363667B2 (en) Karaoke equipment
JP3085940B2 (en) Sound generator
JPH06342346A (en) Method for storing data on ic card and ic card device

Legal Events

Date Code Title Description
FZDE Dead