throbber
United States Patent (19)
`Sato
`
`USOO5939655A
`Patent Number:
`11
`(45) Date of Patent:
`
`5,939,655
`Aug. 17, 1999
`
`54). APPARATUS AND METHOD FOR
`GENERATING MUSICAL TONES WITH
`REDUCED LOAD ON PROCESSING DEVICE,
`AND STORAGE MEDIUM STORING
`PROGRAM FOR EXECUTING THE
`METHOD
`
`75 Inventor: Hiroyuki Sato, Hamamatsu, Japan
`73 Assignee: Yamaha Corporation, Hamamatsu,
`Japan
`
`21 Appl. No.: 08/933,466
`22 Filed:
`Sep. 18, 1997
`30
`Foreign Application Priority Data
`Sep. 20, 1996
`JP
`Japan .................................... 8-269098
`51) Int. Cl. ................................ G10H 1/02; G1OH 1/08
`52 U.S. Cl. ................................. 84/625; 84/626; 84/660;
`84/662
`58 Field of Search ................... 84/622-625, 659-661,
`84/692–700, 601-607, 626-633, 662-665
`
`56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`4,920,850 5/1990 Matsumoto et al. .................. 84/625 X
`5,094,136 3/1992 Kudo et al. ..........
`. 84/624 X
`5,192,824 3/1993 Shibukawa ............................ 84/625 X
`
`5.243,123 9/1993 Chaya ....................................... 84/625
`5,256,830 10/1993 Takeuchi et al.
`... 84/625
`5,319,151
`6/1994 Shiba et al......
`... 84/603
`5,354,948 10/1994 Toda ............
`... 84/625 X
`5,468,906 11/1995 Colvin et al. ......................... 84/625 X
`5,596,159
`1/1997 O'Connell ................................. 84/622
`5,698,805 12/1997 Thompson et al. .
`84/625 X
`5,714,703 2/1998 Wachi et al. ...
`... 84/603
`5,750,911
`5/1998 Tamura ..........
`... 84/6O2
`5,808,221 9/1998 Ashour et al. ............................ 84/603
`Primary Examiner Stanley J. Witkowski
`Attorney, Agent, or Firm-Graham & James LLP
`57
`ABSTRACT
`A musical tone generating apparatus has a processing device
`that produces either musical tone Synthesis parameters or
`musical tone waveform data corresponding to input perfor
`mance data, depending upon a type of the input performance
`data. An encoder/decoder circuit includes a tone generator
`circuit that generates musical tone waveform data in accor
`dance with the musical tone Synthesis parameters produced
`by the processing device, a buffer circuit Storing the musical
`tone waveform data produced by the processing device, a
`mixing circuit that mixes the musical tone waveform data
`produced by the tone generator circuit and the musical tone
`waveform data Stored in the buffer circuit, and a conversion
`circuit that converts mixed musical tone waveform data
`generated from the mixing circuit into a musical tone signal.
`
`8 Claims, 7 Drawing Sheets
`
`30
`
`35
`
`36
`
`37
`
`38
`
`
`
`
`
`.
`
`PREMIX
`
`EFFECTS
`
`MX
`
`3D ETC.
`
`L OUT
`
`R OUT
`
`INTERFACE
`
`
`
`
`
`CONTROL
`DATA
`MEMORY
`
`IPR2020-01218
`Sony EX1015 Page 1
`
`

`

`U.S. Patent
`
`Aug. 17, 1999
`
`Sheet 1 of 7
`
`5,939,655
`
`FIG. IA
`PRIOR ART
`
`110
`
`TRANSFER
`
`TO CODEC
`
`101
`
`102
`
`BUFFER 2
`
`1 On
`
`:
`
`
`
`
`
`120
`
`FIG. IB
`PRIOR ART
`
`130
`
`Oi
`
`MEMORY
`
`BUFFER
`BUFFER
`
`11 OFOR CODEC
`TRANSFER
`
`ONLY ONE
`TRANSFER
`
`REPEATED
`TRANSFER
`
`12O
`
`FIGIC
`PRIOR ART
`
`130
`
`10
`
`MEMORY
`
`ER - 110 FOR CODEC
`BUFF
`TRANSFER
`
`SEGUENTIAL SEGUENTIAL
`TRANSFER
`TRANSFER
`
`IPR2020-01218
`Sony EX1015 Page 2
`
`

`

`U.S. Patent
`
`Aug. 17, 1999
`
`Sheet 2 of 7
`
`5,939,655
`
`
`
`
`
`}$$o=Goo | ¡ OVWG ||×SIGGHVH || AVTdSIG ||GavoaABX
`
`
`
`09 |Z !9 |
`
`ZZ
`
`IPR2020-01218
`Sony EX1015 Page 3
`
`

`

`U.S. Patent
`
`Aug. 17, 1999
`
`Sheet 3 of 7
`
`5,939,655
`
`LÍTIO TI
`
`LÍQO H
`
`* O LE C19
`
`(?OZ$)
`
`ENO L
`
`LVHENE5)
`

`
`TOH LNO O
`
`9
`
`/899G9
`
`09
`
`
`
`IPR2020-01218
`Sony EX1015 Page 4
`
`

`

`U.S. Patent
`
`Aug. 17, 1999
`
`Sheet 4 of 7
`
`5,939,655
`
`
`
`(NOILy??dWQO) | NOILVHBdO
`(NOILWL/mdWNOO)
`
`IPR2020-01218
`Sony EX1015 Page 5
`
`

`

`U.S. Patent
`
`Aug. 17, 1999
`Sheet 5 of 7
`FIG.5
`
`5,939,655
`
`
`
`
`
`
`
`INPUT BUFFER
`
`EVENT NUMBER
`
`D1
`
`D2
`
`
`
`
`
`
`
`
`
`DATA 1 CONTENT
`DATA 1 GENERATION TIME
`
`
`
`
`
`SO
`
`S11
`
`
`
`FIG.6
`
`TONE GENERATOR COMMAND
`INTERRUPT FROM APPLICATION
`
`ACGUIRE TONE GENERATION
`DATA
`
`
`
`WRITE THE DATA AND TIME
`DATA INTO INPUT BUFFER
`
`RETURN
`
`IPR2020-01218
`Sony EX1015 Page 6
`
`

`

`U.S. Patent
`
`Aug. 17, 1999
`Sheet 6 of 7
`FIG.7
`
`MAN ROUTINE
`
`5,939,655
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`S
`1
`
`NITALIZATION
`
`- S
`2
`CHECKINITIATING FACTOR
`
`NITIATING FACTOR
`PRESENT 2
`
`S3
`
`TONE GENERATION
`STEP/END
`PROCESSING
`
`FACTOR3 FACTOR4
`
`OTHER
`PROCESSING
`
`S6
`
`TONE GENERATOR
`PROCESSING
`(STREAMING)
`
`S7
`
`S8
`
`END
`PROCESSING
`
`IPR2020-01218
`Sony EX1015 Page 7
`
`

`

`US. Patent
`
`Aug. 17, 1999
`
`Sheet 7 0f 7
`
`5,939,655
`
`mm
`
`N
`
`mw<mgmm\ZO_._.<OO|_n_<
`
`
`
`®Z_l_.<mmzm0-mzo._.u_O
`
`IEZZ<IO
`
`O_._.<._.w
`
`Fm
`
`%.U~n~
`
`
`
`|_|_<mmEmZ<m._.
`
`ZO_._.<mm_Zm_0sz._.
`
`m_mm_._._.z>w
`
`mIMFmE/xmdd
`
`OmQOOO._.
`
`mm
`
`vm
`
`|_m_ZZ<IO
`
`mm<w4mm\20_._.<004|_<
`OZ_._.<mm2m_O-m_ZO._.“—0
`
`02:2<mm._.w
`
`OZ_Z:>Em_._.m_n_
`
`MOO—2
`
`_|_n_n_<
`
`
`
`>420mmEmZ/xmk
`
`mHOmEm
`
`meHm§<m<m
`
`OmDOOO._.
`
`
`
`m0;mmHEDm
`
`
`
`mmmwz<mkOmDOO
`
`memmDm
`
`rmmmmDm
`
`
`
`orOmDOOO._.wmmHEDm.
`
`MN_mm_I._.Z>w
`
`
`
`DZDOmGZ:>_<mm.rm
`
`<._.<D
`
`
`
`_>_Omn_.EDmmmFZ
`
`OmDOOm0mm__>:._.
`
`|PR2020-01218
`
`Sony EX1015 Page 8
`
`IPR2020-01218
`Sony EX1015 Page 8
`
`
`
`
`
`
`
`
`
`
`
`
`
`

`

`5,939,655
`
`1
`APPARATUS AND METHOD FOR
`GENERATING MUSICAL TONES WITH
`REDUCED LOAD ON PROCESSING DEVICE,
`AND STORAGE MEDIUM STORING
`PROGRAM FOR EXECUTING THE
`METHOD
`
`2
`It is also possible to reproduce a large Volume of musical
`tone waveform Sample data Stored in a hard disk device,
`CD-ROM, or the like, by using hardware, namely, a D/A
`conversion circuit and FIFO buffer, necessary in the above
`mentioned Software tone generator. In this method, which is
`different from the above-described method in which wave
`form Samples Stored in the waveform memory are repeatedly
`used, musical tone waveform Samples Stored in a large
`capacity Storage medium are Sequentially read out, and
`converted from digital Signals into analog signals every
`Sampling period, So that a stream of these Samples are all
`reproduced. In the following, Such a musical tone generating
`mode in which all the waveform Samples are reproduced as
`above shall be called Streaming mode for convenience Sake,
`and a Series of musical tone waveform data generated in this
`manner shall be called Streaming Sound data.
`The above-described two Sound tone generating modes
`may be employed in the musical tone generating apparatus
`using the general-purpose processing apparatus. Although
`each of the two modes may be used alone, these two modes
`are normally used in a mixed manner Such that the Static
`mode is used for Some musical tones while the Streaming
`mode is used for other musical tones.
`Referring to FIG. 1A, the manner of reproducing Sound
`data generated by Such a musical Sound generating apparatus
`will be explained. In FIG. 1A, buffer areas 101-10n are
`provided in a main memory, to respectively correspond to n
`tone-generating channels in this musical tone generating
`apparatus. Some of the n tone-generating channels are
`adapted to generate musical tones in the Static mode as
`described above, and Static Sound data are Stored in the
`buffer areas corresponding to these channels. Also, the
`above-described streaming Sound data are stored in the
`buffer areas corresponding to the other tone-generating
`channels. The Sound data Stored in these buffer areas
`101-10n are mixed and stored in a buffer 110 for transferring
`data to CODEC.
`The musical tone waveform data stored in the CODEC
`transfer buffer 110 is transferred to a CODEC (not shown)
`every predetermined period, transmitted to a D/A converter
`every Sampling period, and then converted by the D/A
`converter into analog signals, which are then generated as
`musical tone signals.
`FIG. 1B is a view for explaining the processing for
`reproducing the above-mentioned Static Sound data. First, a
`Short period of Sound data (musical tone waveform data or
`waveform Sample) which is stored in a large-capacity Stor
`age device 120, such as a hard disk device or CD-ROM
`device, or ROM, is transferred only once to a sound data
`Storage area (waveform memory) provided in a main
`memory 130. Then, the short period of Sound data stored in
`the Sound data Storage area is repeatedly read out to be
`Synthesized into musical tone waveform data (static Sound
`data) as described above, and then transferred to the buffer
`10i of the relevant tone-generating channel. The Sound data
`transferred to this buffer 10i is mixed with data stored in
`buffers corresponding to other tone-generating channels, and
`is stored in the buffer 110 for transferring data to CODEC,
`as shown in FIG. 1A.
`FIG. 1C is a view for explaining the processing for
`reproducing the above-mentioned Streaming Sound data. In
`this case, a large Volume of Sound data Stored in a large
`capacity Storage device 120, Such as a hard disk device, are
`Sequentially read out and written into a buffer area provided
`in a main memory 130. This buffer area is configured as a
`So-called double buffer, from which Sound data is read out
`
`BACKGROUND OF THE INVENTION
`1. Field of the Invention
`The present invention relates to an apparatus and method
`for generating musical tones, using a general-purpose pro
`cessing apparatus Such as a personal computer, and also
`relates to a method of generating musical tones, and a
`Storage medium Storing a program that carries out the same
`method.
`2. Prior Art
`In a general-purpose processing apparatus Such as a
`personal computer, musical tones were conventionally gen
`erated by using an exclusive tone generator device provided
`externally of the apparatus, or, by using an expansion board
`connected to the apparatus and having Several IC chips
`mounted thereon, Such as a tone generator chip for gener
`ating musical tone waveforms, a ROM that stores waveform
`data, and a coder/decoder circuit (CODEC) chip equipped
`with an A/D conversion circuit (analog-to-digital converter),
`a D/A conversion circuit (digital-to-analog converter; DAC),
`a FIFO (first-in first-out) buffer, and an interface circuit.
`With an increased processing speed of recent CPUs,
`So-called Software tone generators have become used which
`Synthesize musical tones with Software using a CPU accord
`ing to performance information. Such a Software tone gen
`erator is able to generate musical tones only with a D/A
`conversion circuit and a FIFO buffer in addition to the CPU
`and Software, without using an exclusive tone generator
`device or expansion board as described above.
`In Such a Software tone generator, musical tones are
`normally Synthesized by repeatedly reproducing a short
`period of musical tone waveform data. In one method, for
`example, musical tones are generated by Storing musical
`tone waveform samples such as WAVE data in a waveform
`memory, reading out the musical tone waveform Samples
`corresponding to performance information from the wave
`form memory, and performing Specific processing on these
`waveform Samples. In another method, a tone generator of
`waveform memory type is simulated. A Software tone gen
`erator that Simulates the waveform memory type tone gen
`erator produces musical tone waveform data corresponding
`to one round of Sampling timing, by executing for each
`tone-generating channel waveform operations of LFO (low
`frequency oscillator), filter EG (envelope generator), and
`Volume EG and the like, based on musical tone control
`information produced from performance information Such
`as MIDI data, reading out waveform data from a correspond
`ing waveform memory (waveform table), performing an
`interpolating operation on the waveform data thus read out,
`computing and producing waveform data for the relevant
`tone-generating channel by multiplying the thus obtained
`waveform data by a Sample of each type of EG waveform,
`and accumulating waveform Sample data for each tone
`generating channel by repeatedly executing the above opera
`tions for all tone-generating channels. In the following, Such
`a musical tone generating mode in which a short period of
`waveform data is repeatedly used shall be called Static mode
`for convenience Sake, and the Short period of musical tone
`waveform data produced in this mannershall be called Static
`Sound data.
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`IPR2020-01218
`Sony EX1015 Page 9
`
`

`

`3
`in parallel with writing of Sound data thereinto, and Sequen
`tially transferred to a buffer 10i corresponding to the relevant
`channel. The data in this buffer 10i is mixed with data in the
`other channels as described above and is further transferred
`to the buffer 110 for transferring data to CODEC.
`The generation of musical tones by Software using Such a
`general-purpose processing apparatus as described above
`causes a great processing load on the CPU. When develop
`ing an application program Such as game Software that
`requires many tone-generating channels, therefore, it was
`unavoidable or necessary to reduce the number of tone
`generating channels or lower the quality of musical tones
`generated. It was also impossible to perform Sophisticated
`processing, Such as processing for applying effects to the
`musical tones generated.
`SUMMARY OF THE INVENTION
`It is therefore an object of the invention to provide an
`apparatus and method for generating musical tones, which
`reduces the load required for Synthesis processing of Static
`Sound data, by using leSS hardware, thus permitting an
`increase in the number of tone-generating channels and
`improving the quality of musical tones generated, and a
`Storage medium that Stores a program for carrying out the
`method.
`To attain the above object, the present invention provides
`a musical tone generating apparatus comprising an input
`device that receives input performance data, a processing
`device that produces either musical tone Synthesis param
`eters or musical tone waveform data corresponding to the
`input performance data, depending upon a type of the
`received input performance data, a tone generator circuit that
`generates musical tone waveform data in accordance with
`the musical tone Synthesis parameters produced by the
`processing device, and a conversion circuit that mixes the
`musical tone waveform data produced by the processing
`device and the musical tone waveform data produced by the
`tone generator circuit, and converts the mixed musical tone
`waveform data into a musical tone Signal.
`Preferably, the input performance data includes at least a
`first performance data and a Second performance data, and
`when the input performance data is the first performance
`data, the processing device produces the musical tone Syn
`thesis parameters corresponding to the input performance
`data and Supplies the parameters to the tone generator
`circuit, and when the input performance data is the Second
`performance data, the processing device produces the musi
`cal tone waveform data corresponding to the input perfor
`mance data.
`Also preferably, the tone generator circuit produces the
`musical tone waveform data by repeatedly using a short
`period of waveform databased on the musical tone Synthesis
`parameters from the processing device. The musical tone
`generating apparatus further comprises a storage device that
`Stores the musical tone waveform data produced by the
`processing device, and the processing device produces the
`musical tone waveform data by Sequentially reading out the
`musical tone waveform data from the Storage device.
`More preferably, the musical tone generating apparatus
`further comprises an effects circuit for respectively applying
`predetermined effects to the musical tone waveform data
`produced by the processing device and the musical tone
`waveform data produced by the tone generator circuit.
`In a preferred embodiment of the invention, the musical
`tone generating apparatus comprises an input device that
`receives input performance data, a processing device that
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`5,939,655
`
`4
`produces either musical tone Synthesis parameters or musi
`cal tone waveform data corresponding to the input perfor
`mance data, depending upon a type of the received input
`performance data, an encoder/decoder circuit including a
`tone generator circuit that generates musical tone waveform
`data in accordance with the musical tone Synthesis param
`eters produced by the processing device, a buffer circuit
`Storing the musical tone waveform data produced by the
`processing device, a mixing circuit that mixes the musical
`tone waveform data produced by the tone generator circuit
`and the musical tone waveform data stored in the buffer
`circuit, and a conversion circuit that converts mixed musical
`tone waveform data generated from the mixing circuit into
`a musical tone signal.
`Preferably, the encoder/decoder circuit further includes an
`effects circuit for respectively applying predetermined
`effects to the musical tone waveform data produced by the
`tone generator circuit and the musical tone waveform data
`stored in the buffer circuit.
`To attain the above object, the present invention also
`provides a musical tone generating method comprising the
`Steps of a) inputting performance data, b) producing musical
`tone Synthesis parameters corresponding to the input per
`formance data and Supplying the musical tone Synthesis
`parameters to a tone generator circuit for producing musical
`tone waveform data in accordance with the musical tone
`Synthesis parameters, or producing musical tone waveform
`data corresponding to the input performance data, depending
`upon a type of the input performance data, c) mixing the
`musical tone waveform data produced by the tone generator
`circuit and the musical tone waveform data produced in the
`Step b), and d) converting the mixed musical tone waveform
`data into a musical tone signal.
`To attain the above object, the present invention further
`provides a Storage medium Storing a program executable by
`a computer, comprising a) a module that inputs performance
`data, and b) a module that produces musical tone synthesis
`parameters corresponding to the input performance data and
`Supplies the musical tone Synthesis parameters to a tone
`generator circuit for producing musical tone waveform data
`in accordance with the musical tone Synthesis parameters, or
`producing musical tone waveform data corresponding to the
`input performance data, depending upon a type of the input
`performance data.
`With the above construction, according to the invention,
`when the input performance data is the first performance
`data obtained by repeatedly using a short period of musical
`tone waveform data, the tone generator circuit provided in
`the encoder/decoder circuit Synthesize desired musical tone
`waveform data. When the input performance data is the
`Second performance data obtained by reproducing a large
`Volume of musical tone waveform data, the processing
`device (CPU) produces the musical tone waveform data on
`Software, thus reducing the load on the processing device for
`Synthesizing the musical tone waveform data corresponding
`to the first performance data. Also, desired effects can be
`applied or imparted to the musical tone waveform data of
`each tone-generating channel that is Synthesized by the tone
`generator circuit and the musical tone waveform data pro
`duced on Software, respectively, thus making it possible to
`perform Sophisticated or Subtle effects processing.
`The above and other objects, features, and advantages of
`the invention will become more apparent from the following
`detailed description taken in conjunction with the accom
`panying drawings.
`BRIEF DESCRIPTION OF THE DRAWINGS
`FIG. 1A is a view useful in explaining a conventional
`manner of reproducing musical tones,
`
`IPR2020-01218
`Sony EX1015 Page 10
`
`

`

`S
`FIG. 1B is a view useful explaining conventional pro
`cessing for reproducing Static Sound data;
`FIG. 1C is a view useful in explaining conventional
`processing for reproducing Streaming Sound data;
`FIG. 2 is a block diagram showing the arrangement of a
`musical tone generating apparatus according to an embodi
`ment of the present invention.
`FIG. 3 is a block diagram Showing the configuration of a
`CODEC appearing in FIG. 2;
`FIG. 4 is a timing chart useful in explaining a timewise
`flow of processing according to the embodiment;
`FIG. 5 is a view showing a format of data stored in an
`input buffer used in the embodiment;
`FIG. 6 is a flowchart of a tone generation command
`interrupt process according to the embodiment;
`FIG. 7 is a flowchart of a main routine according to the
`embodiment; and
`FIG. 8 is a view useful in explaining tone generation
`Start/end processing and tone generator processing accord
`ing to the embodiment.
`DETAILED DESCRIPTION
`The invention will be now described with reference to the
`drawings showing an embodiment thereof.
`Referring first to FIG. 2, there is illustrated the arrange
`ment of a musical tone generating apparatus according to
`one embodiment of the invention. In FIG. 2, the musical
`tone generating apparatus according to the present embodi
`ment includes a central processing unit (CPU) 10 for pro
`ducing musical tone waveform Samples and executing Vari
`ous types of application programs and the like, a ROM 11
`that Stores preset tone color data and others, a main memory
`(RAM) 12 into which programs to be executed and data are
`read and which also provides various types of buffer areas
`and work areas, and a hard disk device 13 that Stores various
`types of waveform data, tone color data, and various types
`of application programs, and the like. The present apparatus
`further includes a CD-ROM device 14 for driving
`CD-ROMs on which various types of data, programs and the
`like are stored, a MIDI interface 15 for transmitting and
`receiving performance data and control Signals to and from
`an external performance device, Such as a MIDI keyboard,
`and a keyboard 16 and a display device 17 generally
`included in a personal computer.
`Reference numeral 18 denotes a DMA control circuit
`(direct memory access controller) for reading out waveform
`sample data from a CODEC transfer buffer area within the
`main memory 12 without passing through the CPU 10, and
`transferring the data to a coder/decoder circuit 19. This
`DMA control circuit 18 may be omitted if a bus 22 can
`transfer data at a Sufficiently high Speed. The coder/decoder
`circuit (CODEC) 19 includes a tone generator block, and is
`adapted to perform effects processing on musical tone
`waveform Samples generated in the tone generator block and
`musical waveform Sample data transferred from the above
`mentioned CODEC transfer buffer, and convert the obtained
`musical tone waveform data into analog musical tone signals
`to be generated to a sound system 20. Details of this
`coder/decoder circuit 19 will be described later. The Sound
`System 20 Serves to amplify the musical tone Signals trans
`ferred from the CODEC 19, and output the amplified musi
`cal tone signals from the apparatus. Reference numeral 21
`denotes a timer 21 for interrupting the CPU 10 at predeter
`mined time intervals and Supplying a Sampling clock to the
`CODEC 19. These component elements are connected to
`
`5
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`5,939,655
`
`6
`each other via the buS22. The configuration explained above
`is equivalent to that of a generally used personal computer
`or WorkStation, for example.
`FIG. 3 shows the configuration of the CODEC 19. The
`CODEC 19 includes an interface circuit 30 for transmitting
`and receiving various kinds of Signals and data, a tone
`generator block 31 of waveform memory type for example,
`for generating musical tones based on musical tone Synthesis
`parameters supplied via the above interface circuit 30. For
`example, the tone generator block 31 produces musical tone
`waveforms for thirty two tone-generating channels. The
`CODEC 19 further includes a waveform memory 32 con
`nected to the tone generator block 31 and constituted by a
`DRAM, for example. In operation, a short period of musical
`tone waveform data is transferred via the interface circuit 30
`to the waveform memory 32 under control of the CPU, and
`the tone generator block 31 repeatedly uses the musical tone
`waveform data stored in the waveform memory 32 so as to
`produce musical tones or Sound in the above-mentioned
`Static mode.
`Streaming waveform data produced by the CPU 10 is
`transferred via the interface circuit 30 to and stored in a
`FIFO buffer 33. This FIFO buffer 33 has a capacity enough
`to Store musical tone waveform data for one channel.
`The CODEC 19 also includes a control data storage block
`34 for Storing control data Such as parameters for effects that
`are transferred from the CPU 10 via the interface circuit 30.
`Reference numeral 35 denotes a premixing circuit which
`receives musical tone waveform data for each tone
`generating channel generated from the above-mentioned
`tone generator block 31, and Streaming Sound data generated
`from the FIFO 33, and transmits these data to an effects
`circuit 36 while compiling channels loaded with the same
`effects based on effects control data from the control data
`storage block 34. The effects circuit 36 performs certain
`effects processing on each Set of Sound data compiled or
`combined for each type of effects generated from the pre
`mixing circuit 35, based on effects control data from the
`control data storage block 34. In this effects circuit 36,
`effects, Such as 3D effects, are applied to the Sound data.
`The CODEC 9 further includes a mixing circuit 37 that
`receives Sound data Subjected to the effects processing and
`generated from the effects circuit 36 and mix these data, and
`a D/A conversion circuit 38 that converts the digital output
`data from the mixing circuit 37 into analog Signals, which
`are generated as left channel Signals LOUT and right chan
`nel signals ROUT.
`The CODEC 19 is also provided with an external input
`terminal (not shown), an A/D conversion circuit (not shown)
`for analog-to-digital converting external Stereo audio signals
`received through the external input terminal by Sampling
`them at a certain sampling rate, and a FIFO buffer (not
`shown) for left and right channels that Stores external Stereo
`input data generated from that A/D conversion circuit. The
`data stored in this FIFO buffer is also read or transmitted into
`the CPU 10 via the above-indicated interface circuit 30.
`Thus, according to the present invention, the CODEC 19
`performs the processing for Synthesizing the Static Sound
`data, and also performs effects processing on the Static and
`Streaming Sound data. The processing for producing the
`streaming sound data is performed by the CPU 10.
`Referring next to FIG. 4, the time flow of the process of
`producing Streaming Sound data in the musical tone gener
`ating apparatus of the present embodiment will be now
`explained. The musical tone generating apparatus of the
`present embodiment generates musical tone waveform data
`
`IPR2020-01218
`Sony EX1015 Page 11
`
`

`

`5,939,655
`
`15
`
`25
`
`7
`at a Sampling frequency (rate) of 25.6 kHz, for example, but
`performs musical tone waveform data production processing
`every time period of 128 Samples (one frame), for example.
`When performance is input from an application program in
`a time slot corresponding to a given frame (FL), processing
`to deal with the performance input is performed in the next
`frame, and musical tone signals are formed in the further
`next frame by reading out one sample of this musical tone
`waveform data every period of 25.6 kHz. Accordingly, a
`shift in time of about two frames arises from the time when
`the performance is input until the time when a musical tone
`is actually generated (or until the musical tone is
`eliminated), but this time shift is considered to be consid
`erably Small since one frame is equivalent to 128 Samples (5
`milliseconds). Although the number of samples of one frame
`can be set to any value, a delay may occur in tone generation
`if the number of samples is set to a small value. If the
`number of Samples is Set to a large value, on the other hand,
`the time margin is reduced and the response may be dete
`riorated upon a temporal increase in the amount of comput
`ing.
`FIG. 5 shows a format of data stored in an input buffer as
`one of Storage areas Set in the above-mentioned main
`memory 12. In response to an interruption that occurs when
`a performance input (tone generation command) is gener
`ated from an application program, the contents of the
`performance input and the time of its generation are written
`into this input buffer. The contents of this buffer are read out
`in tone generation Start/end processing that will be described
`later, and the corresponding processing is executed.
`Next, the operation of the musical tone generating appa
`ratus of the present embodiment will be described referring
`to flow charts. The musical tone generating apparatus of the
`present embodiment performs musical tone generation by
`executing a top-priority interrupt routine shown in FIG. 6
`and a main routine shown in FIG. 7.
`FIG. 6 is a flowchart of the top-priority interrupt routine.
`This processing is initiated when a tone generation com
`mand is received from an application program. Relevant
`40
`tone generation data is received at a step S10, and the
`received tone generation data and data indicative of the time
`of receiving the data are written into the input buffer shown
`in FIG. 5 at a step S11. The tone generation data written into
`this input buffer are those in the static mode or in the
`Streaming mode, and include all of the above-described data
`necessary for generating a musical tone, Such as tone color
`data and effects data of the relevant musical tone.
`FIG. 7 is a flowchart of the main routine. If the program
`is initiated, a step S1 is first executed to perform
`initialization, Such as providing register areas, and then Steps
`S2 and S3 are executed to wait for any initiating factor
`(trigger). In the initialization process of the Step S1, wave
`form Sample data needed for generating musical tone in the
`static mode is transferred to the waveform memory 32 in the
`CODEC 19, and a portion of the musical tone waveform
`Samples for reproducing musical tone in the Streaming mode
`is read out from the aforementioned hard disk device 13 or
`CD-ROM 14 and is stored in the main memory 12.
`Upon occurrence of an initiating factor, a Step S4 is
`executed to determine the initiating factor, and execute a
`corresponding processing operation. The initiating factor is
`one of four types of factors as follows, (1) writing of tone
`generation data into the input buffer, (2) an interrupt signal
`from the timer 21 generated at each time interval corre
`sponding to one frame and an interrupt Signal from the
`CODEC 19, (3) generation of a Switching event from an
`
`8
`operating panel and a window Screen, and (4) inputting of an
`ending command. In response to occurrence of these factors,
`tone generation start/end processing (step S5), tone genera
`tor processing (step S6), other processing (step S7), and end
`processing (Step S8) are executed, respectively.
`End processing of the Step S8 is processing Such as Saving
`of Set data and clearing of registers, and the operation is
`terminated after this processing is finished. Other processing
`of the Step S7 is processing corresponding to input opera
`tions of various operating elements of the operating panel
`and commands. Tone generator processing of the Step S6 is
`processing executed upon detecting that reading and repro
`duction in FIG. 4 has proceeded to the next frame in
`response to an interrupt Signal generated by the timer 21
`after counting 128 Sample clock pulses, for example. Tone
`generation Start/end processing of the Step S5 is initiated
`when it is detected that tone generation data is written into
`the above-mentioned input buffer, and includes allocation or
`release of a tone-generating channel in accordance with the
`tone generation data written into the input buffer. Tone
`generator processing of the Step S6 is processing initiated
`with a period corresponding to one frame period, and
`includes generation of Streaming Sound data.
`FIG. 8 schematically shows functions performed in the
`tone generation Start/end processing of the Step S5 and the
`tone generator processing of the Step S6. Referring to FIG.
`8, the tone generation Start/end processing of the Step S5 and
`the tone generator processing of the Step S6 will be
`described in detail.
`In the above-described tone generation Start/end process
`ing of the step S5, it is first determined in a block 51 whether
`the tone generation

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket