CA2052771C - Method and apparatus for simultaneous output of digital audio and midi synthesized music - Google Patents
Method and apparatus for simultaneous output of digital audio and midi synthesized musicInfo
- Publication number
- CA2052771C CA2052771C CA002052771A CA2052771A CA2052771C CA 2052771 C CA2052771 C CA 2052771C CA 002052771 A CA002052771 A CA 002052771A CA 2052771 A CA2052771 A CA 2052771A CA 2052771 C CA2052771 C CA 2052771C
- Authority
- CA
- Canada
- Prior art keywords
- midi
- audio
- digital
- signal processor
- digital audio
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/0033—Recording/reproducing or transmission of music for electrophonic musical instruments
- G10H1/0041—Recording/reproducing or transmission of music for electrophonic musical instruments in coded form
- G10H1/0058—Transmission between separate instruments or between individual components of a musical system
- G10H1/0066—Transmission between separate instruments or between individual components of a musical system using a MIDI interface
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H7/00—Instruments in which the tones are synthesised from a data store, e.g. computer organs
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2240/00—Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
- G10H2240/011—Files or data streams containing coded musical information, e.g. for transmission
- G10H2240/031—File merging MIDI, i.e. merging or mixing a MIDI-like file or stream with a non-MIDI file or stream, e.g. audio or video
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2250/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/541—Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
- G10H2250/571—Waveform compression, adapted for music synthesisers, sound banks or wavetables
Abstract
ABSTRACT OF THE DISCLOSURE
METHOD AND APPARATUS FOR SIMULTANEOUS OUTPUT OF
DIGITAL AUDIO AND MIDI SYNTHESIZED MUSIC
A method and apparatus are disclosed for simultaneously outputting digital audio and MIDI synthesized music utilizing a single digital signal processor. The Musical Instrument Digital Interface (MIDI) permits music to be recorded and/or synthesized utilizing a data file containing multiple serially listed program status messages and matching note on and note off messages. In contrast, digital audio is generally merely compressed, utilizing a suitable data compression technique, and recorded. The audio content of such a digital recording may then be restored by decompressing the recorded data and converting that data utilizing a digital-to-analog convertor. The method and apparatus of the present invention selectively and alternatively couples portions of a compressed digital audio file and a MIDI file to a single digital signal processor which alternately decompresses the digital audio file and implements a MIDI synthesizer. Decompressed audio and MIDI synthesized music are then alternately coupled to two separate buffers. The contents of these buffers are then additively mixed and coupled through a digital-to-analog convertor to an audio output device to create an output having concurrent digital audio and MIDI
synthesized music.
METHOD AND APPARATUS FOR SIMULTANEOUS OUTPUT OF
DIGITAL AUDIO AND MIDI SYNTHESIZED MUSIC
A method and apparatus are disclosed for simultaneously outputting digital audio and MIDI synthesized music utilizing a single digital signal processor. The Musical Instrument Digital Interface (MIDI) permits music to be recorded and/or synthesized utilizing a data file containing multiple serially listed program status messages and matching note on and note off messages. In contrast, digital audio is generally merely compressed, utilizing a suitable data compression technique, and recorded. The audio content of such a digital recording may then be restored by decompressing the recorded data and converting that data utilizing a digital-to-analog convertor. The method and apparatus of the present invention selectively and alternatively couples portions of a compressed digital audio file and a MIDI file to a single digital signal processor which alternately decompresses the digital audio file and implements a MIDI synthesizer. Decompressed audio and MIDI synthesized music are then alternately coupled to two separate buffers. The contents of these buffers are then additively mixed and coupled through a digital-to-analog convertor to an audio output device to create an output having concurrent digital audio and MIDI
synthesized music.
Description
ATg-go-046 1 2~2771 METEIOD AND APPARA~US FOR SIMULTANEOUS OUTPUT OF
DIGITAL AUDIO ANI) MIDI SYNT~SIZED MUSIC
BACKGROUND OF 1~ INVENTION
1. Techni~:al Fi~ld: :
The present invention relates in general to the field of digitaL audio systems and in particular to systems which include MIDI synthesizers implemented utilizing a digital signal processor. Still more particularly, the ~ -present invention relates to a method and apparatus for :~
simultaneously outputting both digital audio and MIDI
synthesized music utilizing a single digital processor.
. .
DIGITAL AUDIO ANI) MIDI SYNT~SIZED MUSIC
BACKGROUND OF 1~ INVENTION
1. Techni~:al Fi~ld: :
The present invention relates in general to the field of digitaL audio systems and in particular to systems which include MIDI synthesizers implemented utilizing a digital signal processor. Still more particularly, the ~ -present invention relates to a method and apparatus for :~
simultaneously outputting both digital audio and MIDI
synthesized music utilizing a single digital processor.
. .
2. De~cription o the ~elat,ed Art~ i ;
'~
MIDI, the "Musical Instrument Digital Interface"
was established as a hardware and software specification which would make it possible to exchange information such as: musical notes, program changes, expression control, etc.
between different musical instruments or other devices such as: sequencers, computers, lighting controllers, mixers, etc. This ability to transmit and receive data was originally conceived for live performances, although subseguent developmenta have had enormous impact in recording studios, audio and video production, and composition environments.
, ~.:
A standard for the MIDI interface ha~ been : :~
prepared and published as a joint effort between -the MIDI
Manufacturer 8 As~ociation (MMA) and the Japan MIDI -Standards Committee (JMSC). This standard is sub~ect to change by agreement between JMSC and MMA and is currently published as the MIDI 1.0 Detailed Specification, Document Version 4.1, January 1989.
; ~
The hardware portion of the MIDI interface ~:
operates at 31.25 KBaud, asynchronous, with a start bit, . ., -'.,:
.,, :::
' , '' ' ';~
.. ........ ..
AT9-90-046 2 2~52771 eight data bits and a stop bit. This makes a total of ten bits for a period of 320 microseconds per serial byte. The start bit is a logical zero and the stop bit is a logical one. Bytes are transmitted by sending the least significant bit first. Data bits are transmitted in the MIDI interface by utilizing a five milliamp current loop. A logical zero is represented by the current being turned on and a logical one is represented by the current being turned off. Rise times and fall times for this current loop shall be less than two microseconds. A five pin DIN connector is utilized to provide a connection for this current loop with only two pins being utilized to transmit the current loop signal.
Typically, an opto-isolater is utilized to provide isolation between devices which are coupled together utilizing a MIDI
format.
Communicatlon utiliz:Lng the MIDI inter~ace ia achieved through multl-byte "messàges" which consi~t oE ~ne status byte followed by one or two data bykes. Th~re are certain exceptions to this rule. MIDI message~ are sent over any of sixteen channels which may be utilized for a variety of performance information. There are five major types of MIDI messages: channeI Voice; Channel Mode; System Common; System Real-Time; and, System Exclusive. A MIDI
event is transmitted as a message and consists of one or more bytes.
A channel message in the MIDI system utilizes Eour bits in the status byte to address the message to one of sixteen MIDI channels and four bits to define the message.
Channel messages are thereby intended for the receivers in a system whose channel number matches the channel number encoded in the status byte. An instrument may receive a MIDI message on more than one channel. The channel in Which it receives its main instructions, such as which proyram number to be on and what mode to be in, is often referred to as its "Basic Channel." There are two basic types of .
channel messages, a Voice message and a Mode message. A
Voice message is utili7.ed to control an instrument's voices i, . .., .~ ., `- AT9-90-046 3 20~2771 and Voice messages are typically sent over voice channels.
A Mode message is utilized to define the instrument's response to Voice messages, Mode messages are generally sent over the instrument s Basic Channel.
System messages within the MIDI system may include ~-Common messages, Real-Time messages, and Exclusive messages.
Common messages are intended for all receivers in a system ~ -regardless of the channel that receiver is associated with.
Real-Time messages are utilized for synchronization and are intended for all clock based units in a system. Real-Time messages contain status bytes only, and do not include data bytes. Real-Time messages may be sent at any time, even between bytes of a message which has a diferent status.
Exclusive messages may contai.n any number of data bvtes and can be terminated either by an end of e~clusive or any other status byte, with khe exceptlon o Real-Time messages. An end of exclusive should always be sent at tha end of a ;~
system exclusive message. System exclusive messages Always ~;l include a manufacturer's identification code. If a receiver ~-does not recognize the identification code it will ignore ~
the following data. ~-', . .:
As those skilled in the art will appreciate upon reference to the foregoing, musical compositions may be encoded utilizing the MIDI standard and stored and/or transmitted utilizing ~ubstantially le~s data. The MIDI
standard permits the transmittal of a serial listing of program status messages and channel messages, such as "note on" and "note off" and as a consequence reguire substantially less digital data to encode than the straightforward digitization of an analog music signal.
' , , : ~ . . :
Earlier attempts at integrating music and other analog forms of communication, such as speech, into the digital computer area have traditionally involved the sampling of an analog signal at a sufficiently high ~ ^
frequency to ensure that the highest frequency present within the signal will be captured (the "Nyquist rate") and :. ..
:
AT9-90-046 4 2 0 ~ 2 7 7 1 the subsequent digitization of those samples for storage.
The data rate required for such simple sampling systems can be quite enormous with several tens of thousands of bits of data being required for each second of audio signal.
As a consequence, many different encoding systems have been developed to decrease the amount of data reg~tired in such systems. For example, many modern digital audio systems utilize pulse code modulation (PCM) which employs a variation of a digital signal to represent analog information. Such systems may utilize pulse amplitude modulation ~PAM~, pulse duration modulation (PDM) or pulse position modulation (PPM) to represent variations in an analog signal.
One var~ation o e p~ e code modulation, Dol ta Pulse Code Modulation (DPCM) achleve~ ~till Purther data compression by encoding only the difference betweén one sample and the next sample. Thu~, despite the fact that an analog signal may have a substantial dynamic range, i the sampling rate is suficiently high BO that adjacent signals do not differ greatly, encoding only the difference between two adjacent signals can save substantial data. Further, adaptive or predictive techni~ues are often utilized to further decrease the amount o data necesaary to represent an analog signal by attempt,ing to predict the value o~ a ~ignal ba~ed upon a weighted sum o previous ~ignal~ or by some similar algorithm.
' :.,, In each of these digital audio techniques speech or an audio signal may be sampled and digitized utilizing straightforward processing and digital-to-analog or analog-to-digital conver~ion te~hniques to store or recreate the signal.
; While the aforementioned digital audio systems may be utilized to accurately store speech or other audio signal samples a substantial penalty in data rates must be paid in order to achieve accurate results over that which may be ~ ~ : ' ' ' ;: .
'' ..
AT9-90-046 5 2 0 ~ 2 7 7 1 achieved in the music world with the MIDI system described above. However, in systems wherein it is desired to recreate human speech t~ere exists no appropriate alternative in the MIDI system for the reproduction of human speech.
Thus, it should be apparent that a need exists for a method and apparatus whereby certain digitized audio samples, such as human speech, may be recreated and combi~ed with synthesiæed music which was created or recreated ~-utilizing a MIDI data file.
Further, it would be extremely advantayeous to be able to acco~nplish this task with a single digltal proce~sor.
SUMMARY OF T~ INVENTION ~;
It is therefore one object o~ the present invention to provide an improved digital audio system. -.:~, , ,,: , It is another object of the present invention to provide an improved digital audio system which includes a MIDI synthesizer implemented utilizing a digital signal procesaor.
It is yet another ob~ect of the present invention to provide an improved method and apparatus for simultaneously outputting both digital audio and MIDI ~ : ;
synthesized music utilizing a single digital processor.
The foregoing objects are achieved aa iæ now ' described. The Musical Instrument Digital Interfacè (MIDI) permits music to be recorded and/or synthesized utilizing a data file containing multiple serially li~ted progra~ status messages and matching note on and note off mesaagès. In contrast, digital audio is génerally merely compresaed, utilizing a suitable data compression techniq~e, and recorded. The audio content of such a digital recording may ,.
, ''.'""''' , . ":
; ,', '' ' ,'.:
`~ :
AT9-90--046 6 20S277~
then be restored by decompressing the recorded data and converting that data utilizing a digital-to-analog convertor. The method and apparatus of the present invention selectively and alternatively couples portions of a compressed digital audio file and a MIDI file to à single digital signal processor which alternately decompresses th~
digital audio file and implements a MIDI synthèsizer.
Decompressed audio and MIDI synthesized music are then alternately coupled to two separate buffers. The contents of these buffers are then additively mixed and coupled through a digital-to-analog convertor to an audio output device to create an output having concurrent digital audio and MIDI synthesized music.
BRIEF DESCRIPTION OF ~HR D~WING
The novel eatures believed characteristic of the invention are set forth in the appended claim~. The invention itself however! as well as a preferred mOde o use, furthèr ob~ects and advantages thereof, will best be understood by reference to the following detailed description o an illustrative embodiment when read in conjunction with the accompanying drawings, wherein:
Figure 1 is a block diagram of a computer system whlch may be utilized to implement the method and apparatus of the present invention;
Figure 2 is a block diagram of an audio adapter which includes a digital signal processor which may be utilized to implement the method and apparatus o~ the present invention; and Eigure 3 is a high level flow chart and timing diagram of the method and apparatus o the pre~ent invention.
DETAILED DESCRIPTION OF P~EFERR~D EMBO~I~ENT
. , :
'~,"' . .
,.:''. .
~'.
AT9-90-046 7 2 0 5 2 7 71 ~ ~ ~
..;.
With reference now to the figures and in particular with reference to Figure 1, there i5 depicted a block diagram of a computer system 10 which may be utilized to implement the method and apparatus of the present invention. As is illustrated, a computer system lO is depicted. Computer system lO may be implemented utilizing any state-of-the-art digital computer system having a suitable digital signal processor disposed therein which is capable o implementing a MIDI synthesizer. For example, computer system 10 may be implemented utilizing an IBM~
PS/20 type computer which includes an IBM Audio Capture &
Playback Adapter (ACPA).
Also included within computer system 10 is diaplay 1~. Di~play 14 may be utlli~ed, a~ those alcilled in the art will appreciate, to d.i~play those command and cont~ol features typically utilized in the proce~sing of audio signals within a digital computer ~ystem. Also coupled to computer ~ystem 10 is computer keyboard 16 which ~nay be utilized to enter data and select various files atored within computer ~ystem 10 in a manner well known in the art.
Of course, those skilled in the art will appreciate that a graphical pointing device, such as a mou~e or light pen, may al~o be utili7.ed to enter commands or select appropriate files within computer sy~tem 10.
, ,:.
Still referring to computer ayatem 10, .tt may be seen that processor 12 is depicted. Processor 12 ia .~ .
preferably the central processing unit for computer sy~tem lO and, in the depicted embodiment of the present invention, ~ ~ :
preferably includes an audio adapter capable of implementihg . :~
a MIDI ~ynthesizer by utilizing a digital signal proaessor.
One example of such a device i~ the IBM Audio Capture &
Playback Adapter (ACPA).
. ~," '.
As is illustrated, MIDI file 20 and digital audio file 22 are both depicted as stored within memory within .
processor 12. The output of each file may then be coupled . .
to interface/driver circuitry 24. Interface/driver ~
','"~,.", '."', , ''',.'.''~ ;' AT9-90-046 8 2 0~277 1 circuitry 24 is preferably implemented utilizing any suitable audio application programming interface which permits the accessing of MIDI protocol files or digital audio files and the coupling of those files to an appropriate device driver clrcuit within interface/driver circuitry 24.
.
Thereafter, the output of interface/driver circuitry 24 is coupled to digital signal processor 26.
Digital signal pro~essor 26, in a manner which will be explained in greater detail herein, is utilized to simultaneously output digital audio and MIDI synthesized music and to couple that output to audio output device lB.
Audio output device 18 is preferably an audio speaker or pair of speakers in the case of stereo music files.
Reerr.iny now t,o Fiyure 2, there is depicted block diagram of an aud:Lo adapter wh:lch inalude~ dlcJlt~l siynal proce~sor 26 which may be utilized to implement the method and apparatus of the present invention. A~ di~cus~ed above, this audio adapter may be simply implemented utilizing the IBM Audio Capture & Playback Adapter (ACPA) which is commercially available. In such an implementation digital signal processor 26 is provided by utilizing a Texas Instruments TMS 320C25, or other suitable digital signal processor.
AB il.lustrated, the interface between processor 12 and digital signal processor 26 i~ I/0 bu~ 30. Tho~e skilled in the art will appreciate that I/0 bus 30 may be implemented utilizing the Micro Channel~ or PC I/0 bUs Which are readily available and understood by those skilled in the personal computer art. Utilizing I/0 bus 30, processor 12 can access the host command register 32. Host command register 32 and host statùs register 3~ are used by proce~sor 12 to issue commands and monitor the skatus of the audio adapter depicted wlthin Figure 2.
~ ',, ':, ~-:
', '; "' , .
. ~:
AT9-90-046 9 2~52771 Processor 12 may also utilize I/0 bus 30 to access the address high byte latched counter and address low byte latched counter which are utllized by processor 12 to access shared memory 48 within the audio adapter depicted wit~in Figure 2. Shared memory 48 is preferably an 8K x 16 fast static RAM which is "shared" in the sense that both processor 12 and digital signal processor 26 may access that memory. As will be discussed in greater detail herein, a memory arbiter circuit is utilized to prevent processor 12 and digital signal processor 26 from accessing shared memory 48 simultaneously.
.. . .
As is illustrated, digital signal processor 26 also preferably includes digital signal processor control register 36 and digital signal processor status register 3~
which are utilized, in the same manner as ho~t aommand regi~ter 32 and ho~t status register 34, to permit digital signal proce~sor 26 to issue commands and monitor khe statu~
o various devices within the audio adapter.
Processor 12 may also be utilized to couple dàta to and from shared memory 48 via I/0 bus 30 by utilizing data high byte bi-directional latch 44 and data low-byte bi-directional latch 46, in a manner well known in the art.
Sample memory 50 is also depicted within the audio adapter of Figure 2. Sample memory 50 is preferably a 2K x 16 static RAM which is utilized by digital signal processor 26 for outgoing sAmples to be played and incoming samples of digitized audio. Sample memory 50 may be utilized, as will be explain~d in greater detail herein, as a temporary buffer to store decompressed digital audio samples and ~IDI
synthesized music samples for simultaneous output in accordance with the method and apparatus of the present invention.
Those skilled in the art will appreciate that by decompressing digital audio data and by creating synthesized music from MIDI files unit a predetermined amount of each data type is stored within sample memory 50, it will be à
:::
.
... . .:
,. . : :.
':'-' . :' ',.',' , ' ' AT9-90-046 10 20~2771 simple matter to combine these two outputs in the manner described herein.
Control logic 56 is also depicted within the audio adapter of Figure 2. Control logic 56 is pref~rably a block of logic which, among other tasks, issues interrupts to processor 12 after a digital signal processor 26 interrupt request, controls the input selection switch and issues read, write and enable strobes to the various latches and memory devices within the audio adapter depicted. Control logic 56 preferably accomplishes these tasks utilizing control bus 58.
:
Address bus 60 is depicted and is preferably utilized, in the illustratçd embodiment o~ the pre~ent invention, to permit addre~e~ o~ var~ou~ ~ampleH and i.~e~
within the ~ystem to be coupled between appropr:late devicea in the sy~tem. Data bus 62 i~ also illu6trated ahd i6 utilized to couple data among the variou~ devices within the audio adapter depicted.
A~ discussed above, control logic 56 also uses memory arbiter logic 64 and 66 to control access to ~harad memory 48 and sample memory 50 to ensure that procesisor 12 and digital signal processor 26 do not attempt to access either memory simultaneou~ly. This technique is well known in the art and is neces6ary to ensure thak memory deadlock or other such symptoms do not occur.
Finally, digital-to-analog converter 52 iB
illustrated and is utilized to convert the decompressçd digital audio or digital MIDI synthesized music ~ignals to an appropriate analog signal. The outpUt of digital-to-analog converter 52 is then coupled to analog output section 68 which, preferably includes suitable filtration and amplification circuitry. Similarly, the audio adapter depicted within Figure 2 may bç utilized to digitize and store audio signals by coupling those signals into analog input section 70 and thereafter to `.. :.' :' '~ .
' , .:
analog-to-digital converter 54. Those skilled in the art will appreciate that such a device permits the capture and storing of analog audio signàls by digitization and storing of the digital values associated with that signal.
With reference now to Figure 3, there is depicted a high level flow chart and timing diagram of the method and apparatus of the present invention. As illustrated, the process begins at block 100 which depicts thP retrieving of a compressed digital audio data block from memory.
Thereafter, in the sequence depicted numerically, the digital audio data is decompressed utilizing digital signal processor 26 and an appropriate decompression technique.
Those skilled in the art will appreciate thàt the decompression technique utilized wi.ll vary in accordance with the compre~aion technique wh.ich wa~ utilized and variation~ ln t,hi~ technique Will not depart from the ~pirlt and intent o the present invention. Next, the decompro~ed digital atldio data i~ loaded into a temporary buf~ uch a~ ~ample memory 50 (see Figure 2).
At this point, in accordance with an important feature of the present invention, digital signal processor 26 is selectively and alternatively utilized to implement a MIDI synthesizer. This process begin~ at block 106 which depicts the retrieval of MIDI data rom memory. Next, block 108 illustrates the creation of ~ynthesized mu~ic by coupling the various program status change~, note on and note of me~ages and other control me~sages wlthin the MIDI
data file to a digital synthesizer which may be implemented utilizing digital signal processor 26. Thereafter, the synthesized music created from that portion of the MIDI file which has been retrieved is also loaded into a ternporary buffer, such as sample memory 50.
;'.' ' '' . ' ' .:
At this point, the decompressed digital audio data and the synthesizedi music, each having been located into a temporary buffer, are combined in an additive mixer which serves to mix the digital audio data and ~ynthesized music ,., :: -,: ' AT9-90-046 12 20~2771 so that they may be simultaneously output. The output of this additive mixer is then coupled to an appropriate digital-to-analog conversion device, as illustrated in block 114. Finally, the output of the digital-to-analog conversion device is coupled to an audio output device, as depicted in block 116.
Of course, those skilled in the art will appreciate that the illustrated embodiment is representative in nature and not meant to be all inclusive. For example, the system may be implemented with alternate timing in that MIDI data may be retrieved first followed by compressed digital audio data. Similarly, in the event eight note polyphony is desired, sufficient MIDI data must be retrieved from memory to synthesize each note Which iB active for the portion of synthesized music to be created. Slmil.arly, :In the event stereo music i~ created, variou~ control ~:L~nala such as a pan ~i~nal must al~o be included to ensU~e that the audio outputs are coupled to an appropriate ~pealeer, with the de~ired amount of amplification in that channel.
' . .' ~ .
Upon reference to the foregoing those skilled in the art will appreciate that the Applicants in the present application have developed a technique whereby compressed ;;
digital audio data may be decompressed and portions of that data stored within a temporary buffer while MIDI data files I are accessed and utilized to create digital synthe~ized ¦ music in A MIDI synthesizer Which i~ implemented utilizing the same digital siynal processor which is utilized to decompress the digital audio data. By selectively and alternatively accessing these two diverse types o data and then additively mixing the two outputs, a s,ingle digital . - ...- . .
signal processor may be utilized to simultaneously output -both decompressed digital audio data and MIDI synthesized music in a manner which was not hereto~or possible.
. .....
"
While the invention h~s been particularly shown and de,cribed with reference to a preferred embodiment, it will be understood by those skilled in the art that various ~ ~ . ,`:", '"`.' ' 1~; .
~4~ ' ;' ' '' ' . ~ .
~: "' " "' ' .~ ," "'.
:5 .' ' . . .' . ' 2~2~7 1 ~
.
changes in form and detail may be made therein without ``~
departing from the spirit and scope of the invention.
' . ' ' '.', : ' '., ~
. .
. ~ ..
, . . ..
.' .: . '. .
i ,~ ., .:, .;. .. . . ..
., ~ , " .~
'. ,:. , .. :: . . .
.,'. ~., ,:,, ','.':.". ''.',' .. ' .., '','' ,.
~ :. ,., . ,; ..
..., : .
,.,.: " .."
'.. . . .
;.,',' :,'''' ,',~' ~': ,.,',: "" ' "~'' '':' " '~ ., '',,... :' ' . ~
, . .,:
: :, ,. . .: .
:~ ~ ~ .... .
Xi,~
:: ~ ,.: ~ .:
. ,
'~
MIDI, the "Musical Instrument Digital Interface"
was established as a hardware and software specification which would make it possible to exchange information such as: musical notes, program changes, expression control, etc.
between different musical instruments or other devices such as: sequencers, computers, lighting controllers, mixers, etc. This ability to transmit and receive data was originally conceived for live performances, although subseguent developmenta have had enormous impact in recording studios, audio and video production, and composition environments.
, ~.:
A standard for the MIDI interface ha~ been : :~
prepared and published as a joint effort between -the MIDI
Manufacturer 8 As~ociation (MMA) and the Japan MIDI -Standards Committee (JMSC). This standard is sub~ect to change by agreement between JMSC and MMA and is currently published as the MIDI 1.0 Detailed Specification, Document Version 4.1, January 1989.
; ~
The hardware portion of the MIDI interface ~:
operates at 31.25 KBaud, asynchronous, with a start bit, . ., -'.,:
.,, :::
' , '' ' ';~
.. ........ ..
AT9-90-046 2 2~52771 eight data bits and a stop bit. This makes a total of ten bits for a period of 320 microseconds per serial byte. The start bit is a logical zero and the stop bit is a logical one. Bytes are transmitted by sending the least significant bit first. Data bits are transmitted in the MIDI interface by utilizing a five milliamp current loop. A logical zero is represented by the current being turned on and a logical one is represented by the current being turned off. Rise times and fall times for this current loop shall be less than two microseconds. A five pin DIN connector is utilized to provide a connection for this current loop with only two pins being utilized to transmit the current loop signal.
Typically, an opto-isolater is utilized to provide isolation between devices which are coupled together utilizing a MIDI
format.
Communicatlon utiliz:Lng the MIDI inter~ace ia achieved through multl-byte "messàges" which consi~t oE ~ne status byte followed by one or two data bykes. Th~re are certain exceptions to this rule. MIDI message~ are sent over any of sixteen channels which may be utilized for a variety of performance information. There are five major types of MIDI messages: channeI Voice; Channel Mode; System Common; System Real-Time; and, System Exclusive. A MIDI
event is transmitted as a message and consists of one or more bytes.
A channel message in the MIDI system utilizes Eour bits in the status byte to address the message to one of sixteen MIDI channels and four bits to define the message.
Channel messages are thereby intended for the receivers in a system whose channel number matches the channel number encoded in the status byte. An instrument may receive a MIDI message on more than one channel. The channel in Which it receives its main instructions, such as which proyram number to be on and what mode to be in, is often referred to as its "Basic Channel." There are two basic types of .
channel messages, a Voice message and a Mode message. A
Voice message is utili7.ed to control an instrument's voices i, . .., .~ ., `- AT9-90-046 3 20~2771 and Voice messages are typically sent over voice channels.
A Mode message is utilized to define the instrument's response to Voice messages, Mode messages are generally sent over the instrument s Basic Channel.
System messages within the MIDI system may include ~-Common messages, Real-Time messages, and Exclusive messages.
Common messages are intended for all receivers in a system ~ -regardless of the channel that receiver is associated with.
Real-Time messages are utilized for synchronization and are intended for all clock based units in a system. Real-Time messages contain status bytes only, and do not include data bytes. Real-Time messages may be sent at any time, even between bytes of a message which has a diferent status.
Exclusive messages may contai.n any number of data bvtes and can be terminated either by an end of e~clusive or any other status byte, with khe exceptlon o Real-Time messages. An end of exclusive should always be sent at tha end of a ;~
system exclusive message. System exclusive messages Always ~;l include a manufacturer's identification code. If a receiver ~-does not recognize the identification code it will ignore ~
the following data. ~-', . .:
As those skilled in the art will appreciate upon reference to the foregoing, musical compositions may be encoded utilizing the MIDI standard and stored and/or transmitted utilizing ~ubstantially le~s data. The MIDI
standard permits the transmittal of a serial listing of program status messages and channel messages, such as "note on" and "note off" and as a consequence reguire substantially less digital data to encode than the straightforward digitization of an analog music signal.
' , , : ~ . . :
Earlier attempts at integrating music and other analog forms of communication, such as speech, into the digital computer area have traditionally involved the sampling of an analog signal at a sufficiently high ~ ^
frequency to ensure that the highest frequency present within the signal will be captured (the "Nyquist rate") and :. ..
:
AT9-90-046 4 2 0 ~ 2 7 7 1 the subsequent digitization of those samples for storage.
The data rate required for such simple sampling systems can be quite enormous with several tens of thousands of bits of data being required for each second of audio signal.
As a consequence, many different encoding systems have been developed to decrease the amount of data reg~tired in such systems. For example, many modern digital audio systems utilize pulse code modulation (PCM) which employs a variation of a digital signal to represent analog information. Such systems may utilize pulse amplitude modulation ~PAM~, pulse duration modulation (PDM) or pulse position modulation (PPM) to represent variations in an analog signal.
One var~ation o e p~ e code modulation, Dol ta Pulse Code Modulation (DPCM) achleve~ ~till Purther data compression by encoding only the difference betweén one sample and the next sample. Thu~, despite the fact that an analog signal may have a substantial dynamic range, i the sampling rate is suficiently high BO that adjacent signals do not differ greatly, encoding only the difference between two adjacent signals can save substantial data. Further, adaptive or predictive techni~ues are often utilized to further decrease the amount o data necesaary to represent an analog signal by attempt,ing to predict the value o~ a ~ignal ba~ed upon a weighted sum o previous ~ignal~ or by some similar algorithm.
' :.,, In each of these digital audio techniques speech or an audio signal may be sampled and digitized utilizing straightforward processing and digital-to-analog or analog-to-digital conver~ion te~hniques to store or recreate the signal.
; While the aforementioned digital audio systems may be utilized to accurately store speech or other audio signal samples a substantial penalty in data rates must be paid in order to achieve accurate results over that which may be ~ ~ : ' ' ' ;: .
'' ..
AT9-90-046 5 2 0 ~ 2 7 7 1 achieved in the music world with the MIDI system described above. However, in systems wherein it is desired to recreate human speech t~ere exists no appropriate alternative in the MIDI system for the reproduction of human speech.
Thus, it should be apparent that a need exists for a method and apparatus whereby certain digitized audio samples, such as human speech, may be recreated and combi~ed with synthesiæed music which was created or recreated ~-utilizing a MIDI data file.
Further, it would be extremely advantayeous to be able to acco~nplish this task with a single digltal proce~sor.
SUMMARY OF T~ INVENTION ~;
It is therefore one object o~ the present invention to provide an improved digital audio system. -.:~, , ,,: , It is another object of the present invention to provide an improved digital audio system which includes a MIDI synthesizer implemented utilizing a digital signal procesaor.
It is yet another ob~ect of the present invention to provide an improved method and apparatus for simultaneously outputting both digital audio and MIDI ~ : ;
synthesized music utilizing a single digital processor.
The foregoing objects are achieved aa iæ now ' described. The Musical Instrument Digital Interfacè (MIDI) permits music to be recorded and/or synthesized utilizing a data file containing multiple serially li~ted progra~ status messages and matching note on and note off mesaagès. In contrast, digital audio is génerally merely compresaed, utilizing a suitable data compression techniq~e, and recorded. The audio content of such a digital recording may ,.
, ''.'""''' , . ":
; ,', '' ' ,'.:
`~ :
AT9-90--046 6 20S277~
then be restored by decompressing the recorded data and converting that data utilizing a digital-to-analog convertor. The method and apparatus of the present invention selectively and alternatively couples portions of a compressed digital audio file and a MIDI file to à single digital signal processor which alternately decompresses th~
digital audio file and implements a MIDI synthèsizer.
Decompressed audio and MIDI synthesized music are then alternately coupled to two separate buffers. The contents of these buffers are then additively mixed and coupled through a digital-to-analog convertor to an audio output device to create an output having concurrent digital audio and MIDI synthesized music.
BRIEF DESCRIPTION OF ~HR D~WING
The novel eatures believed characteristic of the invention are set forth in the appended claim~. The invention itself however! as well as a preferred mOde o use, furthèr ob~ects and advantages thereof, will best be understood by reference to the following detailed description o an illustrative embodiment when read in conjunction with the accompanying drawings, wherein:
Figure 1 is a block diagram of a computer system whlch may be utilized to implement the method and apparatus of the present invention;
Figure 2 is a block diagram of an audio adapter which includes a digital signal processor which may be utilized to implement the method and apparatus o~ the present invention; and Eigure 3 is a high level flow chart and timing diagram of the method and apparatus o the pre~ent invention.
DETAILED DESCRIPTION OF P~EFERR~D EMBO~I~ENT
. , :
'~,"' . .
,.:''. .
~'.
AT9-90-046 7 2 0 5 2 7 71 ~ ~ ~
..;.
With reference now to the figures and in particular with reference to Figure 1, there i5 depicted a block diagram of a computer system 10 which may be utilized to implement the method and apparatus of the present invention. As is illustrated, a computer system lO is depicted. Computer system lO may be implemented utilizing any state-of-the-art digital computer system having a suitable digital signal processor disposed therein which is capable o implementing a MIDI synthesizer. For example, computer system 10 may be implemented utilizing an IBM~
PS/20 type computer which includes an IBM Audio Capture &
Playback Adapter (ACPA).
Also included within computer system 10 is diaplay 1~. Di~play 14 may be utlli~ed, a~ those alcilled in the art will appreciate, to d.i~play those command and cont~ol features typically utilized in the proce~sing of audio signals within a digital computer ~ystem. Also coupled to computer ~ystem 10 is computer keyboard 16 which ~nay be utilized to enter data and select various files atored within computer ~ystem 10 in a manner well known in the art.
Of course, those skilled in the art will appreciate that a graphical pointing device, such as a mou~e or light pen, may al~o be utili7.ed to enter commands or select appropriate files within computer sy~tem 10.
, ,:.
Still referring to computer ayatem 10, .tt may be seen that processor 12 is depicted. Processor 12 ia .~ .
preferably the central processing unit for computer sy~tem lO and, in the depicted embodiment of the present invention, ~ ~ :
preferably includes an audio adapter capable of implementihg . :~
a MIDI ~ynthesizer by utilizing a digital signal proaessor.
One example of such a device i~ the IBM Audio Capture &
Playback Adapter (ACPA).
. ~," '.
As is illustrated, MIDI file 20 and digital audio file 22 are both depicted as stored within memory within .
processor 12. The output of each file may then be coupled . .
to interface/driver circuitry 24. Interface/driver ~
','"~,.", '."', , ''',.'.''~ ;' AT9-90-046 8 2 0~277 1 circuitry 24 is preferably implemented utilizing any suitable audio application programming interface which permits the accessing of MIDI protocol files or digital audio files and the coupling of those files to an appropriate device driver clrcuit within interface/driver circuitry 24.
.
Thereafter, the output of interface/driver circuitry 24 is coupled to digital signal processor 26.
Digital signal pro~essor 26, in a manner which will be explained in greater detail herein, is utilized to simultaneously output digital audio and MIDI synthesized music and to couple that output to audio output device lB.
Audio output device 18 is preferably an audio speaker or pair of speakers in the case of stereo music files.
Reerr.iny now t,o Fiyure 2, there is depicted block diagram of an aud:Lo adapter wh:lch inalude~ dlcJlt~l siynal proce~sor 26 which may be utilized to implement the method and apparatus of the present invention. A~ di~cus~ed above, this audio adapter may be simply implemented utilizing the IBM Audio Capture & Playback Adapter (ACPA) which is commercially available. In such an implementation digital signal processor 26 is provided by utilizing a Texas Instruments TMS 320C25, or other suitable digital signal processor.
AB il.lustrated, the interface between processor 12 and digital signal processor 26 i~ I/0 bu~ 30. Tho~e skilled in the art will appreciate that I/0 bus 30 may be implemented utilizing the Micro Channel~ or PC I/0 bUs Which are readily available and understood by those skilled in the personal computer art. Utilizing I/0 bus 30, processor 12 can access the host command register 32. Host command register 32 and host statùs register 3~ are used by proce~sor 12 to issue commands and monitor the skatus of the audio adapter depicted wlthin Figure 2.
~ ',, ':, ~-:
', '; "' , .
. ~:
AT9-90-046 9 2~52771 Processor 12 may also utilize I/0 bus 30 to access the address high byte latched counter and address low byte latched counter which are utllized by processor 12 to access shared memory 48 within the audio adapter depicted wit~in Figure 2. Shared memory 48 is preferably an 8K x 16 fast static RAM which is "shared" in the sense that both processor 12 and digital signal processor 26 may access that memory. As will be discussed in greater detail herein, a memory arbiter circuit is utilized to prevent processor 12 and digital signal processor 26 from accessing shared memory 48 simultaneously.
.. . .
As is illustrated, digital signal processor 26 also preferably includes digital signal processor control register 36 and digital signal processor status register 3~
which are utilized, in the same manner as ho~t aommand regi~ter 32 and ho~t status register 34, to permit digital signal proce~sor 26 to issue commands and monitor khe statu~
o various devices within the audio adapter.
Processor 12 may also be utilized to couple dàta to and from shared memory 48 via I/0 bus 30 by utilizing data high byte bi-directional latch 44 and data low-byte bi-directional latch 46, in a manner well known in the art.
Sample memory 50 is also depicted within the audio adapter of Figure 2. Sample memory 50 is preferably a 2K x 16 static RAM which is utilized by digital signal processor 26 for outgoing sAmples to be played and incoming samples of digitized audio. Sample memory 50 may be utilized, as will be explain~d in greater detail herein, as a temporary buffer to store decompressed digital audio samples and ~IDI
synthesized music samples for simultaneous output in accordance with the method and apparatus of the present invention.
Those skilled in the art will appreciate that by decompressing digital audio data and by creating synthesized music from MIDI files unit a predetermined amount of each data type is stored within sample memory 50, it will be à
:::
.
... . .:
,. . : :.
':'-' . :' ',.',' , ' ' AT9-90-046 10 20~2771 simple matter to combine these two outputs in the manner described herein.
Control logic 56 is also depicted within the audio adapter of Figure 2. Control logic 56 is pref~rably a block of logic which, among other tasks, issues interrupts to processor 12 after a digital signal processor 26 interrupt request, controls the input selection switch and issues read, write and enable strobes to the various latches and memory devices within the audio adapter depicted. Control logic 56 preferably accomplishes these tasks utilizing control bus 58.
:
Address bus 60 is depicted and is preferably utilized, in the illustratçd embodiment o~ the pre~ent invention, to permit addre~e~ o~ var~ou~ ~ampleH and i.~e~
within the ~ystem to be coupled between appropr:late devicea in the sy~tem. Data bus 62 i~ also illu6trated ahd i6 utilized to couple data among the variou~ devices within the audio adapter depicted.
A~ discussed above, control logic 56 also uses memory arbiter logic 64 and 66 to control access to ~harad memory 48 and sample memory 50 to ensure that procesisor 12 and digital signal processor 26 do not attempt to access either memory simultaneou~ly. This technique is well known in the art and is neces6ary to ensure thak memory deadlock or other such symptoms do not occur.
Finally, digital-to-analog converter 52 iB
illustrated and is utilized to convert the decompressçd digital audio or digital MIDI synthesized music ~ignals to an appropriate analog signal. The outpUt of digital-to-analog converter 52 is then coupled to analog output section 68 which, preferably includes suitable filtration and amplification circuitry. Similarly, the audio adapter depicted within Figure 2 may bç utilized to digitize and store audio signals by coupling those signals into analog input section 70 and thereafter to `.. :.' :' '~ .
' , .:
analog-to-digital converter 54. Those skilled in the art will appreciate that such a device permits the capture and storing of analog audio signàls by digitization and storing of the digital values associated with that signal.
With reference now to Figure 3, there is depicted a high level flow chart and timing diagram of the method and apparatus of the present invention. As illustrated, the process begins at block 100 which depicts thP retrieving of a compressed digital audio data block from memory.
Thereafter, in the sequence depicted numerically, the digital audio data is decompressed utilizing digital signal processor 26 and an appropriate decompression technique.
Those skilled in the art will appreciate thàt the decompression technique utilized wi.ll vary in accordance with the compre~aion technique wh.ich wa~ utilized and variation~ ln t,hi~ technique Will not depart from the ~pirlt and intent o the present invention. Next, the decompro~ed digital atldio data i~ loaded into a temporary buf~ uch a~ ~ample memory 50 (see Figure 2).
At this point, in accordance with an important feature of the present invention, digital signal processor 26 is selectively and alternatively utilized to implement a MIDI synthesizer. This process begin~ at block 106 which depicts the retrieval of MIDI data rom memory. Next, block 108 illustrates the creation of ~ynthesized mu~ic by coupling the various program status change~, note on and note of me~ages and other control me~sages wlthin the MIDI
data file to a digital synthesizer which may be implemented utilizing digital signal processor 26. Thereafter, the synthesized music created from that portion of the MIDI file which has been retrieved is also loaded into a ternporary buffer, such as sample memory 50.
;'.' ' '' . ' ' .:
At this point, the decompressed digital audio data and the synthesizedi music, each having been located into a temporary buffer, are combined in an additive mixer which serves to mix the digital audio data and ~ynthesized music ,., :: -,: ' AT9-90-046 12 20~2771 so that they may be simultaneously output. The output of this additive mixer is then coupled to an appropriate digital-to-analog conversion device, as illustrated in block 114. Finally, the output of the digital-to-analog conversion device is coupled to an audio output device, as depicted in block 116.
Of course, those skilled in the art will appreciate that the illustrated embodiment is representative in nature and not meant to be all inclusive. For example, the system may be implemented with alternate timing in that MIDI data may be retrieved first followed by compressed digital audio data. Similarly, in the event eight note polyphony is desired, sufficient MIDI data must be retrieved from memory to synthesize each note Which iB active for the portion of synthesized music to be created. Slmil.arly, :In the event stereo music i~ created, variou~ control ~:L~nala such as a pan ~i~nal must al~o be included to ensU~e that the audio outputs are coupled to an appropriate ~pealeer, with the de~ired amount of amplification in that channel.
' . .' ~ .
Upon reference to the foregoing those skilled in the art will appreciate that the Applicants in the present application have developed a technique whereby compressed ;;
digital audio data may be decompressed and portions of that data stored within a temporary buffer while MIDI data files I are accessed and utilized to create digital synthe~ized ¦ music in A MIDI synthesizer Which i~ implemented utilizing the same digital siynal processor which is utilized to decompress the digital audio data. By selectively and alternatively accessing these two diverse types o data and then additively mixing the two outputs, a s,ingle digital . - ...- . .
signal processor may be utilized to simultaneously output -both decompressed digital audio data and MIDI synthesized music in a manner which was not hereto~or possible.
. .....
"
While the invention h~s been particularly shown and de,cribed with reference to a preferred embodiment, it will be understood by those skilled in the art that various ~ ~ . ,`:", '"`.' ' 1~; .
~4~ ' ;' ' '' ' . ~ .
~: "' " "' ' .~ ," "'.
:5 .' ' . . .' . ' 2~2~7 1 ~
.
changes in form and detail may be made therein without ``~
departing from the spirit and scope of the invention.
' . ' ' '.', : ' '., ~
. .
. ~ ..
, . . ..
.' .: . '. .
i ,~ ., .:, .;. .. . . ..
., ~ , " .~
'. ,:. , .. :: . . .
.,'. ~., ,:,, ','.':.". ''.',' .. ' .., '','' ,.
~ :. ,., . ,; ..
..., : .
,.,.: " .."
'.. . . .
;.,',' :,'''' ,',~' ~': ,.,',: "" ' "~'' '':' " '~ ., '',,... :' ' . ~
, . .,:
: :, ,. . .: .
:~ ~ ~ .... .
Xi,~
:: ~ ,.: ~ .:
. ,
Claims (8)
1. A method for the simultaneous output of digital audio and MIDI synthesized music by a single digital signal processor, said method comprising the steps of:
storing a compressed digital audio file within a memory device associated with a single digital signal processor;
storing a MIDI file within a memory device associated with said single digital signal processor;
selectively and alternatively coupling portions of said compressed digital audio file to said single digital signal processor for creation of decompressed audio and portions of said MIDI file to said single digital signal processor for creation of MIDI synthesized music;
storing said decompressed digital audio within a first temporary buffer;
storing said MIDI synthesized music within a second temporary buffer; and combining the contents of said first temporary buffer and said second temporary buffer to create a composite output including digital audio and MIDI
synthesized music.
storing a compressed digital audio file within a memory device associated with a single digital signal processor;
storing a MIDI file within a memory device associated with said single digital signal processor;
selectively and alternatively coupling portions of said compressed digital audio file to said single digital signal processor for creation of decompressed audio and portions of said MIDI file to said single digital signal processor for creation of MIDI synthesized music;
storing said decompressed digital audio within a first temporary buffer;
storing said MIDI synthesized music within a second temporary buffer; and combining the contents of said first temporary buffer and said second temporary buffer to create a composite output including digital audio and MIDI
synthesized music.
2. The method for simultaneous output of digital audio and MIDI synthesized music according to Claim 1, further including the step of coupling said composite output to a digital-to-analog converter.
3. The method for simultaneous output of digital audio and MIDI synthesized music according to Claim 2, further including the step of coupling an output of said digital-to-analog converter to an audio output device.
4. The method for simultaneous output of digital audio and MIDI synthesized music according to Claim 1, wherein said step of selectively and alternatively coupling portions of said compressed digital audio file to said single digital signal processor for creation of decompressed audio and portions of said MIDI file to said single digital signal processor for creation of MIDI synthesized music comprises the step of coupling a selected portion of said compressed digital audio file to said single digital signal processor until a predetermined amount of decompressed audio is created.
5. The method for simultaneous output of digital audio and MIDI synthesized music according to Claim 1, wherein said step of selectively and alternatively coupling portions of said compressed digital audio file to said single digital signal processor for creation of decompressed audio and portions of said MIDI file to said single digital signal processor for creation of MIDI synthesized music comprises the step of coupling a selected portion of said MIDI file to said single digital signal processor until a predetermined amount of digitally synthesized music is created.
6. An apparatus for simultaneously outputting digital audio and MIDI synthesized music, said apparatus comprising:
first memory means for storing a compressed digital audio file;
second memory means for storing a MIDI file;
a single digital signal processor;
control means for selectively and alternatively coupling said first memory means to said single digital signal processor for creation of decompressed audio and said second memory means to said single digital signal processor for creation of MIDI synthesized music;
first buffer means coupled to said single digital signal processor for temporarily storing of decompressed audio;
second buffer means coupled to said single digital signal processor for temporarily storing MIDI synthesized music; and additive mixer means coupled to said first buffer means and said second buffer means for creating a composite output including digital audio and MIDI synthesized music.
first memory means for storing a compressed digital audio file;
second memory means for storing a MIDI file;
a single digital signal processor;
control means for selectively and alternatively coupling said first memory means to said single digital signal processor for creation of decompressed audio and said second memory means to said single digital signal processor for creation of MIDI synthesized music;
first buffer means coupled to said single digital signal processor for temporarily storing of decompressed audio;
second buffer means coupled to said single digital signal processor for temporarily storing MIDI synthesized music; and additive mixer means coupled to said first buffer means and said second buffer means for creating a composite output including digital audio and MIDI synthesized music.
7. The apparatus for simultaneously outputting digital audio and MIDI synthesized music according to Claim 6, further including a digital-to-analog converter coupled to said additive mixer means for converting said composite output to an analog signal.
8. The apparatus for simultaneously outputting digital audio and MIDI synthesized music according to Claim 7, further including audio output means coupled to said digital-to-analog converter for outputting said analog signal.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/608,111 US5054360A (en) | 1990-11-01 | 1990-11-01 | Method and apparatus for simultaneous output of digital audio and midi synthesized music |
US608,111 | 1990-11-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2052771A1 CA2052771A1 (en) | 1992-05-02 |
CA2052771C true CA2052771C (en) | 1994-03-01 |
Family
ID=24435072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002052771A Expired - Fee Related CA2052771C (en) | 1990-11-01 | 1991-10-04 | Method and apparatus for simultaneous output of digital audio and midi synthesized music |
Country Status (6)
Country | Link |
---|---|
US (1) | US5054360A (en) |
EP (1) | EP0484047B1 (en) |
JP (1) | JP2692768B2 (en) |
CA (1) | CA2052771C (en) |
DE (1) | DE69126655T2 (en) |
SG (1) | SG46972A1 (en) |
Families Citing this family (98)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5225618A (en) * | 1989-08-17 | 1993-07-06 | Wayne Wadhams | Method and apparatus for studying music |
US5159141A (en) * | 1990-04-23 | 1992-10-27 | Casio Computer Co., Ltd. | Apparatus for controlling reproduction states of audio signals recorded in recording medium and generation states of musical sound signals |
JPH04128796A (en) * | 1990-09-19 | 1992-04-30 | Brother Ind Ltd | Music reproduction device |
US5286907A (en) * | 1990-10-12 | 1994-02-15 | Pioneer Electronic Corporation | Apparatus for reproducing musical accompaniment information |
JP3068226B2 (en) * | 1991-02-27 | 2000-07-24 | 株式会社リコス | Back chorus synthesizer |
KR940004830B1 (en) * | 1991-03-14 | 1994-06-01 | 주식회사 금성사 | Method and device recording displaying of data file |
US5231671A (en) * | 1991-06-21 | 1993-07-27 | Ivl Technologies, Ltd. | Method and apparatus for generating vocal harmonies |
US5428708A (en) * | 1991-06-21 | 1995-06-27 | Ivl Technologies Ltd. | Musical entertainment system |
JP3245890B2 (en) * | 1991-06-27 | 2002-01-15 | カシオ計算機株式会社 | Beat detection device and synchronization control device using the same |
JP2705395B2 (en) * | 1991-10-07 | 1998-01-28 | ヤマハ株式会社 | Electronic musical instrument |
US6253069B1 (en) | 1992-06-22 | 2001-06-26 | Roy J. Mankovitz | Methods and apparatus for providing information in response to telephonic requests |
USRE38600E1 (en) | 1992-06-22 | 2004-09-28 | Mankovitz Roy J | Apparatus and methods for accessing information relating to radio television programs |
US5399799A (en) * | 1992-09-04 | 1995-03-21 | Interactive Music, Inc. | Method and apparatus for retrieving pre-recorded sound patterns in synchronization |
TW230247B (en) * | 1992-10-01 | 1994-09-11 | Hardson Kk | |
US5444818A (en) * | 1992-12-03 | 1995-08-22 | International Business Machines Corporation | System and method for dynamically configuring synthesizers |
KR0141112B1 (en) * | 1993-02-26 | 1998-07-15 | 김광호 | Audio signal record format reproducing method and equipment |
US6362409B1 (en) | 1998-12-02 | 2002-03-26 | Imms, Inc. | Customizable software-based digital wavetable synthesizer |
US5574934A (en) * | 1993-11-24 | 1996-11-12 | Intel Corporation | Preemptive priority-based transmission of signals using virtual channels |
US5838996A (en) * | 1994-05-31 | 1998-11-17 | International Business Machines Corporation | System for determining presence of hardware decompression, selectively enabling hardware-based and software-based decompression, and conditioning the hardware when hardware decompression is available |
US5567901A (en) * | 1995-01-18 | 1996-10-22 | Ivl Technologies Ltd. | Method and apparatus for changing the timbre and/or pitch of audio signals |
US6046395A (en) * | 1995-01-18 | 2000-04-04 | Ivl Technologies Ltd. | Method and apparatus for changing the timbre and/or pitch of audio signals |
DE69619587T2 (en) | 1995-05-19 | 2002-10-31 | Yamaha Corp | Method and device for sound generation |
JP3267106B2 (en) | 1995-07-05 | 2002-03-18 | ヤマハ株式会社 | Musical tone waveform generation method |
GB2306043A (en) * | 1995-10-03 | 1997-04-23 | Ibm | Audio synthesizer |
GB2308515A (en) * | 1995-12-20 | 1997-06-25 | Mark Bowden | A pulse pattern generator for a musical sampler, with continually variable repetition rate |
US5874950A (en) * | 1995-12-20 | 1999-02-23 | International Business Machines Corporation | Method and system for graphically displaying audio data on a monitor within a computer system |
JP2904088B2 (en) * | 1995-12-21 | 1999-06-14 | ヤマハ株式会社 | Musical sound generation method and apparatus |
JP2970526B2 (en) * | 1996-01-17 | 1999-11-02 | ヤマハ株式会社 | Sound source system using computer software |
US5974387A (en) * | 1996-06-19 | 1999-10-26 | Yamaha Corporation | Audio recompression from higher rates for karaoke, video games, and other applications |
US7297856B2 (en) | 1996-07-10 | 2007-11-20 | Sitrick David H | System and methodology for coordinating musical communication and display |
US7098392B2 (en) * | 1996-07-10 | 2006-08-29 | Sitrick David H | Electronic image visualization system and communication methodologies |
US7423213B2 (en) * | 1996-07-10 | 2008-09-09 | David Sitrick | Multi-dimensional transformation systems and display communication architecture for compositions and derivations thereof |
US7989689B2 (en) * | 1996-07-10 | 2011-08-02 | Bassilic Technologies Llc | Electronic music stand performer subsystems and music communication methodologies |
US6317134B1 (en) | 1996-09-13 | 2001-11-13 | Silicon Graphics, Inc. | System software for use in a graphics computer system having a shared system memory and supporting DM Pbuffers and other constructs aliased as DM buffers |
US6070002A (en) * | 1996-09-13 | 2000-05-30 | Silicon Graphics, Inc. | System software for use in a graphics computer system having a shared system memory |
US5890017A (en) * | 1996-11-20 | 1999-03-30 | International Business Machines Corporation | Application-independent audio stream mixer |
US6014491A (en) * | 1997-03-04 | 2000-01-11 | Parsec Sight/Sound, Inc. | Method and system for manipulation of audio or video signals |
US6721491B1 (en) * | 1999-12-22 | 2004-04-13 | Sightsound Technologies, Inc. | Method and system for manipulation of audio or video signals |
US6336092B1 (en) | 1997-04-28 | 2002-01-01 | Ivl Technologies Ltd | Targeted vocal transformation |
US5886274A (en) * | 1997-07-11 | 1999-03-23 | Seer Systems, Inc. | System and method for generating, distributing, storing and performing musical work files |
EP0999538A1 (en) * | 1998-02-09 | 2000-05-10 | Sony Corporation | Method and apparatus for digital signal processing, method and apparatus for generating control data, and medium for recording program |
US6953886B1 (en) * | 1998-06-17 | 2005-10-11 | Looney Productions, Llc | Media organizer and entertainment center |
JP2000181449A (en) * | 1998-12-15 | 2000-06-30 | Sony Corp | Information processor, information processing method and provision medium |
US6462264B1 (en) | 1999-07-26 | 2002-10-08 | Carl Elam | Method and apparatus for audio broadcast of enhanced musical instrument digital interface (MIDI) data formats for control of a sound generator to create music, lyrics, and speech |
TW495735B (en) * | 1999-07-28 | 2002-07-21 | Yamaha Corp | Audio controller and the portable terminal and system using the same |
US6355869B1 (en) | 1999-08-19 | 2002-03-12 | Duane Mitton | Method and system for creating musical scores from musical recordings |
US9818386B2 (en) | 1999-10-19 | 2017-11-14 | Medialab Solutions Corp. | Interactive digital music recorder and player |
US7176372B2 (en) | 1999-10-19 | 2007-02-13 | Medialab Solutions Llc | Interactive digital music recorder and player |
US6392133B1 (en) | 2000-10-17 | 2002-05-21 | Dbtech Sarl | Automatic soundtrack generator |
US7078609B2 (en) * | 1999-10-19 | 2006-07-18 | Medialab Solutions Llc | Interactive digital music recorder and player |
FR2799872B1 (en) * | 1999-10-19 | 2002-01-04 | Alain Georges | DEVICE FOR SIMULATING A RADIO STATION ON A MUSICAL PERFORMER PLAYER |
US6353174B1 (en) | 1999-12-10 | 2002-03-05 | Harmonix Music Systems, Inc. | Method and apparatus for facilitating group musical interaction over a network |
JP2001282261A (en) * | 2000-03-30 | 2001-10-12 | Canon Inc | Speech data setting device and method, speech data forming device and method, recording medium |
FR2808370A1 (en) * | 2000-04-28 | 2001-11-02 | Cit Alcatel | METHOD OF COMPRESSING A MIDI FILE |
US7827488B2 (en) | 2000-11-27 | 2010-11-02 | Sitrick David H | Image tracking and substitution system and methodology for audio-visual presentations |
JP4403658B2 (en) * | 2001-01-18 | 2010-01-27 | ヤマハ株式会社 | Music data output device and music data output method |
US6482087B1 (en) * | 2001-05-14 | 2002-11-19 | Harmonix Music Systems, Inc. | Method and apparatus for facilitating group musical interaction over a network |
US7962482B2 (en) | 2001-05-16 | 2011-06-14 | Pandora Media, Inc. | Methods and systems for utilizing contextual feedback to generate and modify playlists |
EP1326228B1 (en) | 2002-01-04 | 2016-03-23 | MediaLab Solutions LLC | Systems and methods for creating, modifying, interacting with and playing musical compositions |
US7076035B2 (en) | 2002-01-04 | 2006-07-11 | Medialab Solutions Llc | Methods for providing on-hold music using auto-composition |
US7169996B2 (en) | 2002-11-12 | 2007-01-30 | Medialab Solutions Llc | Systems and methods for generating music using data/music data file transmitted/received via a network |
US6977335B2 (en) | 2002-11-12 | 2005-12-20 | Medialab Solutions Llc | Systems and methods for creating, modifying, interacting with and playing musical compositions |
US7928310B2 (en) * | 2002-11-12 | 2011-04-19 | MediaLab Solutions Inc. | Systems and methods for portable audio synthesis |
WO2006043929A1 (en) * | 2004-10-12 | 2006-04-27 | Madwaves (Uk) Limited | Systems and methods for music remixing |
JP2005017992A (en) * | 2003-06-30 | 2005-01-20 | Yamaha Corp | Music playing data transmission device, and system and method for playing music |
EP1571647A1 (en) * | 2004-02-26 | 2005-09-07 | Lg Electronics Inc. | Apparatus and method for processing bell sound |
US7457484B2 (en) * | 2004-06-23 | 2008-11-25 | Creative Technology Ltd | Method and device to process digital media streams |
IL165817A0 (en) * | 2004-12-16 | 2006-01-15 | Samsung Electronics U K Ltd | Electronic music on hand portable and communication enabled devices |
KR100655553B1 (en) * | 2005-01-03 | 2006-12-08 | 엘지전자 주식회사 | Method of midi synthesizing based on wav table |
US20070014298A1 (en) * | 2005-07-15 | 2007-01-18 | Bloomstein Richard W | Providing quick response to events in interactive audio |
KR100689849B1 (en) * | 2005-10-05 | 2007-03-08 | 삼성전자주식회사 | Remote controller, display device, display system comprising the same, and control method thereof |
CA2567021A1 (en) * | 2005-11-01 | 2007-05-01 | Vesco Oil Corporation | Audio-visual point-of-sale presentation system and method directed toward vehicle occupant |
US20070163428A1 (en) * | 2006-01-13 | 2007-07-19 | Salter Hal C | System and method for network communication of music data |
US7790974B2 (en) * | 2006-05-01 | 2010-09-07 | Microsoft Corporation | Metadata-based song creation and editing |
JP4757704B2 (en) * | 2006-05-01 | 2011-08-24 | 任天堂株式会社 | Music playback program, music playback device, music playback method, and music playback system |
US8001143B1 (en) | 2006-05-31 | 2011-08-16 | Adobe Systems Incorporated | Aggregating characteristic information for digital content |
US8958483B2 (en) | 2007-02-27 | 2015-02-17 | Adobe Systems Incorporated | Audio/video content synchronization and display |
US9967620B2 (en) | 2007-03-16 | 2018-05-08 | Adobe Systems Incorporated | Video highlights for streaming media |
US7893343B2 (en) * | 2007-03-22 | 2011-02-22 | Qualcomm Incorporated | Musical instrument digital interface parameter storage |
US7663051B2 (en) * | 2007-03-22 | 2010-02-16 | Qualcomm Incorporated | Audio processing hardware elements |
US7797352B1 (en) | 2007-06-19 | 2010-09-14 | Adobe Systems Incorporated | Community based digital content auditing and streaming |
JP5119932B2 (en) * | 2008-01-11 | 2013-01-16 | ヤマハ株式会社 | Keyboard instruments, piano and auto-playing piano |
US8918723B2 (en) | 2011-05-06 | 2014-12-23 | David H. Sitrick | Systems and methodologies comprising a plurality of computing appliances having input apparatus and display apparatus and logically structured as a main team |
US8918722B2 (en) | 2011-05-06 | 2014-12-23 | David H. Sitrick | System and methodology for collaboration in groups with split screen displays |
US8924859B2 (en) | 2011-05-06 | 2014-12-30 | David H. Sitrick | Systems and methodologies supporting collaboration of users as members of a team, among a plurality of computing appliances |
US8875011B2 (en) | 2011-05-06 | 2014-10-28 | David H. Sitrick | Systems and methodologies providing for collaboration among a plurality of users at a plurality of computing appliances |
US8826147B2 (en) | 2011-05-06 | 2014-09-02 | David H. Sitrick | System and methodology for collaboration, with selective display of user input annotations among member computing appliances of a group/team |
US10402485B2 (en) | 2011-05-06 | 2019-09-03 | David H. Sitrick | Systems and methodologies providing controlled collaboration among a plurality of users |
US8806352B2 (en) | 2011-05-06 | 2014-08-12 | David H. Sitrick | System for collaboration of a specific image and utilizing selected annotations while viewing and relative to providing a display presentation |
US8990677B2 (en) | 2011-05-06 | 2015-03-24 | David H. Sitrick | System and methodology for collaboration utilizing combined display with evolving common shared underlying image |
US8918724B2 (en) | 2011-05-06 | 2014-12-23 | David H. Sitrick | Systems and methodologies providing controlled voice and data communication among a plurality of computing appliances associated as team members of at least one respective team or of a plurality of teams and sub-teams within the teams |
US8918721B2 (en) | 2011-05-06 | 2014-12-23 | David H. Sitrick | Systems and methodologies providing for collaboration by respective users of a plurality of computing appliances working concurrently on a common project having an associated display |
US11611595B2 (en) | 2011-05-06 | 2023-03-21 | David H. Sitrick | Systems and methodologies providing collaboration among a plurality of computing appliances, utilizing a plurality of areas of memory to store user input as associated with an associated computing appliance providing the input |
US9224129B2 (en) | 2011-05-06 | 2015-12-29 | David H. Sitrick | System and methodology for multiple users concurrently working and viewing on a common project |
US8914735B2 (en) | 2011-05-06 | 2014-12-16 | David H. Sitrick | Systems and methodologies providing collaboration and display among a plurality of users |
US9330366B2 (en) | 2011-05-06 | 2016-05-03 | David H. Sitrick | System and method for collaboration via team and role designation and control and management of annotations |
US9536504B1 (en) | 2015-11-30 | 2017-01-03 | International Business Machines Corporation | Automatic tuning floating bridge for electric stringed instruments |
US10311844B1 (en) * | 2018-05-04 | 2019-06-04 | Peter T. Godart | Musical instrument recording system |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4771671A (en) * | 1987-01-08 | 1988-09-20 | Breakaway Technologies, Inc. | Entertainment and creative expression device for easily playing along to background music |
EP0281214A3 (en) * | 1987-02-19 | 1989-10-18 | Zyklus Limited | Acoustic data control system and method of operation |
US4942551A (en) * | 1988-06-24 | 1990-07-17 | Wnm Ventures Inc. | Method and apparatus for storing MIDI information in subcode packs |
AU633828B2 (en) * | 1988-12-05 | 1993-02-11 | Ricos Co., Ltd. | Apparatus for reproducing music and displaying words |
JPH04149499A (en) * | 1990-10-12 | 1992-05-22 | Pioneer Electron Corp | Karaoke information storage device and karaoke performance device |
-
1990
- 1990-11-01 US US07/608,111 patent/US5054360A/en not_active Expired - Lifetime
-
1991
- 1991-08-14 JP JP3228871A patent/JP2692768B2/en not_active Expired - Fee Related
- 1991-10-04 CA CA002052771A patent/CA2052771C/en not_active Expired - Fee Related
- 1991-10-23 DE DE69126655T patent/DE69126655T2/en not_active Expired - Fee Related
- 1991-10-23 SG SG1996000356A patent/SG46972A1/en unknown
- 1991-10-23 EP EP91309823A patent/EP0484047B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
SG46972A1 (en) | 1998-03-20 |
JP2692768B2 (en) | 1997-12-17 |
EP0484047B1 (en) | 1997-06-25 |
US5054360A (en) | 1991-10-08 |
EP0484047A2 (en) | 1992-05-06 |
CA2052771A1 (en) | 1992-05-02 |
EP0484047A3 (en) | 1994-02-23 |
JPH04248593A (en) | 1992-09-04 |
DE69126655D1 (en) | 1997-07-31 |
DE69126655T2 (en) | 1998-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2052771C (en) | Method and apparatus for simultaneous output of digital audio and midi synthesized music | |
EP0685824A2 (en) | Data decompression and transfer system | |
US5208421A (en) | Method and apparatus for audio editing of midi files | |
US6008446A (en) | Synthesizer system utilizing mass storage devices for real time, low latency access of musical instrument digital samples | |
US5734118A (en) | MIDI playback system | |
USRE37118E1 (en) | System for transmitting and receiving combination of compressed digital information and embedded strobe bit between computer and external device through parallel printer port of computer | |
US5294746A (en) | Backing chorus mixing device and karaoke system incorporating said device | |
EP0566232A2 (en) | Apparatus for automatically generating music | |
US5444818A (en) | System and method for dynamically configuring synthesizers | |
CN1041659C (en) | Music signal generator adaptable to personal computer | |
JPH05143070A (en) | Automatic performance device | |
US6525256B2 (en) | Method of compressing a midi file | |
US5541359A (en) | Audio signal record format applicable to memory chips and the reproducing method and apparatus therefor | |
US5321198A (en) | Tone signal generator utilizing ancillary memories for electronic musical instrument | |
US4987600A (en) | Digital sampling instrument | |
US5144676A (en) | Digital sampling instrument | |
JP2892532B2 (en) | High-speed processing device for music information | |
US5303309A (en) | Digital sampling instrument | |
US5640489A (en) | Audio synthesizer time-sharing its first memory unit between two processors | |
JP2888202B2 (en) | Performance recording and playback device | |
JP2709965B2 (en) | Music transmission / reproduction system used for BGM reproduction | |
WO1987007747A1 (en) | Digital sampling instrument | |
JPS6143796A (en) | Voice recorder | |
JP3467941B2 (en) | Multi-port MIDI message conversion apparatus and method | |
KR950012086B1 (en) | Midi data compressing and resting method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKLA | Lapsed |