EP0322871B1 - Effect tone generating apparatus - Google Patents

Effect tone generating apparatus Download PDF

Info

Publication number
EP0322871B1
EP0322871B1 EP88121738A EP88121738A EP0322871B1 EP 0322871 B1 EP0322871 B1 EP 0322871B1 EP 88121738 A EP88121738 A EP 88121738A EP 88121738 A EP88121738 A EP 88121738A EP 0322871 B1 EP0322871 B1 EP 0322871B1
Authority
EP
European Patent Office
Prior art keywords
pattern
data
ambient sound
tone
generation
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 - Lifetime
Application number
EP88121738A
Other languages
German (de)
French (fr)
Other versions
EP0322871A3 (en
EP0322871A2 (en
Inventor
Youichiro C/O Pat. Dept. Developement Div Tajima
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Publication of EP0322871A2 publication Critical patent/EP0322871A2/en
Publication of EP0322871A3 publication Critical patent/EP0322871A3/en
Application granted granted Critical
Publication of EP0322871B1 publication Critical patent/EP0322871B1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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/00Details of electrophonic musical instruments
    • G10H1/18Selecting circuits
    • G10H1/24Selecting circuits for selecting plural preset register stops
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10KSOUND-PRODUCING DEVICES; METHODS OR DEVICES FOR PROTECTING AGAINST, OR FOR DAMPING, NOISE OR OTHER ACOUSTIC WAVES IN GENERAL; ACOUSTICS NOT OTHERWISE PROVIDED FOR
    • G10K15/00Acoustics not otherwise provided for
    • G10K15/02Synthesis of acoustic waves
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/315Sound category-dependent sound synthesis processes [Gensound] for musical use; Sound category-specific synthesis-controlling parameters or control means therefor
    • G10H2250/321Gensound animals, i.e. generating animal voices or sounds
    • G10H2250/325Birds
    • G10H2250/335Sea birds, e.g. seagulls
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/315Sound category-dependent sound synthesis processes [Gensound] for musical use; Sound category-specific synthesis-controlling parameters or control means therefor
    • G10H2250/395Gensound nature
    • G10H2250/411Water, e.g. seashore, waves, brook, waterfall, dripping faucet
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/315Sound category-dependent sound synthesis processes [Gensound] for musical use; Sound category-specific synthesis-controlling parameters or control means therefor
    • G10H2250/395Gensound nature
    • G10H2250/415Weather
    • G10H2250/421Rain

Definitions

  • the present invention relates to a technique for automatically generating an effect tone representing a scene.
  • effect tones such as the murmur of a brook, the chirping of a bird, and the like, representing a forest scene are to be listened to
  • a magnetic tape or record disk which recorded such tones in the forest is reproduced using an audio system.
  • the effect tones also include tones representing seashore scene, street scene, concert hall scene, and the like. These effect tones are reproduced solely or in synchronism with an image or music, thus creating a scene.
  • the effect tones recorded on a magnetic tape or record disk have a limited duration, and cannot be reproduced for a long period of time. For example, the chirping of a bird cannot be obtained at a desired timing. It is also not easy to quickly switch effect tones from an ocean scene to a forest scene in synchronism with a TV image. In addition, the entire system becomes bulky, and requires a mechanical portion. Thus, maintenance is necessary.
  • Such automatic tone volume control allows to naturally add effect tones to music or image.
  • a VCA circuit in, e.g., an electronic musical instrument, a VCA circuit must be connected to an output of a sound source circuit, and a control circuit for controlling the control voltage input to the VCA circuit is also necessary.
  • the sound source circuit is digitally controlled by a CPU (central processing unit).
  • the VCA circuit is an analog circuit.
  • a D/A (digital-to-analog) converter is required. As a result, the circuit is complicated, and cost is increased.
  • the document "Owner's Manual, Hyundai RX5 Digital Rhythm Programmer” discloses a sound generating apparatus according to the preamble of claim 1.
  • the Hyundai RX5 is an instrument which offers the possibility to select various instrument keys and internal voices as well as adding short glass crash effects or gunshot effects.
  • an automatic effect tone generating apparatus of the present invention is applied to a 2-channel stereo type electronic musical instrument.
  • Fig. 1 shows the overall arrangement of an electronic musical instrument according to an embodiment of the present invention.
  • panel switch (SW)/keyboard unit 11 comprises operation panel 11a having switches operated for obtaining various sound effects, and keyboard 11b having a large number of keys according to various effect tones and pitches.
  • Operation data of the switches and keys are supplied to CPU (Central Processing Unit) 12 through an interface circuit (not shown).
  • Sound effect pattern memory unit 13 is a memory device comprising, e.g., a ROM (Read Only Memory) storing various sound effect pattern data (to be described later). Data is read out from memory unit 13 under the control of CPU 12.
  • Display unit 14 performs various displays under the control of CPU 12.
  • CPU 12 performs arithmetic operations and processing according to a predetermined program based on data from panel SW/keyboard unit 11, sound effect pattern memory unit 13, and the like, and supplies control signals and control data to right- and left-channel tone source circuits 15a and 15b.
  • CPU 12 comprises various registers (to be described later) for performing the above-mentioned arithmetic operations and processing.
  • Tone source circuits 15a and 15b are PCM (Pulse Code Modulation) tone source circuits, and supply a read address supplied from CPU 12 to waveform/tone color parameter memory unit 16.
  • Memory unit 16 is a memory device comprising, e.g., a ROM storing waveform and tone color parameter data (to be described later).
  • Digital signals obtained by tone source circuits 15a and 15b are converted to analog signals by right- and left-channel D/A (digital-to-analog) converters 17a and 17b, respectively.
  • the analog signals are supplied to right- and left-channel acoustic systems 19a and 19b through right- and left-channel filters 18a and 18b, thus stereophonically outputting an effect tone.
  • Fig. 2 shows an arrangement of the operation panel shown in Fig. 1.
  • operation panel 11a is a panel operated to obtain an effect tone, and includes a total of ten switches, i.e., sound effect (SOUND EFFECT) switches SW1 to SW8, fade-in/fade-out (FADE-IN/FADE-OUT) switch SW9, and hold (HOLD) ON/OFF switch (to be referred to as hold switch hereinafter) SW10.
  • SOUND EFFECT sound effect
  • SW1 to SW8 fade-in/fade-out
  • HOLD hold ON/OFF switch
  • SW1 to SW8 are operation switches to which effect tones are assigned such that SW1 corresponds to an effect tone representing a forest scene (FOREST); SW2, an effect tone representing a seashore scene (OCEAN); SW3, an effect tone representing a street scene (STREET); SW4, an effect tone representing the scene of a space war (SPACE WAR); SW5, an effect tone representing the scene of a rainy day (RAINY DAY); SW6, an effect tone representing an evening scene (EVENING); SW7, an effect tone representing the scene of a concert hall (CONCERT HALL); and SW8, an effect tone representing a wild western scene (WILD WESTERN).
  • Fade-in/fade-out switch SW9 is operated in combination with hold switch SW10 so as to gradually increase/decrease a tone volume of an effect tone.
  • LED (Light-Emitting Diode) 20 which is turned on/off in correspondence with an on/off operation of switch SW10 and constitutes a part of display unit 14 is arranged above hold switch SW10 in Fig. 2.
  • Fig. 3 shows an arrangement of keyboard 11b shown in Fig. 1.
  • element tones constituting each effect tone are assigned to keys. When a key is operated, the corresponding element tone can be generated.
  • the element tones of the effect tone representing the forest scene include bird 1, fade-in brook, bird 2, normal brook, and bird 3, and element tones of the effect tone representing seashore scene include wave 1, sea gull 1, wave 2, sea gull 2, and wave 3, as shown in Fig. 3.
  • the element tones of the remaining effect tones are assigned to any of keys No. 1 (1H) to No. 31 (31H). Two assignment patterns of the element tones of keyboard 11b are available upon switching, as will be described later, and keys can be used for obtaining normal pitches.
  • the element tones are waveforms obtained by PCM sampling.
  • bird 1, 2, and 3 tones have the same waveform
  • fade-in and normal brook tones have the same waveform
  • wave 1, 2, and 3 tones have the same waveform
  • sea gull 1 and 2 tones have the same waveform.
  • the bird and sea gull tones employ one of sampled waveforms, which exhibits the feature of a tone property best.
  • the waveforms of the brook and wave tones include noise components as a main tone property, and are random waveforms.
  • a waveform group for a predetermined period of time is used as it is, and is loop-processed. Therefore, if this tone is listened to without modification, it sounds like a periodical tone having a given period.
  • Right- and left-channel tone source circuits 17a and 17b employ the same waveforms described above.
  • the effect tones representing the forest scene (FOREST) and seashore scene (OCEAN) generated by this embodiment will be described in detail below.
  • the forest effect tone to be described in this embodiment is constituted by element tones of the chirping of birds and the murmur of a brook, and the seashore effect tone is constituted by element tones of waves and songs of sea gulls.
  • Envelope data forming each element tone is stored in a predetermined memory area of waveform/tone color parameter memory unit 16, as will be described later in detail. Basically, this envelope is separately used by right- and left-channel tone source circuits 15a and 15b. In this manner, localization, spread, and perspective sense of tones can be desirably reproduced. Key on delay (time delay) can be performed between right- and left-channel tone source circuits 15a and 15b.
  • Fig. 4 shows the bird 1 envelopes.
  • a tone volume level immediately rises to a maximum (MAX) value upon K on and is slowly decreased to a minimum level
  • a tone volume level immediately rises to a value half of the maximum value, and is slowly decreased to the minimum level.
  • the envelope includes two small peaks.
  • the tone volume level of the right channel is higher than that of the left channel, it can be heard as if a bird sings at a position between the center and the right-channel (a position slightly shifted to the right from the center). Since the left-channel envelope is subjected to Key on time delay with respect to the right-channel envelope, a reproduced tone can be heard with a sense of spread, and two small peaks during decay provide an effect of echoes in the forest.
  • Fig. 5 shows bird 2 envelopes.
  • a tone volume level immediately rises to a value half of the maximum value upon key on, and is slowly decreased to the minimum level.
  • the left-channel envelope after the right-channel envelope reaches the minimum level, two small peaks successively appear.
  • the two peaks of the left-channel envelope provide an effect of echoes of the forest.
  • Fig. 6 shows bird 3 envelopes.
  • the tone volume level immediately rises to a value slightly lower than the maximum value upon Key on, and is slowly decreased to the minimum level.
  • the tone volume level immediately rises low after the lapse of a given delay time, and is then slowly decreased to the minimum level. During decay of each envelope, a small peak appears.
  • a bird first sings near the left channel, the other bird signs at a distance on the right channel, and an effect of echoes of the forest is also provided.
  • Fig. 7 shows a normal brook envelope.
  • the tone volume level rises to the maximum value upon Key on, and thereafter takes a constant value, i.e., provides a continuous tone having a sustain point. After Key off, the tone volume level is slowly decreased in 12 seconds and reaches the minimum level.
  • the normal brook envelope since the normal brook tone is the main element of the forest scene, a continuous tone is kept generated to be localized at the center.
  • the brook waveform provides a tone having a predetermined period, and the reproduced tone sounds unnatural as it is. Therefore, as shown in Fig.
  • a tone for the right channel is offset to a positive side
  • a tone for the left channel is offset to a negative side.
  • the pitches are changed for the right and left channels as described above, the periods of the right and left channels have different durations, as shown in Fig. 9. Therefore, the right- and left-channel periods are shifted from each other.
  • a tone obtained with this method includes a noise component as a major component, which cannot be reproduced by loop reproduction of a single waveform, and is best suited for a tone for which a pitch is not important unlike an effect tone.
  • the pitches are offset constantly along the time base. If right- and left-channel pitches are independently changed over time, periodicity does not appear, and a reproduced tone sounds more natural.
  • Fig. 10 shows wave 1 envelopes.
  • a tone volume level rises to a maximum value in a relatively short period of time after Key on, and thereafter, is slowly decreased to the minimum level.
  • the tone volume level rises to the maximum value after a short delay time from the left-channel envelope, and is slowly decreased to the minimum level.
  • wave tones are localized at the center, and a person can hear the wave tones breaking near him or her with a sense of spread.
  • Fig. 11 shows wave 2 envelopes.
  • the tone volume level rises to a maximum value after Key on. Then, the tone volume level is slowly decreased, and is immediately decreased to the minimum level from a halfway point.
  • the tone volume level rises.
  • the tone volume level reaches that of the right channel, it is slowly decreased to the minimum level. That is, the envelopes are determined such that the left-channel decay envelope (indicated by a dotted curve) naturally follows the right-channel envelope (indicated by a solid curve) from a point halfway its decay.
  • the wave tone image is shifted from the right channel to the left channel, thus reproducing movement of waves lapping the seashore.
  • Fig. 12 shows wave 3 envelopes.
  • the tone volume level is slowly increased, and rises to a value half of the maximum value. Thereafter, the tone volume level is slowly decreased, and is relatively rapidly decreased to the minimum level from a halfway point.
  • the tone volume level rises.
  • the envelopes are determined such that the right-channel decay envelope naturally follows the left-channel envelope from a point halfway its decay.
  • a wave tone image is shifted from the right channel to the left channel, thus reproducing movement of going-down waves.
  • Fig. 13 shows sea gull 1 envelopes.
  • the tone volume level rises to the maximum value within a relatively short period of time, and is then slowly decreased to the minimum level.
  • the tone volume level rises to the same tone volume level as that of the right channel after a short delay time, and is slowly decreased to the minimum level to draw the same waveform curve as that of the left-channel envelope.
  • a tone is localized at the center, and a song of the sea gull singing nearby can be reproduced with a sense of spread.
  • Fig. 14 shows sea gull 2 envelopes.
  • the tone volume level rises to a value half of the maximum value, and is then slowly decreased.
  • the tone volume level rises along the same waveform as that of the right channel.
  • the sea gull 2 envelopes songs of two sea gulls that sing at a distance on the right channel first and then on the left channel can be reproduced.
  • the above element tones are combined, and are arranged along the time base, thus completing effect tones.
  • Fig. 15 is a chart for explaining the effect tones representing the forest scene and the seashore scene.
  • the forest and seashore effect tones have a main pattern for obtaining a continuous effect tone and a fill-in pattern for obtaining a short effect tone as needed, as will be described later in detail.
  • Each pattern includes lines 1 and 2.
  • the lines 1 and 2 are a set of patterns used for right- and left-channel tone source 15a and 15b, respectively, and are effect tone patterns for simultaneously designating and generating two element tones.
  • an effect tone pattern representing the forest scene will be described first.
  • the normal brook tone begins to be generated.
  • the normal brook tone is continuously generated until designation of the effect tone is canceled.
  • Chirping of birds is scattered along the time base in the line 2 using the normal brook tone in the line 1 as a background tone. More specifically, the bird 2 sings 5 seconds after the normal brook tone begins, the bird 3 sings 7 seconds after the bird 2 sings, bird 1 sings 2 seconds after the bird 3 sings, the bird 1 sings 1 second thereafter, and the pattern end is reached 8 seconds after the bird 1 signs. When the pattern end is reached, the lines 1 and 2 return to the start of patterns. Therefore, the bird 2 signs 13 seconds (8 seconds + 5 seconds) after the last bird 1 sings.
  • the forest main pattern is repeated with 23-sec periods.
  • a listener does not notice periodicity if the pattern is repeated with 1- to 2-min periods.
  • tone volume (accent) designation is made (this designation is indicated by mark "o"; this applies to the following description).
  • the tone volume level of the element tone is set at one of two (high and low) levels.
  • the brook tone begins to be generated, and a pattern end is reached in a relatively short period of time, e.g., about 7 seconds.
  • the bird 1 first sings with accent designation, and the bird 3 sings 4 seconds after the bird 1 sings.
  • the normal brook tone is kept generated in the line 1.
  • This pattern includes no continuous tone, and is expressed by a combination of element tones. Since waves are lapping the seashore and the shoreline is long, wave tones can always be heard. In order to reproduce this, the coming waves 1 and 2 and the going-down wave 3 tone sound in separate lines. More specifically, in the the line 1 of seashore main pattern, the wave 1 sounds first, the wave 2 sounds 11 seconds after the wave 1 sounds, the sea gull 2 sings with accent designation 7 seconds after the wave 2 sounds, and a pattern end is reached 5 seconds after the sea gull 2 sings. In the line 2, the wave 3 sounds 7 seconds after the wave 1 of the line 1 sounds.
  • the sea gull 1 sings with accent designation 8 seconds after the wave 3 sounds, and the wave 3 sounds 3 seconds after the sea gull 1 sings.
  • the wave 3 sounds immediately before the wave 1 envelope ends, and transition from the wave 3 to wave 2 and from the wave 2 to wave 3 are similarly performed.
  • the position of the pattern end is determined in correspondence with the transition timing from the wave 3 to wave 1.
  • the wave 1 sounds with accent designation in the line 1, and the pattern end is reached in a relatively short period of time, e.g., about 7 seconds.
  • the sea gull 1 sings 2 seconds after the wave 1 sounds in the line 1.
  • a generation mode of the effect tone upon sound effect switch operations will be described below in units of switch operations.
  • Fig. 17 shows an effect tone pattern data memory map.
  • the memory map shows an internal architecture of sound effect pattern memory unit 13 shown in Fig. 1.
  • Sound effect header address data 1 to 8 indicating start addresses of areas for storing pattern data corresponding to sound effect switches SW1 to SW8 are stored in an area starting from address "0".
  • One pattern data consists of one sound effect header data, 32 line 1 main step data, 16 line 1 fill-in step data, 32 line 2 main step data, and 16 line 2 fill-in step data.
  • Fig. 18 shows the format of the sound effect header data.
  • this format is constituted by 8 bits.
  • the start one bit indicates sound effect tone No. data (TD).
  • two patterns shown in Fig. 3 in which element tones are assigned to keys are used, and are represented by "0" and "1".
  • the next one bit indicates a sustain pattern flag (JD).
  • JD sustain pattern flag
  • the following 6 bits indicate sustain fade-in tone color key No. data (FD).
  • FD sustain fade-in tone color key No. data
  • the data indicates a fade-in brook key number, and is used in fade-in processing to be described in detail later.
  • Fig. 19 shows the format of the step data.
  • this format is constituted by 12 bits.
  • the start one bit indicates a validity flag (UD) and indicates whether a key No. (to be described later) of the corresponding step data is made valid or invalid, that is, whether or not the content of immediately preceding step data is held. If the key is turned on/off, data "1" is set.
  • the next one bit indicates an accent flag (AD), and indicates whether or not an accent is added to the element tone described above). When the accent is added (designated), data "1" is set; otherwise, data "0" is set.
  • AD accent flag
  • the following 6 bits indicate key No. data (KD), and indicate key numbers (1H to 31H) corresponding to element tones to be turned on. When data "0" is set, the corresponding key is turned off.
  • the following 4 bits indicate tone duration data (OD), and indicate the number of seconds for which the corresponding step is set valid. More specifically, as shown in Fig. 20, time duration data OD indicates a time duration in units of seconds, and data "0" indicates a pattern end.
  • Figs. 17 to 20 are stored in the ROM as described above. If these data are to be changed by a user, they can be stored in a RAM (Random Access Memory).
  • RAM Random Access Memory
  • Tone color data used for generating an effect tone will be described below.
  • Fig. 21 shows the tone color data memory map.
  • this memory map represents the internal architecture of waveform/tone color parameter memory unit 16 shown in Fig. 1, and stores tone color data from address X of the ROM storing the sound effect pattern data.
  • the memory map includes areas for respectively storing tone head address data, tone 0 key No. data (1H to 31H), and tone 1 key No. data (1H to 31H) in this order starting from address X.
  • the storage area for the tone head address data consists of areas for storing the start addresses of tone 0 and 1 tone color data, respectively.
  • Fig. 22 shows the content of tone color data.
  • the content of the tone color data is constituted by left- and right-channel waveform address data, pitch envelope data, and envelope data.
  • Waveform address data indicates start address data, loop address data, and end address data where the waveform data is stored.
  • the pitch envelope data is data for controlling a change in pitch over time.
  • the envelope data is data for determining a tone volume data of each element tone.
  • Each of left- and right-channel envelope data is constituted by initial step (I) data and 7 step data, as shown in Fig. 23.
  • the initial step (I) data includes initial time data indicating a delay time after Key on, and each step data consists of a sustain flag, level data, and rate data.
  • the initial step (I) data is set to be "10"; in the first step data, level data is set to be “99”, and rate data is set to be “+88”; in the second step data, the sustain flag is set ("1"), level data is set to be "60", and rate data is set to be "-80"; in the third step data, level data is set to be "0”, and rate data is set to be "-70”; and in the fourth to seventh step data, level data is set to be "0", and rate data is set to be "0".
  • Fig. 24 shows the content of the envelope data shown in Fig. 23.
  • a time period determined by the initial time, i.e., from Key on until the first step is executed is waited.
  • a tone volume level is increased from level “0" to level “99” at a rate of "88" in the positive direction, and is then decreased to level "60" at a rate of "80” in the negative direction.
  • the second step since the sustain flag is set, the level is maintained until Key off.
  • the control advances to the third step, and the tone volume level is decreased to level "0" at a rate of "70” in the negative direction, thus completing the control.
  • registers for temporarily storing data in order to obtain the effect tones by arithmetic operations and processing will be explained below. These registers are provided in an internal RAM (not shown) in CPU 12 shown in Fig. 1.
  • Figs. 25 to 27 are views for explaining the registers.
  • a sound effect header address register stores present sound effect header address data; a sound header data register (HDR), present header data; a line 1 step data register (1SDR), present line 1 step data; a line 2 step data register (2SDR), present line 2 step data; a tone head address register (THR), present tone head address data; a line 1 Key on data register (1KDR), tone color data generated in the line 1; a line 2 Key on data register (2KDR), tone color data generated in the line 2; a line 1 step address register (1SAR), address data at which present line 1 pattern step data is stored; a line 2 step address register (2SAR), address data at which present line 2 pattern step data is stored; a line 1 timer register (1TR), tone duration remaining time data of the present line 1 step; and a line 2 timer register (2TR), tone duration remaining time data of the present line 2 step.
  • a line 1 timer register (1TR) tone duration remaining time data of the present line 1 step
  • a fade-in/fade-out time register stores data for fade-in/fade-out time management; and a constant time register (ITR), data for managing a 6-sec constant level time period after a fade-in operation when hold switch SW10 is kept off and no effect tone is generated and when fade-in/fade-out switch SW9 is depressed.
  • the sound effect register comprises a time continuation register (KR), a fade-in/fade-out register (FR), a hold on/off register (HR), and a sound effect switch No. register (NR).
  • Register KR consists of 2 bits, and indicates a time continuation state. Data "01" in register KR indicates that the line 1 step is inhibited from being advanced by one, "10” indicates that the line 2 step is inhibited from being advanced by one, and "00" indicates that both the line 1 and 2 steps can be advanced.
  • Register FR consists of 2 bits, and indicates one of fade-in, fade-out, and normal state. Data “01” in register FR indicates the fade-in state, “10” indicates the fade-out state, and “00” indicates an OFF state (normal state).
  • Register HR consists of 1 bit, and indicates a hold ON/OFF state. Data “0” in register HR indicates an OFF state, and data "1” indicates an ON state.
  • Register NR consists of 4 bits, and indicates a No. of the selected sound effect switch. Data “0" to “7” respectively indicate switches SW1 to SW8.
  • Fig. 28 is a flow chart showing initialization and processing associated with switches.
  • step S1 all the registers are cleared.
  • register NR is set to be "0”
  • the sound effect switch No. is set to be "1”
  • register HR is set to be "0” indicating the hold off state
  • register FR is set to be "00” indicating the normal state. It is checked in step S2 if one of sound effect switches SW1 to SW8 is depressed. If YES in step S2, the No. of the depressed switch is written in the sound effect switch No.
  • step S4 if hold ON/OFF switch SW10 is depressed. If YES in step S4, data "1" indicating the hold ON state is written in hold ON/OFF register (HR) in step S5 and the advances to step S6; otherwise, the flow directly advances to step S6. If it is determined in step S6 that fade-in/fade-out switch SW9 is depressed, data "01" indicating the fade-in state (hold ON state) is written in the fade-in/fade-out register (FR) in step S7; otherwise, it is checked in step S8 if the power switch is turned off. If NO in step S8, the flow returns to step S2, and the same processing is repeated.
  • step S8 If YES in step S8, the flow is ended.
  • sound effect switch No. or the hold ON state is written in step S3 or S5
  • sound effect pattern generation processing (to be described later) is executed in step S9.
  • it is checked if one of switches SW1 to SW10 is depressed, and the presence/absence of the switch operation is checked except for a case wherein when the switch is depressed, the No. of the depressed switch is written in the register and the control advances to the sound effect pattern generation processing.
  • Figs. 29A to 30C are flow charts mainly showing normal state processing.
  • step S11 data stored at an NR address is transferred to register HAR.
  • step S12 sound effect header data having the data in register HAR as an address is stored in register HDR.
  • step S13 tone head address data having a value (X+TD) as an address is stored in register THR. More specifically, in steps S11 to S13, the start address and data of the sound effect pattern are stored in registers HAR and HDR, and the start address of the tone to be used is stored in register THR, thus performing initialization. It is checked in step S14 if data FR is "01" (fade-in state).
  • step S15 it is checked in step S15 if data HR is "1" (hold ON state). That is, it is checked whether a main or fill-in pattern is used. At this time, the fill-in pattern is used only when a hold OFF state is selected. A case will be described later wherein in the hold ON state, the fill-in pattern is output in response to an ON-event of the sound effect switch. If YES in step S14, or if YES in step S15, the control enters processing for fetching the main step data. In step S16, line 1 main step data having an address obtained by adding "1" to data in register HAR (HAR + 1) is stored in register 1SDR.
  • step S17 line 2 main step data having an address obtained by adding "49” to data in register HAR (HAR + 49) is stored in register 2SDR.
  • step S18 data obtained by adding "1" to data in register HAR is stored in register 1SAR (HAR + 1 ⁇ 1SAR).
  • step S19 data obtained by adding "49" to data in register HAR is stored in register 2SAR (HAR + 49 ⁇ 2SAR). If NO in step S15, the control enters processing for fetching fill-in step data.
  • step S20 line 1 fill-in step data having an address obtained by adding "33" to data in register HAR (HAR + 33) is stored in register 1SDR.
  • step S21 line 2 fill-in step data having data obtained by adding "81" to data in register HAR (HAR + 81) as an address is stored in register 2SDR.
  • step S22 data obtained by adding "33" to data in register HAR is stored in register 1SAR (HAR + 33 ⁇ 1SAR).
  • step S23 data obtained by adding "81" to data in register HAR is stored in register 2SAR (HAR + 81 ⁇ 2SAR). More specifically, in steps S16 to S19 and steps S20 to S23, main and fill-in step data and their source addresses are stored in the corresponding registers, thus completing preparation for generating a sound effect pattern.
  • step S24 After step S19 or S23, it is checked in step S24 if data FR is "01" (fade-in state). If YES in step S24, the control enters a fade-in processing flow (U) shown in Fig. 31 (to be described later); otherwise, the control enters line 1 tone generation processing.
  • step S25 In the line 1 tone generation processing, it is checked in step S25 if data KR is "01", that is, the step in the line 1 is not advanced by one but is continued. Since data KR is "00" (NO), an address is calculated based on data KD in register 1SDR and data in register THR (KD + THR - 1), and the calculated address data is stored in register 1KDR, in step S26.
  • step S30 data in register 1KDR is Keyed off (muting) in the line 1 in step S31. If NO in step S30, data in register 1KDR is Keyed on (tone generation) in the line 1 in step S32. If NO in step S29, data OD in register 1SDR is stored in register 1TR in step S33 after the processing in step S31 or S32. More specifically, in S25 to S33, the line 1 pattern data is fetched, and tone generation or muting is executed.
  • step S34 If YES in step S25 or after the processing in step S33, the control enters line 2 tone generation processing. It is checked in step S34 if data KR is "10", that is, if the step in the line 2 is not advanced by one but is continued. If NO in step S34, an address is calculated based on data KD in register 2SDR and data in register THR (KD + THR - 1), and the calculated address data is stored in register 2KDR, in step S35. It is then checked in step S36 if data AD in register 2SDR is "1", that is, if accent designation is made.
  • step S39 data in register 2KDR is Keyed on (tone generation) in the line 2 in step S41. If NO in step S38, data OD in register 2SDR is stored in register 2TR in step S42 after the processing in step S40 or S41. More specifically, in steps S34 to S42, the line 2 pattern data is fetched, and tone generation or muting is executed.
  • step S34 that is, data KR is "10" indicating that the line 2 is continued (K)
  • steps S and S44 it is checked in steps S and S44 if data in register 1TR is "0" and data in register 2TR is "0", respectively. That is, if the tone duration remaining time of one of the lines 1 and 2 is initially set to be "0", that is, pattern end (YES), the other is also regarded as a pattern end, and the control advances to node (L) in Fig. 30A. If NO in both steps S43 and S44, the control advances to node (X) in Fig. 30B. That is, if the pattern end is detected, it is checked in step S45 if data HR is "1" (hold ON).
  • step S45 data KR is set to be "0" in step S46, and the control advances to node (T) to return to step S16, thus repeating the same processing as described above. If NO in step S45, the lines 1 and 2 are muted in step S47, thus completing the sound effect pattern tone generation processing. After step S47, the control advances to node (Z) to return to step S2 in Fig. 28, thus executing processing for determining the presence/absence of switch operations.
  • step S48 in Fig. 30B if data HR is "1" (hold ON).
  • step S49 or step S50 if hold switch SW10 is depressed, thereby rewriting data HR. More specifically, when switch SW10 is switched from the hold ON state to the OFF state (steps S48 and S49), data HR is rewritten to "0" in step S51, and the lines 1 and 2 are muted in step S52, thus completing the sound effect pattern tone generation processing. Thereafter, the control advances to node (Z).
  • step S53 If switch SW10 is switched from the hold OFF state to the ON state (steps S48 and S50), data HR is rewritten to "1" in step S53. If data HR is rewritten to "1" or if switch SW10 is not depressed, it is checked in step S54 if one of sound effect switches SW1 to SW8 is depressed. If YES in step S54, it is checked in step S55 if the depressed switch has the same key No. as that of data NR in the sound effect register. If YES in step S55, the lines 1 and 2 are muted in step S56, and then, the control advances to node (V) to return to step S20, thus reexecuting sound effect pattern tone processing from the beginning of the fill-in pattern.
  • V node
  • step S55 If NO in step S55, the key No. of the depressed key is stored in data NR in step S57, and the lines 1 and 2 are muted in step S58. Thereafter, the control advances to node (Y) to return to step S11, thus re-executing the sound effect pattern tone generation processing from the beginning.
  • step S54 If NO in step S54, that is, if none of sound effect switches SW1 to SW8 is depressed, 1 second is measured by a 1-sec timer in step S59. Thereafter, in steps S60 and S61, tone duration data stored in registers 1TR and 2TR are updated by subtracting "1" (1TR - 1 ⁇ 1TR, 2TR - 1 ⁇ 2TR). It is checked in step S62 if data FR is "01" (fade-in state). If NO in step S62, data "6" is stored in register ITR in step S63; otherwise, it is checked in step S64 if data in register ITR is "0".
  • step S64′ that is, data in register ITR is "0"
  • steps S66 and S67 data in registers 1TR and 2TR are "0". That is, whether or not the tone duration times of the corresponding steps have passed is determined. If NO in both steps S66 and S67, the flow advances to node (X) to return to step S40, thus repeating the timer routine described above until the tone duration time of one of the lines 1 and 2 passes. If YES in step S66, that is, if data in register 1TR becomes "0", it is checked in step S68 if data in register 2TR is "0".
  • step S68 the value in register 1SAR is updated by adding "1" (1SAR + 1 ⁇ 1SAR) in step S69.
  • step S70 the line 1 step data having the new value of register 1SAR as an address is stored in register 1SDR.
  • step S71 the value in register 2SAR is updated by adding "1" (2SAR + 1 ⁇ 2SAR).
  • step S72 the line 2 step data having the new value of register 2SAR as an address is stored in register 2SDR.
  • step S73 data DR is set to be "00". That is, in steps S69 to S73, the line 1 and 2 step data are advanced by one.
  • step S68 determines whether data in register 2TR is not "0" or not "0" or not "0". If NO in step S68, that is, if data in register 2TR is not "0", the value in register 1SAR is updated by adding "1" (1SAR + 1 ⁇ 1SAR) in step S74.
  • step S75 the line 1 step data having the new value of register 1SAR as an address is stored in register 1SDR.
  • step S76 data KR is set to be "10". That is, data KR is set such that the line 1 step data is advanced by one, and the line 2 continues the timer routine. If YES in step S67, that is, if data in register 2TR becomes "0", the value in register 2SAR is updated by adding "1" (2SAR + 1 ⁇ 2SAR) in step S77.
  • step S78 the line 2 step data having the new value of register 2SAR as an address in register 2SDR.
  • data KR is set to be "01". That is, data KR is set such that the line 2 step data is advanced by one, and the line 1 continues the timer routine.
  • step S80 After steps S73, S76, and S79, it is checked in step S80 if data in register ITR is "0" (end of constant time). If NO in step S80, it is checked in step S81 if fade-in/fade-out switch SW9 is depressed. If NO in step S81, the control advances to node (W) to return to step S25, thus executing the above-mentioned tone generation processing. If YES in step S80, or if YES in step S81, the control advances to node (C), and fade-out processing shown in Fig. 34 (to be described later) is executed. More specifically, in steps S80 and S81 it is checked if the value of register ITR is "0".
  • the value of register ITR is "6", and the flow advances to the next step. Since the present state is the normal state, the fade-out processing is executed if fade-in/fade-out switch SW9 is depressed. If switch SW9 is not depressed, the control returns to the tone generation processing.
  • the normal state processing flow has been described.
  • Fade-in/fade-out processing will be described below. First, the summary of this processing will be described.
  • one state one element tone (e.g., a brook tone) is kept generated throughout the pattern.
  • various element tones e.g., wave tones and sea gull tones are generated at predetermined timings as in the line 2.
  • sustain pattern flag JD in register HDR.
  • Fade-in processing of the former sustain pattern can be realized as follows. That is, a fade-in tone color is prepared in addition to a normal tone color, and when fade-in switch SW9 is depressed, Key on of the fade-in tone color is performed.
  • Fig. 35 shows an envelope of a fade-in brook tone as an example of the fade-in tone color. As shown in Fig. 35, in an attack envelope of this tone color, a tone volume level is gradually increased upon Key on, and a very long period of time, that is, 12 seconds are required for rising the tone volume level to a maximum sustain level. A fade-in time can be adjusted by changing the attack envelope.
  • Fade-out processing of the former sustain pattern is performed such that when fade-out switch SW9 is depressed, an envelope to be controlled is shifted to a release envelope.
  • a time required from Key off of the release envelope until the tone volume level is decreased to "0" is set to be 12 seconds.
  • the release envelope is used as a fade-out envelope.
  • the envelope to be controlled may be shifted to a special-purpose fade-out envelope simultaneously with Key off (fade-out ON).
  • Fig. 38 shows fade-in processing using a conventional VCA.
  • a tone volume need not always be continuously changed, and a corresponding tone volume can be changed at points A and B.
  • another curve e.g., an exponential curve, may be set as long as a generated tone sounds natural.
  • a(tmax - t) is subtracted from the tone color envelope value.
  • tmax indicates a maximum value of a change time.
  • Fade-out processing of the sustain pattern is performed by subtracting at.
  • the detailed flow of the fade-in/fade-out processing will be explained below.
  • Figs. 31A to 34 are flow charts showing fade-in/fade-out processing.
  • steps S91 and S92 data "12" and “6" are respectively set in registers FTR and ITR. It is checked in step S93 if data JD in register HDR is "1". If YES in step S93, a sustain system is selected, and a fade-out address is calculated based on FD in register HDR and data in register THR (FD + THR - 1), and the calculated address data is stored in register 1KDR, in step S94. The stored data serves as fade-in tone color data.
  • step S93 If NO in step S93, that is, if data JD is not "1", a non-sustain system (continuous system) is selected, and it is then checked in step S95 if data KR is "01". If NO in step S95, an address is calculated based on data KD in register 1SDR and data in register THR (KD + THR - 1), and the calculated address data is stored in register 1KDR, in step S96. It is checked in step S97 if data AD in register 1SDR is "1", i.e., if accent designation is made.
  • step S97 level data in the envelope data in register 1KDR is rewritten with a value obtained by subtracting accent value a from the level data in step S98; otherwise, the level data is left unchanged.
  • step S99 a value obtained by multiplying the value of register FTR with "l" (FTR ⁇ l) is subtracted from the level data of the envelope data in register 1KDR. In this case, "l" is a level amount which changes per second.
  • step S101 data in register 1KDR is Keyed off (muting) in the line 1 in step S102. If NO in step S101, data in register 1KDR is Keyed on (tone generation) in the line 1 in step S103. If NO in step S100, data OD in register 1SDR is stored in register 1TR in step S104 after processing in step S102 or S103. More specifically, in steps S100 to S104, the line 1 pattern data is fetched and tone generation or muting is executed.
  • step S111 data in register 1KDR is Keyed off (muting) in the line 2 in step S112; otherwise, data in register 2KDR is Keyed on (tone generation) in the line 2 in step S113. If NO in step S110, data OD in register 2SDR is stored in register 2TR in step S114 after the processing in step S112 or S113. More specifically, in steps S106 to S114, the line 2 pattern data is fetched, and tone generation/muting or tone generation sustaining processing is executed.
  • step S105 If YES is obtained in step S105, that is, if data KR is "10" indicating that the line 2 is continued, after processing in step S114, it is checked in steps S115 and S116 if data in registers 1TR and 2TR are respectively "0". More specifically, if the tone duration remaining time of one of the lines 1 and 2 is initially "0", i.e., pattern end (YES), the other is also regarded as a pattern end, and it is checked in step S117 if data JD in register HDR is "1" (sustain system). If YES in step S117, the control advances to node (N) to return to step S105, thus executing line 2 processing.
  • YES pattern end
  • step S117 line 1 main step data having an address obtained by adding "1" to data in register HAR (HAR + 1) is stored in register 1SDR in step S118.
  • step S119 line 2 main step data having an address obtained by adding "49” to data in register HAR (HAR + 49) is stored in register 2SDR.
  • step S120 data obtained by adding "1" to data in register HAR is stored in register 1SDR (HAR + 1 ⁇ 1SAR).
  • step S121 data obtained by adding "49" to data in register HAR is stored in register 2SAR (HAR + 49 ⁇ 2SAR).
  • step S122 data KR is set to be "00".
  • step S131 it is checked in step S131 if data HR is "1" (hold ON state). Regardless of whether YES or NO is obtained in step S131, it is checked in step S132 or S133 if hold switch SW10 is depressed, and data HR is rewritten. More specifically, when switch SW10 is switched from the hold ON state to the OFF state (steps S131 and S132), data HR is set to be "0" in step S134, and in step S135, the lines 1 and 2 are muted, thus completing the sound effect pattern tone generation processing. The control then advances to node (Z). When switch SW10 is switched from the hold OFF state to the ON state (steps S131 and S133), data HR is set to be "1" in step S136.
  • step S137 When data HR is set to be "1" or switch SW10 is not depressed, it is checked in step S137 if one of sound effect switches SW1 to SW8 is depressed. If YES in step S137, the control advances to node (M), and it is checked in step S138 in Fig. 33 if the depressed switch has the same key No. as data NR stored in the sound effect register. If YES in step S138, data FR is set to be "00" in step S139 (FR ⁇ 00), and the control advances to node (V) to return to step S20, thereby re-executing sound effect pattern processing from the beginning of the normal fill-in pattern processing. If NO in step S138, the key No. of the depressed switch is stored in data NR in step S140. In step S141, data FR is set to be "00" (FR ⁇ 00), and the control advances to node (Y) to return to step S11, thereby re-executing the normal sound effect pattern tone generation processing from the beginning.
  • step S137 i.e., if none of sound effect switches SW1 to SW8 is depressed, 1 second is measured by a 1-sec timer in step S142, and thereafter, tone duration data stored in registers 1TR and 2TR are updated by subtracting "1" therefrom (1TR - 1 ⁇ 1TR, 2TR - 1 ⁇ 2TR), in steps S143 and S144. More specifically, timer processing is performed in the same manner as in the normal state. It is checked in step S145 if data FR is "01" (fade-in state). If YES in step S145, it is checked in step S146 if data in register FTR is "0".
  • step S146 the value of register FTR is updated by subtracting "1" (FTR - 1 ⁇ FTR) in step S147. Whether FTR is "0" is checked in step S146 for the following reason. That is, if the tone duration of one step is set to exceed 12 seconds (in practice, such setting is not made), the value of register FTR is prevented from being “0”. If NO in step S145, it is checked in step S148 if data in register FTR is "12". If NO in step S148, the value of register FTR is updated by adding "1" (FTR + 1 ⁇ FTR) in step S149.
  • step S146 or S148 If YES in step S146 or S148, and if the value of register FTR is updated, processing of registers 1TR and 2TR is performed in the same manner as in the normal state. That is, it is checked in steps S150 and S151 if data in registers 1TR and 2TR are "0". That is, whether or not tone duration times of the corresponding steps have passed is checked. If NO in both steps S150 and S151, the flow returns to step S131, and the above-mentioned operation is repeated through the above-mentioned timer routine until one of the lines 1 and 2 reaches a tone duration.
  • step S150 i.e., if the value in register 1TR becomes “0"
  • step S152 the value of register 1SAR is updated by adding "1" (1SAR + 1 ⁇ 1SAR) in step S153, and line 1 step data at an address corresponding to the new value of register 1SAR is stored in register 1SDR in step S154.
  • step S155 the value of register 2SAR is updated by adding "1" (2SAR + 1 ⁇ 2SAR), and line 2 step data at an address corresponding to the new value of register 2SAR is stored in register 2SDR in step S156.
  • step S157 data KR is set to be "00".
  • step S153 the line 1 and 2 step data are advanced by one. If NO in step S152, the value of register 1SAR is updated by adding "1" (1SAR + 1 ⁇ 1SAR) in step S158, and line 1 step data at an address corresponding to the new value of register 1SAR is stored in register 1SDR in step S159.
  • step S160 data KR is set to be "10". More specifically, data KR is set such that the line 1 step data is advanced by one, and the line 2 continues the timer routine.
  • step S151 the value of register 2SAR is updated by adding "1" (2SAR + 1 ⁇ 2SAR) in step S161, and line 2 step data at an address corresponding to the new value of register 2SAR is stored in register 2SDR in step S162.
  • step S163 data KR is set to be "01". More specifically, data KR is set such that the line 2 step data is advanced by one, and the line 1 continues the timer routine.
  • step S167 the flow advances to node (B) to return to step S95; otherwise, data KR and FR are set to be "00" in steps S168 and S169, respectively.
  • the control then advances to node (Z) to return to step S2, thus detecting the switch operation.
  • a fade-out processing flow will be described below.
  • the fade-out processing starts from node (C) shown in Fig. 30C, and advances to the flow shown in Fig. 33.
  • steps S171 and S172 data "10" is set in data FR, and data "0" is set in register FTR, thus performing processing for using the flow of non-sustain system. It is checked in step S173 if data JD in register HDR is "1" (sustain system). If NO in step S173 the control advances to node (B) to return to step S95; otherwise, a step in which the sustain flag is set is searched from the envelope data in register 1KDR in step S174.
  • step S175 the searched step is incremented by "1", and the control advances to release processing.
  • FTR + 1 ⁇ FTR is calculated after it is determined in step S145 that FR is "01". Therefore, the value in register FTR is increased along with the lapse of time.
  • the envelope level in register 1KDR is decreased along with the lapse of time, and becomes "0" after 12 seconds.
  • the fade-out flow is then ended after it is determined in step S148 that the value in register FTR is "12".
  • the sustain flag is searched using the envelope data in register 1KDR. In Fig. 23, the sustain flag is set in the second step.
  • the tone volume of an effect tone can be automatically controlled by switch operations.
  • an automatic rhythm, chord, or bass function may be controlled.
  • an introduction or ending phrase need not be created in units of tunes. Therefore, the performance can be smoothly started and ended.
  • Fade-in and fade-out times or sustain level duration time can be changed, and are not limited to those in the above embodiment.
  • the main effect tone pattern and fill-in effect tone pattern are selected and executed.
  • at least two first and second effect tone patterns having different patterns need only be executed.
  • the contents of effect tones and types of pattern can be arbitrarily determined, and are not limited to those in the above embodiment.
  • a fill-in effect tone time period can be arbitrarily set.
  • the same switch as that for designating the main effect tone pattern is used.
  • a switch exclusively used for selecting the fill-in pattern can be arranged.

Description

  • The present invention relates to a technique for automatically generating an effect tone representing a scene.
  • Conventionally, when effect tones such as the murmur of a brook, the chirping of a bird, and the like, representing a forest scene are to be listened to, a magnetic tape or record disk which recorded such tones in the forest is reproduced using an audio system. The effect tones also include tones representing seashore scene, street scene, concert hall scene, and the like. These effect tones are reproduced solely or in synchronism with an image or music, thus creating a scene.
  • However, in a conventional effect tone generating apparatus, the effect tones recorded on a magnetic tape or record disk have a limited duration, and cannot be reproduced for a long period of time. For example, the chirping of a bird cannot be obtained at a desired timing. It is also not easy to quickly switch effect tones from an ocean scene to a forest scene in synchronism with a TV image. In addition, the entire system becomes bulky, and requires a mechanical portion. Thus, maintenance is necessary.
  • An electronic musical instrument which generates an effect tone using sampled tones is known (a keyboard instrument "SX-K700" which is available from Technics, Japan). Since this electronic musical instrument has a limited sampling time, it performs a loop reproduction. Thus, changes in tone are little, and the reproduced tones sound monotonous due to monaural reproduction.
  • As another function of an electronic musical instrument, in order to obtain a fade-in/fade-out effect for automatically increasing/decreasing a tone volume, control using a VCA (voltage controlled amplifier) or a fader (volume) with a motor is required.
  • Such automatic tone volume control allows to naturally add effect tones to music or image.
  • However, in the above-mentioned tone volume control, in, e.g., an electronic musical instrument, a VCA circuit must be connected to an output of a sound source circuit, and a control circuit for controlling the control voltage input to the VCA circuit is also necessary. In general, the sound source circuit is digitally controlled by a CPU (central processing unit). However, the VCA circuit is an analog circuit. In order to control the VCA circuit, a D/A (digital-to-analog) converter is required. As a result, the circuit is complicated, and cost is increased.
  • When the fader with the motor is used in a volume control system, since the system includes a mechanically operating portion, maintenance is required.
  • When an operator wants to produce effect tones before a performance begins, to begin the performance thereafter, and to fade out the effect tones during the performance, he must perform complicated switching operations, and cannot concentrate on the performance.
  • The document "Owner's Manual, Yamaha RX5 Digital Rhythm Programmer" discloses a sound generating apparatus according to the preamble of claim 1. The Yamaha RX5 is an instrument which offers the possibility to select various instrument keys and internal voices as well as adding short glass crash effects or gunshot effects.
  • It is an object of the present invention to provide a sound generating apparatus which can generate an appropriate effect tone at an arbitrary timing with a simple operation.
  • It is another object of the present invention to provide a sound generating apparatus which can automatically control a tone volume with a simple operation.
  • According to the present invention, there is provided a sound generating apparatus in accordance with claim 1.
  • This invention can be more fully understood from the following detailed description when taken in conjunction with the accompanying drawings, in which:
    • Fig. 1 is a block diagram showing the overall arrangement of an electronic musical instrument according to an embodiment of the present invention;
    • Fig. 2 is a view showing an operation panel shown in Fig. 1;
    • Fig. 3 is a view showing a keyboard shown in Fig. 1;
    • Fig. 4 is a graph showing a bird 1 envelope;
    • Fig. 5 is a graph showing a bird 2 envelope;
    • Fig. 6 is a graph showing a bird 3 envelope;
    • Fig. 7 is a graph showing a normal brook tone envelope;
    • Fig. 8 is a graph showing a change in pitch of the normal brook tone envelope;
    • Fig. 9 is a chart showing a period of the normal brook tone;
    • Fig. 10 is a graph showing a wave 1 envelope;
    • Fig. 11 is a graph showing a wave 2 envelope;
    • Fig. 12 is a graph showing a wave 3 envelope;
    • Fig. 13 is a graph showing a sea gull 1 envelope;
    • Fig. 14 is a graph showing a sea gull 2 envelope;
    • Fig. 15 is a chart showing forest and seashore effect tones;
    • Fig. 16 is a graph showing a transition state from fade-in to fade-out;
    • Fig. 17 shows an effect pattern data memory map;
    • Fig. 18 shows a format of sound effect header data;
    • Fig. 19 shows a format of step data;
    • Fig. 20 is a table showing tone data;
    • Fig. 21 shows a tone color data memory map;
    • Fig. 22 is a table showing contents of tone color data;
    • Fig. 23 is a table showing contents of envelope data;
    • Fig. 24 is a graph showing envelope data shown in Fig. 23;
    • Fig. 25 is a view showing various register groups;
    • Fig. 26 is a view showing time registers;
    • Fig. 27 is a view showing a sound effect register;
    • Fig. 28 is a flow chart showing initialization and processing associated with switches;
    • Figs. 29A and 29B are flow charts showing processing of a normal state;
    • Figs. 30A to 30C are flow charts showing processing of a normal state;
    • Figs. 31A and 31B are flow charts of fade-in processing;
    • Figs. 32A and 32B are flow charts of fade-in processing;
    • Fig. 33 is a flow chart of fade-in processing;
    • Fig. 34 is a flow chart of fade-out processing;
    • Fig. 35 is a graph showing a brook tone fade-in envelope;
    • Fig. 36 is a graph showing non-continuous fade-in envelope processing;
    • Fig. 37 is a graph showing the relationship between time and level of the non-continuous fade-in envelope processing; and
    • Fig. 38 is a graph showing fade-in processing by a conventional VCA.
  • Embodiments of the present invention will now be described with reference to the accompanying drawings. In the first embodiment, an automatic effect tone generating apparatus of the present invention is applied to a 2-channel stereo type electronic musical instrument.
  • Basic Hardware Arrangement
  • Fig. 1 shows the overall arrangement of an electronic musical instrument according to an embodiment of the present invention. In Fig. 1, panel switch (SW)/keyboard unit 11 comprises operation panel 11a having switches operated for obtaining various sound effects, and keyboard 11b having a large number of keys according to various effect tones and pitches. Operation data of the switches and keys are supplied to CPU (Central Processing Unit) 12 through an interface circuit (not shown). Sound effect pattern memory unit 13 is a memory device comprising, e.g., a ROM (Read Only Memory) storing various sound effect pattern data (to be described later). Data is read out from memory unit 13 under the control of CPU 12. Display unit 14 performs various displays under the control of CPU 12. CPU 12 performs arithmetic operations and processing according to a predetermined program based on data from panel SW/keyboard unit 11, sound effect pattern memory unit 13, and the like, and supplies control signals and control data to right- and left-channel tone source circuits 15a and 15b. CPU 12 comprises various registers (to be described later) for performing the above-mentioned arithmetic operations and processing. Tone source circuits 15a and 15b are PCM (Pulse Code Modulation) tone source circuits, and supply a read address supplied from CPU 12 to waveform/tone color parameter memory unit 16. Memory unit 16 is a memory device comprising, e.g., a ROM storing waveform and tone color parameter data (to be described later). Digital signals obtained by tone source circuits 15a and 15b are converted to analog signals by right- and left-channel D/A (digital-to-analog) converters 17a and 17b, respectively. The analog signals are supplied to right- and left-channel acoustic systems 19a and 19b through right- and left-channel filters 18a and 18b, thus stereophonically outputting an effect tone.
  • Fig. 2 shows an arrangement of the operation panel shown in Fig. 1. In Fig. 2, operation panel 11a is a panel operated to obtain an effect tone, and includes a total of ten switches, i.e., sound effect (SOUND EFFECT) switches SW1 to SW8, fade-in/fade-out (FADE-IN/FADE-OUT) switch SW9, and hold (HOLD) ON/OFF switch (to be referred to as hold switch hereinafter) SW10. Sound effect switches SW1 to SW8 are operation switches to which effect tones are assigned such that SW1 corresponds to an effect tone representing a forest scene (FOREST); SW2, an effect tone representing a seashore scene (OCEAN); SW3, an effect tone representing a street scene (STREET); SW4, an effect tone representing the scene of a space war (SPACE WAR); SW5, an effect tone representing the scene of a rainy day (RAINY DAY); SW6, an effect tone representing an evening scene (EVENING); SW7, an effect tone representing the scene of a concert hall (CONCERT HALL); and SW8, an effect tone representing a wild western scene (WILD WESTERN). Fade-in/fade-out switch SW9 is operated in combination with hold switch SW10 so as to gradually increase/decrease a tone volume of an effect tone. LED (Light-Emitting Diode) 20 which is turned on/off in correspondence with an on/off operation of switch SW10 and constitutes a part of display unit 14 is arranged above hold switch SW10 in Fig. 2.
  • Fig. 3 shows an arrangement of keyboard 11b shown in Fig. 1. In keyboard 11b, element tones constituting each effect tone are assigned to keys. When a key is operated, the corresponding element tone can be generated. In keyboard 11b, the element tones of the effect tone representing the forest scene include bird 1, fade-in brook, bird 2, normal brook, and bird 3, and element tones of the effect tone representing seashore scene include wave 1, sea gull 1, wave 2, sea gull 2, and wave 3, as shown in Fig. 3. The element tones of the remaining effect tones are assigned to any of keys No. 1 (1H) to No. 31 (31H). Two assignment patterns of the element tones of keyboard 11b are available upon switching, as will be described later, and keys can be used for obtaining normal pitches. The element tones are waveforms obtained by PCM sampling. As the waveforms of this embodiment, bird 1, 2, and 3 tones have the same waveform, fade-in and normal brook tones have the same waveform, wave 1, 2, and 3 tones have the same waveform, and sea gull 1 and 2 tones have the same waveform. The bird and sea gull tones employ one of sampled waveforms, which exhibits the feature of a tone property best. The waveforms of the brook and wave tones include noise components as a main tone property, and are random waveforms. Thus, a waveform group for a predetermined period of time is used as it is, and is loop-processed. Therefore, if this tone is listened to without modification, it sounds like a periodical tone having a given period. Right- and left-channel tone source circuits 17a and 17b employ the same waveforms described above.
  • The effect tones representing the forest scene (FOREST) and seashore scene (OCEAN) generated by this embodiment will be described in detail below. The forest effect tone to be described in this embodiment is constituted by element tones of the chirping of birds and the murmur of a brook, and the seashore effect tone is constituted by element tones of waves and songs of sea gulls.
  • Format of Effect Tone
  • Envelope data forming each element tone is stored in a predetermined memory area of waveform/tone color parameter memory unit 16, as will be described later in detail. Basically, this envelope is separately used by right- and left-channel tone source circuits 15a and 15b. In this manner, localization, spread, and perspective sense of tones can be desirably reproduced. Key on delay (time delay) can be performed between right- and left-channel tone source circuits 15a and 15b.
  • Fig. 4 shows the bird 1 envelopes. In Fig. 4, in the right-channel bird 1 envelope, a tone volume level immediately rises to a maximum (MAX) value upon K on and is slowly decreased to a minimum level, and in the left-channel bird 1 envelope, after a predetermined time delay after Key on of the right-channel envelope, a tone volume level immediately rises to a value half of the maximum value, and is slowly decreased to the minimum level. During decay of each envelope, the envelope includes two small peaks. In the bird 1 envelope, for localization of tone, since the tone volume level of the right channel is higher than that of the left channel, it can be heard as if a bird sings at a position between the center and the right-channel (a position slightly shifted to the right from the center). Since the left-channel envelope is subjected to Key on time delay with respect to the right-channel envelope, a reproduced tone can be heard with a sense of spread, and two small peaks during decay provide an effect of echoes in the forest.
  • Fig. 5 shows bird 2 envelopes. In Fig. 5, in the right-channel bird 2 envelope, a tone volume level immediately rises to a value half of the maximum value upon key on, and is slowly decreased to the minimum level. In the left-channel envelope, after the right-channel envelope reaches the minimum level, two small peaks successively appear. In the bird 2 envelopes, a bird sings to be localized at a slightly far position near the right channel, and thereafter, the two peaks of the left-channel envelope provide an effect of echoes of the forest.
  • Fig. 6 shows bird 3 envelopes. In Fig. 5, in the left-channel bird 3 envelope, the tone volume level immediately rises to a value slightly lower than the maximum value upon Key on, and is slowly decreased to the minimum level. In the right-channel envelope, the tone volume level immediately rises low after the lapse of a given delay time, and is then slowly decreased to the minimum level. During decay of each envelope, a small peak appears. In the bird 3 envelopes, a bird first sings near the left channel, the other bird signs at a distance on the right channel, and an effect of echoes of the forest is also provided.
  • Fig. 7 shows a normal brook envelope. In Fig. 7, in the normal brook envelope for the right and left channels, the tone volume level rises to the maximum value upon Key on, and thereafter takes a constant value, i.e., provides a continuous tone having a sustain point. After Key off, the tone volume level is slowly decreased in 12 seconds and reaches the minimum level. In the normal brook envelope, since the normal brook tone is the main element of the forest scene, a continuous tone is kept generated to be localized at the center. The brook waveform provides a tone having a predetermined period, and the reproduced tone sounds unnatural as it is. Therefore, as shown in Fig. 8, with respect to a value having a pitch of a predetermined level, a tone for the right channel is offset to a positive side, and a tone for the left channel is offset to a negative side. When the pitches are changed for the right and left channels as described above, the periods of the right and left channels have different durations, as shown in Fig. 9. Therefore, the right- and left-channel periods are shifted from each other. When a person hears the brook tone based on this envelope, he or she does not feel unnaturalness caused by a constant period. A tone obtained with this method includes a noise component as a major component, which cannot be reproduced by loop reproduction of a single waveform, and is best suited for a tone for which a pitch is not important unlike an effect tone. In this embodiment, the pitches are offset constantly along the time base. If right- and left-channel pitches are independently changed over time, periodicity does not appear, and a reproduced tone sounds more natural.
  • Fig. 10 shows wave 1 envelopes. In Fig. 10, in the left-channel wave 1 envelope, a tone volume level rises to a maximum value in a relatively short period of time after Key on, and thereafter, is slowly decreased to the minimum level. In the right-channel envelope, the tone volume level rises to the maximum value after a short delay time from the left-channel envelope, and is slowly decreased to the minimum level. In the wave 1 envelopes, wave tones are localized at the center, and a person can hear the wave tones breaking near him or her with a sense of spread.
  • Fig. 11 shows wave 2 envelopes. In Fig. 11, in the right-channel wave 2 envelope, the tone volume level rises to a maximum value after Key on. Then, the tone volume level is slowly decreased, and is immediately decreased to the minimum level from a halfway point. In the left-channel envelope, before the tone volume level of the right channel is immediately decreased from the halfway point, the tone volume level rises. When the tone volume level reaches that of the right channel, it is slowly decreased to the minimum level. That is, the envelopes are determined such that the left-channel decay envelope (indicated by a dotted curve) naturally follows the right-channel envelope (indicated by a solid curve) from a point halfway its decay. In the wave 2 envelopes, a wave tone image is shifted from the right channel to the left channel, thus reproducing movement of waves lapping the seashore.
  • Fig. 12 shows wave 3 envelopes. In Fig. 12, after Key on, the tone volume level is slowly increased, and rises to a value half of the maximum value. Thereafter, the tone volume level is slowly decreased, and is relatively rapidly decreased to the minimum level from a halfway point. In the right-channel envelope, before the tone volume level of the left channel is decreased from the halfway point, the tone volume level rises. When the tone volume level of the right channel reaches that of the left channel, it is slowly decreased to the minimum level. That is, the envelopes are determined such that the right-channel decay envelope naturally follows the left-channel envelope from a point halfway its decay. In the wave 3 envelopes, a wave tone image is shifted from the right channel to the left channel, thus reproducing movement of going-down waves.
  • Fig. 13 shows sea gull 1 envelopes. In Fig. 13, in the left-channel sea gull 1 envelope, after Key on, the tone volume level rises to the maximum value within a relatively short period of time, and is then slowly decreased to the minimum level. In the right-channel envelope, the tone volume level rises to the same tone volume level as that of the right channel after a short delay time, and is slowly decreased to the minimum level to draw the same waveform curve as that of the left-channel envelope. In the sea gull 1 envelopes, a tone is localized at the center, and a song of the sea gull singing nearby can be reproduced with a sense of spread.
  • Fig. 14 shows sea gull 2 envelopes. In Fig. 14, in the right-channel sea gull 2 envelope, after Key on, the tone volume level rises to a value half of the maximum value, and is then slowly decreased. In the left-channel envelope, a short period of time after the tone volume level of the right channel is decreased, the tone volume level rises along the same waveform as that of the right channel. In the sea gull 2 envelopes, songs of two sea gulls that sing at a distance on the right channel first and then on the left channel can be reproduced.
  • The above element tones are combined, and are arranged along the time base, thus completing effect tones.
  • Fig. 15 is a chart for explaining the effect tones representing the forest scene and the seashore scene. In Fig. 15, the forest and seashore effect tones have a main pattern for obtaining a continuous effect tone and a fill-in pattern for obtaining a short effect tone as needed, as will be described later in detail. Each pattern includes lines 1 and 2. The lines 1 and 2 are a set of patterns used for right- and left- channel tone source 15a and 15b, respectively, and are effect tone patterns for simultaneously designating and generating two element tones.
  • An effect tone pattern representing the forest scene will be described first. In the line 1 of the forest main pattern, the normal brook tone begins to be generated. The normal brook tone is continuously generated until designation of the effect tone is canceled. Chirping of birds is scattered along the time base in the line 2 using the normal brook tone in the line 1 as a background tone. More specifically, the bird 2 sings 5 seconds after the normal brook tone begins, the bird 3 sings 7 seconds after the bird 2 sings, bird 1 sings 2 seconds after the bird 3 sings, the bird 1 sings 1 second thereafter, and the pattern end is reached 8 seconds after the bird 1 signs. When the pattern end is reached, the lines 1 and 2 return to the start of patterns. Therefore, the bird 2 signs 13 seconds (8 seconds + 5 seconds) after the last bird 1 sings. In this manner, the forest main pattern is repeated with 23-sec periods. In practice, a listener does not notice periodicity if the pattern is repeated with 1- to 2-min periods. For the birds 2, 3, and 1 from the beginning of the line 2, tone volume (accent) designation is made (this designation is indicated by mark "o"; this applies to the following description). In this accent designation, the tone volume level of the element tone is set at one of two (high and low) levels. Thus, a perspective feeling can be provided even if the element tone remains the same, and a variation in tone volume each time a bird signs can be expressed.
  • In the line 1 of the forest fill-in pattern, the brook tone begins to be generated, and a pattern end is reached in a relatively short period of time, e.g., about 7 seconds. In the line 2, the bird 1 first sings with accent designation, and the bird 3 sings 4 seconds after the bird 1 sings.
  • An effect tone pattern representing the seashore scene will be explained below. In the forest effect tone, the normal brook tone is kept generated in the line 1. This pattern includes no continuous tone, and is expressed by a combination of element tones. Since waves are lapping the seashore and the shoreline is long, wave tones can always be heard. In order to reproduce this, the coming waves 1 and 2 and the going-down wave 3 tone sound in separate lines. More specifically, in the the line 1 of seashore main pattern, the wave 1 sounds first, the wave 2 sounds 11 seconds after the wave 1 sounds, the sea gull 2 sings with accent designation 7 seconds after the wave 2 sounds, and a pattern end is reached 5 seconds after the sea gull 2 sings. In the line 2, the wave 3 sounds 7 seconds after the wave 1 of the line 1 sounds. The sea gull 1 sings with accent designation 8 seconds after the wave 3 sounds, and the wave 3 sounds 3 seconds after the sea gull 1 sings. In the seashore main pattern, the wave 3 sounds immediately before the wave 1 envelope ends, and transition from the wave 3 to wave 2 and from the wave 2 to wave 3 are similarly performed. The position of the pattern end is determined in correspondence with the transition timing from the wave 3 to wave 1.
  • In the seashore fill-in pattern, the wave 1 sounds with accent designation in the line 1, and the pattern end is reached in a relatively short period of time, e.g., about 7 seconds. In the line 2, the sea gull 1 sings 2 seconds after the wave 1 sounds in the line 1.
  • In this manner, the element tones of the effect tones are scattered along the time base, so that various scenes can be visualized.
  • A generation mode of the effect tone upon sound effect switch operations will be described below in units of switch operations.
  • Generation of Effect Tone by Switch Operation
    • 1. When hold switch SW10 is kept on, if sound effect switch SW1 is depressed, the forest main effect tone pattern is generated; if SW2, the seashore main effect tone pattern; and if SW3 to SW8, corresponding effect tone patterns. With this switch operation, a total of eight effect tone patterns can be selected. In this case, the effect tones are kept generated until hold switch SW10 is turned off, and an operator need not mind at all the duration of use of effect tones unlike in the conventional system.
    • 2. When hold switch SW10 is kept off, if sound effect switch SW1 is depressed, the forest fill-in effect tone pattern is generated; if SW2, the seashore fill-in effect tone pattern; and if SW3 to SW8, corresponding effect tone patterns. With this switch operation, a total of eight effect tone patterns can be selected. The fill-in effect tone pattern is a short pattern which automatically ends when the pattern end is reached, and is effective when an effect tone is used in a music for the purpose of accent.
    • 3. When hold switch SW10 is kept on and a predetermined effect tone pattern is generated, if one of sound effect switches SW1 to SW8 is depressed, a corresponding short effect tone pattern is generated at that time, and thereafter, an original effect tone pattern is resumed. For example, when the effect tone of this embodiment (forest effect tone) is generated as a background tone of a forest image, if a song of a bird is to be generated when an image is switched to a close shot of a bird, same sound effect switch SW1 is depressed when the close shot of the bird is displayed. Then the forest fill-in effect tone pattern is generated, and the song of the bird can be filled in.
    • 4. When hold switch SW10 is kept on and no effect tone is generated, if fade-in/fade-out switch SW9 is depressed, the tone volume of a previously selected effect tone is gradually increased, and reaches a normal tone volume level in about 12 seconds (12 seconds + α).
    • 5. When hold switch SW10 is kept on and an effect tone is generated, if fade-in/fade-out switch SW9 is depressed, the tone volume of the effect tone is gradually decreased, and a no-tone generation state is established in about 12 seconds (12 seconds + α).
    • 6. When hold switch SW10 is kept off and no effect tone is generated, if fade-in/fade-out switch SW9 is depressed, the tone volume of a previously selected effect tone is gradually increased, and reaches a normal tone volume level in about 12 seconds (12 seconds + α). The tone volume level is maintained for about 6 seconds (6 seconds + α). Thereafter, the tone volume is gradually decreased, and a no-tone generation state is established in about 12 seconds (12 seconds + α). Fig. 16 shows the fade-in/fade-out state by the above-mentioned switch operation.
  • The detailed effect tone generation sequence according to the operation will be described below.
  • Detailed Effect Tone Generation Sequence
  • Sound effect pattern data used for generating an effect tone will be explained first.
  • Fig. 17 shows an effect tone pattern data memory map. The memory map shows an internal architecture of sound effect pattern memory unit 13 shown in Fig. 1. Sound effect header address data 1 to 8 indicating start addresses of areas for storing pattern data corresponding to sound effect switches SW1 to SW8 are stored in an area starting from address "0". Areas (S.E1 to S.E8) for storing pattern data in the order of sound effect switches SW1 to SW8 follow the area storing the start addresses. One pattern data consists of one sound effect header data, 32 line 1 main step data, 16 line 1 fill-in step data, 32 line 2 main step data, and 16 line 2 fill-in step data.
  • Fig. 18 shows the format of the sound effect header data. In Fig. 18, this format is constituted by 8 bits. The start one bit indicates sound effect tone No. data (TD). In this embodiment, two patterns shown in Fig. 3 in which element tones are assigned to keys are used, and are represented by "0" and "1". The next one bit indicates a sustain pattern flag (JD). When one tone (brook tone) is to be kept generated in the line 1 like the forest effect tone pattern, data "1" is set; otherwise like the seashore effect tone pattern, data "0" is set. The following 6 bits indicate sustain fade-in tone color key No. data (FD). For example, in the forest effect tone pattern, the data indicates a fade-in brook key number, and is used in fade-in processing to be described in detail later.
  • Fig. 19 shows the format of the step data. In Fig. 19, this format is constituted by 12 bits. The start one bit indicates a validity flag (UD) and indicates whether a key No. (to be described later) of the corresponding step data is made valid or invalid, that is, whether or not the content of immediately preceding step data is held. If the key is turned on/off, data "1" is set. The next one bit indicates an accent flag (AD), and indicates whether or not an accent is added to the element tone described above). When the accent is added (designated), data "1" is set; otherwise, data "0" is set.
  • The following 6 bits indicate key No. data (KD), and indicate key numbers (1H to 31H) corresponding to element tones to be turned on. When data "0" is set, the corresponding key is turned off. The following 4 bits indicate tone duration data (OD), and indicate the number of seconds for which the corresponding step is set valid. More specifically, as shown in Fig. 20, time duration data OD indicates a time duration in units of seconds, and data "0" indicates a pattern end.
  • The data shown in Figs. 17 to 20 are stored in the ROM as described above. If these data are to be changed by a user, they can be stored in a RAM (Random Access Memory).
  • Tone color data used for generating an effect tone will be described below.
  • Fig. 21 shows the tone color data memory map. In Fig. 21, this memory map represents the internal architecture of waveform/tone color parameter memory unit 16 shown in Fig. 1, and stores tone color data from address X of the ROM storing the sound effect pattern data. The memory map includes areas for respectively storing tone head address data, tone 0 key No. data (1H to 31H), and tone 1 key No. data (1H to 31H) in this order starting from address X. The storage area for the tone head address data consists of areas for storing the start addresses of tone 0 and 1 tone color data, respectively.
  • Fig. 22 shows the content of tone color data. In Fig. 22, the content of the tone color data is constituted by left- and right-channel waveform address data, pitch envelope data, and envelope data. Waveform address data indicates start address data, loop address data, and end address data where the waveform data is stored. In this embodiment, an identical waveform is used. The pitch envelope data is data for controlling a change in pitch over time. The envelope data is data for determining a tone volume data of each element tone. Each of left- and right-channel envelope data is constituted by initial step (I) data and 7 step data, as shown in Fig. 23. The initial step (I) data includes initial time data indicating a delay time after Key on, and each step data consists of a sustain flag, level data, and rate data. More specifically, in Fig. 23, in each of the left- and right-channel envelope data, the initial step (I) data is set to be "10"; in the first step data, level data is set to be "99", and rate data is set to be "+88"; in the second step data, the sustain flag is set ("1"), level data is set to be "60", and rate data is set to be "-80"; in the third step data, level data is set to be "0", and rate data is set to be "-70"; and in the fourth to seventh step data, level data is set to be "0", and rate data is set to be "0".
  • Fig. 24 shows the content of the envelope data shown in Fig. 23. In Fig. 24, a time period determined by the initial time, i.e., from Key on until the first step is executed is waited. A tone volume level is increased from level "0" to level "99" at a rate of "88" in the positive direction, and is then decreased to level "60" at a rate of "80" in the negative direction. In the second step, since the sustain flag is set, the level is maintained until Key off. In response to the Key off event, the control advances to the third step, and the tone volume level is decreased to level "0" at a rate of "70" in the negative direction, thus completing the control.
  • Various registers for temporarily storing data in order to obtain the effect tones by arithmetic operations and processing will be explained below. These registers are provided in an internal RAM (not shown) in CPU 12 shown in Fig. 1.
  • Figs. 25 to 27 are views for explaining the registers. In Fig. 25, a sound effect header address register (HAR) stores present sound effect header address data; a sound header data register (HDR), present header data; a line 1 step data register (1SDR), present line 1 step data; a line 2 step data register (2SDR), present line 2 step data; a tone head address register (THR), present tone head address data; a line 1 Key on data register (1KDR), tone color data generated in the line 1; a line 2 Key on data register (2KDR), tone color data generated in the line 2; a line 1 step address register (1SAR), address data at which present line 1 pattern step data is stored; a line 2 step address register (2SAR), address data at which present line 2 pattern step data is stored; a line 1 timer register (1TR), tone duration remaining time data of the present line 1 step; and a line 2 timer register (2TR), tone duration remaining time data of the present line 2 step.
  • In Fig. 26, a fade-in/fade-out time register (FTR) stores data for fade-in/fade-out time management; and a constant time register (ITR), data for managing a 6-sec constant level time period after a fade-in operation when hold switch SW10 is kept off and no effect tone is generated and when fade-in/fade-out switch SW9 is depressed.
  • In Fig. 27, the sound effect register comprises a time continuation register (KR), a fade-in/fade-out register (FR), a hold on/off register (HR), and a sound effect switch No. register (NR). Register KR consists of 2 bits, and indicates a time continuation state. Data "01" in register KR indicates that the line 1 step is inhibited from being advanced by one, "10" indicates that the line 2 step is inhibited from being advanced by one, and "00" indicates that both the line 1 and 2 steps can be advanced.
  • Register FR consists of 2 bits, and indicates one of fade-in, fade-out, and normal state. Data "01" in register FR indicates the fade-in state, "10" indicates the fade-out state, and "00" indicates an OFF state (normal state). Register HR consists of 1 bit, and indicates a hold ON/OFF state. Data "0" in register HR indicates an OFF state, and data "1" indicates an ON state. Register NR consists of 4 bits, and indicates a No. of the selected sound effect switch. Data "0" to "7" respectively indicate switches SW1 to SW8.
  • The effect tone generation processing sequence will be described in detail below with reference to the flow charts.
  • 1. Flow chart of Initialization Processing
  • Fig. 28 is a flow chart showing initialization and processing associated with switches. In Fig. 28, when a power switch is ON (power on), the control starts. In step S₁, all the registers are cleared. Thus, upon power on, the sound effect register is cleared, register NR is set to be "0", the sound effect switch No. is set to be "1", register HR is set to be "0" indicating the hold off state, and register FR is set to be "00" indicating the normal state. It is checked in step S₂ if one of sound effect switches SW1 to SW8 is depressed. If YES in step S₂, the No. of the depressed switch is written in the sound effect switch No. register (NR) in step S₃; otherwise, it is checked in step S₄ if hold ON/OFF switch SW10 is depressed. If YES in step S₄, data "1" indicating the hold ON state is written in hold ON/OFF register (HR) in step S₅ and the advances to step S₆; otherwise, the flow directly advances to step S₆. If it is determined in step S₆ that fade-in/fade-out switch SW9 is depressed, data "01" indicating the fade-in state (hold ON state) is written in the fade-in/fade-out register (FR) in step S₇; otherwise, it is checked in step S₈ if the power switch is turned off. If NO in step S₈, the flow returns to step S₂, and the same processing is repeated. If YES in step S₈, the flow is ended. After the sound effect switch No. or the hold ON state is written in step S₃ or S₅, sound effect pattern generation processing (to be described later) is executed in step S₉. In this processing flow, it is checked if one of switches SW1 to SW10 is depressed, and the presence/absence of the switch operation is checked except for a case wherein when the switch is depressed, the No. of the depressed switch is written in the register and the control advances to the sound effect pattern generation processing.
  • 2. Flow chart of Normal State Processing
  • Figs. 29A to 30C are flow charts mainly showing normal state processing. In Figs. 29A to 30C, in step S₁₁, data stored at an NR address is transferred to register HAR. In step S₁₂, sound effect header data having the data in register HAR as an address is stored in register HDR. In step S₁₃, tone head address data having a value (X+TD) as an address is stored in register THR. More specifically, in steps S₁₁ to S₁₃, the start address and data of the sound effect pattern are stored in registers HAR and HDR, and the start address of the tone to be used is stored in register THR, thus performing initialization. It is checked in step S₁₄ if data FR is "01" (fade-in state). If NO in step S₁₄, it is checked in step S₁₅ if data HR is "1" (hold ON state). That is, it is checked whether a main or fill-in pattern is used. At this time, the fill-in pattern is used only when a hold OFF state is selected. A case will be described later wherein in the hold ON state, the fill-in pattern is output in response to an ON-event of the sound effect switch. If YES in step S₁₄, or if YES in step S₁₅, the control enters processing for fetching the main step data. In step S₁₆, line 1 main step data having an address obtained by adding "1" to data in register HAR (HAR + 1) is stored in register 1SDR. In step S₁₇, line 2 main step data having an address obtained by adding "49" to data in register HAR (HAR + 49) is stored in register 2SDR. In step S₁₈, data obtained by adding "1" to data in register HAR is stored in register 1SAR (HAR + 1 → 1SAR). In step S₁₉, data obtained by adding "49" to data in register HAR is stored in register 2SAR (HAR + 49 → 2SAR). If NO in step S₁₅, the control enters processing for fetching fill-in step data. In step S₂₀, line 1 fill-in step data having an address obtained by adding "33" to data in register HAR (HAR + 33) is stored in register 1SDR. In step S₂₁, line 2 fill-in step data having data obtained by adding "81" to data in register HAR (HAR + 81) as an address is stored in register 2SDR. In step S₂₂, data obtained by adding "33" to data in register HAR is stored in register 1SAR (HAR + 33 → 1SAR). In step S₂₃, data obtained by adding "81" to data in register HAR is stored in register 2SAR (HAR + 81 → 2SAR). More specifically, in steps S₁₆ to S₁₉ and steps S₂₀ to S₂₃, main and fill-in step data and their source addresses are stored in the corresponding registers, thus completing preparation for generating a sound effect pattern.
  • After step S₁₉ or S₂₃, it is checked in step S₂₄ if data FR is "01" (fade-in state). If YES in step S₂₄, the control enters a fade-in processing flow (U) shown in Fig. 31 (to be described later); otherwise, the control enters line 1 tone generation processing. In the line 1 tone generation processing, it is checked in step S₂₅ if data KR is "01", that is, the step in the line 1 is not advanced by one but is continued. Since data KR is "00" (NO), an address is calculated based on data KD in register 1SDR and data in register THR (KD + THR - 1), and the calculated address data is stored in register 1KDR, in step S₂₆. It is checked in step S₂₇ if data AD in register 1SDR is "1", that is, if accent designation is made. If NO in step S₂₇ (AD = 0), level data in the envelope data in register 1KDR is rewritten with a value obtained by subtracting accent value a from the level data in step S₂₈. If YES in step S₂₇ (AD = 1), the level data is kept unchanged, and it is checked in step S₂₉ if data UD in register 1SDR is "1" (valid). If YES in step S₂₉, it is checked in step S₃₀ if data KD in register 1SDR is "0", that is, if OFF data (KD = 0) or ON data (KD indicates a key No.) is set. If YES in step S₃₀, data in register 1KDR is Keyed off (muting) in the line 1 in step S₃₁. If NO in step S₃₀, data in register 1KDR is Keyed on (tone generation) in the line 1 in step S₃₂. If NO in step S₂₉, data OD in register 1SDR is stored in register 1TR in step S₃₃ after the processing in step S₃₁ or S₃₂. More specifically, in S₂₅ to S₃₃, the line 1 pattern data is fetched, and tone generation or muting is executed.
  • If YES in step S₂₅ or after the processing in step S₃₃, the control enters line 2 tone generation processing. It is checked in step S₃₄ if data KR is "10", that is, if the step in the line 2 is not advanced by one but is continued. If NO in step S₃₄, an address is calculated based on data KD in register 2SDR and data in register THR (KD + THR - 1), and the calculated address data is stored in register 2KDR, in step S₃₅. It is then checked in step S₃₆ if data AD in register 2SDR is "1", that is, if accent designation is made. If NO in step S36 (AD = 0), level data in envelope data in register 2KDR is rewritten with a value obtained by subtracting accent value a from the level data in step S₃₇. If YES in step S₃₆ (AD = 1), the level data is left unchanged, and it is checked in step S₃₈ if data UD in register 2SDR is "1" (valid). If YES in step S₃₈, it is checked in step S₃₉ if data KD in register 2SDR is "0", i.e., if OFF data (KD = 0) or ON data (KD indicates a key No.) is set. If YES in step S₃₉, data in register 2KDR is Keyed off (muting) in the line 2 in step S₄₀. If NO in step S₃₉, data in register 2KDR is Keyed on (tone generation) in the line 2 in step S₄₁. If NO in step S₃₈, data OD in register 2SDR is stored in register 2TR in step S₄₂ after the processing in step S₄₀ or S₄₁. More specifically, in steps S₃₄ to S₄₂, the line 2 pattern data is fetched, and tone generation or muting is executed.
  • If YES in step S₃₄, that is, data KR is "10" indicating that the line 2 is continued (K), and after the processing in step S₄₂, it is checked in steps S and S₄₄ if data in register 1TR is "0" and data in register 2TR is "0", respectively. That is, if the tone duration remaining time of one of the lines 1 and 2 is initially set to be "0", that is, pattern end (YES), the other is also regarded as a pattern end, and the control advances to node (L) in Fig. 30A. If NO in both steps S₄₃ and S₄₄, the control advances to node (X) in Fig. 30B. That is, if the pattern end is detected, it is checked in step S₄₅ if data HR is "1" (hold ON). If YES in step S₄₅, data KR is set to be "0" in step S₄₆, and the control advances to node (T) to return to step S₁₆, thus repeating the same processing as described above. If NO in step S₄₅, the lines 1 and 2 are muted in step S₄₇, thus completing the sound effect pattern tone generation processing. After step S₄₇, the control advances to node (Z) to return to step S₂ in Fig. 28, thus executing processing for determining the presence/absence of switch operations.
  • If NO in both steps S₄₃ and S₄₄, the control advances to node (X), and it is checked in step S₄₈ in Fig. 30B if data HR is "1" (hold ON). When YES or NO is obtained in step S₄₈, it is checked in step S₄₉ or step S50 if hold switch SW10 is depressed, thereby rewriting data HR. More specifically, when switch SW10 is switched from the hold ON state to the OFF state (steps S₄₈ and S₄₉), data HR is rewritten to "0" in step S₅₁, and the lines 1 and 2 are muted in step S₅₂, thus completing the sound effect pattern tone generation processing. Thereafter, the control advances to node (Z). If switch SW10 is switched from the hold OFF state to the ON state (steps S₄₈ and S₅₀), data HR is rewritten to "1" in step S₅₃. If data HR is rewritten to "1" or if switch SW10 is not depressed, it is checked in step S₅₄ if one of sound effect switches SW1 to SW8 is depressed. If YES in step S₅₄, it is checked in step S₅₅ if the depressed switch has the same key No. as that of data NR in the sound effect register. If YES in step S₅₅, the lines 1 and 2 are muted in step S₅₆, and then, the control advances to node (V) to return to step S₂₀, thus reexecuting sound effect pattern tone processing from the beginning of the fill-in pattern. If NO in step S₅₅, the key No. of the depressed key is stored in data NR in step S₅₇, and the lines 1 and 2 are muted in step S₅₈. Thereafter, the control advances to node (Y) to return to step S₁₁, thus re-executing the sound effect pattern tone generation processing from the beginning.
  • If NO in step S₅₄, that is, if none of sound effect switches SW1 to SW8 is depressed, 1 second is measured by a 1-sec timer in step S₅₉. Thereafter, in steps S₆₀ and S₆₁, tone duration data stored in registers 1TR and 2TR are updated by subtracting "1" (1TR - 1 → 1TR, 2TR - 1 → 2TR). It is checked in step S₆₂ if data FR is "01" (fade-in state). If NO in step S₆₂, data "6" is stored in register ITR in step S₆₃; otherwise, it is checked in step S₆₄ if data in register ITR is "0". If NO in step S₆₄, the data in register ITR is updated by subtracting "1" (ITR - 1 → 1TR) in step S₆₅. More specifically, in steps S₆₂ to S₆₅, whether or not the fade-in state is selected is checked to determine if the processing shown in Fig. 16 is being performed. If the processing is being performed and corresponds to a constant time period of 6 seconds, the normal state processing flow is ended while FR = "01" is left unchanged; otherwise, since the normal state is set, FR = "00". Since the present state is the normal state, the flow advances to the next step without subtracting "1" from data in register ITR. If YES in step S64′ that is, data in register ITR is "0", after the processing in step S₁₃ or S₆₅, it is checked in steps S₆₆ and S₆₇ if data in registers 1TR and 2TR are "0". That is, whether or not the tone duration times of the corresponding steps have passed is determined. If NO in both steps S₆₆ and S₆₇, the flow advances to node (X) to return to step S₄₀, thus repeating the timer routine described above until the tone duration time of one of the lines 1 and 2 passes. If YES in step S₆₆, that is, if data in register 1TR becomes "0", it is checked in step S₆₈ if data in register 2TR is "0". If YES in step S₆₈, the value in register 1SAR is updated by adding "1" (1SAR + 1 → 1SAR) in step S₆₉. In step S₇₀, the line 1 step data having the new value of register 1SAR as an address is stored in register 1SDR. In step S₇₁, the value in register 2SAR is updated by adding "1" (2SAR + 1 → 2SAR). In step S₇₂, the line 2 step data having the new value of register 2SAR as an address is stored in register 2SDR. In step S₇₃, data DR is set to be "00". That is, in steps S₆₉ to S₇₃, the line 1 and 2 step data are advanced by one. If NO in step S₆₈, that is, if data in register 2TR is not "0", the value in register 1SAR is updated by adding "1" (1SAR + 1 → 1SAR) in step S₇₄. In step S₇₅, the line 1 step data having the new value of register 1SAR as an address is stored in register 1SDR. In step S₇₆, data KR is set to be "10". That is, data KR is set such that the line 1 step data is advanced by one, and the line 2 continues the timer routine. If YES in step S₆₇, that is, if data in register 2TR becomes "0", the value in register 2SAR is updated by adding "1" (2SAR + 1 → 2SAR) in step S₇₇. In step S₇₈, the line 2 step data having the new value of register 2SAR as an address in register 2SDR. In step S₇₉, data KR is set to be "01". That is, data KR is set such that the line 2 step data is advanced by one, and the line 1 continues the timer routine.
  • After steps S₇₃, S₇₆, and S₇₉, it is checked in step S₈₀ if data in register ITR is "0" (end of constant time). If NO in step S₈₀, it is checked in step S₈₁ if fade-in/fade-out switch SW9 is depressed. If NO in step S₈₁, the control advances to node (W) to return to step S₂₅, thus executing the above-mentioned tone generation processing. If YES in step S₈₀, or if YES in step S₈₁, the control advances to node (C), and fade-out processing shown in Fig. 34 (to be described later) is executed. More specifically, in steps S₈₀ and S₈₁ it is checked if the value of register ITR is "0". In the normal state, the value of register ITR is "6", and the flow advances to the next step. Since the present state is the normal state, the fade-out processing is executed if fade-in/fade-out switch SW9 is depressed. If switch SW9 is not depressed, the control returns to the tone generation processing. The normal state processing flow has been described.
  • Fade-in/fade-out processing will be described below. First, the summary of this processing will be described.
  • 3. Summary of Fade-in/fade-out Processing
  • As described above with reference to the forest and seashore effect tone patterns, two states are present for the line 1. In one state, one element tone (e.g., a brook tone) is kept generated throughout the pattern. In the other state, various element tones, e.g., wave tones and sea gull tones are generated at predetermined timings as in the line 2. A difference between these states is determined by sustain pattern flag JD in register HDR. In order to perform fade-in/fade-out processing without using an external VCA, the above-mentioned two states must be separately processed.
  • Fade-in processing of the former sustain pattern can be realized as follows. That is, a fade-in tone color is prepared in addition to a normal tone color, and when fade-in switch SW9 is depressed, Key on of the fade-in tone color is performed. Fig. 35 shows an envelope of a fade-in brook tone as an example of the fade-in tone color. As shown in Fig. 35, in an attack envelope of this tone color, a tone volume level is gradually increased upon Key on, and a very long period of time, that is, 12 seconds are required for rising the tone volume level to a maximum sustain level. A fade-in time can be adjusted by changing the attack envelope.
  • Fade-out processing of the former sustain pattern is performed such that when fade-out switch SW9 is depressed, an envelope to be controlled is shifted to a release envelope. As shown in Figs. 7 and 35, a time required from Key off of the release envelope until the tone volume level is decreased to "0" is set to be 12 seconds. In this embodiment, the release envelope is used as a fade-out envelope. The envelope to be controlled may be shifted to a special-purpose fade-out envelope simultaneously with Key off (fade-out ON).
  • The summary of fade-in processing of the latter sustain pattern will be described below.
  • Fig. 38 shows fade-in processing using a conventional VCA. As shown in Fig. 38, in fade-in processing of a tone which is not continuously generated, a tone volume need not always be continuously changed, and a corresponding tone volume can be changed at points A and B. In this invention, as shown in Fig. 36, control is made such that the envelope levels of generated tones A and B are aligned along a straight line of y = at (a is a gradient, and t is a time). In this case, a tone volume increment curve is given by y = at. However, another curve, e.g., an exponential curve, may be set as long as a generated tone sounds natural. In this embodiment, as a method of controlling the envelope levels on the line given by y = at, a(tmax - t) is subtracted from the tone color envelope value. In this case, tmax indicates a maximum value of a change time.
  • Fade-out processing of the sustain pattern is performed by subtracting at. The detailed flow of the fade-in/fade-out processing will be explained below.
  • 4. Fade-in/fade-out Processing Flow Chart
  • Figs. 31A to 34 are flow charts showing fade-in/fade-out processing. In Figs. 31A and 31B, in steps S₉₁ and S₉₂, data "12" and "6" are respectively set in registers FTR and ITR. It is checked in step S₉₃ if data JD in register HDR is "1". If YES in step S₉₃, a sustain system is selected, and a fade-out address is calculated based on FD in register HDR and data in register THR (FD + THR - 1), and the calculated address data is stored in register 1KDR, in step S₉₄. The stored data serves as fade-in tone color data. If NO in step S₉₃, that is, if data JD is not "1", a non-sustain system (continuous system) is selected, and it is then checked in step S₉₅ if data KR is "01". If NO in step S₉₅, an address is calculated based on data KD in register 1SDR and data in register THR (KD + THR - 1), and the calculated address data is stored in register 1KDR, in step S₉₆. It is checked in step S₉₇ if data AD in register 1SDR is "1", i.e., if accent designation is made. If NO in step S₉₇, level data in the envelope data in register 1KDR is rewritten with a value obtained by subtracting accent value a from the level data in step S₉₈; otherwise, the level data is left unchanged. In step S₉₉, a value obtained by multiplying the value of register FTR with "ℓ" (FTR × ℓ) is subtracted from the level data of the envelope data in register 1KDR. In this case, "ℓ" is a level amount which changes per second. In step S₉₉, fade-in envelope processing is performed. As shown in Fig. 37, a change in tone volume level over time is given by the straight line of y = ℓt, the level value after 12 seconds is 12ℓ, and is a maximum value. Therefore, if the envelope of the tone color is set to be a maximum value (MAX), the tone level is 12ℓ. When FTR × ℓ is subtracted from 12ℓ, the difference is plotted on y = ℓt. Since the present value is FTR = 12, the tone level is "0" (12ℓ - 12ℓ). Then, tone generation processing is performed in the same manner as in normal state processing. It is checked in step S₁₀₀ if data UD in register 1SDR is "1" (valid). If YES in step S₁₀₀, it is checked in step S₁₀₁ if data KD in register 1SDR is "0", i.e., if OFF data (KD = 0) or ON data (KD indicates a key No.) is selected. If YES in step S₁₀₁, data in register 1KDR is Keyed off (muting) in the line 1 in step S₁₀₂. If NO in step S₁₀₁, data in register 1KDR is Keyed on (tone generation) in the line 1 in step S₁₀₃. If NO in step S₁₀₀, data OD in register 1SDR is stored in register 1TR in step S₁₀₄ after processing in step S₁₀₂ or S₁₀₃. More specifically, in steps S₁₀₀ to S₁₀₄, the line 1 pattern data is fetched and tone generation or muting is executed.
  • The control then enters line 2 tone generation processing. It is checked in step S₁₀₅ if data KR is that is, if the step in the line 2 is not advanced by one but is continued. If NO in step S₁₀₅, an address is calculated based on data KD in register 2SDR and data in register THR (KD + THR - 1), and the calculated address data is stored in register 2KDR, in step S₁₀₆. It is checked in step S₁₀₇ if data AD in register 2SDR is "1", that is, if accent designation is made. If NO in step S₁₀₇ (AD = 0), level data in the envelope data in register 2KDR is rewritten with a value obtained by subtracting accent value a from the level data in step S₁₀₈; otherwise (AD = 1), the level data is left unchanged. In step S₁₀₉, a value obtained by multiplying a value of register FTR with "ℓ" (FTR × ℓ) is subtracted from the level data in the envelope data in register 2KDR. As described above, the difference is plotted on y = ℓt. It is checked in step S₁₁₀ if data UD in register 2SDR is "1" (valid). If YES in step S₁₁₀, it is checked in step S₁₁₁ if data KD in register 2SDR is "0", i.e., if OFF data (KD = 0) or ON data (KD indicates a key No.) is set. If YES in step S₁₁₁, data in register 1KDR is Keyed off (muting) in the line 2 in step S₁₁₂; otherwise, data in register 2KDR is Keyed on (tone generation) in the line 2 in step S₁₁₃. If NO in step S₁₁₀, data OD in register 2SDR is stored in register 2TR in step S₁₁₄ after the processing in step S₁₁₂ or S₁₁₃. More specifically, in steps S₁₀₆ to S₁₁₄, the line 2 pattern data is fetched, and tone generation/muting or tone generation sustaining processing is executed.
  • If YES is obtained in step S₁₀₅, that is, if data KR is "10" indicating that the line 2 is continued, after processing in step S₁₁₄, it is checked in steps S₁₁₅ and S₁₁₆ if data in registers 1TR and 2TR are respectively "0". More specifically, if the tone duration remaining time of one of the lines 1 and 2 is initially "0", i.e., pattern end (YES), the other is also regarded as a pattern end, and it is checked in step S117 if data JD in register HDR is "1" (sustain system). If YES in step S₁₁₇, the control advances to node (N) to return to step S₁₀₅, thus executing line 2 processing. If NO in step S₁₁₇ (non-sustain system), line 1 main step data having an address obtained by adding "1" to data in register HAR (HAR + 1) is stored in register 1SDR in step S₁₁₈. In step S₁₁₉, line 2 main step data having an address obtained by adding "49" to data in register HAR (HAR + 49) is stored in register 2SDR. In step S₁₂₀, data obtained by adding "1" to data in register HAR is stored in register 1SDR (HAR + 1 → 1SAR). In step S₁₂₁, data obtained by adding "49" to data in register HAR is stored in register 2SAR (HAR + 49 → 2SAR). In step S₁₂₂, data KR is set to be "00". Thereafter, the control advances to node (B) to return to step S₉₅. More specifically, if a pattern end is detected in the pattern end processing, the processing is not interrupted. In the sustain system, the control returns to the line 2 processing, and in the non-sustain system, the control returns to the beginning of the pattern. Since data in register FTR is not cleared, processing is continued while the tone volume is plotted on y = ℓt. If no pattern end is detected, the control advances to node (A), and processing shown in Figs. 32A and 32B is executed.
  • In Figs. 32A and 32B, it is checked in step S₁₃₁ if data HR is "1" (hold ON state). Regardless of whether YES or NO is obtained in step S₁₃₁, it is checked in step S₁₃₂ or S₁₃₃ if hold switch SW10 is depressed, and data HR is rewritten. More specifically, when switch SW10 is switched from the hold ON state to the OFF state (steps S₁₃₁ and S₁₃₂), data HR is set to be "0" in step S₁₃₄, and in step S₁₃₅, the lines 1 and 2 are muted, thus completing the sound effect pattern tone generation processing. The control then advances to node (Z). When switch SW10 is switched from the hold OFF state to the ON state (steps S₁₃₁ and S₁₃₃), data HR is set to be "1" in step S₁₃₆. When data HR is set to be "1" or switch SW10 is not depressed, it is checked in step S₁₃₇ if one of sound effect switches SW1 to SW8 is depressed. If YES in step S₁₃₇, the control advances to node (M), and it is checked in step S₁₃₈ in Fig. 33 if the depressed switch has the same key No. as data NR stored in the sound effect register. If YES in step S₁₃₈, data FR is set to be "00" in step S₁₃₉ (FR ← 00), and the control advances to node (V) to return to step S₂₀, thereby re-executing sound effect pattern processing from the beginning of the normal fill-in pattern processing. If NO in step S₁₃₈, the key No. of the depressed switch is stored in data NR in step S₁₄₀. In step S₁₄₁, data FR is set to be "00" (FR ← 00), and the control advances to node (Y) to return to step S₁₁, thereby re-executing the normal sound effect pattern tone generation processing from the beginning.
  • If NO in step S₁₃₇, i.e., if none of sound effect switches SW1 to SW8 is depressed, 1 second is measured by a 1-sec timer in step S₁₄₂, and thereafter, tone duration data stored in registers 1TR and 2TR are updated by subtracting "1" therefrom (1TR - 1 → 1TR, 2TR - 1 → 2TR), in steps S₁₄₃ and S₁₄₄. More specifically, timer processing is performed in the same manner as in the normal state. It is checked in step S₁₄₅ if data FR is "01" (fade-in state). If YES in step S₁₄₅, it is checked in step S₁₄₆ if data in register FTR is "0". If NO in step S₁₄₆, the value of register FTR is updated by subtracting "1" (FTR - 1 → FTR) in step S₁₄₇. Whether FTR is "0" is checked in step S₁₄₆ for the following reason. That is, if the tone duration of one step is set to exceed 12 seconds (in practice, such setting is not made), the value of register FTR is prevented from being "0". If NO in step S₁₄₅, it is checked in step S₁₄₈ if data in register FTR is "12". If NO in step S₁₄₈, the value of register FTR is updated by adding "1" (FTR + 1 → FTR) in step S₁₄₉. If YES in step S₁₄₆ or S₁₄₈, and if the value of register FTR is updated, processing of registers 1TR and 2TR is performed in the same manner as in the normal state. That is, it is checked in steps S₁₅₀ and S₁₅₁ if data in registers 1TR and 2TR are "0". That is, whether or not tone duration times of the corresponding steps have passed is checked. If NO in both steps S₁₅₀ and S₁₅₁, the flow returns to step S₁₃₁, and the above-mentioned operation is repeated through the above-mentioned timer routine until one of the lines 1 and 2 reaches a tone duration. If YES in step S₁₅₀, i.e., if the value in register 1TR becomes "0", it is checked in step S152 if data in register 2TR is "0". If YES in step S₁₅₂, the value of register 1SAR is updated by adding "1" (1SAR + 1 → 1SAR) in step S₁₅₃, and line 1 step data at an address corresponding to the new value of register 1SAR is stored in register 1SDR in step S₁₅₄. In step S₁₅₅, the value of register 2SAR is updated by adding "1" (2SAR + 1 → 2SAR), and line 2 step data at an address corresponding to the new value of register 2SAR is stored in register 2SDR in step S₁₅₆. In step S₁₅₇, data KR is set to be "00". More specifically, in steps S₁₅₃ to S₁₅₇, the line 1 and 2 step data are advanced by one. If NO in step S₁₅₂, the value of register 1SAR is updated by adding "1" (1SAR + 1 → 1SAR) in step S₁₅₈, and line 1 step data at an address corresponding to the new value of register 1SAR is stored in register 1SDR in step S₁₅₉. In step S₁₆₀, data KR is set to be "10". More specifically, data KR is set such that the line 1 step data is advanced by one, and the line 2 continues the timer routine. If YES in step S₁₅₁, the value of register 2SAR is updated by adding "1" (2SAR + 1 → 2SAR) in step S₁₆₁, and line 2 step data at an address corresponding to the new value of register 2SAR is stored in register 2SDR in step S₁₆₂. In step S₁₆₃, data KR is set to be "01". More specifically, data KR is set such that the line 2 step data is advanced by one, and the line 1 continues the timer routine.
  • It is then checked in step S₁₆₄ if data in register FTR is "0". If FTR = "0", this means that the envelope has reached the maximum level. In this case, it is checked in step S₁₆₅ if data HR is "1" (hold ON). If YES in step S₁₆₅, data FR is set to be "00" in step S₁₆₆; otherwise, the control directly advances to node (W) to advance to the normal flow in step S₂₅. When the hold OFF state is detected, the flow advances to the normal flow while leaving data FR to be "01" since the processing shown in Fig. 16 is executed. If NO in step S₁₆₄, it is checked in step S₁₆₇ if data in register FTR is "12" (end of fade-out). If NO in step S₁₆₇, the flow advances to node (B) to return to step S₉₅; otherwise, data KR and FR are set to be "00" in steps S₁₆₈ and S₁₆₉, respectively. The control then advances to node (Z) to return to step S₂, thus detecting the switch operation.
  • A fade-out processing flow will be described below. The fade-out processing starts from node (C) shown in Fig. 30C, and advances to the flow shown in Fig. 33. In steps S₁₇₁ and S₁₇₂, data "10" is set in data FR, and data "0" is set in register FTR, thus performing processing for using the flow of non-sustain system. It is checked in step S₁₇₃ if data JD in register HDR is "1" (sustain system). If NO in step S₁₇₃ the control advances to node (B) to return to step S₉₅; otherwise, a step in which the sustain flag is set is searched from the envelope data in register 1KDR in step S₁₇₄. In step S₁₇₅, the searched step is incremented by "1", and the control advances to release processing. In the fade-out processing, if data "10" is set in FR, FTR + 1 → FTR is calculated after it is determined in step S₁₄₅ that FR is "01". Therefore, the value in register FTR is increased along with the lapse of time. The envelope level in register 1KDR is decreased along with the lapse of time, and becomes "0" after 12 seconds. The fade-out flow is then ended after it is determined in step S₁₄₈ that the value in register FTR is "12". In the case of the sustain system, the sustain flag is searched using the envelope data in register 1KDR. In Fig. 23, the sustain flag is set in the second step. When the data of the next step is executed, since the release time is preset to be 12 seconds, a sustain tone slowly fades out in 12 seconds.
  • In this embodiment, the tone volume of an effect tone can be automatically controlled by switch operations. In the case of an electronic musical instrument, an automatic rhythm, chord, or bass function may be controlled. Thus, upon introduction or ending of a performance, an introduction or ending phrase need not be created in units of tunes. Therefore, the performance can be smoothly started and ended.
  • In the above embodiment, various other effect tone patterns may be used. Fade-in and fade-out times or sustain level duration time can be changed, and are not limited to those in the above embodiment.
  • In the above embodiment, the main effect tone pattern and fill-in effect tone pattern are selected and executed. However, at least two first and second effect tone patterns having different patterns need only be executed. The contents of effect tones and types of pattern can be arbitrarily determined, and are not limited to those in the above embodiment. In addition, a fill-in effect tone time period can be arbitrarily set. In order to designate a fill-in effect tone pattern, the same switch as that for designating the main effect tone pattern is used. However, a switch exclusively used for selecting the fill-in pattern can be arranged.

Claims (17)

  1. A sound generating apparatus for generating sounds in response to an operation of a first switch (SW1 to SW8), comprising:
       waveform storing means (16) for storing a plurality of kinds of waveforms;
       pattern generation means (11, 13) for generating a pattern indicating a generation timing of the waveform stored in the waveform storing means (16);
       waveform reading means (12) for reading out the waveform from the waveform storing means on the basis of the timing indicated by the pattern generated by the pattern generation means (11, 13); and
       controlling means (12) for controlling the pattern generation means (11, 13) to generate a pattern, when the first switch (SW1 to SW8) is operated;
       characterized in
       that the waveforms stored in the waveform storing means (16) consist of those of ambient sounds such as a traffic noise, bird's singing or the sound of the sea waves; and
       that the sound generating apparatus further comprises:
       a hold switch (SW10);
       detection means (12) for detecting the simultaneous operation of the hold switch and the first switch;
       first instruction means (12) for instructing the pattern generation means (11, 13) to generate a pattern repeatedly, when the simultaneous operation of the hold switch (SW10) and the first switch (SW1 to SW8) is detected by the detection means; and
       second instruction means (12) for instructing the pattern generation means to stop the generation of the pattern now on generation, when the hold switch (SW10) is operated during the repeated pattern generation by the pattern generation means in accordance with the instruction of the first instruction means (12).
  2. An apparatus according to claim 1, characterized in that said first switch includes a plurality of switches (SW1 to SW8) for selecting the patterns,
    that the pattern generation means (11,13) is adapted to generate at least first and second patterns indicating generation timings of waveform data constituting the ambient sound for each ambient sounds of one type, and comprises pattern selection means (11) for starting, when a predetermined one of said plurality of switches (SW1 to SW8) is operated during generation of an ambient sound based on a first ambient sound pattern output from the pattern generation means (11, 13), generation of an ambient sound based on a second ambient sound pattern output from the pattern generation means, and for restarting, when a pattern end of the second ambient sound pattern is detected, generation of the ambient sound based on the first ambient sound pattern.
  3. An apparatus according to claim 2, characterized in that the second ambient sound pattern is shorter than the first ambient sound pattern.
  4. An apparatus according to claim 2 or 3, characterized in that said pattern generation means (11, 13) regenerates the first ambient sound pattern from the beginning when the pattern end of the first ambient sound pattern is generated.
  5. An apparatus according to anyone of claims 2 to 4, characterized in that said pattern selection means (11) starts generation of the ambient sound based on the second ambient sound pattern by operating the same switch as the one which selects the first ambient sound pattern.
  6. An apparatus according to claim 1, characterized in that the first switch includes a switch (11a) for selecting the ambient sound pattern, and that the pattern generation means (11, 13) is adapted to generate an ambient sound pattern indicating a generation timing of waveform data constituting the ambient sound for each ambient sound of one type, and comprises pattern selection means (11) for starting, when no ambient sound is generated based on the ambient sound pattern and said switch (11a) of said switch means is operated, generation of an ambient sound based on the ambient sound pattern output from the pattern generation means, and for stopping, when the pattern end of the ambient sound pattern is detected, generation of the ambient sound.
  7. An apparatus according to claim 1, characterized in that the pattern generation means (13) is adapted to generate an ambient sound pattern indicating a generation timing of waveform data from said waveform storing means (16), and that tone volume level control means (SW9) for controlling a tone volume level of the ambient sound generated based on the waveform data and the ambient sound pattern, and designation means (SW9, SW10) for designating a change mode of the tone volume level of said tone volume level control means (SW9) are provided.
  8. An apparatus according to claim 7, characterized in that when said designation means (SW9, SW10) is designated, the ambient sound begins to be generated while the tone volume level is increased at a change rate lower than the normal rate.
  9. An apparatus according to claim 7 or 8, characterized in that when said designation means (SW9, SW10) is designated, generation of the ambient sound is stopped while the tone volume level is decreased at a change rate lower than the normal rate.
  10. An apparatus according to claim 7, characterized in that when said designation means (SW9, SW10) is designated, the ambient sound begins to be generated while the tone volume level is increased at a change rate lower than a normal rate, and after the tone volume level is maintained at a constant level, generation of the ambient sound is stopped while the tone volume level is decreased at a change rate lower than a normal rate.
  11. An apparatus according to claim 7, characterized in that said pattern generation means (11, 13) regenerates the first ambient sound pattern from the beginning when the pattern end of the first ambient sound pattern is generated.
  12. An apparatus according to claim 1, characterized by comprising:
       envelope waveform generating means (16) for generating an envelope waveform for controlling a tone volume level of an ambient sound generated based on waveform data from said waveform storing means (16) and the ambient sound; and
       designation means (11) for designating the envelope waveform of said envelope waveform generating means (16).
  13. An apparatus according to claim 12, characterized in that said envelope waveform generating means (16) comprises means for generating a plurality of envelope waveforms data having different attack times.
  14. An apparatus according to claim 12, characterized in that said envelope waveform generating means (16) comprises means for generating a plurality of envelope waveforms data having different release times.
  15. An apparatus according to claim 1, characterized by comrising:
       a plurality of tone generation channels (15a, 15b) to each of which waveform data from said waveform storing means (16) is assigned,
       envelope waveform generating means (16) for generating an envelope waveform so as to independently provide envelope waveforms to the waveform data in units of said plurality of tone generation channels; and
       tone generation control means (12) for generating an ambient sound in which the envelope waveforms are independently provided to the waveform data in units of said plurality of tone generation channels (15a, 15b).
  16. An apparatus according to anyone of claims 1 to 15, characterized in that the ambient sound is an attenuating ambient sound.
  17. An apparatus according to anyone of claims 1 through 15, characterized in that the ambient sound is a non-attenuation ambient sound.
EP88121738A 1987-12-28 1988-12-27 Effect tone generating apparatus Expired - Lifetime EP0322871B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP335212/87 1987-12-28
JP62335212A JP2642369B2 (en) 1987-12-28 1987-12-28 Volume control device

Publications (3)

Publication Number Publication Date
EP0322871A2 EP0322871A2 (en) 1989-07-05
EP0322871A3 EP0322871A3 (en) 1990-12-05
EP0322871B1 true EP0322871B1 (en) 1995-05-10

Family

ID=18286019

Family Applications (1)

Application Number Title Priority Date Filing Date
EP88121738A Expired - Lifetime EP0322871B1 (en) 1987-12-28 1988-12-27 Effect tone generating apparatus

Country Status (3)

Country Link
EP (1) EP0322871B1 (en)
JP (1) JP2642369B2 (en)
DE (1) DE3853769T2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1841495B (en) * 2005-03-31 2011-03-09 雅马哈株式会社 Electronic musical instrument
CN107871490A (en) * 2016-09-27 2018-04-03 卡西欧计算机株式会社 Effect imparting apparatus, effect adding method, recording medium and electronic musical instrument

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03186898A (en) * 1989-12-15 1991-08-14 Miotsugu Tsumura Effective sound output device for 'karaoke' device
JPH0566773A (en) * 1991-09-06 1993-03-19 Kawai Musical Instr Mfg Co Ltd Electronic musical instrument
DE69522495T2 (en) * 1994-05-10 2002-04-25 Matsushita Electric Ind Co Ltd Naturlicherschallwiedergabegerät
US5754094A (en) * 1994-11-14 1998-05-19 Frushour; Robert H. Sound generating apparatus

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3688627A (en) * 1970-05-25 1972-09-05 Richard H Peterson Electrically operated rhythm instrument
US4089245A (en) * 1976-10-12 1978-05-16 Kimball International, Inc. Break generator
JPS5943758B2 (en) * 1976-12-29 1984-10-24 ヤマハ株式会社 Assigner for electronic musical instruments
JPS5625797A (en) * 1979-08-09 1981-03-12 Nippon Hamondo Kk Automatic rhythm playing device
JPS57100798U (en) * 1980-12-11 1982-06-21
JPS58162992A (en) * 1982-03-20 1983-09-27 ヤマハ株式会社 Electronic musical instrument
JPS593484A (en) * 1982-06-29 1984-01-10 ヤマハ株式会社 Automatic rhythm performer
JPS59166291U (en) * 1983-04-23 1984-11-07 ヤマハ株式会社 automatic rhythm generator
JPS60111280A (en) * 1983-11-22 1985-06-17 カシオ計算機株式会社 Rhythm learning apparatus
JPS61156294A (en) * 1984-12-28 1986-07-15 株式会社東芝 Fader unit for electronic musical instrument
JPS62139593A (en) * 1985-12-13 1987-06-23 カシオ計算機株式会社 Effect sound generator
JPH0746277B2 (en) * 1985-12-31 1995-05-17 カシオ計算機株式会社 Musical sound generator

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Manual for the YAMAHA RX5 Digital Rhythm Composer, YAMAHA, OMD-208M 87 01 5.0 IJ *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1841495B (en) * 2005-03-31 2011-03-09 雅马哈株式会社 Electronic musical instrument
CN107871490A (en) * 2016-09-27 2018-04-03 卡西欧计算机株式会社 Effect imparting apparatus, effect adding method, recording medium and electronic musical instrument
CN107871490B (en) * 2016-09-27 2021-08-10 卡西欧计算机株式会社 Effect applying device, effect applying method, recording medium, and electronic musical instrument

Also Published As

Publication number Publication date
DE3853769D1 (en) 1995-06-14
EP0322871A3 (en) 1990-12-05
JP2642369B2 (en) 1997-08-20
DE3853769T2 (en) 1996-02-15
EP0322871A2 (en) 1989-07-05
JPH01177093A (en) 1989-07-13

Similar Documents

Publication Publication Date Title
US4966051A (en) Effect tone generating apparatus
CA2345316C (en) Automatic music generation procedure and system
JPH1055191A (en) 'karaoke' device
JPS60162297A (en) Dynamic reproduction method and apparatus for transient and stationary voice in electronic musical instrument
US4030397A (en) Electrically amplified musical instrument control apparatus
EP0322871B1 (en) Effect tone generating apparatus
US6111182A (en) System for reproducing external and pre-stored waveform data
JPH0115074B2 (en)
KR100278825B1 (en) Musical entertainment system
JP2545054Y2 (en) Volume control device
JP2021135335A (en) Automatic composition system and automatic composition method
JP3312939B2 (en) Electronic musical instrument
JP3334165B2 (en) Music synthesizer
JP3428410B2 (en) Karaoke equipment
JP2642369C (en)
JP3660125B2 (en) Electronic musical instrument sound image localization control device
JP2842232B2 (en) Electronic musical instrument
JP3316866B2 (en) Music processing unit
JPH10312190A (en) Automatic arpeggio performance device
JP2888712B2 (en) Music generator
JP3931460B2 (en) Sound generator
JP2000010572A (en) Singing voice generator and karaoke sing-along machine
JP2770353B2 (en) Electronic musical instrument
JP3924909B2 (en) Electronic performance device
JP3941129B2 (en) Karaoke equipment

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): DE FR GB IT

PUAL Search report despatched

Free format text: ORIGINAL CODE: 0009013

AK Designated contracting states

Kind code of ref document: A3

Designated state(s): DE FR GB IT

17P Request for examination filed

Effective date: 19901228

17Q First examination report despatched

Effective date: 19920814

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): DE FR GB IT

REF Corresponds to:

Ref document number: 3853769

Country of ref document: DE

Date of ref document: 19950614

ITF It: translation for a ep patent filed

Owner name: BUGNION S.P.A.

ET Fr: translation filed
PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed
REG Reference to a national code

Ref country code: GB

Ref legal event code: IF02

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 20071227

Year of fee payment: 20

Ref country code: FR

Payment date: 20071210

Year of fee payment: 20

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: IT

Payment date: 20071228

Year of fee payment: 20

Ref country code: DE

Payment date: 20071220

Year of fee payment: 20

REG Reference to a national code

Ref country code: GB

Ref legal event code: PE20

Expiry date: 20081226

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Free format text: LAPSE BECAUSE OF EXPIRATION OF PROTECTION

Effective date: 20081226