EP0493374A2 - Elektronisches Musikinstrument, wobei Musiktöne von aus einer Eingangswellenform gezogenen Tonhöhen erzeugt werden - Google Patents
Elektronisches Musikinstrument, wobei Musiktöne von aus einer Eingangswellenform gezogenen Tonhöhen erzeugt werden Download PDFInfo
- Publication number
- EP0493374A2 EP0493374A2 EP92105224A EP92105224A EP0493374A2 EP 0493374 A2 EP0493374 A2 EP 0493374A2 EP 92105224 A EP92105224 A EP 92105224A EP 92105224 A EP92105224 A EP 92105224A EP 0493374 A2 EP0493374 A2 EP 0493374A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- cpu
- zero
- register
- waveform
- peak
- 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.)
- Granted
Links
- 239000011295 pitch Substances 0.000 title description 193
- 238000012545 processing Methods 0.000 description 296
- 238000001514 detection method Methods 0.000 description 67
- 230000008859 change Effects 0.000 description 50
- 238000000605 extraction Methods 0.000 description 49
- 238000005259 measurement Methods 0.000 description 34
- 230000004044 response Effects 0.000 description 27
- 238000004364 calculation method Methods 0.000 description 26
- 101100129496 Arabidopsis thaliana CYP711A1 gene Proteins 0.000 description 23
- 101100083446 Danio rerio plekhh1 gene Proteins 0.000 description 23
- UDMBCSSLTHHNCD-KQYNXXCUSA-N adenosine 5'-monophosphate Chemical compound C1=NC=2C(N)=NC=NC=2N1[C@@H]1O[C@H](COP(O)(O)=O)[C@@H](O)[C@H]1O UDMBCSSLTHHNCD-KQYNXXCUSA-N 0.000 description 20
- 238000012546 transfer Methods 0.000 description 14
- 230000004048 modification Effects 0.000 description 11
- 238000012986 modification Methods 0.000 description 11
- 230000005236 sound signal Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 230000000694 effects Effects 0.000 description 9
- 101100129499 Arabidopsis thaliana MAX2 gene Proteins 0.000 description 8
- 238000000034 method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 239000000284 extract Substances 0.000 description 5
- 238000005311 autocorrelation function Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 239000003990 capacitor Substances 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000003321 amplification Effects 0.000 description 2
- 238000013016 damping Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 230000000087 stabilizing effect Effects 0.000 description 2
- 108090000201 Carboxypeptidase B2 Proteins 0.000 description 1
- 101100026210 Drosophila melanogaster Clbn gene Proteins 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H3/00—Instruments in which the tones are generated by electromechanical means
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2210/00—Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
- G10H2210/031—Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
- G10H2210/066—Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal for pitch analysis as part of wider processing for musical purposes, e.g. transcription, musical performance evaluation; Pitch recognition, e.g. in polyphonic sounds; Estimation or use of missing fundamental
Definitions
- the present invention relates to an electronic musical instrument of the type in which a musical tone is generated on the basis of a pitch extracted from an input waveform signal, and more particularly to an electronic string instrument such as an electronic guitar or a guitar synthesizer.
- Typical pitch extraction systems are a zero-cross point detection system and a peak detection system.
- the zero-cross point detection system detects the time intervals between zero-cross points in the input waveform, and uses them as periods of the artificial sound.
- the input waveform frequently contains harmonics which should have been removed by filters such as low-pass filters.
- the detection system does not operate well for such input waveforms. If it is applied, the detected pitches contain many errors. To prevent the errors, complicated software processings, for example, to check the duty of the input waveform, are required. It is technically difficult to realize this.
- the peak-detection system detects maximum and minimum peak points of the input waveform signal, and sets and resets the flip-flop at the peak points, to generate a period signal, e.g., a rectangular wave signal.
- the peak detection system is disclosed in KOKOKU Nos. 57-37074 (corresponding to USP No. 4,117,757) and 57-58672, and KOKAI Nos. 55-55398, 55-152597 (Utility Model), and 61-26090.
- the peak detection system determines the period of the artificial sound waveform by the time interval between the adjacent maximum peaks, for example. This feature causes reduction of the reliability of the detected pitches, and a slow response to frequency change of the input natural sound waveform.
- Use of the R-S flip-flop makes the instrument circuitry inflexible in generic use and makes it difficult to construct so-called intelligent musical instruments having data processing functions.
- KOKAI 55-87196 measures the period of the input natural sound waveform, and then converts the measured value into a frequency number, which in turn is sent to the sound source. Any novel technical proposal for the period measurement is not found in this KOKAI 55-87196 specification.
- KOKAI 55-159495 and KOKOKU 61-51793 disclose a frequency stabilizing technique in which when the adjacent extracted periods are substantially the same, the sounding of the musical instrument starts. A sounding command is not sent to the sound source until at least two periods elapse. In this respect, these patent applications involve the response performance problem. To obtain a quick response, the sounding should start as soon as possible.
- Utility Model KOKOKU No. 62-20871 discloses another frequency stabilizing technique.
- a vibration of one string affects the vibration of another string. Extremely, the latter vibrates resonating at the vibration frequency of the former.
- the proposal needs a high cost because the mechanical parts are used, and can imperfectly remove the resonance.
- an object of the present invention is to provide an electronic musical instrument of the type in which musical tones are generated on the basis of pitches extracted from the waveform of an input signal, the musical instrument being improved in the pitch extraction accuracy, and which quickly and reliably sends commands depending on the picking of the strings, the tremolo play and the like to the sound source circuit.
- an electronic musical instrument of the type in which musical tones are generated on the basis of pitches extracted from an input signal waveform comprising:
- output means for outputting the pitch data to determine high pitches through an appropriate processing on the basis of the time duration measured by the time measuring means.
- an electronic musical instrument of the type in which musical tones are generated by extracting pitches from an input signal waveform comprising:
- the first embodiment of the present invention provides the improvements of electronic musical instruments of the type in which the period of an input signal waveform is obtained from the maximum peak point MAX, i.e., the positive peak point, and the minimum peak point, i.e., the negative peak point.
- the positive and negative peak points are referred to as maximum and minimum peak points in the present specification and drawings, respectively.
- Fig. 1 An overall circuit arrangement of a musical instrument according to the present invention is illustrated in Fig. 1.
- the present invention is embodied in an electronic guitar. Vibrations of six strings of the electronic guitar are picked up by pickups (not shown). The pickups convert the mechanical vibrations of the strings into electrical signals. These signals as musical tone signals are input to six input terminals 1. These input signals are amplified by amplifiers 2, and applied to low-pass filters 3. These filters respectively remove the high frequency components of these signals to extract the fundamental waveform of these input signals. Each of the input signal of the fundamental waveform is applied to maximum peak detector (MAX) 4 and minimum peak detector (MIN) 5.
- Low-pass filter 3 is designed so that, as shown in Fig.
- the cut-off frequency is set at 4f, four times the frequency f of the vibration of the open string of each string, viz., when each string is picked without the fret operation. Such selection of the cutoff frequency is due to the fact that the guitar has generally frets of about two octaves.
- Each of the maximum peak detectors 4 detects the maximum peak points of the input signal.
- the pulse signals representing the peak detections are used as interrupt command signals INTa1 to INTa6, and transferred to CPU 6.
- Minimum peak detectors 5 detect each the minimum peak point of the input signal.
- the pulse signals representative of peak detections are transferred to CPU 6 in the form of interrupt command signals INTb1 to INTb6.
- CPU 6 When CPU 6 receives the interrupt command signals INTa1 to INTa6 representing the maximum peak points detections appearing immediately after the interrupt command signals INTb1 to INTb6 representing the minimum peak points detections, CPU 6 calculates a count difference between the present maximum peak points and those previously obtained in a similar way. When CPU 6 receives the interrupt command signals INTb1 to INTb6 appearing immediately after the interrupt command signals INTa1 to INTa6, CPU 6 similarly obtains a count difference between the minimum peak points and those previously obtained in a similar way. Every time both the command signals INT are applied to counter 7, the counts of counter 7 are stored into in-maximum memory 14 and in-minimum memory 15, respectively.
- the time count data representative of the difference of the counts as counted by counter 7 is transferred by CPU 6, directly or after it is converted into a pitch code, to frequency ROM 8.
- the frequency data representing a frequency whose period is defined by this count data is read out, and transferred to sound source circuit 9.
- Sound source circuit 9 forms a musical tone signal based on the frequency data. Receiving this signal, sound system 10 sounds the musical tone.
- the sound source circuit 9 may be set inside or outside the guitar main frame.
- the A/D converter 11 converts these signals into digital data based on the waveform levels.
- the digital data is applied to CPU 6.
- CPU 6 sends the data as obtained from the count of counter 7, to frequency ROM 8, to start the sounding.
- CPU 6 terminates the sending of the data to frequency ROM 8, to stop the sounding.
- the waveform level data is also applied to sound source circuit 9 to control the musical tone sounding level. This indicates that the volume is controllable according to the touch force to the string.
- Staggered channel timing signals t1 to t6 are applied to the transfer gates T, so that the sounding levels of the six musical tone signals for the six strings of the guitar are performed in a time-sharing manner.
- six channel musical tone generating systems are formed in sound source circuit 9, in a time-sharing manner.
- a circuit configuration of maximum peak detector 4 is illustrated in Fig. 2.
- the musical tone signal is derived from low-pass filter 3, and input to the + terminal of operational amplifier 12.
- the output terminal of operational amplifier 12 is coupled with the anode of diode D1.
- the cathode of diode D1 is grounded through parallel arranged capacitor C and resistor R1.
- the cathode of diode D1 is also coupled with the - terminal of operational amplifier 12.
- the output signal of operational amplifier 12 is output through resistor R2 and operational amplifier 13, as interrupt command signals INTa1 to INTa6, which are representative of maximum peak detections.
- FIG. 3 A specific configuration of minimum peak detector 5 is shown in Fig. 3.
- the circuit configuration of this circuit 5 is substantially the same as that of the maximum peak detector 4 as mentioned above, except for the connection of diode D2 being opposite. Accordingly, capacitor C repeats the charge/discharge in the opposite directions as shown in Fig. 4d. Finally, the interrupt command signal INTb as shown in Fig. 4e is obtained.
- CPU 6 Upon power on, CPU 6 starts a main routine as illustrated in Fig. 6.
- CPU 6 initializes the related circuits in the electronic musical instrument of the embodiment.
- it fetches the value of A/D converter 11.
- CPU 6 continues the note off processing unless the signal from the converter 11 exceeds a predetermined level. See step A3 and A4. If a player picks the guitar string, a musical tone signal at a level larger than the predetermined level as shown in Fig. 9 is input to A/D converter 11 (step A3), CPU 6 advances to step A5 where it executes the frequency control processing.
- the frequency control processing is a musical tone sounding processing in which the data from counter 7 is directly applied to frequency ROM 8 or the pitch code as indicated by the fret number extracted on the basis of that data is applied to frequency ROM 8. So long as the musical tone level is above the predetermined level, CPU 6 continues this sounding processing (steps A2, A3 and A5).
- the count data of counter 7 is set through the interrupt processing as given later.
- step B2 the CPU checks whether or not the waveform having the detected maximum peak point is the first wave. Since it is now immediately after the tone waveform rises, that waveform is the first wave. The CPU advances to step B5 to set flag "1", and further to set in in-maximum memory 14 the count of counter 7 as fetched in step B1. "1 " of flag indicates that the maximum peak point has been detected. The cleared flag "0" indicates that the minimum peak point has been detected.
- step B2 the waveform level reaches the second maximum peak point denoted as MAX2 in Fig. 9.
- maximum peak point detector 4 applies interrupt command signal INTa indicating the maximum peak detection to CPU 6.
- CPU 6 fetches the count of counter 7, and checks if the present waveform is the first wave (step B2). Since the present wave is not the first one, the CPU advances to step B3, and checks if the flag is "0". Since the flag is "1 " at the first maximum peak point MAX1, the CPU terminates the present processing, without executing the period computing processing for obtaining the frequency data.
- the frequency data is not mistakenly obtained, whose one period is the difference between the count data at the maximum peak points MAX1 and MAX2, and the time count at the maximum peak point MAX1 is left stored in in-maximum memory 14.
- minimum peak detector 5 produces interrupt command signal INTb representing the minimum peak point detection, and applies it to CPU 6.
- CPU 6 starts the interrupt processing shown in Fig. 8.
- step C1 CPU 6 fetches the count of counter 7, and check if the waveform at the minimum peak point is the first wave (step C2). In this instance, the waveform is the first waveform, and then CPU 6 proceeds to step C5.
- the flag is cleared to be "0", and sets in in-minimum memory 15 the count of counter 7, which has been fetched in step C1.
- step B2 The judging processes in step B2 is performed in the following way.
- the waveform level data derived from A/D converter 11 exceeds a predetermined level, the first wave flag "1 " is set.
- interrupt command signal INTb for minimum peak detection is then applied to the CPU, the first wave flag is cleared to "0".
- the CPU 6 checks whether or not the wave flag is set.
- maximum peak detector 4 applies interrupt signal INTa representing the maximum peak point detection to CPU 6.
- CPU 6 fetches the count of counter 7 in step B1, and confirms in step B2 that the waveform at the maximum peak point MAX1 is not the first wave, and checks if the flag is "0" in step B3. Since the flag is "0" at the minimum peak point MIN immediately before the maximum point MAX1, CPU 6 advances step B4, and in this step reads out the time count data from in-maximum memory 14, and subtracts it from the this-time count data as has been read out in step B1, and finally obtains the data of the subtraction result.
- step A5 CPU 6 applies the subtraction result data to frequency ROM 8, and controls the system of the musical instrument so that it produces a musical tone with the frequency whose period ranges from the maximum peak point MAX1 to the next maximum peak point MAX1.
- step B5 CPU 6 sets the flag to "1", and sets the this-time time count data into in-maximum memory 14 (step B5).
- step C5 and B3 CPU 6 checks the maximum peak point following the minimum peak point, and measures the time interval between the maximum peak points.
- step B4 the period calculation is progressively executed.
- the input signal waveform contains two maximum peak points MAX1 and MAX2 successively, only the time interval between two positive peak points MAX1 and MAX1 is used to determine the sounding frequency.
- the time interval between the successive maximum peak points MAX1 and MAX2 is never used for the same purpose.
- minimum peak detector 5 applies interrupt signal INTb representing the minimum peak point detection to CPU 6.
- CPU 6 fetches the count of counter 7 in step C1, and confirms in step C2 that the waveform at the minimum peak point MIN is not the first wave, and checks if the flag is "1 " in step C3. Since the flag is "1 " at the maximum peak point MAX1, CPU 6 advances step C4, and in this step reads out the time count data from in-minimum memory 15, and subtracts it from the this-time count data as has been read out in step C1, and finally obtains the data of the subtraction result.
- CPU 6 reads out from ROM 8 the frequency data to give a musical tone at the frequency whose period ranges between the previous and current minimum peak points MIN and MIN. Following step C4, CPU 6 clears the flag to "0", and sets this-time count data into in-minimum memory 15 (step C5).
- the corresponding frequency data is output from frequency ROM 8 in step A5.
- the frequency is changed two times (MAX1-MAX1 and MIN-MIN) during one period. This implies that the system of the musical instrument can quickly respond to the frequency variation of the input signal.
- the previous time count data is stored into the memory in step A5, and the this-time time count data and the previous one are averaged. If the previous time data is greater than the this-time data by, for example, 20% or more, the previous data is output.
- a second embodiment of the present invention will be described.
- a new pitch extraction system will be discussed in the second embodiment.
- the maximum and/or minimum peaks of the waveform of a musical tone i.e., an input signal
- the maximum and/or minimum peaks of the waveform of a musical tone i.e., an input signal
- zero-cross points immediately after the maximum or minimum peaks are detected.
- a time interval between the detected zero-cross points is obtained.
- the pitch of the input signal wave-form is obtained using the time interval.
- the time interval (t1) between the zero-cross points first appearing respectively after the maximum peaks are detected, or the time interval (t2) between the zero-cross points first appearing after the the minimum peaks are detected, is detected.
- the detected time interval or intervals are used for the pitch extraction.
- the pitch extraction is exact with a simple construction.
- Each maximum peak detectors 4 detects the maximum peak point of an input signal waveform.
- flip-flop (FF) 214 located at the post stage of each detector 4 outputs the Q output at high level.
- the output signal of FF 214 and the inverted output of inverter 230 coupled with zero-cross point detector 206 are applied to AND gate 224.
- the output signal from AND gate 224 is applied as interrupt signal INTan (where n is any of 1 to 6 figures) to CPU 200.
- each minimum peak detectors 5 detects the minimum peak point of an input signal waveform.
- flip-flop (FF) 215 located at the post stage of each detector 5 outputs the Q output at high level.
- the output signal of FF 215 and the inverted output of inverter 230 coupled with zero-cross point detector 206 are applied to AND gate 225.
- the output signal from AND gate 225 is applied as interrupt signal INTbn (where n is any of 1 to 6 figures) to CPU 200.
- interrupt signal INTan is applied to CPU 200.
- interrupt signal INTbn is applied to CPU 200.
- CPU 200 Immediately after receiving the interrupt signal INTan or INTbn, CPU 200 applies clear signal CLan (where n is any of 1 to 6) or CLbn to FF214 or 215. In turn, the corresponding FF is reset. Accordingly, until the next maximum or minimum peak point is detected, even if the waveform crosses the zero level any number of times, the corresponding FF remains reset, and therefore CPU 200 is never interrupted.
- CPU 200 When CPU 200 receives interrupt signal INTan for the zero-cross point encountered immediately after the maximum peak point is detected, CPU 200 computes a difference between the present count of counter 7 and that of counter 7 as the waveform previously crosses the zero level immediately after the maximum peak point. Similarly, when interrupt signal INTbn is generated, CPU 200 computes a difference between the present count of counter 7 and that of counter 7 as the waveform previously crosses the zero level immediately after the minimum peak point. Every time interrupt signals INTan and INTbn are generated, CPU 200 stores the counts of counter 7 into in-maximum memory 201 and in-minimum memory 202, respectively. The time count data as the count difference is transferred from CPU 200 to frequency ROM 8, directly or after it is converted into a key code. The frequency data with one period of the counter data is read out, and sent to sound source circuit 9, where a musical tone signal is generated. Sound system 10 receives this and starts the sounding of the musical tone.
- Fig. 12 illustrating a specific circuit arrangement of zero-cross point detector 206
- the musical tone signal derived from low-pass filter 3 is applied to the + terminal of operational amplifier 206-1.
- the - terminal of the operational amplifier is grounded.
- the output signal of operational amplifier 206-1 is output by way of resistor R5 and another operational amplifier 206-2.
- operational amplifier 206-2 For a positive input signal, operational amplifier 206-2 outputs a logical high signal.
- amplifier 206-2 outputs a logical low signal. This indicates that every time the waveform of the signal signal, i.e., musical tone, crosses the zero level, the logical level at the output of the operational amplifier 206-2 is inverted.
- a player picks one of strings of the guitar, and a musical tone with a waveform as shown in Fig. 13(a) is generated.
- the musical tone waveform varies and ascends to reach a maximum peak point MAX1.
- maximum peak detector 4 generate a signal as shown in Fig. 13(b).
- This signals renders the output of FF 214 high in logical level (Fig. 13(e)).
- the zero-cross point detection output of zero-cross point detector 206 is inverted (Fig. 13-(c)).
- AND gate 224 applies interrupt signal INTa to CPU 200. Upon receipt of this signal, CPU 200 starts the interrupt processing.
- the interrupt routine is the same as that of Fig. 7 illustrated in connection with the first embodiment, except for step B10. Hence, the interrupt routine will be described in brief.
- CPU 200 resets FF 214 in step B10, and reads in the count of counter 7, and checks if the present wave of the input signal waveform is the first wave in step B2. Since the musical tone waveform has been just risen and therefore the present waveform is the first wave, CPU 200 advances to step B5 and sets flag to "1", and sets the count of counter 7 as read out in step B1 into in-maximum memory 201.
- zero-cross point detector 6 produces the inverted output signal as shown in Fig. 13(c) every time the zero-cross points Zero 2 and Zero 3 are successively detected.
- minimum peak detector 5 When the minimum peak point MIN1 shown in Fig. 13(a) is reached, minimum peak detector 5 produces a peak detection signal, and sets FF 215 by the signal. At the next zero-cross point (Zero 4), the output signal of zero-cross point detector 206 is inverted, and AND gate 225 applies interrupt signal INTb to CPU 200. CPU 200 starts the interrupt processing shown in Fig. 15.
- This interrupt routine of Fig. 15 is also substantially the same as that of Fig. 8, except step C10.
- This routine will be described in brief.
- CPU 200 resets FF 215 in step C10, fetches the count of counter 7, and checks if the present wave of the waveform is the first wave in step C2. The wave containing the zero-cross point succeeding to the minimum peak point is the first wave. Then, CPU 200 advances to step C5 and clears the flag to "0", and stores the count of counter 7 as read out in step C10 into in-minimum memory 202.
- step B5 When the zero-cross point (Zero 5) succeeding to the maximum peak point MAX2 shown in Fig. 13(a) is reached, interrupt signal INTa for the detection of the zero-cross point following the maximum peak point is generated, and CPU 200 fetches the count of counter 7 in step B10. In step B2, if the CPU confirms that the present wave is not the first wave. Then, in step B3, the CPU checks if the flag is "0".
- step B4 Since the flag has been cleared to "0" at the zero-cross point (Zero 4) immediately after the previous minimum peak point MIN1, CPU 200 advances to step B4, and reads out the time count data, which has been saved into in-maximum memory 201 at the zero-cross point (Zero 1) immediately after the maximum peak point MAX1 one period before, and subtracts the time count data read out this time from that read out in step B1, to have the subtraction result data.
- step A5 of the main routine the resultant data is applied to frequency ROM 8, and the musical instrument is controlled so as to sound the musical tone at the frequency whose period ranges from the zero-cross point (Zero 1) to the zero-cross point (Zero 5). Succeeding to this processing, CPU 200 sets the flag "1", and sets the this-time time count data into in-maximum memory 201 (step B5).
- the time interval (t1) i.e., Zero 1 - Zero 5
- the time interval (t2) i.e., Zero 4 - Zero 8
- the frequency change is performed two times during one period in the same manner as in the first embodiment. Therefore, the musical instrument can quickly respond to the frequency change of the input signal.
- step B5 the flag has been set to "1 when these signals arrive (step B5), and therefore, the answer to step B3 is NO, and hence no period calculation is performed. In this way, the zero-cross points are successively detected after the maximum peaks are detected, these are ignored by the flag, removing the effects by the harmonics.
- step A5 the previous time count data is stored into the memory, and the this-time time count data and the previous one are averaged. If the previous time data is greater than that of this-time by, for example, 20% or more, the previous data is output.
- the period calculations based on the zero-cross point detection immediately after the maximum and minimum peak points detections may be selectively performed in a manner that the period calculation based on the zero-cross point immediately after the maximum peak point detection is executed for the waveform which rises at the start point and that based on the zero-cross point immediately after the minimum peak point detection is executed for the waveform which falls at the start point. Such arrangement provides a quick response at the start of the sounding.
- CPU 6 can execute an appropriate processing as the step A5 processing shown in Fig. 6.
- the selection of the appropriate processing can be made by modifying the program for CPU 6, and not requiring any modification of the hardware, i.e., the external circuit of CPU 6. Therefore, the musical instrument of this embodiment is excellent in flexibility of use, and can easily be designed so as to have so-called intelligent functions.
- the time intervals (t1) and (t2) respectively between the zero-cross points immediately after the maximum and minimum peak points are both obtained, but the musical instrument is operable with satisfactory performances, if one of them is used. If so done, the combination of maximum peak detector 4, FF 214, AND gate 224 and inverter 230 or the combination of maximum peak detector 5, FF 215, and AND gate 225 may be omitted, simplifying the circuit amplification of the musical instrument.
- the present invention is applied for the electronic guitar, it can be applied for any other systems of the type in which pitches are extracted from a sound signal or an electrical vibration as input from a microphone, for example, and an acoustic signal, which is different from the original signal, is generated at the pitches or note frequencies corresponding to those of the original signal.
- pitches are extracted from a sound signal or an electrical vibration as input from a microphone, for example, and an acoustic signal, which is different from the original signal, is generated at the pitches or note frequencies corresponding to those of the original signal.
- Specific examples of such are electronic pianos with key boards, electronic wind instruments, electronic string instruments such as electronic violins and koto (Japanese string instrument).
- the time interval (t1) between the zero-cross points immediately after the successive maximum peak points and the time interval (t2) immediately after the successive zero-cross points are detected.
- the time interval or intervals are appropriately processed for pitch extraction.
- the time intervals (t1) and (t2) respectively between the zero-cross points immediately after the maximum and minimum peak points are both obtained, but the musical instrument is operable with satisfactory performances, if one of them is used. If so done, the combination of maximum peak detector 4, FF 214, AND gate 224 and inverter 230 or the combination of maximum peak detector 5, FF 215, and AND gate 225 may be omitted, simplifying the circuit amplification of the musical instrument.
- a third embodiment of an electronic guitar according to the present invention will be described referring to Figs. 17 to 20.
- the second embodiment provides the improvements of the time, i.e., the response time, which is required from the inputting of an input signal waveform till the electronic guitar starts the sounding of the input musical tone, thereby to eliminate the unnatural feeling of sounded musical tones.
- the electronic guitar of the second embodiment detects the inputting of an input signal, and gives a command to first generate a musical tone at a predetermined pitch, extracts the pitch of the input signal waveform by a pitch extracting means, and gives a command to change the pitch of the musical tone to the pitch of the input signal waveform.
- the pitch of a musical tone generated from the open string i.e., when the string is picked without touching the fret.
- the pitch of a low pitched sound is preferably used for the reference pitch, or the predetermined pitch.
- a musical tone is generated at a predetermined pitch, and after the pitch extraction, the pitch of the musical tone is changed to the extracted pitch.
- the frequency of the first generated musical tone can be discriminated by human, he hears it with very unnatural feelings.
- the first generated musical tone must be selected to be within one wave length (one period). A low pitched sound should be first output.
- the arrangement of the third embodiment is substantially the same as that of the second embodiment illustrated in Figs. 10 and 11. Only the difference of the third embodiment from the second embodiment resides in the processings executed by CPU 200. Hence, the description will be given emphasizing on the operation of the guitar system.
- FIG. 17 A main routine executed by CPU 200 is shown in Fig. 17.
- the main routine is constructed on the basis of the idea substantially equal to that of the first embodiment (Fig. 6). Only the difference of it will be described with different symbols used.
- step A1 the system of the electronic guitar is initialized.
- CPU 200 fetches the contents of A/D converter 11 as the first string output signal.
- step A13 the CPU checks if the level of the input signal waveform exceeds a predetermined level. If it is below the predetermined level, the CPU executes the note-off processing in steps A14 and A15.
- the musical tones from the second to sixth strings are processed in similar ways (steps A22 to A25, A32 to A35, A42 to A45, A52 to A55, and A62 to A65).
- the illustration contains the processings of the musical tones from the first and sixth strings only.
- the first string is picked to generate a musical tone with a waveform as shown in Fig. 18(a).
- the musical tone is picked up and applied to A/D converter 11.
- CPU 200 Upon receipt of the output of the converter, CPU 200 jumps from step A13 to step A16.
- step A16 the rise flag of the first string is set to "1". In this case, the sounding is not done, and then the CPU executes steps A14 and A15, and enters the processings of the next string.
- interrupt signals INTan and INTbn (where n is any of 1 to 6) is first applied.
- the interrupt signal first applied to CPU 200 is the interrupt command INTan.
- interrupt signal INTbn is applied to CPU 200.
- the CPU issues a command to generate a musical tone based on the frequency of the open string. Subsequently, the CPU executes steps A13 (A23, A33, A43, A53, A63), A14 (A24, A34, A44, A54, A64) and A17 (A27, A37, A47, A57, A67) in this order. Then, the pitch is extracted, and step A17 controls the frequency on the basis of the extracted pitch.
- CPU 200 supplies a control signal to frequency ROM 8. So long as the input signal is above a predetermined level, a sequence of procedural steps A12 - " A13 - A14 ⁇ A17 (A22 ⁇ A23 - A24 - A27, A32 - A33 - A34 - A37, A42 - A43 - A44 - A47, A52 - A53 - A54 - A57, A62 - A63 - A64 - A67) is repeated. If it is below the predetermined level, CPU 200 executes the step A15 (A25, A35, A45, A55, A65) processing, and stops the sounding.
- step B301 This routine is similar to those of Figs. 7 and 13.
- CPU 200 resets FF 214 in step B301, reads in the count of counter 7, and in step B302 checks if the rise flag is 1. Since the waveform has just risen, and the present wave of the waveform is the first wave, the CPU advances to step B303 (see steps A16 (A26, A36, A46, A56, A66), and in this step executes the processing of starting the sounding at the note by the open string.
- step B304 the rise flag is cleared, and the CPU proceeds to step B305 where it sets the control flag to "1". Then, the CPU saves into in-maximum memory 201 the counter 7 count as read out in step 301.
- the control flag "1" indicates that the zero-cross point after the maximum peak point has been detected.
- the cleared flag indicates the detection of the minimum peak point. The function of this control flag will be discussed later.
- step C301 CPU 200 resets FF 215, and reads in the counter 7 count, and checks if the present wave first rises or falls. In other words, the CPU checks if the rise flag is "1 " in step C302.
- step B304 (Fig. 19)
- the rise flag has been cleared.
- the result of the check in step 302 is NO.
- step C306 the CPU checks if the control flag within it is "1". In step B305 in Fig. 19, the flag has been set to "1 ", and the answer "YES” is given. Then, the CPU advances to step C307.
- step C307 the CPU checks if the note now sounding is that by the open string at the start of sounding, as described above. As seen from Figs. 18(f) and 18(g), the sound at the note of the open string is output when the zero-cross point is detected, and then the answer "YES” is given, and the CPU goes to step C305. In this step C305, the control flag is set to "0", and saves the count of counter 7 into in-minimum memory 202.
- the judgement in step C307 can be attained by providing such a flag in CPU 200 that is turned on during the period of time from the generation of the musical tone of the open string to the arrival of the next interrupt signal INT, and is turned off in other periods of time.
- the arrival time of the next interrupt signal INT is more exactly the time when the next interrupt signal INTan (where n is any of "1 " to 6) arrives when the input waveform rises, and the time when the next interrupt signal INTbn (n is any of 1 to 6) arrives when the input waveform falls. In the example shown in Fig. 9, it is the timing of zero-cross point Zero 5.
- interrupt signal INTa for the detection of zero-cross point after the maximum peak point is applied to CPU 200 (Fig. 18(e), CPU 200 resets FF 214 in step B301, and reads in the count of counter 7, and checks if the present wave of the waveform is not the first wave in step B302. Further, the CPU checks if the control flag is "0" in step b306. This control flag has been set to "0" at zero-cross point Zero 4 after the previous minimum peak point MIN1 (step C305 in Fig. 19).
- step B307 and provides the answer "NO"
- step B308 reads out the time count data as set to in-maximum memory 201 at the zero-cross point Zero 1 immediate after the maximum peak point MAX1 before one period, and subtracts it from the this-time time count data as read out in step B301.
- step A17 or A27, A37, A47, A57, A67
- Fig. 17 which follows the Fig. 19 interrupt processing
- the subtraction result data is applied to frequency ROM 8.
- the electronic guitar sounds with the musical tone at the frequency whose one period (t1 in Fig. 18(e) ranges from the zero-cross point Zero 1 to the zero-cross point Zero 5.
- step B305 of the interrupt processing CPU 200 sets the control flag to "1", and saves the this-time time count data into in-maximum memory 201.
- steps C305 and B306 the zero-cross points respectively immediately after the maximum peak points are checked, and the time interval (t1) between the zero-cross points is measured, and in step B308 the period calculation is performed.
- the musical tone at the note of this string when it is in the open string, is generated at the generation of the first interrupt signal INTa for waveform rise or INTb for waveform fall.
- the next interrupt signal which is of the same type, two types of time intervals are obtained, and the frequency change is performed two times during one period.
- One of the two types of the intervals is the time interval (t1) between the zero-cross points, i.e., Zero 1 and Zero 5, immediately after the maximum peak values are detected.
- the other is the time interval (t2) between the zero-cross points, i.e., Zero 4 to Zero 8, generated immediately after the minimum peak values are detected. Therefore, the musical tone can quickly be output in response to the generation of the input signal.
- the pitch is extracted, the operation of the electronic guitar follows up a frequency change of the input signal by setting the sounding note based on the extracted pitch.
- step A17 the time count data previously stored and the this-time time count data are averaged and the averaged data is output.
- the previous data is greater than that of the this time data by, for example, 20% or more, the previous data is output.
- the period calculations based on the zero-cross point detection immediately after the maximum and minimum peak points detections may be selectively performed in a manner that the period calculation (i.e., only t1 is obtained) based on the zero-cross points immediately after the maximum peak points detection is executed for the waveform which rises at the start point, and that (i.e., only t2 is obtained) based on the zero-cross points immediately after the maximum peak points detection is executed for the waveform which falls at the start point.
- CPU 6 can execute an appropriate processing as the step A17 (A27, A37, A47, A57, A67) shown in Fig. 17.
- the selection of the appropriate processing can be made by modifying the program for CPU 6, and not requiring any modification of the hardware, i.e., the external circuit of CPU 6. Therefore, the musical instrument of this embodiment is excellent in flexibility of use, and can easily be designed so as to have intelligent functions.
- the time intervals (t1) and (t2) respectively between the zero-cross points immediately after the maximum and minimum peak points are both obtained, but musical instrument is operable with satisfactory performances, if one of them is used. If so done, the combination of maximum peak detector 4, FF 214, AND gate 224 and inverter 230 or the combination of maximum peak detector 5, FF 215, and AND gate 225 may be omitted, simplifying the Circuit arrangement of the musical instrument, i.e., electronic guitar.
- CPU 200 controls the system of the electronic guitar, so that the actual sounding of the musical tone is started in step B303 in Fig. 19 or step C303 in Fig. 20.
- the sounding may be started in a sequence of the processings in Fig. 17 as the main flow, after the interrupt processing is completed.
- the period calculation is performed in the step B308 in Fig. 19, and in the step C308 in Fig. 20.
- the control of the musical tone frequency change which is based on the period calculation, is executed in step A17 (A27, A37, A47, A57, A67). If necessary, this processing can be made during each interrupt processing.
- the frequency change is made until the first one wave of the note sound of the open string is completed, as shown in Fig. 18(g). Therefore, the actual tone frequency can be obtained before the player feels the periodicity (i.e., the frequency or pitch) of the output sound at the early stage of sounding.
- the sounding start is possible at early timing, and the player hear the sound with natural feeling of sound at the time of sounding start.
- CPU 200 detects the string vibration before the maximum peak value MAX1 in Fig. 18(a), that is, CPU 200 detects that A/D converter 11 outputs a signal at an amplitude larger than a predetermined level
- the CPU applies a sounding start command of the open string note to frequency ROM 8 and sound source circuit 9 in the processing to set the rise flag to "1 (steps A13 and A16, A23 and A26, A33 and A36, A43 and A46, A53 and A56, A63 and A66).
- the present invention is applied for the electronic guitar, it can be applied for any other systems of the type in which pitches are extracted from a sound signal or an electrical vibration as input from a microphone, for example, and an acoustic signal, which is different from the original signal, is generated at the pitches or note frequencies corresponding to those of the original signal.
- pitches are extracted from a sound signal or an electrical vibration as input from a microphone, for example, and an acoustic signal, which is different from the original signal, is generated at the pitches or note frequencies corresponding to those of the original signal.
- Specific examples of such are electronic pianos with key boards, electronic wind instruments, electronic string instruments such as electronic violins and koto (Japanese string instrument).
- the musical tone is generated at a predetermined pitch by using any of such various types of musical instruments, and after the pitch extraction, the musical tone is changed to have the pitch, if a player hear the musical tone and can distinguish the frequencies one from the other, he feels something unnatural.
- the musical sound first output must be in length within one wave length (period), and it is desired that the musical tone at low pitch is first output.
- any suitable measure may be employed for the pitch extraction.
- either of the two time intervals (t1) and (t2) is used for the pitch extraction.
- the time interval (t1) is between the zero-cross points first appearing after the maximum peak values of the input waveform.
- the time interval (t2) is between the zero-cross points first appearing after the minimum peak values of the input waveform.
- Another possible pitch extraction is to compare the time interval (T1) between two adjacent maximum peak values of the input waveform with the time interval (T2) between two adjacent minimum peak points.
- a further possible pitch extraction is to use the time interval between the two adjacent zero-cross points.
- An additional pitch extraction is to use the auto-correlation function or other suitable function of the period calculation.
- a musical tone is first generated at a predetermined pitch. After this, the pitch of the musical tone is extracted, the frequency of the musical tone is changed to the extracted pitch, and then the musical tone is sounded. Therefore, the response time of the electronic guitar, which ranges from the inputting of an input signal of musical tone till it is sounded, can be reduced. Electronic guitars, which are free from any unnatural sound feeling, can be provided.
- the electronic guitar of this embodiment is improved in that the time from the inputting of an input signal waveform till the generation of an actual acoustic sound is shortened to have a good response for eliminating unnatural feelings of sounded musical tones.
- the fourth embodiment is based on the fact that three items of distinctive period information exist between two periods of the input signal waveform. Within the time interval of less than two periods of the input signal waveform, two periods of the waveform are detected. If the detected two periods are almost equal to each other a controller issues a command to start the sounding.
- the two periods are detected by detecting the time interval t1 between the zero-cross points each first appearing after the maximum peak of the input signal waveform is detected, and by detecting the time interval t2 between the zero-cross points first appearing after the minimum peak point of the input signal waveform is detected.
- the two periods are detected by detecting the time interval T1 between the maximum peak points of the input signal waveform and by detecting the time interval T2 between the minimum peak points of the same waveform.
- the above technical features reduces the time from the arrival of the input signal to the generation of artificial acoustic wave, providing attractive performance by the guitar.
- the fourth embodiment is configured like the second embodiment.
- Like or equivalent portions are designated by like reference numerals in Figs. 10 and 11, for simplicity.
- A/D converter 411 is contained in each pitch extraction circuit P1 to P6.
- the output signal of FFs 214 and 215 are applied as read-in signals to latch 412, via OR gate 413.
- latch 412 fetches the digital output of A/D converter 411. With such an arrangement, each latch 412 latches the maximum or minimum peak point of the input signal waveform, so that CPU 400 can readily fetch these peak values.
- each OR gate 413 is applied as each signal L1 to L6 to CPU 400.
- Fig. 21 shows a main routine executed by CPU 400.
- This routine is similar to those of early mentioned embodiments.
- the main routine illustrated is for processing the musical tone generated by one string of the guitar. This processing is correspondingly applied for other five strings.
- CPU 400 executes these routines in a time divisional manner.
- CPU 400 first executes step A401 to initialize the system of the electronic guitar. Following this, CPU 400 reads on the contents of A/D converter 411 in step A402. The CPU continues the tone-off processing of musical tone until the output level of A/D converter 41 reaches a predetermined level (steps A403, 404, and 405). If the guitar string is picked, and the musical tone signal above the predetermined level as shown in Fig.
- step A403 the CPU advances to step A405.
- step A405 the CPU checks whether or not the already extracted time intervals t1 and t2 are equal. Since both the intervals are not yet detected, however, the answer in step A406 is NO, and the CPU returns to the original flow.
- the CPU advances to step A407 and starts the sounding of the musical tone at the pitch as determined by the time interval t1 (nearly equals t2). Subsequently, the CPU goes through the route of A403 - A404 - A408.
- step A408 the CPU executes the frequency control processing, i.e., the sounding processing to apply the data for designating the musical tone to frequency ROM 8. This sounding processing is continued so long as the musical tone signal level is above the predetermined level (steps A402 - A403 - A404 - A408).
- step A405 is executed and the sounding starts.
- interrupt signal INTbn When at the zero-cross point Zero 4 in Fig. 23-(a), interrupt signal INTbn is applied to CPU 400, the CPU execute the Fig. 25 processing.
- the Fig. 25 interrupt processing is substantially the same as that of the Fig. 15 processing of the second embodiment.
- CPU 400 first obtains the period data t1 through the interrupt processing at the zero-cross point Zero 5, and obtains the period data t2 by the interrupt processing at the zero-cross point Zero 8.
- step A406 the CPU executes steps A403 and A406 in Fig. 22, successively. If the time data t1 and t2 are approximately equal, and the difference between them is within a tolerable range, the answer in step A406 is YES, and in step A407 the CPU causes the sound source circuit to start the sounding of musical tone at the frequency as defined by the time data t1 or t2 (see Fig. 23 (f)).
- step A406 If the answer to the step A406 is NO, that is, when interval t1 between zero-cross points Zero 1 and Zero 5 is not equal to the interval t2 between zero-cross points Zero 4 and Zero 8, no sounding starts and the CPU waits for the next interrupt processing. Then, the CPU checks if the time interval t2 between the points Zero 4 and Zero 8 is equal to the next time interval t1 ranging from zero-cross points Zero 5 to Zero 9 (Fig. 23(a)). This is made in step A406. If the check result is YES, the CPU advances to step A407 where it directs the start of sounding.
- the CPU measures the time interval t1 between the zero-cross points immediately after the maximum peak point detection, and the time interval t2 immediately after the minimum peak point detection.
- the CPU executes the frequency change processings two times for one period, if necessary. Therefore, the guitar can respond to the frequency change of the input signal quickly.
- the waveform input is that of the type in which the waveform first rises, viz., the amplitude of the waveform increases from zero level to positive.
- the same operation can be obtained when the waveform first falling, or going from zero level to negative is input.
- Fig. 26 Such an example is shown in Fig. 26.
- zero-cross point detector 206 When the waveform as shown in Fig. 26(a) comes in, zero-cross point detector 206 outputs a signal with a waveform as shown in Fig. 26(b). As a result, interrupt signal INTb is applied to CPU 400.
- the Fig. 25 routine starts.
- Count 7 starts the counting of the time interval t2 (see zero-cross point Zero 21 in Fig. 26(a) then interrupt signal INTa is generated at the zero-cross point Zero 22 in the same figure.
- the CPU starts the processing of the Fig. 24 flow chart.
- the next zero-cross point Zero 23 the first period calculation is completed to obtain interval t2.
- time t1 is obtained (see Fig. 26(c)).
- Step A406 is used for checking the intervals t2 and t1 fall within a time length within a tolerance (Fig. 26(c)). If the answer to this step is YES, the CPU advances to step A407 and give the command to generate a musical tone with the period of that time length to frequency ROM 8 and sound source circuit 9 (Fig. 26(d)).
- step A406 If the answer to step A406 is NO the CPU checks if the previous time interval t1 (between Zero 22 and Zero 24) is equal to the next interval t2 (ranging from zero-cross points Zero 22 to Zero 24), after about half period. If these intervals are approximately equal, the CPU executes the sounding start processing.
- the sounding can be started during the period of time less than two periods (for a sine wave, it is 1.5 period).
- step A408 in Fig. 22 after sounding is started, the time count data previously stored and the this-time time count data are averaged and the averaged data is output. Alternatively, when the difference between the previous data and the this time data is great, for example, 20% or more, the previous data is output.
- the period calculations based on the zero-cross point detection immediately after the maximum and minimum peak points detections may be selectively performed in a manner that the period calculation based on the zero-cross points immediately after the maximum peak points detection is executed for the waveform which rises at the start point, and that based on the zero-cross points immediately after the maximum peak points detection is executed for the waveform which falls at the start point.
- the CPU may select an appropriate processing in the step A405 in Fig. 22. It is noted that this selection can be made by some modification of the software, and not modifying the external circuit of the CPU. Therefore, the musical instrument of this invention can be flexibly used.
- the period of the waveform is calculated in step B4 in Fig. 24 and in step C4 in Fig. 25.
- the sounding control based on the calculated period and the musical tone frequency are performed in the step A407 or A408 in the main flow of Fig. 22. These processings may be performed in the interrupt processing (Figs. 24 and 25), if necessary. If so done, the response to the input signal is more quickened.
- FIG. 27 An overall circuit configuration of the fourth embodiment is shown in Fig. 27.
- the time intervals T1 and T2 respectively between the maximum and minimum peak points are detected.
- the sounding control is made on the basis of the detected time intervals.
- each pitch extraction circuit P11 to P16 receives the musical tone signal from the corresponding input terminal 1.
- Each low-pass filters 3 cuts off the high frequency components of the output signal from the amplifier.
- the output signal of the filter is applied to maximum peak detector 4, minimum peak detector 5, and A/D converter 411.
- detectors 4 and 5 may be the same as those of the first embodiment.
- A/D converter 411 are applied to CPU 400. On the basis of these signals, the CPU appropriately processes the sounding start and frequency change.
- Fig. 28 shows a timing chart of related signals when the input signal waveform rises.
- maximum peak detector 4 has the output waveform as shown in Fig. 28(b).
- the waveform of the output signal of minimum peak detector 5 is as shown in Fig. 28(c).
- CPU 400 works out the time intervals T1 and T2 on the basis of the output signals from those detectors, as shown in Fig. 28(d). If the time intervals T1 and T2 each representing one period of the waveform are substantially equal to each other and the difference between them is within a tolerable range, a sounding start command as shown in Fig. 28(e) is applied to the sound source circuit.
- the time interval T1 is measured about half period later, and it is compared with the old time interval T1. If these are substantially equal, the sounding start processing is executed.
- any suitable measure may be employed for the pitch extraction.
- either of the two time intervals t1 and t2 is used for the pitch extraction.
- the time interval t1 is between the zero-cross points first appearing after the maximum peak values of the input waveform.
- the time interval t2 is between the zero-cross points first appearing after the minimum peak values of the input waveform.
- Another possible pitch extraction is, as described in the modification, to compare the time interval T1 between two adjacent maximum peak values of the input waveform with the time interval T2 between two adjacent minimum peak points.
- a further possible pitch extraction is to use the time interval between the two adjacent zero-cross points.
- An additional pitch extraction is to use the auto-correlation function or other suitable function of the period calculation.
- the fourth embodiment and its modification use three types of period data t1, t2, t3 or t2, t1, t2 and T1, T2, T1 or T1, T2, T1.
- the CPU directs the sound source circuit to start the sounding.
- the present invention is applied for the electronic guitar, it can be applied for any other systems of the type in which pitches are extracted from a sound signal or an electrical vibration as input from a microphone, for example, and an acoustic signal, which is different from the original signal, is generated at the pitches or note frequencies corresponding to those of the original signal.
- pitches are extracted from a sound signal or an electrical vibration as input from a microphone, for example, and an acoustic signal, which is different from the original signal, is generated at the pitches or note frequencies corresponding to those of the original signal.
- Specific examples of such are electronic pianos with key boards, electronic wind instruments, electronic string instruments such as electronic violins and koto (Japanese string instrument).
- the fifth embodiment is proposed with an intention to prevent an erroneous operation of the guitar due to the resonance between the vibrations of different strings when the sounding is started.
- this embodiment employs an electronic measure in place of the mechanical measure, which has employed by the conventional electronic guitar.
- a controller checks as to if the change of peak values of the input signal waveform is great or small when observed time sequentially. On the basis of the check result, further check is made as to if the peak value change is due to the resonance of string vibrations. If the result of this additional check shows that the peak value change is not related to the resonance of vibrations of different strings. The controller issues a command to start the sounding of the musical tone.
- FIG. 29 A main routine of CPU 400 is illustrated in Fig. 29.
- the illustration of Fig. 29 is for the processing of the musical tone generated by one string. The same processing is correspondingly applied for the other string musical tone.
- CPU 400 processes the musical tones by six strings in a time-divisional manner.
- CPU 400 initializes the system of the electronic guitar in step A501 in Fig. 29, and checks if the sounding is now performed or not in step A502. Before sounding, the CPU checks if the note-on flag is "1". If the flag is still "0", NO is given. Then, the CPU returns from step 503 to step 502. The CPU repeats the execution of steps 502 and 503.
- step 503 the CPU advances from step 503 to step 504.
- the CPU goes from step 504 to 505, and gives a sounding start signal to sound source circuit 9 and frequency ROM 8, resulting in sounding the musical tone.
- step A502 After sounding, the CPU advances from step A502 to step 506. If the output of A/D converter 411 is not below a predetermined value, the CPU goes from step A506 to A507. In this step, the CPU changes the frequency on the basis of the frequency data computed every time the interrupt processing is executed. Steps A502, A506 and A507 are successively executed. When the input level progressively goes low, the CPU goes from step A506 to A508, to execute the note-off processing.
- Fig. 30(a) shows the waveform of the output signal from low-pass fitter 3 when the normal string operation is done, viz., a string is picked. As shown the wave-form steeply rises (falls) as soon as the string is picked.
- Fig. 30(b) shows a waveform which gently rises due to the resonance of vibrations of strings.
- interrupt signal INTa is generated at the timing of (1) which in turn is transferred to CPU 400.
- CPU 400 executes the interrupt processing of Fig. 31.
- step B501 the CPU fetches the output of latch 412 in A/D converter 411.
- the output of latch 412 is the maximum peak value of an.
- step B502 the CPU clears FF 214, and executes the step B503 to fetch the count of counter.
- step B504 the CPU checks if note-on flag contained in CPU 400 is "1 ". Now this flag is "0". Then the CPU goes to step B505 to check if the peak value an exceeds the sound start level a (Fig. 30) as the reference. The answer to this step is YES and the CPU proceeds to step 506.
- step 506 the CPU checks if (an - an-1) > R is satisfied.
- an-1 is the previous peak value and "an” is this-time peak value.
- R is a factor at a predetermined positive value which provides a reference to check if the input waveform is due to the vibration resonance or the normal vibration.
- the peak value an-1 is initialized and "0". Then "an" is larger than "R". Under this condition, the CPU step B507 and to set the note-on flag to "1 and goes to step B508. In this step the CPU sets the peak value an as extracted this time, as the previously extracted peak value an-1 into the memory within the CPU, and returns to the main flow.
- the CPU detects the value of t1, i.e., the interval between the zero-cross points respecting following the maximum peak points of the waveform. This is obtained as the difference between the count of counter 7 and the value of in-maximum memory 201.
- step A505 CPU 400 issues a command to sound the musical tone at the frequency based on time interval t1.
- step C502 FF 215 is reset and in step C505, peak values an' and a are compared with each other. The an' designates a negative peak value.
- step C506 negative peak values an' are compared in step B508, the CPU saves the peak value an' as an'-1 into the memory.
- step C509 the CPU executes the period calculation t2, i.e., the calculation of the time interval between the zero-cross points respectively after the minimum peak values.
- the CPU judges that the waveform if that of the normal input signal, and starts the sounding of the musical tone at the corresponding note.
- interrupt signal INTa (or INTb) is applied to CPU 400. Then, the CPU executes the routine shown in Fig. 31 (or the interrupt routine equivalent to the Fig. 31 routine).
- step B505 gives the answer of NO at timing (1) of Fig. 9(b). Then step B508 is executed.
- step B506 follows step B505.
- the difference between peak values an-1 and a is not large, and is smaller than "R". Therefore, step B506 gives the answer of NO.
- the CPU decides that the input signal waveform is that of the string vibration resonance, and does not set the note-on flag to "1", viz., does not execute the sounding processing.
- the above-mentioned interrupt processing is correspondingly applied to the interrupt processing by the interrupt signal INTb, and the description of it is omitted.
- the CPU checks if the peak values of the input signal waveform changes greatly or small. Incidentally, when the waveform rises, the peak value increases, but when it falls, the peak value decreases (its absolute value increases). This check is executed in step B506 in Fig. 31. More specifically, the CPU checks if the difference between the peak values previously and this time extracted satisfies a predetermined condition. Therefore, the electronic circuit can completely check if the input signal waveform is due to the resonance of the different string vibrations or the real vibration by the string picking. This implies that there is no need for some mechanical measure for the resonance prevention.
- step B506' is used in place of step B506, and in this step, CPU 400 checks whether or not an/an-1 is larger than S (S is a large value above 1). If it is met, the CPU judges that the input waveform is the normal waveform. If it is not met, the CPU judges that it is the resonance waveform. In a further alternative, some arithmetic calculation may be used.
- step B505 is used for checking if "an" exceeds "a”. This step is not essential. In this case, the CPU jumps from step B504 to step B506, and in this step, the CPU checks whether or not the input waveform level exceeds a predetermined level by using the relation of (an - an-1) R.
- step A507 in Fig. 29 the time count data previously stored and the this-time time count data are averaged and the averaged data is output.
- the difference between the previous data and the this time data is great, for example, 20% or more, the previous data is output.
- the period calculations based on the zero-cross point detection immediately after the maximum and minimum peak points detections may be selectively performed in a manner that the period calculation (i.e., only t1 is obtained) based on the zero-cross points immediately after the maximum peak points detection is executed for the waveform which rises at the start point, and that (i.e., only t2 is obtained) based on the zero-cross points immediately after the maximum peak points detection is executed for the waveform which falls at the start point.
- the CPU may select an appropriate processing in the step 507 in Fig. 29. It is noted that this selection can be made by some modification of the software, and not modifying the external circuit of the CPU. In this respect, the musical instrument of this embodiment is flexibly adaptable for many different situations.
- any suitable measure may be employed for the pitch extraction.
- either of the two time intervals (t1) and (t2) is used for the pitch extraction.
- the time interval (t1) is between the zero-cross points first appearing after the maximum peak values of the input waveform.
- the time interval (t2) is between the zero-cross points first appearing after the minimum peak values of the input waveform.
- Another possible pitch extraction is to compare the time interval (T1) between two adjacent maximum peak values of the input waveform with the time interval (T2) between two adjacent minimum peak points.
- a further possible pitch extraction is to use the time interval between the two adjacent zero-cross points.
- An additional pitch extraction is to use one auto-correlation function or other suitable function of the period calculation.
- the musical tone at the note as given by one string picked in one string mode is first generated, and the frequency of the output sound is variably controlled after the pitch extraction.
- the present invention is applied for the electronic guitar, it can be applied for any other systems of the type in which pitches are extracted from a sound signal or an electrical vibration as input from a microphone, for example, and an acoustic signal, which is different from the original signal, is generated at the pitches or note frequencies corresponding to those of the original signal.
- pitches are extracted from a sound signal or an electrical vibration as input from a microphone, for example, and an acoustic signal, which is different from the original signal, is generated at the pitches or note frequencies corresponding to those of the original signal.
- Specific examples of such are electronic pianos with key boards, electronic wind instruments, electronic string instruments such as electronic violins and koto (Japanese string instrument).
- the CPU checks if the peak values of the input signal waveform changes gently or steeply. On the basis of the check result, the CPU further checks if the input waveform variation is caused by the resonance of the vibrations of different strings or by the vibration of one string as picked.
- the musical tone sounding is allowed only when the input waveform is that of the real vibration. Therefore, inexpensive and high accuracy electronic musical instruments can be provided, with natural feeling of sounding.
- FIG. 32 to 38 A sixth embodiment of an electronic guitar according to the present invention will be described referring to Figs. 32 to 38. This embodiment is proposed with the intention to improve of an accuracy of pitch extraction.
- Fig. 32 Some examples of the output waveform of the low-pass filter are illustrated in Fig. 32.
- the waveform as shown in Fig. 32(a) frequently appears when a string is picked. If the pitch of that waveform is determined by the time intervals respective between the zero-cross points after the maximum and minimum peak points, the controller of the musical instrument may frequently treat the time interval of (a) as one period. The true one period, in this case, is the interval of (b). Thus, if the response is quickened at the start of sounding, the musical instrument mistakenly operated.
- a possible measure taken for this problem is to use a large threshold level (corresponding to the ON level in the figure), which is for checking whether or not the waveform as shown in Fig. 32(a) is caused by the vibration of a string, and not to detect the waveform levels below the threshold level.
- a weak waveform as shown in Fig. 32-(b) comes in, however, this measure considers that no string vibration is produced. In this case, of course, no sound is produced from the sound source circuit and it is extremely unnatural when hearing the sound from the guitar.
- the period measurement starts when both the positive and negative peak points appear as shown in Fig. 32(c).
- the period of (c) is not measured, but the period of (d) is measured. This indicates that the sounding start timing is slightly delayed.
- This embodiment is directed to solve the problem of the sounding start timing delay.
- a time interval is detected, and used as the period of the musical tone waveform.
- the time interval is the point relating to the larger peak point is used as the sounding start point.
- the peak point which is similarly detected and exists in the same domain as that of the larger peak point, is used as the end of the time interval.
- a controller directs the start of sounding the musical tone at the frequency as defined by the detected period.
- the point relating to the maximum and minimum peak points may be the zero-cross point immediately after or before the maximum or minimum peak point, or may be the maximum or minimum peak point per se.
- FIG. 33 A circuit arrangement of the sixth embodiment according to the present invention is illustated in Fig. 33. This arrangement is substantially the same as that of the embodiment thus far described, except some portions. Only the difference will be described, with the designation of like reference symbols for like portions.
- CPU 600 receives interrupt signals INTan and INTbn (n is any of 1 to 6) from pitch extraction circuits P1 to P6, and cooperates with work memory 601 to work out the period data.
- a interrupt routine which is applied for CPU 600, and a main routine are illustrated in Figs. 34, 35A and 35B. Although these routines are for only one string operation, the same processings are correspondingly applied for other five string operations. In processing these six string operations, CPU 600 executes the processings for six strings in a time divisional manner.
- a STEP register contains four stages 0, 1, 2, and 3.
- the contents of the STEP register progressively change, as shown in Fig. 36(b) or Fig. 37(b), as the string is picked and vibrates (Fig. 36(a) or Fig. 37(a)).
- the contents 0 of this register represents the note-off state.
- a SIGN register is use for indicating that the zero-cross point for period measurement is after the maximum peak point or the minimum peak point.
- the contents 1 of the register indicates that the zero-cross point after the maximum peak point, and the contents 2 of the register indicates the zero-cross point after the minimum peak point.
- a REVERCE register stores the data to check whether the interrupt processing has been made, which is executed at the arrival of the zero-cross point after the peak point which is located in opposition to the zero-cross point as given by the SIGN register.
- a T register stores the count of counter 7 at a specific point to measure the period of the input waveform. Count 7 free runs responsive to a given clock signal.
- An AMP (i) register stores the maximum or minimum peak value, more exactly, its absolute value, which is applied from A/D converter 11 and latched in latch 12.
- An AMP (1) register stores the maximum peak value, and an AMP (2) is for minimum peak value storage.
- a PERIOD register stores the data of measured. On the basis of the contents of this register, CPU 600 executes the frequency control against frequency ROM 8 and sound source circuit 9.
- the first constants is ONLEVI.
- the system is in the note-off mode. In this mode, when a peak level larger than ONLEVI, the CPU considers that a string has been picked, and starts the period measurement.
- ONLEVII is used in such a way that in the note-on mode, when the difference between the previous and this-time detection levels is above the level of ONLEVEII, the CPU executes the relative-on processing even if the tremolo, for example, is used.
- OFFLEV is used in such a manner that in the note-on mode, if the peak value detected is below this level of OFFLEV, the note-off processing is executed (Fig. 38).
- CPU 600 receives the output signal of AND gate 224 or 225 as interrupt signal INTa or INTb, and executes the interrupt processing shown in Fig. 34.
- step P1 When receiving interrupt signal INTa, the CPU executes step P1 and sets the a-register to "1".
- the CPU executes step P2 and sets the same resistor to "2".
- step P3 CPU 600 presets the count of counter 7 into the t-register in the CPU.
- step P4 the CPU fetches the peak level data in A/D converter 411, and sets that data into the b-register of CPU 600.
- step P5 CPU 600 clears FF 214 or 215.
- step P6 CPU 600 transfers the contents of the a-, b-, and c-registers to work memory 601 for storage. At this point, the interrupt processing is completed.
- step Q1 of the main routine CPU 600 judges whether or not the contents of the a'-, b'-, and c'-registers have been stored into work memory 601, through the interrupt processing.
- Primed characters a', b' and c' corresponds to a, b and c above, and indicate that these items of data have previously stored, respectively. If no interrupt processing has been executed, the answer to step Q1 is NO, and CPU 600 repeats the execution of step Q1.
- step Q2 the CPU reads out the registered contents a', b' and t'. Then, the CPU goes to step Q3, and reads out the peak value at the peak point of the same type (maximum or minimum) which has been stored in AMP (a') register. The CPU sets the peak value b' extracted this time into AMP (a') register.
- step Q4 to Q6 the CPU checks if the contents of STEP register is 3, 2 or 1. When the system of the electronic guitar under discussion is in the initial condition, the STEP register is 0, and therefore the answer to steps Q4, Q5 and Q6 is NO. In step Q7, the CPU checks if the peak value b' detected this time is above or below the level of ONLEVI.
- step Q7 gives the answer of YES and the CPU advances to step Q8.
- step Q8 the CPU sets "1 " to the STEP register.
- step Q9 the CPU sets "0" to the REVERSE register.
- step Q10 the CPU inputs the value of a' into the SIGN register. The value of a' is “1" at the zero-cross point immediately after the maximum peak point, and is "2" at the zero-cross point immediately after the minimum peak point.
- step Q11 the value of t' is set in the T register.
- the value of a' is set in the SIGN register, that of b' in the AMP register, and that of t' in the T register.
- the value of the SIGN register is "1 " (Fig. 36(a) and Fig. 37(a)). Then, the CPU returns to step Q1 again.
- step Q6 The main routine immediately after the zero-cross point Zero 2 will be described. In this processing, steps Q1, Q2, Q3, Q4, Q5 and Q6 will be executed . If the answer YES is given in step Q6, the CPU advances to step Q12.
- the SIGN register is "1". Since the present wave of the waveform has passed the negative peak, the register is "2" and NO is given. When the zero-cross point immediately after the peak point with the same polarity is reached, this step gives YES. The CPU does not execute any further processing and returns to step Q1.
- step Q12 NO is given, and after that, the CPU advances to Q13 and sets 2 in the STEP register (see Fig.36(b) and Fig. 37(b)).
- step Q14 the CPU executes step Q14 and compares the previous peak point (AMP (SIGN)) with the present peak point (b'). If the previous value XO is smaller than the present value (X1>XO) as shown in Fig. 36(a), YES will be given.
- the CPU jumps from step Q14 to steps Q10 and Q11, to set 2 in the SIGN register and at the same time to transfer the contents of the t'-register to the T register.
- step Q14 NO is given in step Q14 and 1 is set in the REVERSE register in step Q15.
- the previous point 1 is maintained in the SIGN register.
- the previous zero-cross point Zero 1 is the period measuring start point, in this case (see Fig. 37(c)).
- step Q16 When the CPU executes the main flow after the next zero-cross point (Zero 3) is passed, the CPU advances to step Q16 after YES is given in step Q5.
- the present value of a' is 1, that of the SIGN register is 2 as shown in Fig. 36, and that of the SIGN register is 1 as shown in Fig. 37. Therefore, in the case of Fig. 36, NO is given in step Q16 and the CPU advances to Q15 and returns to Q1.
- CPU 600 recognizes that the first peak point (amplitude X2) is passed after the period measurement starts.
- the CPU has the answer of YES in step Q16 and advances to step Q17 to check if the value of the REVERSE register is 1. If the value of the REVERSE register is not 1, the CPU judges NO and returns to step Q1. As mentioned above, after execution of step Q15, the value of this register is 1. Then, the CPU advances to step Q17 and Q18, and inputs 3 in the STEP register (see Fig. 37). In step 19, the CPU subtracts the value of the T register, i.e. the time of the zero-cross point Zero 1, from the value of the counter 7 given by the this-time interrupt processing, and the CPU loads it in the PERIOD register.
- the time length PERIOD shown in Fig. 37(c) is that of one period.
- the CPU transfers the contents of t' to the T register, and starts the new period measurement.
- step Q12 CPU 600 issues a sounding start (note-on) command to frequency ROM 8 and sound source circuit 9 in accordance with the contents of the PERIOD register. At this time, the sounding starts.
- the period measurement is executed from the next zero-cross point after the peak point whose value is big.
- the period measurement is completed at the next zero-cross point located in the same side as the previous peak point.
- the period of low-pass filter 3 output waveform is extracted.
- the CPU advances from step Q4 to step Q22 in the main routine processing, and checks if the value of the present peak point b' is above OFFLEV as shown in Fig. 38.
- the CPU advances to step Q23, and judge whether or not the relative-on processing should be executed.
- the CPU checks if the value of the present peak point (b') is above that of the previous peak point by ONLEVII, i.e. checks if the value of the extracted peak point rapidly increases during sounding.
- step Q23 When a string is picked, the vibration of the string gradually damps toward zero. NO is given in step Q23. In case that before the vibration of the string previously picked damps to zero, another string is picked by the tremolo playing, for example, the answer to step Q23 is often YES.
- the CPU jumps to step Q8 after judging YES in Q23, and then executes step Q9 to step Q11.
- the CPU sets "1 " in the STEP register, and subsequently executes the same processing as that of the sounding start.
- the CPU executes step Q16 to step Q21 again, and executes the relative-on processing.
- step Q23 the CPU executes step Q23 followed by step Q24, and compares the contents of a'-register with those of the SIGN register. If these do not coincide, the CPU advances to step Q15 for the interrupt processing at the next zero-cross point. If these coincide, the CPU proceeds to step Q2 because the present wave of the waveform has the peaks with the opposite polarities (positive and negative peaks) in the past. Then the CPU judges whether or not the value of the REVERSE register is "1". If the result is NO, it returns directly to step Q1. If YES is given, the CPU advances from step Q25 to step Q26. Then the contents of the T register is subtracted from those of the t' register for obtaining a new period, and the result is set in the PERIOD register.
- step Q27 the contents of t' register are transferred to the T register. Subsequently, on the basis of the value of the PERIOD register obtained in step Q28, CPU 100 executes the frequency control for frequency ROM8 and sound source circuit 9.
- this embodiment discretely picks up a variation of the frequency of string vibration, and controls the frequency according to the picked up discrete data in a real time manner.
- the CPU advances from step Q28 to step Q29, and clears the REVERSE register, and finally executes the period measuring.
- step Q22 when the string vibration damps and the peak value becomes below the level of OFFLEV, the CPU jumps from step Q22 to step Q30 to clear the STEP register.
- step Q31 the note-off processing is executed, and the CPU gives the note-off command to sound source circuit 9, to stop the sounding of musical tone.
- the waveform as shown in Fig. 32(a) is input, the time length of (b) is measured, and as the measurement terminates, the sounding start processing is executed. Since the on-level may be reduced, the vibration as shown in Fig. 32(b) can be detected. In the case of the waveform of Fig. 32(c), the sounding starts as soon as the period of (c) or the first wave is measured. Therefore, the sounding can be quickly started, providing a quick response.
- the CPU executes the interrupt processing at the zero-cross point immediately after each peak point followed by the various types of processings such as the sounding start, period calculation, relative-on and note-off. If necessary, these processings can be executed when each peak point is detected or when the zero-cross point immediately before the peak point is detected. Any other suitable measure may be taken for obtaining the reference point.
- the maximum and minimum peak values immediately after the input waveform rises are compared with each other.
- a time interval is detected as the period of the waveform.
- the time interval starts at a point relating to the larger peak point, and terminates at a peak point which is located in the same domain as that of the peak point as detected in a similar way, and satisfies a predetermined condition.
- the period control is performed by using the detective period. With such a scheme, the exact period measurement can be quickly performed at the start of sounding, with lessened delay when the waveform rises.
- FIG. 39 A 7th embodiment of an electronic guitar according to this invention will be described referring to Figs. 39 through 41.
- This embodiment proposed is able to extract the pitch of an input signal waveform even it contains much harmonic components as shown in Fig. 39.
- the waveform contain much intensive harmonics has many peak points and cross points. If the electronic guitar receives such a waveform, it mistakenly measure one wave length time interval P as intervals PS and PR, which are each different from the true time interval P. The guitar sounds the musical tone at incorrect pitches. This is problematic in the technique disclosed in KOKOKU No. 61-51793. In this technique, when the adjacent waveform periods are substantially equal, the frequency control is executed on the basis of the time length of the period compared.
- This embodiment is directed to solve such a problem, and provides an electronic guitar which can exactly extract the pitch of the much harmonic contained waveform and sounds the musical tone at the correct pitch.
- a control directs the sounding of a musical tone at the frequency as defined by the time length.
- An arrangement of the seventh embodiment is substantially the same as that of the sixth embodiment (Fig. 33).
- the interrupt routines INTa and INTb executed by CPU 600 are the same as those in the sixth embodiment.
- PS, PR and P registers store respectively the measuring time of one period PS, the measuring time of one period PR partially overlapping the period PS, and the measuring time of one period P partially overlapping the period PR.
- CPU 600 executes the frequency control for frequency ROM 8 and sound source circuit 9 on the basis of the last pitch data P. This will be described in detail later.
- the pitch data of the P register is transferred intactly to the PS register.
- PS, PR and P will be referred to the first, second and third periods, respectively.
- the TS register stores the count of counter 7 at the start of the period P.
- the TR register stores the count of counter 7 at the start of the PR period. These registers are used to obtain the respective pitch data.
- the counter 7 free runs to count at a given clock signal.
- a TRIGGER register is set to "1" during one period just before the sounding starts, as shown in Fig. 41. In other periods than this, this register has "0" and stores the data indicating "preparatory processing for sounding start being progressed".
- a SIGN register is used to indicate that the zero-cross point for period measurement is located after the maximum peak point or the minimum peak point.
- the 1 of the register indicates that the zero-cross point after the maximum peak point, and the 2 of the register indicates the zero-cross point after the minimum peak point.
- An AMP (i) register stores the maximum or minimum peak value, more exactly, its absolute value, which is applied from A/D converter 11 and latched in latch 412.
- An AMP (1) register stores the maximum peak value, and an AMP (2) register for minimum peak value storage.
- CPU 600 further contains three threshold levels ONLEVI, ONLEVII and ONLEV.
- step S1 the CPU executes the interrupt processing as mentioned above, and judges if the contents of a', b', and t' (corresponding to to a, b, and t' and indicate the previous recording) have been saved into work memory 101. If no interrupt processing has been executed, the answer of NO is given, and this step S1 is executed repeatedly.
- step S1 gives YES
- step S2 is executed to read out the contents a', b' and t'.
- step S3 CPU 600 reads out the value of peak point of the same type (maximum or minimum from AMP(a') register, and loads it into the s' register in the CPU. Further, the CPU sets the peak value b' now extracted in the AMP(a') register.
- step S4 the CPU if the contents of TRIGGER register is "1 " or not. If the system of the electronic guitar is in the initial condition "1 cannot be set in the register, the CPU goes to step S5 where it checks if the note-on condition has been set up or not. In this case, however, the note-on condition has not been set up, and the CPU returns to step S1. If the input signal whose level is larger than ONLEVI comes in, step S6 gives the answer of YES and then step S7 will be executed.
- step S7 the a' value is input to the SIGN register.
- the value of a' is 1 at the zero-cross point immediately after the maximum peak point, and is 2 at the zero-cross point immediately after the minimum peak point.
- steps S8 and S9 the CPU the value of t' as the count value at the start of the first period PS, into the TS register, and loads "1" into the TRIGGER register.
- the value of a' is loaded into the SIGN register (in the case of Fig. 41 (a), this register contains "1").
- the value of b' is set in the AMP register, and the value of t' to the TS register. Then the CPU returns to step S1.
- step S1 to S3 the data set processing is executed and in step S4 the answer is YES and step S10 is then executed.
- the SIGN register contains "1 ".
- the present waveform having the negative peak in the past and therefore the a'-register contains "2". And this condition, NO is given and step S11 is executed. In this step, the value of t' as the count value at the start of the second period PR is set in the TR register. Then, the CPU returns to step S1.
- step S4 After the next zero-cross point Zero 3, if the main routine is executed again, the answer of YES is given in step S4 and then the CPU jumps to step S10.
- the present value of a' is "1" and SIGN is “1 ". Therefore step S10 gives the answer YES and step S12 is executed to clear the TRIGGER register.
- step S13 the value of the TS register, i.e., the time at zero-cross point Zero 1 is subtracted from the count of counter 7 which is accepted in this-time interruption and is contained in the t'-register. The result of subtraction is loaded into the PS register.
- step S14 as shown in Fig. 41 (d), CPU 600 gives a note-on command to the frequency ROM 8 and sound source circuit 9, according to the contents of the PS register. And the sounding starts at this time point.
- the musical tone as given by the open string in place of the contents of the PS register may be generated.
- the note-on mode is set up.
- the CPU cause from step S5 to step S15 and checks if the value of b' as the peak value fetched just now is above the OFFLEV level. If it is above the OFFLEV, the CPU checks if the relative-on processing is executed. More specifically, the CPU checks if the this-time peak value b' is by ONLEVII larger than the previous peak value "c", that is to say, checks if the extracted peak value abruptly increases during the sounding.
- step S16 When the string is picked, the string gradually damps toward zero.
- the answer of this step S16 is NO.
- the answer of step S16 may be YES, although this is a rare case.
- step S16 gives YES and flow jumps to step S17 and steps S8 and S9 are executed consecutively.
- "1 " is set in the TRIGGER register and exactly the same operation as that at the sounding start will be executed.
- steps S12 to S14 are successively executed to effect the relative-on processing.
- step S17 following step S16 is executed to compare the value of a' and the value of the SIGN register. If these are not coincident as in the case of zero-cross points Zero 4, Zero 6, ..., steps S18 and S19 are executed. In these steps the contents of the TR register is subtracted from the t' register to obtain the second period PR.
- the PR is set in the PR register, and the value of t' is set in the TS register in order to obtain the pitch data of the next period PR.
- step S20 is executed.
- step S the contents difference between the t'-register and TS register is obtained to have the pitch data of the next third period.
- the difference is set in the P register.
- the value t' is set in the TS register in order to obtain the pitch data of the next third period P, in step S21.
- step S22 CPU 600 checks if the data difference between the first and third periods PS and P is within a predetermined error tolerance which is times the third period P (0 ⁇ a ⁇ 0.4). Further, in step S23 the CPU checks if the data difference between the second and third periods PR and P falls within a predetermined error tolerance which is times the third period P (0 ⁇ a ⁇ 0.4). If these three items of pitch data PS, PR and P are coincident within the tolerance, in step S24 the CPU executes the frequency control (pitch change) for frequency ROM 8 and sound source circuit 9 as shown in Fig. 5(d). If these are not coincident with each other, the CPU does not execute the pitch change processing in step S24, and maintains the pitch thus far used.
- the frequency control pitch change
- the electronic guitar discretely picks up the frequency variation in the string vibration time to time, and executes the frequency control on the basis of the picked up data in a real time manner.
- the CPU goes from step S24 to step S25, and transfers the pitch data of the third period in the P register into the PS register. That pitch data is used as the pitch data of the next new first period.
- the CPU goes from step S15 to step S26, and executes the note-off processing (sounding-off processing), as shown in the right portion of Fig. 41.
- the CPU gives a note-off command to sound source circuit 9 to stop the sounding.
- the sounding preparation and sounding start processings in the steps S7 to S9, step S11, and steps 12 to S14 are performed at the respective zero-cross points of the first period.
- the pitch change processing is executed in steps S18 and S19.
- the same processing is executed in steps S20 to S25.
- the note-off processing is performed in step S26.
- the comparison of PS and PR is allowed in addition to the comparison of PS and P, PR and P.
- the essential is to check if these three factors are equal or not.
- the pitch data used in the pitch changing processing in step S24 following the detection of three factors equality may be the arithmetic mean or the geometrical means PS, PR and P, in addition to the P. Additionally, two or three of these factors are appropriately weighted, and then averaged for that data.
- the sounding of the musical tone is started according to the contents of the PS register, improving the response of the musical instrument system.
- the musical tone at the extracted frequency may be sounded.
- the pitch between the zero-cross points is measured, it is allowed to measure the period between any other suitable points, such as the maximum peak point and zero-cross point, the minimum peak point and zero-cross point, and the maximum and minimum peak points.
- the signal output from maximum or minimum peak detector 4 or 5 is used as the interrupt signal INT, and the same effects can be obtained.
- a similar processing may be executed upon detection of the zero-cross point immediately before the peak point. Any other measure may be used to set up the reference point for pitch extraction.
- the respective processings are executed in the main flow, but these may be executed in the interrupt processings.
- the present invention is applied for the electronic guitar, it can be applied for any other systems of the type in which pitches are extracted from a sound signal or an electrical vibration as input from a microphone, for example, and an acoustic signal, which is different from the original signal, is generated at the pitches or note frequencies corresponding to those of the original signal.
- pitches are extracted from a sound signal or an electrical vibration as input from a microphone, for example, and an acoustic signal, which is different from the original signal, is generated at the pitches or note frequencies corresponding to those of the original signal.
- Specific examples of such are electronic pianos with key boards, electronic wind instrument electronic string instruments such as electronic violins and koto (Japanese string instrument).
- the seventh embodiment measurement is made of the time length of a first wave of an input waveform which partially overlaps one wave of the same waveform, and the time length of a second wave also overlapping the first wave. If the measured time lengths are substantially equal, the CPU directs the sounding of a musical tone at the frequency as defined by the time length. Therefore, the system of the electronic guitar, which is best on the three periods comparison, can exactly extract the pitch of the waveform even if it contains much harmonics.
- the eighth embodiment provides the improvements in that when the guitar is played in a tremolo mode, the guitar follows up in operation a rapid variation of the input musical tone waveform due to the tremolo playing and sounds the musical tone with natural feelings.
- the system detects this and gives a relative-on command.
- volume and timbre of the musical tone are appropriately adjusted so that the guitar electronic system follows up the actual tremolo playing.
- An arrangement of the eighth embodiment may be that of each embodiment as mentioned above, for example, that of Fig. 21.
- a main routine of CPU 400 is shown in Fig. 42. This main flow is for only one string processing. The processings of other strings are each substantially equal to the Fig. 42 processing. Therefore, in an actual system, the CPU executes these routines in a time divisional manner.
- the CPU first executes the initial setting in step A801, and checks if the sounding progresses, in step A802. If the sounding is progresses, the CPU goes step A803 and executes the frequency change processing on the basis of the time interval data tn and Tn, and returns to step A802.
- step A802 gives the answer is NO and goes to step A804.
- step A804. In the step each register is initialized or a necessary command is sent to sound source circuit 9. Following this step, the CPU returns to step A802.
- interrupt command signal INTa is first applied to AND gate 224.
- the interrupt shown in Fig. 44 is executed.
- step B801 the CPU fetches the maximum peak value from latch 412, and in step 802 sets the peak value in FF 214.
- step B802 sets the peak value in FF 214.
- step 804 the CPU checks if the peak value ak (at this time it is a1), which has fetched in step B801, is larger than the reference value M.
- Control goes to step C806, and further to step C807 to write the value of b1 into a predetermined memory area of the peak memory.
- Interrupt signal INTa is generated.
- the CPU executes the interrupt processing of Fig. 44, again.
- the judgement of this step B809 is not k m, but k > m, i.e., NO, and control advances to step B810.
- this step seeks the fret used for the picked string.
- CPU 400 directs frequency ROM 8 and sound source circuit 9 to start the sounding of the musical tone with that frequency, and executes the note-on processing. This is illustrated in Fig. 43(h). The musical tone is sounded from this point.
- the CPU executes step B807 and returns to the main routine.
- step C801 2 is obtained and control flows to step C809.
- Step B803 The next interrupt processing INTa is executed.
- Step B808 checks if interrupt processing by INTa is executed three times or more.
- the answer to step B812 is NO, and control flows to step B813.
- CPU 400 checks if ak - ak-1 > R holds. If it holds, viz., the relative-on must be done, this processing is executed in steps B814 and B815. This will subsequently be described in detail.
- Steps C801 to C806, C808, C812 to C813, and C807 are consecutively executed in this order, to complete this interrupt processing.
- the frequency change processing for example, is appropriately executed in step A803 in a progressive manner.
- step B812 when the tremolo playing is made, and before the sounding terminates, a string is picked again, the interrupt processing is executed when the zero-cross point following the maximum peak of an-1 is reached, in step B812, the answer of YES is given since an + 1 - an > R, and control flows step B814.
- the CPU gives the note-off command to sound source circuit 9 and abruptly drops the sounding level (Fig. 43(h))
- step B815 "k” is set to “1 and “m” is set to "0" for starting the relative-on processing.
- step B807 the CPU returns to the main flow.
- the maximum peak value an-1 of the waveform exceeds the difference between them.
- the sounding is ceased, and then started again.
- the sounding musical tone is assigned to another sounding channel of sound source 9. Change is made in accordance with volume and timbre, for example.
- step B804 (or step C804).
- step B816 (or CB16).
- CPU 400 executes the note-off processing in the next step B818, and gives a command of such to sound source circuit 9.
- step B818 (or C818), k and m are set to "0" for initializing.
- step B816 is executed, and if NO is given, control returns to the main flow.
- the interrupt processing of Fig. 44 is first executed because the waveform rises (varies positively) at the start of waveform inputting. Conversely, when it falls (varies negative), the interrupt processing of Fig. 45 is first executed.
- the operation of the former case may be applied for the operation of the latter case which therefore will not be described.
- the CPU judges that the waveform abruptly rises, and execute the relative-on processing in which the sounding is ceased and is started again. Therefore, the electronic guitar system operates following up the rapid playing of the tremolo.
- the difference between the previous and this-time peak values is used for the check of the rapid variation of waveform by the CPU.
- a ratio of those peaks may be used for the same purpose; ak/ak-1>S or bk/bk-1>S (S is an integer of more than 1).
- the comparison of the peak value two peaks before and the this-time peak value may be used, although the comparison of the previous peak value and the this-time peak value is used.
- the relative-on processing is executed when one of the peak values ak and bk satisfies the relation ak - ak-1 > R or bk - bk-1 > R. It is evident that when these relations are both satisfied, the relative-on processing is executed.
- any other suitable detection may be used for detecting the rapid increase of the waveform during the sounding.
- the present invention is applied for the electronic guitar, it can be applied for any other systems of the type in which pitches are extracted from a sound signal or an electrical vibration as input from a microphone, for example, and an acoustic signal, which is different from the original signal, is generated at the pitches or note frequencies corresponding to those of the original signal.
- pitches are extracted from a sound signal or an electrical vibration as input from a microphone, for example, and an acoustic signal, which is different from the original signal, is generated at the pitches or note frequencies corresponding to those of the original signal.
- Specific examples of such are electronic pianos with key boards, electronic wind instruments' electronic string instruments such as electronic violins and koto (Japanese string instrument).
- the CPU issues a note-on command again.
- the electronic system of the guitar can follow up the rapid variation of the waveform, and hence the tremolo playing of the guitar.
- a ninth embodiment of an electronic guitar according to the present invention will be described referring to Figs. 46A, 46B,... 49.
- the ninth embodiment is proposed to prevent the electronic guitar from erroneously operating when tone is turned off by detaching the player's finger from the fret board.
- the ninth embodiment achieves the following objects: 1) to ensure the sounding stop, which is made by removing the finger of a player from the fret can be reliably made; 3) to eliminates the sounding of the musical tone at the pitch, which is different from that of the musical tone sounded before the finger is removed from the fret; 3) to realize artificial musical tones approximate to those generated by natural musical instruments including the string instruments.
- the ninth embodiment is based on the scheme that the note-off is executed if the maximum and minimum peak values of the input waveform are below those previous peaks, respectively.
- the ninth embodiment is operable with an arrangement similar to that of any embodiment as described above.
- the arrangement of Fig. 33 is available for the ninth embodiment.
- the interrupt routines may be that of Fig. 34.
- a FLAG (i) register is used in the following way. When the maximum or minimum peak value is by an OFFLEVII smaller than the corresponding peak value, "1 " is set in this register. The FLAG (1) is for the maximum peak, and the FLAG (2) for the minimum peak. When “1 " is set to the FLAG (i) register, the note-off processing is executed even if the peak is not below the OFFLEVII level.
- a STEP register contains four values 0, 1, 2, and 3.
- the contents of the STEP register progressively change, as shown in Fig. 47(b) or Fig. 48(b), as the string is picked and vibrates (Fig. 47(a) or Fig. 48(a)).
- the contents 0 of this register represents the note-off mode.
- "3" of the register indicates a state that the peak becomes below the previous peak by OOFLEVEII, and the note-off command has been issued.
- "1 and "2" of the register indicate that the normal sounding progresses.
- a PERIOD register stores the data of measured period. On the basis of the contents of this register, CPU 600 executes the frequency control against frequency ROM 8 and sound source circuit 9.
- a SIGN register is used for indicating that the zero-cross point for period measurement is located after the maximum peak point or the minimum peak point.
- the contents 1 of the register indicates that the zero-cross point after the maximum peak point, and the contents 2 of the register indicates the zero-cross point after the minimum peak point.
- An AMP (i) register stores the maximum or minimum peak value, more exactly, its absolute value, which is applied from A/D converter 11 and latched in latch 412.
- An AMP (1) register stores the maximum peak value, and an AMP (2) is for minimum peak value storage.
- the first constants is ONLEVI.
- the electronic system of the guitar is in the note-off mode. In this mode, when a peak level larger than ONLEVI, the CPU judges that a string has been picked, and starts the period measurement.
- ONLEVII is used in such a way that in the note-on mode, when the difference between the previous and this-time detection levels is above the level of ONLEVEII, the CPU executes the relative-on processing even if the tremolo playing, for example, is used.
- OFFLEVI is used in such a manner that in the note-on mode, if the peak value detected is below this level of OFFLEVI, the note-off processing is executed (Fig. 48(a)).
- OFFLEVII is used in such a manner that in the note-on mode, if the difference between the maximum or minimum peak value and those previous peak values is detected and is below this level of OFFLEVI, the note-off processing is executed (Fig. 48(b)).
- step S904 the CPU judges whether or not the contents of a'-, b'- and t'- register are saved into work memory 601 through the interrupt processing in step S904.
- Primed characters a', b' and t' correspond to a, b and c above, and indicate that these items of data have previously stored, respectively. If no interrupt processing has been executed, the answer to step S904 is NO, and the CPU repeats the execution of step S904.
- step S904 the CPU advances to step S905, and reads out contents a', b' and t'. Then, the CPU goes to step S906, and reads out the peak value at the peak point of the same type (maximum or minimum) which has been stored in AMP (a') register. The CPU set the peak value b' extracted this time into AMP (a').
- steps S907 to S909 the CPU checks if the contents of the STEP register is 1, 2 or 3. When the system of the electronic guitar is in the initial condition, the STEP register is 0, and therefore the answer to steps S907, S908, S909 is NO. In step S910, the CPU checks if the peak value b' detected this time is above or below the level of ONLEVI.
- step S910 If NO is given in step S910, the note-on or sounding start processing is not executed and the CPU returns to step S904. As shown in Fig. 47(a), if the peak value, which is output through low-pass filter 3, is above ONLEVI, YES is given in step S910 and the CPU advances to step S911.
- step S911 the CPU sets "1 " in the STEP register.
- step S912 the CPU inputs the value of a'-register into the SIGN register.
- the value of a'-register is "1" at the zero-cross point immediately after the maximum peak point, and is "2" at the zero-cross point immediately after the minimum peak point.
- step S913 the CPU sets the value of t'- register, i.e., the zero-cross point Zero 1, in the T register.
- the SIGN register contains "1 ". Since the present wave of the waveform has passed the negative peak, a'- register contains 2, and NO is given in step S914. Then, the CPU does not execute any further processing and returns to step S904.
- step S914 the CPU executes steps S904 to S907 and S914 again.
- YES is given, and the CPU advances to step S915, and inputs 2 in the STEP register as shown in Fig. 47.
- step S916 the CPU subtracts the time of the zero-cross point Zero 1 in the T register from the time given by the this-time interrupt processing in the t'-register. Then the CPU loads the difference, i.e., the time length shown in Fig. 47(c) or the one period in the PERIOD register.
- step S917 the CPU advances to step S917, and transfers the contents of t'-register to the T register, and starts new period measurement.
- step S918 CPU issues the note-on command so that musical tone, which has the frequency in accordance with the contents of the PERIOD register mentioned above, can be generated from sound source circuit 9. Then, the sounding starts.
- step S908 the contents of the STEP register is 2, and YES is given. Then the CPU advances to step S919, and checks if the peak value b' is above or below the level of OFFLEVI (see Fig. 48-(a)). Now the peak level is above OFFLEVI, and YES is given in step S919, and the CPU advances to step S920.
- step S920 the CPU judges whether or not the relative-on processing should be executed. In other words, the CPU checks if the value of the present peak point (b') is above that of the previous peak point by ONLEVII, i.e., checks if the extracted peak point rapidly increases during sounding.
- step S920 When a string is picked, the vibration of the string gradually damps toward zero, NO is given in step S920. In case that before the vibration of the string previously picked damps to zero, another string is picked by the tremolo playing, for example, the answer to step S920 is often YES.
- the CPU jumps from step S920 to step S911, and then, executes steps S912 and S913.
- the CPU sets "1 " in the STEP register, and subsequently, executes the same processing as that of the sounding start.
- the CPU executes steps S907,S914, S915, S916, S917 and S918, and executes the relative-on processing. In this case, the relative-on processing with the attack starts.
- step S920 the CPU checks if the peak value b' is by OFFLEVII smaller than the previous peak value "c", that is, if the tone-off operation by removing the finger of a player from the fret board has been done.
- step 921 No is given and in step S922 the FLAG (3-a') register is cleared.
- CPU 600 checks if the contents of SIGN register is coincident with the contents of the a'-register. The present zero-cross point is Zero 4. Then, the SIGN register contains "1 and the a'- register "2". In step S923, No is given and the CPU returns to step 904.
- sequences of steps S904 to S908, and S919 to S923 are executed and YES is given in step S23.
- a sequence of steps 924 to 926 is executed to set a new period ranging from Zero 3 to Zero 5 into the PERIOD register and transfers the contents of the t'-register into the T register.
- new period measurement starts.
- the CPU issues a frequency change command to frequency ROM 8 and sound source circuit 9, according to the pitch this time detected and stored in the PERIOD register.
- step S928 the CPU checks if the FLAG (d) for this "d" is "1 ".
- the FLAG (i) registers are both "0" and hence the CPU advances to step S929 and sets 1 in the FLAG (a') register for the peak point immediately before the peak point detected this time, and returns to step S904.
- CPU 600 executes the sequence of steps S904 to S908, and S919 to S921, and in steps S927 and 928 the CPU checks if "1 " is set in the FLAG (i) for the opposite peak point. At present the register contains "1 and therefore the CPU clears the FLAG (i) register on the opposite side, and sets "3" in the STEP register. In step 932, the CPU executes the note-off processing, and gives to sound source circuit a command to stop the sounding of the musical tone from sound source circuit 9.
- step S921 and steps S927 to 929 are executed to set "1 " in one of the FLAG (i) registers.
- step 921 to check if the peak level is below the OFFLEVII NO is given.
- Step S922 clears the FLAG (i) register with "1". Then steps 923 to 926 for note-off continue processing are progressively executed.
- steps S921 and S927 to S929 judges that one of the two types of levels is below OFFLEVII. Then, the FLAG set processing is first executed, In steps S921, S927 to S928, and S930 to S932, the other peak level below the OFFLEVII level is detected and the note-off processing starts.
- steps S921 and S927 to S929 the first type of peak level below the OFFLEVII level is detective and the flag is set.
- the CPU detects that the second type of peak level is not yet below OFFLEVII and sets the flag.
- steps S921 and S922 the flag is cleared since the second peak level is not yet below OFFLEVII.
- the CPU executes the note-on processing in steps S923 to S926.
- step register After the step register has "3" and the sounding stopped in this way, CPU 600 goes through steps S901 to S908, and reaches step 909. In the last step, YES is given.
- the CPU jumps to step S933 to check if the peak level b' is below OFFLEVI. Immediately after "3" is said in the STEP register, the peak level is not yet OFFLEVI.
- the CPU goes step S936. This step, like step S920, checks if the relative-on processing is to be executed. If this-time peak level b' is above the previous peak level "c" by ONLEVII, the note-on processing is executed in steps S911 to S913. If the former is below the later, the CPU returns to step S904.
- step S933 the answer of NO, and in step S934 the STEP register is cleared.
- step 919 gives the answer of NO. Then, the CPU goes to step S935 to clear the STEP register and executes the note-off processing in step 936 to stop the sounding of musical tone from sound source circuit 9.
- the OFFLEVII which is used for stop the sounding when the finger is removed from the fret board, may be a fixed level or the product of multiplying the previous peak value by a fixed rate.
- the time interval between the adjacent zero-cross points for pitch measurement This time interval may be substituted by the time interval between the maximum peak point and the zero-cross point, the minimum peak point and zero-cross point, or the maximum peak point and the minimum peak point.
- the interrupt signal INT may be the signal from maximum or minimum peak detector 4 or 5.
- the same processing may be executed upon detection of the zero-cross point immediately before the peak point. Any other suitable measure may be used for setting up the reference point.
- the present invention is applied for the electronic guitar, it can be applied for any other systems of the type in which pitches are extracted from a sound signal or an electrical vibration as input from a microphone, for example, and an acoustic signal, which is different from the original signal, is generated at the pitches or note frequencies corresponding to those of the original signal.
- pitches are extracted from a sound signal or an electrical vibration as input from a microphone, for example, and an acoustic signal, which is different from the original signal, is generated at the pitches or note frequencies corresponding to those of the original signal.
- Specific examples of such are electronic pianos with key boards, electronic wind instruments, electronic string instruments such as electronic violins and koto (Japanese string instrument).
- the note-off is executed. This ensures the sounding stop, which is made by removing the finger of a player from the fret.
- the electronic guitar never sounds the musical tone at the pitch, which is different from that of the musical tone sounded before the finger is removed from the fret. This realizes artificial musical tones approximate to those generated by natural musical instruments including the string instruments.
- the ninth embodiment eliminates useless pitch (fundamental frequency) extractions to be performed after the finger detaches from the guitar string.
- Fig. 50 shows an input waveform
- control gives a note-off command.
- FIG. 51 An overall arrangement of the tenth embodiment is shown in Fig. 51. This arrangement is substantially equal to that of Fig. 33. Like portions are designated by like symbols in Fig. 33, for simplicity.
- Some of main features of this embodiment are 1) to apply a latch lock to latch 412 at the maximum (positive) and minimum (negative) peak detections, via OR gates 1016 and 1017, and 2) to apply a clock signal CL through AND gate 1026 and OR gate 1017 when CPU 1000 applies a latch command signal L in logical high.
- latch command signal (g) continues logical high during the period ranging from an instant that CPU 100 fetches the peak values from latch 412 at the maximum and minimum peak points in response to interrupt signals INTa and INTb until the next peak detect signals (b) and (c) are applied.
- interrupt signals INTan and INTbn (n" is any of 1 to 6)
- the peak values are latched in the first half of the wave between the top and bottom, i.e. between the zero-cross point and the maximum or minimum peak point. In the range from the maximum or minimum peak point and the next zero-cross point, the peak value is held.
- the output signal from each latch 412 is applied to CPU 1000. This data is used for controlling the controls such as note-on, note-off, pitch extraction start, pitch extraction stop, and control of sounding level (volume control).
- the peak values as latched in each latch 412 before the output of latch command signals L1 to L6 are stopped, are successively stored into work memory 601.
- CPU 1000 executes the note-on and the pitch (fundamental frequency) extraction.
- the data is below the note-off level OFFLEVE shown in Fig. 54, the volume level is abruptly stopped to terminate the sounding. The operation of this will be given in detail later.
- A/D converter 411 is provided for each pitch extraction circuit P1 to P6. If necessary, a single A/D converter may be used in common for those pitch extraction circuits, and be operated in a time-divisional manner.
- FIG. 29 A main routine of CPU 1000 is illustrated in Fig. 29.
- a interrupt routine which is applied for CPU 600, may be substantially equal to that of Fig. 34. Although these routines are for only one string operation, the same processings are correspondingly applied for other five string operations. In processing these six string operations, CPU 1000 executes the processings for six strings in a time divisional manner. Figs. 36 to 37 will be used for explaining the operation of this embodiment.
- a STEP register contains four stages 0, 1, 2, and 3.
- the contents of the STEP register progressively change, as shown in Fig. 36(b) or Fig. 37(b), as the string is picked and vibrates (Fig. 36(a) or Fig. 37(a)).
- the contents 0 of this register represents the note-off state.
- a SIGN register is use for indicating that the zero-cross point for period measurement is after the maximum peak point or the minimum peak point.
- the contents 1 of the register indicates that the zero-cross point after the maximum peak point, and the contents 2 of the register indicates the zero-cross point after the minimum peak point.
- a REVERCE register stores the data to check whether the interrupt processing has been made, which is executed at the arrival of the zero-cross point after the peak point which is located in opposition to the zero-cross point as given by the SIGN register. This is used for checking the pitch (fundamental frequency) extraction control for each period.
- a T register stores the count of counter 7 at a specific point to measure the period of the input waveform. Count 7 free runs responsive to a given clock signal.
- An AMP (i) register stores the maximum or minimum peak value, more exactly, its absolute value, which is applied from A/D converter 411 and latched in 412.
- An AMP (1) register stores the maximum peak value, and an AMP (2) is for minimum peak value storage.
- a PERIOD register stores the data of measured. On the basis of the contents of this register, CPU 1000 executes the frequency control against frequency RDM 8 and sound source circuit 9.
- An OFF register contains "1 when the level data of the input waveform latched in latch 412 is below OFFLEV as the note-off level shown in Fig. 54. It contains "0" when it is above OFFLEV during the sounding.
- An OFT register stores the count of counter 7 when 21 " is set in the OF register. If the time duration of the state of "1 " in the OF register is a predetermined time duration, for example, the period of of a string vibration in the open string mode, more exactly, 12 msec for the sixth string, for example, the note-off processing is executed.
- the first constants is ONLEVI.
- the system is in the note-off mode. In this mode, when a peak level larger than ONLEVI is detected, the CPU decides that a string has been picked, and starts the period measurement.
- ONLEVII is used in such a way that in the note-on mode, when the difference between the previous and this-time detection levels is above the level of ONLEVEII, the CPU executes the relative-on processing even if the tremolo, for example, is used.
- OFFLEV is used in such a manner that in the note-on mode, if the peak value detected is below this level of OFFLEV, the note-off processing is executed (Fig. 54(a)).
- step S1001 of the main routine CPU judges whether or not the contents of the a'-, b'-, and c'-registers have been stored into work memory 601, through the interrupt processing.
- Primed characters a', b', and c' corresponds to a, b and c above, and indicate that these items of data have previously stored, respectively. If no interrupt processing has been executed, the answer to step S1001 is NO, and the CPU repeats the execution of step S1001 by going through the note-off processing in steps S1030 to S1038.
- step S1002 the CPU reads out the registered contents a', b' and t'. Then, the CPU goes to step S1002, and reads out the peak value at the peak point of the same type (maximum or minimum) which has been stored in AMP (a') register. The CPU sets the peak value b' extracted this time into AMP (a') register.
- step S1004 to S1006 the CPU checks if the contents of STEP register is 3, 2 or 1. When the system of the electronic guitar under discussion is in the initial condition, the STEP register is 0, and therefore the answer to steps S1004, S1005 and S1006 is NO. In step S1007, the CPU checks if the peak value b' detected this time is above or below the level of ONLEVI.
- step S1007 gives the answer of YES, and the CPU advances to step S1008.
- step S1008 the CPU sets "1 " in the STEP register.
- step S1009 the CPU sets "0" in the REVERSE register.
- step S1010 the CPU inputs the value of a'-register into the SIGN register. The value of a'-register is "1 " at the zero-cross point immediately after the maximum peak point, and is "2" at the zero-cross point immediately after the minimum peak point.
- step S1011 the value of t'-register is set in the T register.
- the contents of a'- register is set in the SIGN register (now SING is "1 " in the case of Figs. 36(a) and Fig. 37(a))
- the contents of the b'-register is set in the AMP register.
- the contents of the t'-register is loaded into the T register. Then, the CPU returns to step S1.
- step S1006 The main routine immediately after the zero-cross point Zero 2 will be described. In this processing, the data set processing and the note-on step discrimination processing in steps S1001, S1002, S1003, S1004, S1005 and S1006 will be executed. If the answer YES is given in step S1006, the CPU advances to step S1012.
- the SIGN register contains "1". Since the present wave of the waveform has passed the negative peak, the a'-register contains "2", and NO is given. When the zero-cross point immediately after the peak point with the same polarity is reached, YES is given in this step S1012. The CPU does not execute any further processing and returns to step S1001.
- step S1012 NO is given, and then, the CPU advances to step S1013, and sets "2" in the STEP register (see Fig. 36(b)).
- step S1014 the CPU executes step S1014, and compares the previous peak point (AMP (SIGN)) with the present peak point (b'). If the previous value XO is smaller than the present value (x1>x0) as shown in Fig. 36(a), YES will be given.
- the CPU jumps from step S1014 to steps S1010 and S1011, to set "2" in the SIGN register and at the same time to transfer the contents of the t'-register to the T register.
- step S1014 NO is given in step S1014 and "1" is set in the REVERSE register.
- the previous point "1 " is maintained in the SIGN register.
- the previous zero-cross point Zero 1 is the the period measuring start point, in this case (see Fig. 37(C)).
- step S1016 When the CPU executes the main flow after the next zero-cross point (Zero 3) is passed, the CPU advances to step S1016 after YES is given in step S1005.
- the present value of the a'-register is "1", that of the SIGN register is “2" as shown in Fig. 36, and that of the SIGN register is “1 " as shown in Fig. 37. Therefore, in the case of Fig. 36, NO is given in step S1016 and the CPU advances to step S1015 and returns to step S1001.
- CPU 1000 recognizes that the first peak point (amplitude x 2) is passed after the period measurement starts.
- step S1017 the CPU has the answer of YES in step S1016, and advances to step S1017 to check if the REVERSE register contains "1 ". If the value of the REVERSE register is "1 ", the CPU has the answer of NO, and returns to step S1001. As mentioned above, after execution of step S1015, the value of this register is "1". Then, the CPU advances to step S1018, and inputs "3" in the STEP register (see Fig. 37(b)). In step S1019, the CPU subtracts the value of the T register, i.e., the time of the zero-cross point Zero 1, from the value of the counter 7 given by the this-time interrupt processing, and the CPU loads it in the PERIOD register.
- T register i.e., the time of the zero-cross point Zero 1
- step S1020 the CPU transfers the contents of the t'-register to the T register, and starts the new period measurement.
- step S1021 CPU 1000 issues a sounding start (note-on) command to frequency ROM 8 and sound source circuit 9 in accordance with the contents of the PERIOD register. At this time, the sounding starts.
- Fig. 36 the main flow after the next zero-cross point Zero 4 is executed again, and the CPU jumps from step S1005 to S1016. Since the value of the SIGN register is now 2, YES is given in step S1016. Subsequently, the sounding start processing in steps S1017 to S1021 are executed. At this time, CPU 1000 recognizes the time interval from zero-cross points Zero 2 to Zero 4 shown in Fig. 36(c), as one period. The guitar starts the sounding of the musical tone at the frequency as defined by the time length recognized (see Fig. 36(d)).
- the period measurement is executed from the next zero-cross point after the peak point whose value is big.
- the period measurement is completed at the next zero-cross point located in the same side as the previous peak point.
- the period of low-pass filter 3 output waveform is extracted.
- the CPU advances from step S1004 to step S1023 in the main routine processing, and judges whether or not the relative-on processing should be executed. In other words, the CPU checks if the value of the present peak point (b') is above that of the previous peak point by ONLEVII, i.e. checks if the value of the extracted peak point rapidly increases during sounding.
- step S1023 When a string is picked, the vibration of the string gradually damps toward zero. NO is given in step S1023. In case that before the vibration of the string previously picked damps to zero, another string is picked by the tremolo playing, for example, the answer to step S1023 is often YES.
- step S1008 after judging YES in S1023, and then executes the preparatory processing for note-on in step S1009 to step S1001.
- the CPU sets "1 " in the STEP register, and subsequently executes the same processing as that of the sounding start.
- the CPU executes step S1016 to step S1021 again, and executes the relative-on processing.
- step S1023 the CPU executes step S1023 followed by step S1024, and compares the contents of the a'-register with those of the SIGN register. If these do not coincide, the CPU advances to step S1015 for the interrupt processing at the next zero-cross point. If these coincide, the CPU proceeds to step S1025 because the present wave of the waveform has the peaks with the opposite polarities (positive and negative peaks) in the past. Then the CPU judges whether or not the value of the REVERSE register is "1 ". If the result is NO, it returns directly to step S1001. If YES is given, the CPU advances from step S1025 to step S1026. Then the contents of the T register is subtracted from those of the t'-register for obtaining a new period, and the result is set in the PERIOD register.
- step S1027 the contents of the t'-register are transferred to the T register. Subsequently, on the basis of the value of the PERIOD register obtained in step S1028, CPU 1000 executes the frequency (pitch) control for frequency ROM 8 and sound source circuit 9.
- this embodiment discretely picks up a variation of the frequency of string vibration, and controls the frequency according to the picked up discrete data in a real time manner.
- the CPU advances from step S1028 to step S1029, and clears the REVERSE register, and finally executes the period measuring.
- step S1030 CPU decides that the present contents of the STEP register is 3.
- the CPU detects that the waveform level of the input signal, which is derived from A/D converter 411 and latched in latch 412, becomes below the note-off level OFFLEV (step S1031).
- “1" " is set in the OF register which has stored "0”, and the count of counter 7 is set to the OFT register.
- the CPU returns step S1001 (steps S1023 to S1034).
- step S1035 recognizes this by using the difference between the count as set in the OFT register and the present count of counter 7.
- step S1036 CPU 1000 clears the STEP register and the OF register, and executes the note-off processing in step S1037, and gives a note-off command to sound source circuit 9, to stop the sounding.
- the note-off processing can be executed quickly and reliably, even if the waveform level abruptly changes, by detecting that the waveform level below OFFLEV for 12 msec, for example.
- step S1031 Since such damping temporarily occurs, if the peak level exceeds OFFLEV, CPU 1000 detects this in step S1031, and clears the OF register in step S1038, and does not execute the note-off processing. Therefore, if the abrupt drop of the waveform level occurs as shown in Fig. 50, and neither of interrupt signals INTa and INTb is generated, clock signal CL is always applied to latch 412. The latch command signal L as indicated by (8) in Fig. 52 keeps high level state. Then, the output of A/D converter 411 is applied to CPU 1000 via latch 12. The CPU executes the note-off processing according to this peak value. As a result, the note-off response is improved.
- the above-mentioned embodiment is so arranged that when the waveform level of the 6th string is below the level of OFFLEV, the note-off is executed. In an alternatively, the note-off may be executed when such a level of the input waveform is continued for the other time duration than 12 ms, i.e., the period or more of the musical tone as generated by the electronic guitar.
- the above-mentioned embodiment is also so arranged that CPU 1000 executes the interrupt processing immediately at the zero-cross point after each peak point, followed by the note-on start, period computation, relative-on, note-off start, etc.. These processings may be performed immediately after each peak point detection. In this case, the same effects as those attained by the former case may be attained. Additionally, these processings may be done upon detection of the zero-cross point immediately before the peak point. Any other suitable measure may be used for the reference point setting up.
- Each processing, which is executed in the main routine in the above-mentioned embodiment, may be done in each interrupt processing.
- the present invention is applied for the electronic guitar, it can be applied for any other systems of the type in which pitches are extracted from a sound signal or an electrical vibration as input from a microphone, for example, and an acoustic signal, which is different from the original signal, is generated at the pitches or note frequencies corresponding to those of the original signal.
- pitches are extracted from a sound signal or an electrical vibration as input from a microphone, for example, and an acoustic signal, which is different from the original signal, is generated at the pitches or note frequencies corresponding to those of the original signal.
- Specific examples of such are electronic pianos with key boards, electronic wind instruments, electronic string instruments such as electronic violins and koto (Japanese string instrument).
- the note-off is executed. If the mute playing is made, and the waveform abruptly drops to such a level to be too low for detecting the peak point, the level drop can reliably and quickly be detected, to execute the note-off processing. This cannot be realized by the conventional system of the type in which the note-off is executed upon detection of the dropping of the peak of the input signal wave below a predetermined value. With such an arrangement, good performance is obtained.
- the electronic system of the electronic guitar more quickly enters the new note-on processing of the musical tone.
- harmonics are contained in the natural waveform.
- the harmonics possibly cause erroneous frequency change control, when these are detected.
- the eleventh embodiment improves the electronic guitar of the above type so that the guitar never produces the harmonics musical tone even when it extracts the harmonics.
- CPU decides that the harmonic waveform is applied to the guitar, and issues a note-off command.
- An arrangement of the eleventh embodiment may be that of Fig. 33.
- the interrupt routines by interrupt commands INTa and INTb may also be substantially the same as those of the embodiment relating to Fig. 33. Description of the operation of this embodiment will be given mainly in connection of the main routine.
- Figs. 55A and 55B show a flowchart of a main routine used in this embodiment.
- the main routine is for picking of only one string. In an actual guitar, six strings are used, and CPU 600 executes the main routine in a time divisional manner.
- a STEP register may contain 0, 1, 2 for a normal mode, and 0, 1, 2, and 3 for an abnormal mode when harmonics are extracted.
- the contents of the register changes as the string of guitar is picked and vibrates, as shown in Fig. 56(a).
- the contents of "0" of this register indicates the note-off mode.
- a SIGN register is used for indicating that the zero-cross point for period measurement is located after the maximum peak point or the minimum peak point.
- the contents 1 of the register indicates that the zero-cross point after the maximum peak point, and the contents 2 of the register indicates the zero-cross point after the minimum peak point.
- a T register stores the count of counter 7 at a specific point for measuring the period of an input waveform.
- An AMP (i) register stores the maximum or minimum peak value, more exactly, its absolute value, which is applied from A/D converter 11 and latched in latch 412.
- An AMP (1) register stores the maximum peak value, and an AMP (2) is for minimum peak value storage.
- a P or P' register receives the data representing the measured period. Using the contents of this register, CPU 600 executes the frequency change control for sound source circuit 9.
- the first constants is ONLEVI.
- ONLEVII is used in such a way that in the note-on mode, when the difference between the previous and this-time detection levels is above the level of ONLEVEII, the CPU executes the relative-on processing even if the tremolo playing, for example, is used.
- OFFLEV is used in such a manner that in the note-on mode, if the peak value detected is below this level of OFFLEV, the note-off processing is executed (Fig. 56(a)).
- step Q1101 of Figs. 55A and 55B CPU 600 initializes the registers, for example, contained in the electric system of the electronic guitar.
- step S1102 "0" is set in the STEP register.
- step Q1103 the CPU advances to step Q1105.
- the CPU reads out the registered contents a', b' and t'. Then, the CPU goes to step Q1105, and reads out the peak value at the peak point of the same type (maximum or minimum) which has been stored in AMP (a') register. The CPU sets the peak value b' extracted this time into AMP (a') register.
- step Q1106 to Q1108 the CPU checks if the contents of STEP register is 1, 2 or 3. When the system of the electronic guitar under discussion is in the initial condition, the STEP register is 0, and therefore the answer to steps Q1106, Q1107, and Q1108 is NO. In step Q1107, the CPU checks if the peak value b' detected this time is above or below the level of ONLEVI.
- step 01109 If the answer of NO is given in step 01109, the CPU returns to step Q1103. If it derived from low-pass filter 3 is above ONLEVI, step Q1109 gives the answer of YES and the CPU advances to step Q1110.
- step Q1110 the CPU sets "1 " to the STEP register.
- step Q1111 the CPU sets the value of a'-register into the SIGN register.
- the value of a' is "1" at the zero-cross point immediately after the maximum peak point, and is "2" at the zero-cross point immediately after the minimum peak point.
- step Q1112 the value of t', i.e., the time at the zero-cross point Zero 1, is set in the T register.
- step Q1106 the CPU advances to step Q1113.
- the SIGN register is "1 ". Since the present wave of the waveform has passed the negative peak, i.e., the minimum peak point, the register is "2" and NO is given. The CPU does not execute any further processing and returns to step Q1103.
- step Q113 gives the answer of YES.
- step Q114 "2" is set to the STEP register as shown in Fig. 56(b).
- step Q11 the time at the zero-cross point Zero 1 in the T register is subtracted from the this-time interrupt time in the t'-register. The result of the subtraction, i.e., the time length P' of one period of the waveform, is stored into the P' register.
- step Q1165 the contents of t'-register is transferred to the T-register, and a new period measurement starts.
- step Q1117 the CPU directs sound source circuit 9 to generate the musical tone at the frequency based on the contents of the P' register, that is, gives a note-on command. The sounding starts from this timing, as shown in Fig. 56(d).
- step Q1107 gives the answer of YES. Then, in step Q118, the CPU checks if the value of b' is above or below OFFLEV (Fig. 56(a)). In this instance, the peak level is still high, and the answer to step Q1118 is YES, and the operation goes to step Q1119.
- step Q1119 CPU judges whether or not the relative-on processing should be executed. In other words, the CPU checks if the value of the present peak point (b') is above that of the previous peak point by ONLEVII, i.e. checks if the value of the extracted peak point rapidly increases during sounding.
- step Q119 When a string is picked, the vibration of the string gradually damps toward zero. NO is given in step Q119. In the case where, before the vibration of the string previously picked damps to zero, another string is picked by the tremolo playing, for example, the answer to step Q1119 may be YES.
- the CPU jumps from step 1119 to step Q1110, and then executes step Q9 to step Q11.
- the CPU sets "1 " in the STEP register, and subsequently executes the same processing as that of the note-on or sounding start.
- the CPU executes step Q11106, Q1113 to Q1117, and executes the relative-on processing. At this time, the relative-on processing with the attach is executed.
- step Q1120 the CPU executes step Q1120 followed by step Q1119, and compares the contents of a'-register with those of the SIGN register. If these do not coincide, this step Q1120 gives NO, and returns to step Q1103 since the present cross-point is Zero 4, and the SIGN register contains "1 and the a'-register is "2".
- steps Q1103 to Q1107 and Q1118 to Q112n are executed.
- step Q1120 YES is given.
- Steps 1121 and Q1122 are executed to set a new period, i.e., the time from Zero 3 to Zero 5, into the P register.
- step Q1123 the CPU checks if P is larger than (1/2 + a) of P' using the this-time and previous period P and P'.
- "a" is selected to be between 0 and 0.06, for example, allowing for an error of semitone or less. For obtaining an exact value of "a”, it may be obtained experimentally.
- step Q1123 normally, YES is given, and then step Q1124 is executed.
- the CPU gives a command for frequency change to sound source circuit 9 according the pitch this detected.
- the frequency may be changed for each semitone or the unit of smaller than semitone, in a real time manner.
- the contents of the P register is transferred to the P' register in step Q1115, and the CPU returns to step Q3.
- the CPU executes steps Q1103 to Q1107, and Q1118 to Q1120, and returns to Q1103. Alternatively, it executes steps Q1103 to Q1107, and Q1118 to Q1125, when no relative-on processing is executed.
- step Q1118 if the input peak value is below OFFLEV, step Q1118 gives NO, and in step Q1126, the STEP register is cleared. The note-on processing is executed in step Q1127. As described, the musical tone thus sounded from sound source circuit is stopped.
- step Q1108 YES is given.
- step Q1127 At the zero-cross point Zero 9, the value of b' is larger than OFFLEV (Fig. 56(a)), YES is given.
- the CPU goes to step Q1130 and executes the processing for relative-on as in step Q1119.
- step Q1130 If the answer to step Q1130 is YES, steps Q1110 to Q1112 are executed, and subsequently, the note-on processing is executed.
- step Q1130 NO is given, and the CPU returns to step Q1103. Hence, steps Q1103 to Q1108 and Q1129 and Q1130 are executed whenever the zero-cross point is reached.
- step Q1129 NO is given.
- step Q1131 the STEP register is cleared. In this way, the CPU completes a sequence of note-on procedural steps and returns to step Q1103.
- CPU 6 detects it and appropriately controls the electric system of the guitar, so that the circuit erroneously operates. Therefore, unnatural musical tones is never sounded from the guitar. Further, the mute (note-off) is made from that time, the performance by the guitar can be made, as the player intends.
- the STEP register is instantaneously set to "0".
- 3 is set to the STEP register.
- the CPU waits till the input signal level becomes satisfactorily small, and "0" is set to the register.
- the string vibration often continues when the harmonic is input. It is possible to prevent the guitar system from being triggered for the relative-on by the waveform with the level above ONLEVI.
- CPU 600 executes the interrupt processing at the zero-cross point immediately after each of the maximum and minimum peak points.
- the note-on, period computation, relative-on, and note-off processings are performed. These processings may be immediately after these peak points are detected or upon detection of the zero-cross point immediately before the peak point.
- Various other suitable measure may be used for the reference point setting up.
- the correlative method may be used for the pitch extraction.
- While in the present invention is applied for the electronic guitar, it can be applied for any other systems of the type in which pitches are extracted from a sound signal or an electrical vibration as input from a microphone, for example, and an acoustic signal, which is different from the original signal, is generated at the pitches or note frequencies corresponding to those of the original signal.
- pitches are extracted from a sound signal or an electrical vibration as input from a microphone, for example, and an acoustic signal, which is different from the original signal, is generated at the pitches or note frequencies corresponding to those of the original signal.
- Specific examples of such are electronic pianos with key boards, electronic wind instruments, electronic string instruments such as electronic violins and koto (Japanese string instrument).
- the CPU decides that the harmonic comes in, and issues a command of note-off. Therefore, the intended mute effects can be obtained, eliminating unnatural musical tone generation.
- This embodiment improves the pitch change control, which is applied for the sound source circuit.
- the pitch is extracted from an input signal waveform, and then control issues to a sound source circuit a command to sound a musical tone at the pitch as defined by the extracted pitch.
- the sound source circuit needs a long time for the processing based on one pitch change command. Therefore, there is a situation that a new pitch change command is issued when the one command processing is in progress.
- the twelfth Embodiment provides an electronic guitar in which the sound source circuit can follow up the discrete and rapid pitch variation with improved pitch resolution but without any modification of the sound source circuit, thereby realizing natural musical tone sounding.
- a time count means prohibits the issuance of a new pitch change command until a predetermined period of time elapses. This confines the time interval between the adjacent pitch change commands within a predetermined time period, and ensures a correct processing of the sound source circuit.
- the pitch resolution of the sounded musical tone can be increased or made more discrete without the processing speed.
- FIG. 57 An overall circuit arrangement of the twelfth embodiment is shown in Fig. 57, and is substantially equal to that of Fig. 33. Like reference symbols are used for like portions, for simplicity.
- CPU 1200 issues a note-on command to sound source circuit 9.
- a sound source circuit progressively controls the frequency of a sounding musical tone according to the time interval data, which are successively obtained.
- timer 1208 counts a predetermined time duration or the time duration required for one command execution. More specifically, timer 1208 receives a control signal from CPU 1200, and measures the predetermined time, and then applies an interrupt signal INTc to CPU 1200.
- the CPU executes the interrupt processing. This will be described in detail.
- sound source circuit 9 generates a musical tone at the frequency as defined by the pitch change command. Sound system sounds the musical tone.
- interrupt processings by interrupt signals INTa and INTb are substantially the same as those of Fig. 34. The description of these will be omitted.
- FIG. 58 An interrupt routine by interrupt signal INTc is illustrated in Fig. 58.
- a main routine of the twelfth embodiment is shown in Figs. 59A and 59B.
- the main routine is for the processing of the waveform generated by one string.
- the processing of the main routine is correspondingly applied for the waveforms of other strings.
- CPU 1200 executes these main routines in a time divisional manner.
- a STEP register contains four contents 0, 1, 2, and 3.
- the contents of the STEP register progressively change, as shown in Fig. 36(b) or Fig. 37(b), as the string is picked and vibrates (Fig. 36(a) or Fig. 37(a)).
- the contents 0 of this register represents the note-off state.
- a SIGN register is used for indicating that the zero-cross point for period measurement follows the maximum peak point or the minimum peak point.
- the contents 1 of the register indicates the zero-cross point after the maximum peak point, and the contents 2 of the register indicates the zero-cross point after the minimum peak point.
- a REVERSE register stores the data to check whether the interrupt processing has been made, which is executed at the arrival of the zero-cross point after the peak point which is located in opposition to the zero-cross point as given by the SIGN register.
- a T register stores the count of counter 7 at a specific point to measure the period of the input waveform. Count 7 free runs responsive to a given clock signal.
- An AMP (i) register stores the maximum or minimum peak value, more exactly, its absolute value, which is applied from A/D converter 11 and latched in 12.
- An AMP (1) register stores the maximum peak value, and an AMP (2) is for minimum peak value storage.
- a PERIOD register stores the data of measured periods. On the basis of the contents of this register, CPU 1200 executes the frequency control for frequency ROM 8 and sound source circuit 9.
- a FLAG register is used for control purposes. When timer 1208 counts a predetermined time, it contains "0". Before its counting, the FLAG register contains 21".
- P and P' registers store the frequency data representing the extracted pitches (including the frequencies of semitone or less expressed in cent, for example).
- the first constant is ONLEVI.
- the system is in the note-off mode. In this mode, when a peak level higher than ONLEVI is detected, the CPU decides that a string has been picked, and starts the period measurement.
- ONLEVII is used in such a way that in the note-on mode, when the difference between the previous and this-time detection levels is above the level of ONLEVEII, the CPU decides that the tremolo playing is performed, and executes the relative-on processing.
- OFFLEV is used in such a manner that in the note-on mode, if the peak value detected is below this level of OFFLEV, the note-off processing is executed (Fig. 38(a)).
- CPU 1200 Upon arrival of interrupt command signal INTc, CPU 1200 executes the interrupt processing shown in Fig. 58. In step S1201, the CPU clears the FLAG register to "0", and completes this routine processing.
- step Q1201 of the main routine (Figs. 59A and 59B)
- CPU 1200 judges whether or not the contents of the a'-, b'-, and c'-registers have been stored into work memory 601, through the interrupt processing.
- Primed characters a', b' and c' correspond to a, b and c above, and indicate that these items of data have previously stored, respectively. If no interrupt processing has been not executed, the answer to step Q1201 is NO, and CPU 1200 repeats the execution of step Q1201.
- step Q1202. the CPU reads out the registered contents a', b' and t'. Then, the CPU goes to step Q1203, and reads out the peak value at the peak point of the same type (maximum or minimum) which has been stored in AMP (a') register. The CPU sets the peak value b' extracted this time into AMP (a') register.
- step 1204 to Q1206 the CPU checks if the contents of STEP register is 3, 2 or 1. When the system of the electronic guitar under discussion is in the initial condition, the STEP register is 0, and therefore the answer to steps 1204, Q1205 and Q1206 is NO. In step Q1207, the CPU checks if the peak value b' detected this time is above or below the level of ONLEVI.
- step Q1207 gives the answer of YES and the CPU advances to step Q1208.
- step Q1208 the CPU sets "1 " to the STEP register.
- step Q1209 the CPU sets "0" to the REVERSE register.
- step Q1210 the CPU inputs the value of a' into the SIGN register.
- the value of a' is "1 " at the zero-cross point immediately after the maximum peak point, and is "2" at the zero-cross point immediately after the minimum peak point.
- step Q1211 the value of t' is set in the T register.
- the value of a' is set in the SIGN register, that of b' in the AMP register, and that of t' in the T register.
- the value of the SIGN register is "1 " (Fig. 36(a) and Fig. 37(a)). Then, the CPU returns to step Q1201 again.
- step Q1201, Q1202, Q1203, 1204, Q1205 and Q1206 will be executed. If the answer YES is given in step Q1206, the CPU advances to step Q1212.
- the SIGN register is "1". Since the present wave of the waveform has passed the negative peak, the register is "2" and NO is given. When the zero-cross point immediately after the peak point with the same polarity is reached, this step gives YES. The CPU does not execute any further processing and returns to step Q1201.
- step Q1212 NO is given, and after that, the CPU advances to Q1213 and sets 2 in the STEP register (see Fig.36(b) and Fig. 37(b)).
- step Q1214 the CPU executes step Q1214 and compares the previous peak point (AMP (SIGN)) with the present peak point (b'). If the previous value XO is smaller than the present value (X1>XO) as shown in Fig.36(a), YES will be given.
- the CPU jumps from step Q1214 to steps Q1210 and Q1211, to set 2 in the SIGN register and at the same time to transfer the contents of the t'-register to the T register.
- step Q1214 NO is given in step Q1214 and 1 is set in the REVERSE register in step Q1215.
- the previous value 1 is maintained in the SIGN register.
- the previous zero-cross point Zero 1 is the period measuring start point, in this case (see Fig. 37(c)).
- step Q1216 When the CPU executes the main flow after the next zero-cross point (Zero 3) is passed, the CPU advances to step Q1216 after YES is given in step Q1205.
- the present value of a' is 1, that of the SIGN register is 2 as shown in Fig. 36, and that of the SIGN register is 1 as shown in Fig. 37. Therefore, in the case of Fig. 36, NO is given in step Q1216 and the CPU advances to Q1215 and returns to Q1201. In other words, CPU 1200 recognizes that the first peak point (amplitude X2) is passed after the period measurement starts.
- step Q1216 the CPU has the answer of YES in step Q1216 and advances to step Q1217 to check if the value of the REVERSE register is 1. If the value of the REVERSE register is not 1, the CPU judges NO and returns to step Q1201. As mentioned above, after execution of step Q1215, the value of this register is 1. Then, the CPU advances to step Q1217 and Q1218, and inputs 3 in the STEP register (see Fig. 37(b)). In step S1219, the CPU subtracts the value of the T register, i.e. the time of the zero-cross point Zero 1, from the value of the counter 7 given by the this-time interrupt processing, and the CPU loads it in the PERIOD register.
- T register i.e. the time of the zero-cross point Zero 1
- the time length PERIOD shown in Fig. 37(c) is that of one period.
- the CPU transfers the contents of t'-register to the T register, and starts the new period measurement.
- step Q1240 the CPU computes the pitch of the musical tone to be generated on the basis of the PERIOD register, and loads the pitch data (some other data representing the computed data) into the P' register.
- the pitch data preferably contains octave, note, and the pitch of semitone or less, which are expressed in the unit of cent.
- step S1221 CPU 1200 issues a note-on command to sound source circuit 9 in response to the contents of the P' register. From this time point, the musical tone is generated.
- the CPU flows to step Q1241.
- timer 8 starts its count and counts a predetermined time under control of the CPU.
- step Q1242 "1 " is set in the FLAG register.
- Fig. 36 the main flow after the next zero-cross point Zero 4 is executed again, and the CPU jumps from step Q1205 to Q1216. Since the value of the SIGN register is now 2, YES is given in step Q1216. Subsequently, steps Q1217 to Q1240, Q1221, and Q1241 to 1242 are executed. At this time, CPU 1200 recognizes the time interval from zero-cross points Zero 2 to Zero 4 shown in Fig. 36(c), as one period. The guitar starts the sounding of the musical tone at the frequency as defined by the time length recognized (see Fig. 36-(d)).
- the period measurement is executed from the next zero-cross point after the peak point whose value is larger.
- the period measurement is completed at the next zero-cross point located in the same side as the previous peak point.
- one period of low-pass filter 3 output waveform is extracted.
- the CPU advances from step 1204 to step Q22 in the main routine processing, and checks if the value of the present peak point b' is above OFFLEV as shown in Fig. 38.
- step Q1223 judges whether or not the relative-on processing should be executed.
- the CPU checks if the value of the present peak point (b') is above that of the previous peak point by ONLEVII, i.e. checks if the value of the extracted peak point rapidly increases during sounding.
- step Q23 When a string is picked, the vibration of the string gradually damps toward zero. NO is given in step Q23. In case that before the vibration of the string previously picked damps to zero, another string is picked by the tremolo playing, for example, the answer to step Q23 is often YES.
- the CPU jumps to step Q1208 after judging YES in Q23, and then executes step Q1209 to step Q1211.
- the CPU sets "1" in the STEP register, and subsequently executes the same processing as that of the sounding start.
- the CPU executes step Q1216 to step Q1221 again, and executes the relative-on processing.
- step Q1223 the CPU executes step Q1223 followed by step Q1224, and compares the contents of a'-register with those of the SIGN register. If these do not coincide, the CPU advances to step Q1215 for the interrupt processing at the next zero-cross point. If these coincide, the CPU proceeds to step Q1202 because the present wave of the waveform has the peaks with the opposite polarities (positive and negative peaks) in the past. Then the CPU judges whether or not the value of the REVERSE register is "1 ". If the result is NO, it returns directly to step Q1201. If YES is given, the CPU advances from step Q1225 to step Q1226. Then the contents of the T register is subtracted from those of the t' register for obtaining a new period, and the result is set in the PERIOD register.
- step Q1227 the contents of t' register are transferred to the T register.
- step Q1229 CPU 1200 clears the REVERSE register and executes the next period measurement.
- step 1243 the CPU checks if the FLAG register contains "0". If the answer is NO, the CPU returns to step Q1201. No pitch change processing is performed on the period data as stored in the PERIOD register.
- step Q1241 that is, timer Q1208 has counted time from the previous note-on processing and pitch change processing, and the interrupt processing (Fig. 58) has been made, if a new frequency change command is applied to sound source circuit 9, the circuit 9 accepts the command for its appropriate processing.
- step Q1244 Control flows to the next step Q1244, whose processing is similar to that of step Q1240.
- step Q1244 the pitch frequency data is set to the P register.
- step Q1245 the CPU checks if the frequency data stored in the P' register is coincident with that in the P register obtained this time.
- step Q1245 If these are coincident, no frequency change is required, and control flows from step Q1245 to Q1201. If these are not coincident, the CPU decides that the frequency of the input signal has been changed by the guitar playing, for example, and executes the following processing to change the frequency of the output musical tone.
- step Q1245 When NO is given in step Q1245, control flows to step Q1228.
- the pitch data in the register is transferred to sound source circuit 9.
- the circuit changes the old frequency of the musical tone to the new one.
- step Q1228 CPU 1200 transfers the contents of the P register to the P' register, and in steps Q1241 and 1242, is ready for the next pitch change.
- this embodiment discretely and momen- tly picks up a variation of the frequency of string vibration, and controls the frequency according to the picked up discrete data in a real time manner.
- step Q1222 the string vibration damps and the peak value becomes below the level of OFFLEV, as shown in Fig. 38, the CPU jumps from step Q1222 to step Q1230 to clear the STEP register.
- step Q1231 the note-off processing is executed, and the CPU gives the note-off command to sound source circuit 9, to stop the sounding of musical tone.
- the electronic guitar of this embodiment can execute the satisfactory processing when receiving a musical tone with continually and rapidly changing pitches. This can be realized with high resolution of pitch, and regardless of the data transfer speed between CPU 1200 and sound source circuit 9.
- CPU 1200 executes the corresponding processing, and gives a necessary command to sound source circuit 9. In this respect, the guitar system is good in response.
- the CPU executes the interrupt processing at the zero-cross point immediately after each peak point followed by the various types of processings such as the sounding start, period calculation, relative-on and note-off. If necessary, these processings can be executed when each peak point is detected or when the zero-cross point immediately before the peak point is detected. Any other suitable measure may be taken for obtaining the reference point. If necessary, an additional pitch extraction system may be used, which is based on the auto-correlation function.
- the present invention is applied for the electronic guitar, it can be applied for any other systems of the type in which pitches are extracted from a sound signal or an electrical vibration as input from a microphone, for example, and an acoustic signal, which is different from the original signal, is generated at the pitches or note frequencies corresponding to those of the original signal.
- pitches are extracted from a sound signal or an electrical vibration as input from a microphone, for example, and an acoustic signal, which is different from the original signal, is generated at the pitches or note frequencies corresponding to those of the original signal.
- Specific examples of such are electronic pianos with key boards, electronic wind instruments, electronic string instruments such as electronic violins and koto (Japanese string instrument).
- the electronic guitar of this embodiment has a high pitch resolution with a low frequency of outputting the pitch change commands.
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Electrophonic Musical Instruments (AREA)
Applications Claiming Priority (15)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP253487/86 | 1986-10-24 | ||
JP61253487A JPS63106795A (ja) | 1986-10-24 | 1986-10-24 | 電子楽器の入力制御装置 |
JP61282142A JPS63136088A (ja) | 1986-11-28 | 1986-11-28 | 電子楽器の入力制御装置 |
JP282142/86 | 1986-11-28 | ||
JP61283292A JP2555551B2 (ja) | 1986-11-28 | 1986-11-28 | 入力波形信号制御装置 |
JP283292/86 | 1986-11-28 | ||
JP61285985A JPS63139399A (ja) | 1986-12-02 | 1986-12-02 | 波形信号入力制御装置 |
JP285985/86 | 1986-12-02 | ||
JP286745/86 | 1986-12-03 | ||
JP61286745A JPS63141099A (ja) | 1986-12-03 | 1986-12-03 | 電子楽器の入力制御装置 |
JP62004714A JP2508044B2 (ja) | 1987-01-12 | 1987-01-12 | 電子楽器の入力制御装置 |
JP4714/87 | 1987-01-12 | ||
JP62050381A JPH07104666B2 (ja) | 1987-03-06 | 1987-03-06 | ピッチ抽出装置 |
JP50381/87 | 1987-03-06 | ||
EP19870115594 EP0264955B1 (de) | 1986-10-24 | 1987-10-23 | Gerät zur Bestimmung der Tonhöhe eines im wesentlichen periodischen Eingangssignales |
Related Parent Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP87115594.1 Division | 1987-10-23 | ||
EP19870115594 Division EP0264955B1 (de) | 1986-10-24 | 1987-10-23 | Gerät zur Bestimmung der Tonhöhe eines im wesentlichen periodischen Eingangssignales |
Publications (3)
Publication Number | Publication Date |
---|---|
EP0493374A2 true EP0493374A2 (de) | 1992-07-01 |
EP0493374A3 EP0493374A3 (en) | 1992-11-19 |
EP0493374B1 EP0493374B1 (de) | 1998-04-29 |
Family
ID=27563289
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP19870115594 Expired - Lifetime EP0264955B1 (de) | 1986-10-24 | 1987-10-23 | Gerät zur Bestimmung der Tonhöhe eines im wesentlichen periodischen Eingangssignales |
EP92105224A Expired - Lifetime EP0493374B1 (de) | 1986-10-24 | 1987-10-23 | Gerät zum Erzeugen eines Musiktonsignales gemäss eines Eingangswellenform-Signals |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP19870115594 Expired - Lifetime EP0264955B1 (de) | 1986-10-24 | 1987-10-23 | Gerät zur Bestimmung der Tonhöhe eines im wesentlichen periodischen Eingangssignales |
Country Status (3)
Country | Link |
---|---|
EP (2) | EP0264955B1 (de) |
DE (2) | DE3752185T2 (de) |
HK (1) | HK1005348A1 (de) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0196700A (ja) * | 1987-10-08 | 1989-04-14 | Casio Comput Co Ltd | 電子楽器の入力制御装置 |
CN108333506A (zh) * | 2018-04-08 | 2018-07-27 | 杭州欣美成套电器制造有限公司 | 一种近零信号提取与交流开关位置检测电路 |
CN111030412B (zh) * | 2019-12-04 | 2022-04-29 | 瑞声科技(新加坡)有限公司 | 一种振动波形的设计方法及振动马达 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2138988A (en) * | 1983-02-27 | 1984-10-31 | Casio Computer Co Ltd | Electronic musical instrument |
GB2162989A (en) * | 1984-08-09 | 1986-02-12 | Casio Computer Co Ltd | Tone information processing device for an electronic musical instrument |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4627323A (en) * | 1984-08-13 | 1986-12-09 | New England Digital Corporation | Pitch extractor apparatus and the like |
-
1987
- 1987-10-23 DE DE19873752185 patent/DE3752185T2/de not_active Expired - Lifetime
- 1987-10-23 EP EP19870115594 patent/EP0264955B1/de not_active Expired - Lifetime
- 1987-10-23 DE DE19873784830 patent/DE3784830T2/de not_active Expired - Lifetime
- 1987-10-23 EP EP92105224A patent/EP0493374B1/de not_active Expired - Lifetime
-
1998
- 1998-05-20 HK HK98104364A patent/HK1005348A1/xx not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2138988A (en) * | 1983-02-27 | 1984-10-31 | Casio Computer Co Ltd | Electronic musical instrument |
GB2162989A (en) * | 1984-08-09 | 1986-02-12 | Casio Computer Co Ltd | Tone information processing device for an electronic musical instrument |
Also Published As
Publication number | Publication date |
---|---|
EP0264955A2 (de) | 1988-04-27 |
DE3752185D1 (de) | 1998-06-04 |
DE3752185T2 (de) | 1998-08-27 |
DE3784830D1 (de) | 1993-04-22 |
EP0493374B1 (de) | 1998-04-29 |
EP0493374A3 (en) | 1992-11-19 |
DE3784830T2 (de) | 1993-10-14 |
EP0264955A3 (en) | 1989-08-30 |
EP0264955B1 (de) | 1993-03-17 |
HK1005348A1 (en) | 1998-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5018428A (en) | Electronic musical instrument in which musical tones are generated on the basis of pitches extracted from an input waveform signal | |
US6930236B2 (en) | Apparatus for analyzing music using sounds of instruments | |
Su et al. | Sparse Cepstral, Phase Codes for Guitar Playing Technique Classification. | |
JP2799364B2 (ja) | 音高認識方法及び装置 | |
Chen et al. | Electric Guitar Playing Technique Detection in Real-World Recording Based on F0 Sequence Pattern Recognition. | |
WO2002047064A1 (en) | Method for analyzing music using sounds of instruments | |
WO2006132599A1 (en) | Segmenting a humming signal into musical notes | |
EP1579419A1 (de) | Verfahren und vorrichtung zur analyse von audiosignalen | |
WO2004051622A1 (ja) | 楽曲データ作成装置及び方法 | |
JP3996565B2 (ja) | カラオケ装置 | |
Wong et al. | Automatic lyrics alignment for Cantonese popular music | |
EP0493374A2 (de) | Elektronisches Musikinstrument, wobei Musiktöne von aus einer Eingangswellenform gezogenen Tonhöhen erzeugt werden | |
US5710387A (en) | Method for recognition of the start of a note in the case of percussion or plucked musical instruments | |
Kitahara et al. | Instrogram: A new musical instrument recognition technique without using onset detection nor f0 estimation | |
US4924746A (en) | Input apparatus of electronic device for extracting pitch from input waveform signal | |
JPH0675562A (ja) | 自動採譜装置 | |
JP6135312B2 (ja) | 電子弦楽器、楽音制御方法及びプログラム | |
US5606145A (en) | Code changing method for electronic music instrument with automatic accompaniment function and slur processing | |
JPH0648556Y2 (ja) | 電子楽器の入力制御装置 | |
JP2611263B2 (ja) | 発音制御装置 | |
JP2508035B2 (ja) | 入力波形信号制御装置 | |
Kalyan et al. | Audio segmentation using a priori information in the context of Karnatic Music | |
Drugman et al. | Guitar as controller | |
JP2014134756A (ja) | 電子弦楽器、楽音発生方法及びプログラム | |
JP6255725B2 (ja) | 楽音発生装置、楽音発生方法及びプログラム |
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 |
|
17P | Request for examination filed |
Effective date: 19920423 |
|
AC | Divisional application: reference to earlier application |
Ref document number: 264955 Country of ref document: EP |
|
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 |
|
17Q | First examination report despatched |
Effective date: 19960529 |
|
GRAG | Despatch of communication of intention to grant |
Free format text: ORIGINAL CODE: EPIDOS AGRA |
|
GRAG | Despatch of communication of intention to grant |
Free format text: ORIGINAL CODE: EPIDOS AGRA |
|
GRAH | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOS IGRA |
|
GRAH | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOS IGRA |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
AC | Divisional application: reference to earlier application |
Ref document number: 264955 Country of ref document: EP |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): DE FR GB IT |
|
REF | Corresponds to: |
Ref document number: 3752185 Country of ref document: DE Date of ref document: 19980604 |
|
ITF | It: translation for a ep patent filed | ||
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: 20061018 Year of fee payment: 20 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: DE Payment date: 20061019 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: 20061031 Year of fee payment: 20 |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: PE20 |
|
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: 20071022 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: FR Payment date: 20061010 Year of fee payment: 20 |