DE3784830T2 - Device for determining the pitch of an essentially periodic input signal. - Google Patents

Device for determining the pitch of an essentially periodic input signal.

Info

Publication number
DE3784830T2
DE3784830T2 DE19873784830 DE3784830T DE3784830T2 DE 3784830 T2 DE3784830 T2 DE 3784830T2 DE 19873784830 DE19873784830 DE 19873784830 DE 3784830 T DE3784830 T DE 3784830T DE 3784830 T2 DE3784830 T2 DE 3784830T2
Authority
DE
Germany
Prior art keywords
cpu
input signal
zero
period
waveform
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE19873784830
Other languages
German (de)
Other versions
DE3784830D1 (en
Inventor
Katsuhiko Pat Dept Dev H Obata
Shigeru Pat Dept Dev Uchiyama
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP61253487A external-priority patent/JPS63106795A/en
Priority claimed from JP61283292A external-priority patent/JP2555551B2/en
Priority claimed from JP61282142A external-priority patent/JPS63136088A/en
Priority claimed from JP61285985A external-priority patent/JPS63139399A/en
Priority claimed from JP61286745A external-priority patent/JPS63141099A/en
Priority claimed from JP62004714A external-priority patent/JP2508044B2/en
Priority claimed from JP62050381A external-priority patent/JPH07104666B2/en
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Publication of DE3784830D1 publication Critical patent/DE3784830D1/en
Application granted granted Critical
Publication of DE3784830T2 publication Critical patent/DE3784830T2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H3/00Instruments in which the tones are generated by electromechanical means
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects 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/031Musical 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/066Musical 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

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Electrophonic Musical Instruments (AREA)

Description

Die vorliegende Erfindung betrifft eine Vorrichtung zum Bestimmen der Tonhöhe eines im wesentlichen periodischen Eingangssignals und insbesondere ein elektronisches Saiteninstrument so wie eine elektronische Gitarre oder einen Gitarrrensynthesizer, welcher eine solche Vorrichtung beinhaltet.The present invention relates to a device for determining the pitch of a substantially periodic input signal and in particular to an electronic string instrument such as an electronic guitar or a guitar synthesizer which includes such a device.

In der jüngeren Vergangenheit sind Musikinstrumente des Typs entwickelt worden, bei welchem eine Tonhöhe (Frequenz) aus einem Wellenformsignal extrahiert wird, welches durch ein natürliches oder konventionelles Musikinstrument erzeugt worden ist, und wobei unter Steuerung der extrahierten Tonhöhe eine Tonquelle einer elektronischen Schaltung angesteuert wird, um künstlich einen Ton so wie einen Musikton zu erzeugen.In recent years, musical instruments of the type have been developed in which a pitch (frequency) is extracted from a waveform signal produced by a natural or conventional musical instrument, and under control of the extracted pitch, a sound source of an electronic circuit is driven to artificially produce a tone such as a musical tone.

Bei diesem Typ von Musikinstrumenten ist die Tonhöhenextraktion noch mit einigen Problemen verbunden, welche dringend gelöst werden müssen. Typische Tonhöhenextraktionssysteme sind das Nulldurchgangspunkt-Erfassungssystem und das Spitzenerfassungssystem.In this type of musical instruments, pitch extraction still involves some problems that need to be urgently solved. Typical pitch extraction systems are the zero-crossing point detection system and the peak detection system.

Das Nulldurchgangspunkt-Erfassungssystem erfaßt die Zeitintervalle zwischen den Nulldurchgangspunkten in der Eingangswellenform und verwendet sie als Perioden des künstlichen Tons. Die Eingangswellenform enthält häufig Oberwellen, welche durch Filter so wie Tiefpaßfilter entfernt werden sollten. Das Erfassungssystem arbeitet bei solchen Eingangswellenformen nicht gut. Bei seiner Verwendung beinhalten die erfaßten Tonhöhen viele Fehler. Um diese Fehler zu vermeiden, wird komplizierte Software-Verarbeitung erfordert, beispielsweise um die Funktion der Eingangswellenform zu überprüfen. Es ist technisch schwierig, dies zu realisieren.The zero-crossing point detection system detects the time intervals between the zero-crossing points in the input waveform and uses them as periods of the artificial tone. The input waveform often contains harmonics, which should be removed by filters such as low-pass filters. The detection system does not work well with such input waveforms. When used, the detected pitches contain many errors. To avoid these errors, complicated software processing is used. requires, for example, to check the function of the input waveform. It is technically difficult to achieve this.

Das Spitzenerfassungssystem erfaßt Maximum- und Minimum- Spitzenpunkte des Eingangswellenformsignals und setzt ein Flipflop - bzw. setzt es zurück - bei den Spitzenpunkten, um ein Periodensignal zu erzeugen, beispielsweise ein Rechteckwellensignal. Spitzenerfassungssysteme werden in der KOKOKU Nr. 57-37074 (entspricht der US-A-4,117,757) und der 57-58672 offenbart, in der KOKAI Nr. 55-55398, 55-152597 (Gebrauchsmuster) und der 61-26090 und in der US-A- 4,627,323.The peak detection system detects maximum and minimum peak points of the input waveform signal and sets or resets a flip-flop at the peak points to generate a periodic signal, such as a square wave signal. Peak detection systems are disclosed in KOKOKU No. 57-37074 (corresponding to US-A-4,117,757) and 57-58672, KOKAI No. 55-55398, 55-152597 (utility model) and 61-26090, and US-A-4,627,323.

Das Spitzenerfassungssystem bestimmt beispielsweise die Periode der künstlichen Tonwellenform durch das Zeitintervall zwischen den benachbarten Maximumspitzen. Dieses Merkmal verursacht eine Herabsetzung der Zuverlässigkeit der erfaßten Tonhöhen und ein langsames Ansprechen auf Frequenzänderung des natürlichen Tonwellenformeingangs. Die Verwendung des R-S-Flipflops macht die Instrumentenschaltung inflexibel für allgemeine Verwendung und macht es schwierig, sogenannte intelligente Musikinstrumente zu konstruieren, welche Datenverarbeitungsfunktionen aufweisen.For example, the peak detection system determines the period of the artificial tone waveform by the time interval between the adjacent maximum peaks. This feature causes a reduction in the reliability of the detected pitches and a slow response to frequency change of the natural tone waveform input. The use of the R-S flip-flop makes the instrument circuit inflexible for general use and makes it difficult to construct so-called intelligent musical instruments having data processing functions.

Andere Vorschläge einer Tonhöhenerfassung sind in der KOKAI Nr. 55-87196 und 55-159495 und in der KOKOKU Nr. 61-51793 offenbart.Other proposals for pitch detection are disclosed in KOKAI Nos. 55-87196 and 55-159495 and in KOKOKU No. 61-51793.

In der KOKAI 55-87196 wird vorgeschlagen, die Periode des natürlichen Tonwellenformeingangs zu messen und danach den gemessenen Wert in eine Frequenzzahl umzuwandeln, welche wiederum der Tonquelle gesendet wird. Irgend ein neuer technischer Vorschlag zur Periodenmessung wird in dieser Beschreibung nicht offenbart.In KOKAI 55-87196, it is proposed to measure the period of the natural sound waveform input and then convert the measured value into a frequency number, which is in turn sent to the sound source. Any new technical proposal for period measurement is not disclosed in this specification.

Die KOKAI 55-159495 und KOKOKU 61-51793 offenbaren eine Frequenzstabilisierungstechnik, bei welcher das Ertönen eines Musikinstruments beginnt, wenn die benachbarten extrahierten Perioden im wesentlichen dieselben sind. Ein Befehl zum Ertönen wird der Tonquelle nicht gesandt, bis wenigstens zwei Perioden verstrichen sind. Diesbezüglich umfassen die Systeme dieser Dokumente ein Ansprechfunktionsproblem. Um ein schnelles Ansprechen zu erzielen, sollte das Ertönen so schnell wie möglich beginnen.KOKAI 55-159495 and KOKOKU 61-51793 disclose a frequency stabilization technique in which sounding of a musical instrument starts when the adjacent extracted periods are substantially the same. A command to sound is not sent to the sound source until at least two periods have elapsed. In this regard, the systems of these documents involve a response function problem. In order to achieve a fast response, sounding should start as soon as possible.

Die Gebrauchsmuster-KOKOKU Nr. 62-20871 (entspricht der US- A-4,606,255) offenbart eine andere Frequenzstabilisierungstechnik. Bei einem Saitenmusikinstrument wirkt eine Vibration einer Saite auf die Vibration einer anderen Saite ein. Die Letztgenannte vibriert extrem, wobei sie in der Vibrationsfrequenz der Erstgenannten mitschwingt. Das darin vorgeschlagene System bringt hohe Kosten hervor, da mechanische Teile verwendet werden und darüber hinaus die Resonanz nur unvollkommen entfernt werden kann.Utility Model KOKOKU No. 62-20871 (corresponding to US-A-4,606,255) discloses another frequency stabilization technique. In a stringed musical instrument, a vibration of one string affects the vibration of another string. The latter vibrates extremely, resonating at the vibration frequency of the former. The system proposed therein entails high costs because mechanical parts are used and, moreover, resonance can only be removed imperfectly.

Es ist daher die Aufgabe der vorliegenden Erfindung, eine Tonhöhenbestimmungsvorrichtung nach dem Oberbegriff des Anspruchs 1 derart zu verbessern, daß die Tonhöhe eines periodischen Eingangssignals in einer kurzen Zeit und mit größerer Genauigkeit bestimmt werden kann.It is therefore the object of the present invention to improve a pitch determination device according to the preamble of claim 1 such that the pitch of a periodic input signal can be determined in a short time and with greater accuracy.

Gemäß der vorliegenden Erfindung wird diese Aufgabe durch die vorteilhaften Maßnahmen gelöst, welche im neuen Anspruch 1 angezeigt sind.According to the present invention, this object is achieved by the advantageous measures indicated in the new claim 1.

Vorteilhafte Weiterentwicklungen der Erfindung sind Gegenstand der Unteransprüche.Advantageous further developments of the invention are the subject of the subclaims.

Die Erfindung wird nun in größerem Detail unter Hinweis auf die zugehörigen Zeichnungen beschrieben, in welchenThe invention will now be described in more detail with reference to the accompanying drawings, in which

Fig. 1 in Blockform eine Gesamtanordnung einer Tonhöhenbestimmungsvorrichtung erläutert;Fig. 1 illustrates in block form an overall arrangement of a pitch determining device;

Fig. 2 ein Schaltungsdiagramm eines Maximum- oder Positivspitzendetektors zeigt, welcher in der Schaltung von Fig. 1 verwendet wird;Fig. 2 shows a circuit diagram of a maximum or positive peak detector used in the circuit of Fig. 1;

Fig. 3 ein Schaltungsdiagramm eines Minimum- oder Negativspitzendetektors zeigt, welcher in der Schaltung von Fig. 1 verwendet wird;Fig. 3 shows a circuit diagram of a minimum or negative peak detector used in the circuit of Fig. 1;

Fig. 4 ein Zeitablaufsdiagramm zeigt, welches für die Erklärung des Betriebs der Schaltungen von Fig. 2 und 3 nützlich ist;Fig. 4 shows a timing diagram useful for explaining the operation of the circuits of Figs. 2 and 3;

Fig. 5 eine graphische Repräsentation einer Grenzfrequenz eines Tiefpaßfilters zeigt, welcher in der Schaltung von Fig. 1 verwendet wird;Fig. 5 shows a graphical representation of a cutoff frequency of a low-pass filter used in the circuit of Fig. 1;

Fig. 6 ein Flußdiagramm eines Hauptprogramms zeigt, welches von einer CPU einer in Fig. 1 gezeigten Schaltung verwendet wird;Fig. 6 shows a flowchart of a main program used by a CPU of a circuit shown in Fig. 1;

Fig. 7 ein Flußdiagramm eines Unterbrechungsprogramms zeigt, welches durch die CPU ausgeführt wird, wenn der Maximum- oder Positivspitzenpunkt MAX erfaßt wird;Fig. 7 shows a flow chart of an interrupt routine which is executed by the CPU when the maximum or positive peak point MAX is detected;

Fig. 8 ein Flußdiagramm eines Unterbrechungsprogramms zeigt, welches von der CPU ausgeführt wird, wenn der Minimum- oder Negativspitzenpunkt MIN erfaßt wird;Fig. 8 shows a flow chart of an interrupt routine executed by the CPU when the minimum or negative peak point MIN is detected;

Fig. 9 Wellenformen eines Eingangssignals für die Schaltung von Fig. 1 und von Flags zeigt;Fig. 9 shows waveforms of an input signal to the circuit of Fig. 1 and of flags;

Fig. 10 und 11 in Blockform eine Gesamtanordnung einer anderen Tonhöhenbestimmungsvorrichtung erläutern;Figs. 10 and 11 illustrate in block form an overall arrangement of another pitch determining device;

Fig. 12 ein Schaltungsdiagramm eines Nulldurchgangspunktdetektors zeigt, welcher in der Schaltung von Fig. 10 verwendet wird;Fig. 12 shows a circuit diagram of a zero crossing point detector used in the circuit of Fig. 10;

Fig. 13 ein Zeitablaufsdiagramm zeigt, welches nützlich bei der Erklärung des Betriebs der Schaltung von Fig. 10 ist, wenn sie eine Wellenform des Eingangssignals empfängt;Fig. 13 shows a timing diagram useful in explaining the operation of the circuit of Fig. 10 when it receives a waveform of the input signal;

Fig. 14 ein Flußdiagramm eines Unterbrechungsprogramms zeigt, welches von der CPU der Schaltung von Fig. 10 und 11 ausgeführt wird, wenn der Nulldurchgangspunkt festgestellt wird, unmittelbar nachdem ein Maximum-Spitzenpunkt festgestellt wird;Fig. 14 shows a flow chart of an interrupt routine which is executed by the CPU of the circuit of Figs. 10 and 11 when the zero-crossing point is detected immediately after a maximum peak point is detected;

Fig. 15 ein Flußdiagramm eines Unterbrechungsprogramms zeigt, welches von der CPU der Schaltung von Fig. 10 und 11 ausgeführt wird, unmittelbar wenn der Nulldurchgangspunkt festgestellt wird, nachdem ein Minimum-Spitzenpunkt festgestellt wird;Fig. 15 shows a flow chart of an interrupt routine which is executed by the CPU of the circuit of Figs. 10 and 11 immediately when the zero-crossing point is detected after a minimum peak point is detected;

Fig. 16 ein Zeitablaufsdiagramm zeigt, welches nützlich ist beim Erklären des Betriebs der Schaltung von Fig. 10 und 11, wenn sie eine andere Wellenform des Eingangssignals empfängt;Fig. 16 shows a timing diagram useful in explaining the operation of the circuit of Figs. 10 and 11 when it receives a different waveform of the input signal;

Fig. 17 in Blockform eine Gesamtanordnung einer ersten Ausführungsform der vorliegenden Erfindung erläutert;Fig. 17 illustrates in block form an overall arrangement of a first embodiment of the present invention;

Fig. 18 ein Flußdiagramm eines Hauptprogramms einer CPU der Schaltung von Fig. 17 zeigt;Fig. 18 shows a flow chart of a main program of a CPU of the circuit of Fig. 17;

Fig. 19 ein Zeitablaufsdiagramm zeigt, welches nützlich ist beim Erklären des Betriebs der Schaltung von Fig. 17, wenn sie eine Wellenform des Eingangssignals empfängt;Fig. 19 shows a timing diagram useful in explaining the operation of the circuit of Fig. 17 when it receives a waveform of the input signal;

Fig. 20 ein Flußdiagramm eines Unterbrechungsprogramms zeigt, welches von der CPU der Schaltung von Fig. 17 ausgeführt wird, wenn der Nulldurchgangspunkt festgestellt wird, unmittelbar nachdem ein Maximum- oder Positivspitzenwert festgestellt wird;Fig. 20 is a flow chart of an interrupt routine executed by the CPU of the circuit of Fig. 17 when the zero-crossing point is detected immediately after a maximum or positive peak value is detected;

Fig. 21 ein Flußdiagramm eines Unterbrechungsprogramms zeigt, welches von der CPU der Schaltung von Fig. 17 ausgeführt wird, unmittelbar wenn der Nulldurchgangspunkt festgestellt wird, nachdem ein Minimum- oder Negativspitzenpunkt festgestellt wird;Fig. 21 shows a flow chart of an interrupt routine which is executed by the CPU of the circuit of Fig. 17 immediately when the zero-crossing point is detected after a minimum or negative peak point is detected;

Fig. 22 ein Flußdiagramm zeigt, welches nützlich ist bei dem Erklären des Betriebs der Schaltung von Fig. 17, wenn sie eine andere Wellenform des Eingangssignals empfängt;Fig. 22 shows a flow chart useful in explaining the operation of the circuit of Fig. 17 when it receives a different waveform of the input signal;

Fig. 23 ein Zeitablaufsdiagramm zum Erklären des Betriebs der Schaltung von Fig. 24 zeigt;Fig. 23 is a timing chart for explaining the operation of the circuit of Fig. 24;

Fig. 24 ein Blockdiagramm einer Modifikation der Schaltung von Fig. 17 zeigt;Fig. 24 shows a block diagram of a modification of the circuit of Fig. 17;

Fig. 25 eine Wellenform zeigt, welche möglicherweise einen fehlerhaften Betrieb beim Extrahieren der Tonhöhe einer Eingangssignalwellenform zur Folge hat, wobei das Problem dieses fehlerhaften Betriebs durch eine zweite Ausführungsform der vorliegenden Erfindung gelöst wird;Fig. 25 shows a waveform which may result in erroneous operation when extracting the pitch of an input signal waveform, the problem of this erroneous operation is solved by a second embodiment of the present invention;

Fig. 26A und 26B ein Hauptprogramm zeigen, welches von einer CPU in der zweiten Ausführungsform ausgeführt wird;Figs. 26A and 26B show a main program executed by a CPU in the second embodiment;

Fig. 27 ein Zeitablaufsdiagramm zum Erklären des Betriebs der zweiten Ausführungsform zeigt; undFig. 27 shows a timing chart for explaining the operation of the second embodiment; and

Fig. 28 ein Schaltungsdiagramm der zweiten Ausführungsform zeigt.Fig. 28 shows a circuit diagram of the second embodiment.

Zuerst wird unter Bezugnahme auf Fig. 1 bis 16 eine Tonhöhenbestimmungsvorrichtung beschrieben, welche nicht die Kernmerkmale der vorliegenden Erfindung beinhaltet. Die Konstruktion und der Betrieb jener Tonhöhenbestimmungsvorrichtung wird jedoch zum vollständigen Verstehen der vorliegenden Erfindung als nützlich erachtet.First, a pitch determining device which does not incorporate the core features of the present invention will be described with reference to Figs. 1 to 16. However, the construction and operation of that pitch determining device is considered useful for fully understanding the present invention.

Eine Gesamtschaltungsanordnung eines Musikinstrumentes, welches in eine elektronische Gitarre eingefügt ist, wird in Fig. 1 erläutert. Schwingungen von 6 Saiten der elektronischen Gitarre werden von (nicht gezeigten) Pick-up's aufgenommen. Die Pick-ups wandeln die mechanischen Schwingungen der Saiten in elektrische Signale um. Diese Signale werden als Musiktonsignale sechs Eingangsanschlüssen 1 eingegeben. Diese Eingangssignale werden durch Verstärker 2 verstärkt und Tiefpaßfiltern 3 zugeführt. Diese Filter entfernen jeweils die Hochfrequenzkomponenten dieser Signale, um die Grundwellenform dieser Eingangssignale zu extrahieren. Jedes Eingangssignal der Grundwellenform wird an ein Maximum- Spitzendetektor (MAX) 4 und an einen Minimum-Spitzendetektor (MIN) 5 angelegt. Jeder Tiefpaßfilter 3 ist derart entworfen, wie es Fig. 5 zeigt, so daß die Grenzfrequenz auf 4f gesetzt wird, vier mal die Frequenz f der Schwingung der offenen Saite jeder Saite, wenn jede Saite ohne die Bundbetätigung gezupft wird. Eine derartige Auswahl der Grenzfrequenz rührt von der Tatsache her, daß die Gitarre im allgemeinen Bünde über etwa 2 Oktaven aufweist. Jeder der Maximum-Spitzendetektoren 4 erfaßt die Maximum-Spitzenpunkte des Eingangssignals. Die Pulssignale, welche die Spitzenerfassungen repräsentieren, werden als Unterbrechungsbefehlssignale INTa1 bis INTa6 verwendet und einer CPU 6 übertragen. Minimum-Spitzendetektoren 5 erfassen jeden Minimum-Spitzenpunkt des Eingangssignals. Die den Spitzenerfassungen repräsentativen Pulssignale werden der CPU 6 in der Form von Unterbrechungsbefehlssignalen INTb1 bis INTb6 übertragen.An overall circuit arrangement of a musical instrument incorporated in an electronic guitar is explained in Fig. 1. 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 are input as musical tone signals 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 input signal of the fundamental waveform is applied to a maximum peak detector (MAX) 4 and a minimum peak detector (MIN) 5. Each low-pass filter 3 is designed as shown in Fig. 5 so that the cutoff frequency is set to 4f, four times the frequency f of the vibration of the open string of each string when each string is plucked without the fret operation. Such selection of the cutoff frequency stems from the fact that the guitar generally has frets over about 2 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 transmitted to a CPU 6. Minimum peak detectors 5 detect each minimum peak point of the input signal. The pulse signals representative of the peak detections are transmitted to the CPU 6 in the form of interrupt command signals INTb1 to INTb6.

Wenn die CPU 6 die Unterbrechungsbefehlssignale INTa1 bis INTa6 empfängt, welche die Maximum-Spitzenpunkterfassungen repräsentieren, welche unmittelbar nach den Unterbrechungssignalen INTb1 bis INT6 erscheinen, welche die Minimum- Spitzenpunkterfassungen repräsentieren, berechnet die CPU 6 eine Zahldifferenz zwischen den vorliegenden Maximum- Spitzenpunkten und jenen, welche vorher auf ähnliche Art erlangt worden sind. Wenn die CPU 6 die Unterbrechungsbefehlssignale INTb1 bis INTb6 empfängt, welche unmittelbar nach den Unterbrechungsbefehlssignalen INTa1 bis INTa6 erscheinen, erlangt die CPU 6 ähnlich eine Zahldifferenz zwischen den Minimum-Spitzenpunkten und jenen, welche vorher auf eine ähnliche Art erlangt worden sind. Zu jeder Zeit werden beide Befehlssignale INT an einen Zähler 7 angelegt, wobei die Zahlen des Zählers 7 in einen Maximum-Speicher 14 bzw. in einen Minimum-Speicher 15 abgespeichert werden.When the CPU 6 receives the interrupt command signals INTa1 to INTa6 representing the maximum peak point detections appearing immediately after the interrupt signals INTb1 to INT6 representing the minimum peak point detections, the CPU 6 calculates a numerical difference between the present maximum peak points and those previously obtained in a similar manner. When the CPU 6 receives the interrupt command signals INTb1 to INTb6 appearing immediately after the interrupt command signals INTa1 to INTa6, the CPU 6 similarly obtains a numerical difference between the minimum peak points and those previously obtained in a similar manner. At any time, both command signals INT are applied to a counter 7, and the numerals of the counter 7 are stored in a maximum memory 14 and a minimum memory 15, respectively.

Der Zeitzähldatenwert, welcher repräsentativ der Differenz der Zahlen, wie vom Zähler 7 gezählt, ist, wird durch die CPU 6 direkt, oder nachdem er in einen Tonhöhlenkode umgewandelt worden ist, einem Frequenz-ROM 8 übertragen. Der Frequenzdatenwert, welcher eine Frequenz repräsentiert, dessen Periode durch diesen Zahlendatenwert definiert ist, wird herausgelesen und einer Tonquellenschaltung 9 übertragen. Die Tonquellenschaltung 9 bildet ein Musiktonsignal, welches auf dem Frequenzdatenwert basiert. Auf den Empfang dieses Signals läßt das Tonsystem 10 den Musikton erklingen. Die Tonquellenschaltung 9 kann innerhalb oder außerhalb des Gitarrenhauptkörpers gesetzt werden.The time count data representative of the difference of the numbers counted by the counter 7 is transferred by the CPU 6 directly or after being converted into a sound cavity code to a frequency ROM 8. The frequency data representative of a frequency whose period is defined by this number data is and transmitted to a sound source circuit 9. The sound source circuit 9 forms a musical tone signal based on the frequency data. Upon receiving this signal, the sound system 10 sounds the musical tone. The sound source circuit 9 may be set inside or outside the guitar main body.

Sechs Musiktonsignale von den Tiefpaßfiltern 3 werden durch Übertragungsgatter T einem A/D-Konverter 11 übertragen. Der A/D-Konverter 11 wandelt diese Signale in Digitaldaten basierend auf den Wellenformpegeln um. Der Digitaldatenwert wird der CPU 6 zugeführt. Wenn die Absolutwerte der Wellenformpegeldaten einen vorherbestimmten Pegel überschreiten, sendet die CPU 6 die Daten so wie sie sie von der Zahl des Zählers 7 erlangt hat, dem Frequenz-ROM 8, um das Ertönen zu beginnen. Wenn die Absolutwerte unterhalb einem vorherbestimmten Wert liegen, beendet die CPU 6 das Senden der Daten dem Frequenz-ROM 8, um das Ertönen zu stoppen. Der Wellenformpegeldatenwert wird ebenso einer Tonquellenschaltung 9 zugeführt, um den Musikton-Ertönungspegel zu steuern. Dies zeigt an, daß die Lautstärke entsprechend der Berührungsstärke gegenüber der Saite steuerbar ist.Six musical tone signals from the low-pass filters 3 are transmitted through transmission gate T to an A/D converter 11. The A/D converter 11 converts these signals into digital data based on the waveform levels. The digital data is supplied to the CPU 6. When the absolute values of the waveform level data exceed a predetermined level, the CPU 6 sends the data as obtained from the number of the counter 7 to the frequency ROM 8 to start sounding. When the absolute values are below a predetermined value, the CPU 6 stops sending the data to the frequency ROM 8 to stop sounding. The waveform level data is also supplied to a sound source circuit 9 to control the musical tone sounding level. This indicates that the volume is controllable according to the touch strength to the string.

Schwankende Kanalzeitsignale t1 bis t6 werden an die Übertragungsgates T angelegt, so daß die Ertönungspegel der sechs Musiktonsignale für die sechs Saiten der Gitarre auf in der Art eines Time-Sharings ausgeführt werden. Nebeneinander bestehend sind sechs Kanäle von Musiktonerzeugungssystemen in einer Tonquellenschaltung 9 in der Art eines Time-Sharings gebildet.Fluctuating channel timing signals t1 to t6 are applied to the transmission gates T so that the sound levels of the six musical tone signals for the six strings of the guitar are carried out in a time-sharing manner. Existing side by side, six channels of musical tone generating systems are formed in a sound source circuit 9 in a time-sharing manner.

Eine Schaltungsgestaltung des Maximum-Spitzendetektors 4 wird in Fig. 2 erläutert. Wie gezeigt, wird das Musiktonsignal von dem Tiefpaßfilter 3 hergeleitet und dem Plus -Anschluß eines Operationsverstärkers 12 eingegeben. Der Ausgangsanschluß des Operationsverstärkers 12 ist an die Anode einer Diode D1 gekoppelt. Die Kathode der Diode D1 ist über einen parallel angeordneten Kondensator C und Widerstand R1 geerdet. Die Kathode der Diode D1 ist ebenso an den Minus- Anschluß des Operationsverstärkers 12 gekoppelt. Das Ausgangssignal des Operationsverstärkers 12 wird durch einen Widerstand R2 und einen Operationsverstärker 13 ausgegeben wie die Unterbrechungsbefehlssignale INTa1 bis INTa6, welche repräsentativ den Maximum-Spitzenerfassungen sind.A circuit configuration of the maximum peak detector 4 is explained in Fig. 2. As shown, the musical tone signal is derived from the low-pass filter 3 and input to the plus terminal of an operational amplifier 12. The output terminal of the operational amplifier 12 is connected to the anode a diode D1. The cathode of the diode D1 is grounded via a parallel capacitor C and resistor R1. The cathode of the diode D1 is also coupled to the minus terminal of the operational amplifier 12. The output signal of the operational amplifier 12 is output through a resistor R2 and an operational amplifier 13 as the interrupt command signals INTa1 to INTa6 which are representative of the maximum peak detections.

Wenn ein Signal mit einer Wellenform, wie in Fig. 4a gezeigt, an den Plus-Anschluß des Operationsverstärkers 12 angelegt wird, wird der Kondensator C geladen, wenn die Signalwellenform ansteigt, und entladen, wenn sie fällt. Dann wird das Signal mit einer Wellenform, wie in Fig. 4b gezeigt, wieder an den Minus-Anschluß des Operationsverstärkers 12 angelegt. Nur wenn die Wellenform ansteigt, erzeugt der Operationsverstärker 12 eine Differenz zwischen den Signalpegeln an den Plus- und Minus-Anschlüssen. Dieses Signal wird wie das in Fig. 4c gezeigte Unterbrechungsbefehlsignal INTa ausgegeben. Die Unterbrechungsverarbeitung beginnt an der Rückflanke des Pulssignals von Fig. 4c.When a signal having a waveform as shown in Fig. 4a is applied to the plus terminal of the operational amplifier 12, the capacitor C is charged when the signal waveform rises and discharged when it falls. Then, the signal having a waveform as shown in Fig. 4b is again applied to the minus terminal of the operational amplifier 12. Only when the waveform rises does the operational amplifier 12 generate a difference between the signal levels at the plus and minus terminals. This signal is outputted as the interrupt command signal INTa shown in Fig. 4c. The interrupt processing starts at the trailing edge of the pulse signal of Fig. 4c.

Eine spezifische Gestaltung des Minimum-Spitzendetektors 5 wird in Fig. 3 gezeigt. Die Schaltungsgestaltung davon ist im wesentlichen dieselbe wie die des eben erwähnten Maximum- Spitzendetektors 4, außer dem entgegengesetzten Anschluß einer Diode D2. Dementsprechend wiederholt der Kondensator C das Laden/Entladen in entgegengesetzten Richtungen, wie in Fig. 4d gezeigt. Schließlich wird das Unterbrechungsbefehlssignal INTb, wie in Fig. 4e gezeigt, erlangt.A specific configuration of the minimum peak detector 5 is shown in Fig. 3. The circuit configuration thereof is substantially the same as that of the maximum peak detector 4 just mentioned, except for the opposite connection of a diode D2. Accordingly, the capacitor C repeats the charging/discharging in opposite directions as shown in Fig. 4d. Finally, the interruption command signal INTb is obtained as shown in Fig. 4e.

Der Betrieb der oben erwähnten Vorrichtung wird nun beschrieben.The operation of the above-mentioned device will now be described.

1. Beim Ansteigen der Wellenform:1. As the waveform rises:

Auf das Einschalten der Leistung startet die CPU 6 ein Hauptprogramm, wie in Fig. 6 erläutert. In einem Schritt A1 initialisiert die CPU 6 die betreffenden Schaltungen in dem elektronischen Musikinstrument der Ausführungsform. In einem Schritt A2 holt sie den Wert des A/D-Konverters 11 herbei. Die CPU 6 fährt mit dem Ton-aus-Verfahren (note off processing) fort, wenn das Signal vom Konverter 11 nicht einen vorherbestimmten Pegel überschreitet; vergleiche Schritt A3 und A4. Wenn ein Spieler eine Gitarrensaite zupft, wird ein Musiktonsignal bei einem Pegel, welcher größer als der vorherbestimmte Pegel ist, wie in Fig. 9 gezeigt, dem A/D-Konverter, 11 (Schritt A3) eingegeben, rückt die CPU 6 zu einem Schritt A5 vor, bei welchem sie die Frequenzsteuerungsverarbeitung ausführt. Die Frequenzsteuerungsverarbeitung stellt eine Musiktonertönverarbeitung dar, bei welcher der Datenwert vom Zähler 7 direkt an das Frequenz-ROM 8 angelegt wird oder der Tonhöhenkode, wie durch die Bundnummer angezeigt, welche auf der Basis des Datenwertes extrahiert ist, wird an das Frequenz-ROM 8 angelegt. Solange wie der Musiktonpegel oberhalb dem vorherbestimmten Pegel liegt, fährt die CPU 6 mit der Ertönverarbeitung (Schritte A2, A3 und A5) fort. Der Zähldatenwert des Zählers 7 wird durch die später gegebene Unterbrechungsverarbeitung gesetzt.Upon turning on the power, the CPU 6 starts a main program as shown in Fig. 6. In a step A1, the CPU 6 initializes the relevant circuits in the electronic musical instrument of the embodiment. In a step A2, it fetches the value of the A/D converter 11. The CPU 6 proceeds with the note off processing if the signal from the converter 11 does not exceed a predetermined level; see steps A3 and A4. When a player plucks a guitar string, a musical tone signal at a level greater than the predetermined level as shown in Fig. 9 is input to the A/D converter 11 (step A3), the CPU 6 advances to a step A5 where it executes the frequency control processing. The frequency control processing is a musical tone sound processing in which the data value from the counter 7 is directly applied to the frequency ROM 8 or the pitch code as indicated by the fret number extracted on the basis of the data value is applied to the frequency ROM 8. As long as the musical tone level is above the predetermined level, the CPU 6 continues the sounding processing (steps A2, A3 and A5). The count data value of the counter 7 is set by the interrupt processing given later.

2. Am Maximum-Spitzenpunkt MAX1:2. At the maximum peak point MAX1:

Nun wird berücksichtigt, daß die Wellenform des Musiktonsignals ansteigt und den ersten Maximum-Spitzenpunkt erreicht, welcher als MAX1 in Fig. 9 bezeichnet ist. An dem Maximum- Spitzenpunkt erzeugt der Maximum-Spitzendetektor 4 ein Unterbrechungsbefehlssignal INTa, welches die Maximum-Spitzenpunkterfassung repräsentiert, und legt es der CPU 6 an. Als Antwort auf dieses Signal beginnt die CPU 6 mit der Unterbrechungsverarbeitung, wie in Fig. 7 gezeigt. Die CPU 6 holt die Zahl des Zählers 7 im Schritt B1 herbei. Im Schritt B2 überprüft die CPU ob die Wellenform, welche den erfaßten Maximum-Spitzenwert aufweist, die erste Welle ist oder nicht. Da es nun der Zeitpunkt ist, unmittelbar nachdem die Tonwellenform ansteigt, ist jene Wellenform die erste Welle. Die CPU rückt zum Schritt B5 vor, um das Flag auf den Zustand "1" zu setzen und um des weiteren die im Schritt B1 herbeigeholte Zahl des Zählers 7 in den Maximum-Speicher 14 zu setzen. Der Zustand "1" des Flags zeigt an, daß der Maximum- Spitzenpunkt erfaßt worden ist. Das gelöschte Flag des Zustands "0" zeigt an, daß der Minimum-Spitzenpunkt 0 erfaßt worden ist.Now, it is considered that the waveform of the musical tone signal rises and reaches the first maximum peak point, which is indicated as MAX1 in Fig. 9. At the maximum peak point, the maximum peak detector 4 generates an interrupt command signal INTa representing the maximum peak point detection and applies it to the CPU 6. In response to this signal, the CPU 6 starts the interrupt processing as shown in Fig. 7. The CPU 6 fetches the count of the counter 7 in step B1. In step B2 the CPU checks whether the waveform having the detected maximum peak value is the first wave or not. Since it is now the time immediately after the tone waveform rises, that waveform is the first wave. The CPU advances to step B5 to set the flag to the state "1" and further to set the number of the counter 7 fetched in step B1 into the maximum memory 14. The state "1" of the flag indicates that the maximum peak point has been detected. The cleared flag of the state "0" indicates that the minimum peak point 0 has been detected.

2a. Am Maximum-Spitzenpunkt MAX2:2a. At the maximum peak point MAX2:

Es wird angenommen, daß der Wellenformpegel den in Fig. 9 als MAX2 bezeichneten zweiten Maximum-Spitzenpunkt erreicht. An dem Maximum-Spitzenpunkt legt der Maximum-Spitzenpunktdetektor 4 das Unterbrechungsfehlsignal INTa, welches die Maximum-Spitzenerfassung anzeigt, an die CPU 6 an. Dann startet wiederum die CPU 6 die in Fig. 7 gezeigte Unterbrechungsverarbeitung. Die CPU 6 holt die Zahl des Zählers 7 herbei und überprüft, ob die vorliegende Wellenform die erste Welle (Schritt B2) ist. Da die vorliegende Welle nicht die erste ist, rückt die CPU zum Schritt B3 vor und überprüft, ob das Flag sich um Zustand "0" befindet. Da das Flag sich im Zustand "1" an dem ersten Maximum-Spitzenpunkt MAX1 befindet, beendet die CPU die vorliegende Verarbeitung, ohne die Periodenberechnungsverarbeitung zum Erlangen des Frequenzdatenwertes auszuführen.It is assumed that the waveform level reaches the second maximum peak point indicated as MAX2 in Fig. 9. At the maximum peak point, the maximum peak point detector 4 applies the interruption failure signal INTa indicating the maximum peak detection to the CPU 6. Then, the CPU 6 again starts the interruption processing shown in Fig. 7. The CPU 6 fetches the number of the counter 7 and checks whether the present waveform is the first wave (step B2). Since the present wave is not the first, the CPU advances to step B3 and checks whether the flag is in the state "0". Since the flag is in the state "1" at the first maximum peak point MAX1, the CPU ends the present processing without executing the period calculation processing for obtaining the frequency data.

Auf diese Art wird der Frequenzdatenwert richtig erlangt, dessen eine Periode die Differenz zwischen den Zähldatenwerten an den Maximum-Spitzenpunkten MAX1 und MAX2 ist, und die Zeitzahl an dem Maximum-Spitzenpunkt MAX1 wird unverändert in dem Maximum-Speicher 14 gespeichert.In this way, the frequency data is correctly obtained, one period of which is the difference between the count data values at the maximum peak points MAX1 and MAX2, and the time number at the maximum peak point MAX1 is stored unchanged in the maximum memory 14.

3. Am Minimum-Spitzenpunkt MIN:3. At the minimum peak point MIN:

Wenn der Minimum-Spitzenpunkt MIN erreicht wird (Fig. 9), erzeugt der Minimum-Spitzendetektor 5 ein Unterbrechungsbefehlssignal INTb, welches die Minimum-Spitzenpunkterfassung repräsentiert, und legt es der CPU 6 an. Auf diesen Empfang startet die CPU 6 die in Fig. 8 gezeigte Unterbrechungsverarbeitung. Im Schritt C1 holt die CPU 6 die Zahl des Zählers 7 herbei und überprüft, ob die Wellenform am Minimum- Spitzenpunkt die erste Welle ist (Schritt C2). In diesem Fall ist die Wellenform die erste Wellenform, und danach schreitet die CPU 6 zum Schritt C5 voran. In diesem Schritt wird das Flag auf den Zustand "0" gelöscht und es setzt in den Minimum-Speicher 15 die Zahl des Zählers 7, welche im Schritt C1 herbeigeholt worden ist.When the minimum peak point MIN is reached (Fig. 9), the minimum peak detector 5 generates an interrupt command signal INTb representing the minimum peak point detection and applies it to the CPU 6. Upon this reception, the CPU 6 starts the interrupt processing shown in Fig. 8. In step C1, the CPU 6 fetches the number of the counter 7 and checks whether the waveform at the minimum peak point is the first wave (step C2). In this case, the waveform is the first waveform and then the CPU 6 proceeds to step C5. In this step, the flag is cleared to the state "0" and it sets in the minimum memory 15 the number of the counter 7 which was fetched in step C1.

Das Beurteilungsverfahren im Schritt B2 wird auffolgende Art durchgeführt. Wenn der Wellenformpegeldatenwert, welcher vom A/D-Konverter 11 übernommen worden ist, einen vorherbestimmten Pegel überschreitet, wird das erste Wellenflag auf den Zustand "1" gesetzt. Wenn dann das Unterbrechungsbefehlssignal INTb für die Minimum-Spitzenerfassung an die CPU angelegt wird, wird das erste Wellenflag auf den Zustand "0" gelöscht. In den Schritten B2 und C2 überprüft die CPU 6, ob das Wellenflag gesetzt ist oder nicht.The judging process in step B2 is carried out in the following manner. When the waveform level data taken in from the A/D converter 11 exceeds a predetermined level, the first wave flag is set to the state "1". Then, when the minimum peak detection interruption command signal INTb is applied to the CPU, the first wave flag is cleared to the state "0". In steps B2 and C2, the CPU 6 checks whether the wave flag is set or not.

4. Periodenberechnung am Maximum-Spitzenpunkt XAX1:4. Period calculation at the maximum peak point XAX1:

Wenn die Eingangssignal-Wellenform ansteigt, um den Maximum- Spitzenpunkt MAXI zu erreichen, legt der Maximum-Spitzendetektor 4 das Unterbrechungssignal INTa, welches die Maximum- Spitzenpunkterfassung repräsentiert, an die CPU 6 an. Die CPU 6 holt die Zahl des Zählers 7 im Schritt B1 herbei und bestätigt im Schritt B2, daß die Wellenform am Maximum- Spitzenpunkt MAX1 nicht die erste Welle ist und überprüft, ob das Flag sich im Schritt B3 im Zustand "0" befindet. Da sich das Flag am Minimum-Spitzenpunkt MIN unmittelbar vor dem Maximum-Punkt MAX1 im Zustand "0" befindet, rückt die CPU 6 zum Schritt B4 vor und liest in diesem Schritt den Zeitzähldatenwert aus dem Maximum-Speicher 14 aus und subtrahiert ihn von dem derzeitigen Zähldatenwert, welcher im Schritt B1 ausgelesen worden ist, und erlangt schließlich den Datenwert des Subtraktionsergebnisses. Als Ergebnis legt im Schritt A5 die CPU 6 den Subtraktionsergebnis-Datenwert dem Frequenz-ROM 8 an und steuert das System des Musikinstrumentes, so daß ein Musikton mit der Frequenz erzeugt wird, dessen Periode sich in dem Bereich zwischen dem Maximum-Spitzenpunkt MAX1 bis zu dem nächsten Maximum- Spitzenpunkt MAX1 erstreckt. Der obigen Verarbeitung folgend setzt die CPU 6 das Flag auf den Zustand "1" und setzt den derzeitigen Zeitzähldatenwert in den Maximum-Speicher 14 (Schritt B5).When the input signal waveform rises to reach the maximum peak point MAXI, the maximum peak detector 4 applies the interrupt signal INTa representing the maximum peak point detection to the CPU 6. The CPU 6 fetches the count of the 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 whether whether the flag is in the state "0" in step B3. Since the flag is in the state "0" at the minimum peak point MIN immediately before the maximum point MAX1, the CPU 6 advances to step B4, and in this step reads out the time count data from the maximum memory 14 and subtracts it from the current count data read out in step B1, and finally obtains the data of the subtraction result. As a result, in step A5, the CPU 6 applies the subtraction result data to the frequency ROM 8 and controls the system of the musical instrument so that a musical tone is generated at the frequency whose period extends in the range from the maximum peak point MAX1 to the next maximum peak point MAX1. Following the above processing, the CPU 6 sets the flag to the state "1" and sets the current time count data in the maximum memory 14 (step B5).

In den Schritten C5 und B3 überprüft die CPU 6 den Maximum- Spitzenpunkt, welcher dem Minimum-Spitzenpunkt folgt und mißt das Zeitintervall zwischen den Maximum-Spitzenpunkten. Im Schritt B4 wird die Periodenberechnung progressiv ausgeführt.In steps C5 and B3, the CPU 6 checks the maximum peak point following the minimum peak point and measures the time interval between the maximum peak points. In step B4, the period calculation is carried out progressively.

Wenn daher die Eingangssignal-Wellenform zwei Maximum- Spitzenpunkte MAX1 und MAX2 fortlaufend beinhaltet, wird lediglich das Zeitintervall zwischen zwei positiven Spitzenpunkten MAX1 und MAX1 verwendet, um die Ertönfrequenz zu bestimmen. Das Zeitintervall zwischen den aufeinanderfolgenden Maximum-Spitzenpunkten MAX1 und MAX2 wird niemals für denselben Zweck verwendet.Therefore, if the input signal waveform includes two consecutive maximum peak points MAX1 and MAX2, only the time interval between two positive peak points MAX1 and MAX1 is used to determine the sounding frequency. The time interval between the consecutive maximum peak points MAX1 and MAX2 is never used for the same purpose.

5. Periodenberechnung am Minimum-Spitzenpunkt MIN:5. Period calculation at the minimum peak point MIN:

Wenn die Eingangssignal-Wellenform den Minimum-Spitzenpunkt MIN erreicht, legt der Minimum-Spitzendetektor 5 das Unterbrechungssignal INTb, welches die Minimum-Spitzenpunkterfassung repräsentiert, an die CPU 6 an. Die CPU 6 holt die Zahl des Zählers 7 im Schritt C1 herbei und bestätigt im Schritt C2, daß die Wellenform am Minimum-Spitzenpunkt MIN nicht die erste Welle ist, und überprüft, ob sich im Schritt C3 daß Flag im Zustand "1" befindet. Da sich das Flag am Maximum- Spitzenpunkt MAXI im Zustand "1" befindet, schreitet die CPU 6 zum Schritt C4 voran und liest in diesem Schritt den Zeitzähldatenwert aus dem Minimum-Speicher 15 heraus und substrahiert ihn von dem derzeitigen Zähldatenwert, wie er im Schritt C1 ausgelesen worden ist, und erlangt schließlich den Datenwert des Subtraktionsergebnisses. Gemäß dem Ergebnisdatenwert liest die CPU 6 aus dem ROM 8 den Frequenzdatenwert heraus, um einen Musikton bei einer Frequenz vorzusehen, dessen Periode sich zwischen den vorherigen und derzeitigen Minimum-Spitzenpunkten MIN und MIN erstreckt. Dem Schritt C4 folgend löscht die CPU 6 das Flag auf den Zustand "0" und setzt den derzeitigen Zähldatenwert in dem Minimum-Speicher 15 (Schritt C5).When the input signal waveform reaches the minimum peak point MIN, the minimum peak detector 5 sets the interrupt signal INTb representing the minimum peak point detection to the CPU 6. The CPU 6 fetches the number of the 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 whether the flag is in the state "1" in step C3. Since the flag at the maximum peak point MAXI is in the state "1", the CPU 6 proceeds to step C4 and in this step reads out the time count data from the minimum memory 15 and subtracts it from the current count data read out in step C1 and finally obtains the data of the subtraction result. According to the result data, the CPU 6 reads out from the ROM 8 the frequency data to provide a musical tone at a frequency whose period extends between the previous and current minimum peak points MIN and MIN. Following step C4, the CPU 6 clears the flag to the state "0" and sets the current count data value in the minimum memory 15 (step C5).

Auf diese Art wird die Zeitzahl einer Periode der Minimum- Spitzenpunkte MIN erlangt und der Frequenzdatenwert wird ausgegeben. Wenn eine Mehrzahl von Minimum-Spitzenpunkten aufeinanderfolgend ohne Nulldurchgangspegel erscheinen, wie in dem vorherigen Fall der Maximum-Spitzenpunkte MAX1 und MAX2, nimmt die CPU 6 den Minimum-Spitzenpunkt, welcher dem Maximum-Spitzenpunkt in den Schritten B5 und C3 folgt, auf und mißt das Zeitintervall zwischen solchen Minimum-Spitzenpunkten. Auf diese Art wird eine exakte Periodenberechnung im Schritt C4 durchgeführt.In this way, the time number of one period of the minimum peak points MIN is obtained and the frequency data is output. When a plurality of minimum peak points appear consecutively without zero-crossing levels as in the previous case of the maximum peak points MAX1 and MAX2, the CPU 6 picks up the minimum peak point following the maximum peak point in steps B5 and C3 and measures the time interval between such minimum peak points. In this way, an accurate period calculation is performed in step C4.

Wie oben beschrieben, wird auf der Basis des Zeitzähldatenwertes, welcher in den Schritten B4 und C4 berechnet wird, der entsprechende Frequenzdatenwert vom Frequenz-ROM 8 im Schritt AS ausgegeben. Als Ergebnis wird die Frequenz zweimal (MAX1-XAX1 und MIN-MIN) während einer Periode verändert.As described above, based on the time count data calculated in steps B4 and C4, the corresponding frequency data is output from the frequency ROM 8 in step AS. As a result, the frequency is changed twice (MAX1-XAX1 and MIN-MIN) during one period.

Dies beinhaltet, daß das System des Musikinstruments schnell auf die Frequenzvariation des Eingangssignals ansprechen kann.This means that the musical instrument system can respond quickly to the frequency variation of the input signal.

Um die Frequenz zu stabilisieren, wird der vorherige Zeitzähldatenwert in den Speicher im Schritt AS abgespeichert und der derzeitige Zeitzähldatenwert und der vorherige werden gemittelt. Wenn der vorherige Zeitdatenwert größer ist als der derzeitige Datenwert, beispielsweise 20% oder mehr, wird der vorherige Datenwert ausgegeben.To stabilize the frequency, the previous time count data is stored in the memory in step AS, and the current time count data and the previous one are averaged. If the previous time count data is larger than the current data, for example, 20% or more, the previous data is output.

Nun wird noch ein anderes Tonhöhen-Extraktionssystem beschrieben. In diesem Tonhöhen-Extraktionssystem werden zuerst die Maximum- und/oder Minimum-Spitzen der Wellenform eines Musiktons, d. h. ein Eingangssignal, erfaßt. Dann werden Nulldurchgangspunkte unmittelbar nach den Maximum- oder Minimum-Spitzen erfaßt. Ein Zeitintervall zwischen den erfaßten Nulldurchgangspunkten wird erlangt. Schließlich wird unter Verwendung des Zeitintervalls die Tonhöhe der Eingangssignal-Wellenform erlangt.Now, yet another pitch extraction system will be described. In this pitch extraction system, first, the maximum and/or minimum peaks of the waveform of a musical tone, i.e., an input signal, are detected. Then, zero-crossing points immediately after the maximum or minimum peaks are detected. A time interval between the detected zero-crossing points is obtained. Finally, using the time interval, the pitch of the input signal waveform is obtained.

Insbesondere wird das Zeitintervall (t1) zwischen den Nulldurchgangspunkten, welche jeweils zuerst erscheinen, nachdem die Maximum-Spitzen erfaßt werden, oder das Zeitintervall (t2) zwischen den Nulldurchgangspunkten, welche zuerst erscheinen, nachdem die Minimum-Spitzen erfaßt werden, erfaßt. Das erfaßte Zeitintervall oder die erfaßten Zeitintervalle werden für die Tonhöhen-Extraktion verwendet. Die Tonhöhen- Extraktion ist mittels einer einfachen Konstruktion exakt.Specifically, the time interval (t1) between the zero-crossing points which first appear after the maximum peaks are detected, or the time interval (t2) between the zero-crossing points which first appear after the minimum peaks are detected is detected. The detected time interval or time intervals are used for pitch extraction. The pitch extraction is accurate by means of a simple construction.

Eine Anordnung dieser Tonhöhen-Bestimmungsvorrichtung wird nun unter Bezugnahme auf Fig. 10 bis 15 beschrieben. In jenen Figuren werden ähnliche Symbole zum Bezeichnen ähnlicher oder äquivalenter Teile von Fig. 1 bis 9 verwendet.An arrangement of this pitch determining device will now be described with reference to Figs. 10 to 15. In those figures, similar symbols are used to designate similar or equivalent parts of Figs. 1 to 9.

Es wird auf Fig. 10 und 12 Bezug genommen, welche eine Gesamtschaltungsanordnung der Vorrichtung erläutern. Jede einzelne einer Mehrzahl von Maximum-Spitzendetektoren 4 erfaßt den Maximum-Spitzenpunkt einer Eingangssignal-Wellenform. An der Rückflanke des erfaßten Pulssignals gibt ein Flipflop (FF) 214, welches an der Endstufe eines jeden Detektors 4 angeordnet ist, an den Q-Ausgang einem hohen Pegel aus. Das Ausgangssignal des FF 214 und der invertierte Ausgang eines Inverters 230, welcher mit einem Nulldurchgangspunkt-Detektor 206 gekoppelt ist, werden an das UND-Gatter 224 angelegt. Das Ausgangssignal von dem UND-Gatter wird als Unterbrechungssignal INTbn an die CPU 200 angelegt (wobei n irgendeine der Zahlen 1 bis 6 ist).Reference is made to Figs. 10 and 12 which illustrate an overall circuit arrangement of the device. Each one of a plurality of maximum peak detectors 4 detects the maximum peak point of an input signal waveform. At the trailing edge of the detected pulse signal, a flip-flop (FF) 214 arranged at the final stage of each detector 4 outputs a high level to the Q output. The output of the FF 214 and the inverted output of an inverter 230 coupled to a zero-crossing point detector 206 are applied to the AND gate 224. The output from the AND gate is applied to the CPU 200 as an interrupt signal INTbn (where n is any of 1 to 6).

Auf ähnliche Weise erfaßt jeder einer Mehrzahl von Minimum- Spitzendetektoren 5 den Minimum-Spitzenpunkt einer Eingangssignal-Wellenform. An der Vorderflanke des erfaßten Pulssignals gibt ein Flipflop (FF) 215, welches an der Endstufe jedes Detektors 5 angeordnet ist, an seinem Q-Ausgang einen hohen Pegel aus. Das Ausgangssignal des Flipflops 215 und der invertierte Ausgang des Inverters 230, welcher an den Nulldurchgangspunktdetektor 206 gekoppelt ist, werden an ein UND-Gatter 225 angelegt. Das Ausgangssignal des UND-Gatters 225 wird als Unterbrechungssignal INTbn an die CPU 200 angelegt (wobei n irgend eine Zahl von 1 bis 6 ist).Similarly, each of a plurality of minimum peak detectors 5 detects the minimum peak point of an input signal waveform. At the leading edge of the detected pulse signal, a flip-flop (FF) 215 arranged at the final stage of each detector 5 outputs a high level at its Q output. The output of the flip-flop 215 and the inverted output of the inverter 230 coupled to the zero-crossing point detector 206 are applied to an AND gate 225. The output of the AND gate 225 is applied to the CPU 200 as an interrupt signal INTbn (where n is any number from 1 to 6).

Wenn so der Maximum-Spitzenpunkt erfaßt wird und FF 214 an dem Q-Ausgang sich im logischen hohen Zustand befindet, falls die Wellenform den Nullpegel aus dem positiven Bereich zu dem negativen Bereich durchläuft, wird das Unterbrechungssignal INTan an die CPU 200 angelegt. Wenn der Minimum-Spitzenpunkt erfaßt wird und sich FF 215 an dem Q-Ausgang im logisch hohen Zustand befindet, falls die Wellenform den Nullpegel aus dem negativen Bereich zu dem positiven Bereich durchläuft, wird das Unterbrechungssignal INTbn an die CPU 200 angelegt.Thus, when the maximum peak point is detected and FF 214 at the Q output is in the logic high state, if the waveform passes the zero level from the positive region to the negative region, the interrupt signal INTan is applied to the CPU 200. When the minimum peak point is detected and FF 215 at the Q output is in the logic high state, if the waveform passes the zero level from the negative region to the positive region, the interrupt signal INTbn is applied to the CPU 200.

Unmittelbar nach dem Empfang des Unterbrechungssignals INTan oder INTbn legt die CPU 200 ein Löschungssignal CLan (wobei n zwischen 1 und 6 liegt) oder CLbn an das FF 214 oder 215 an. Dann wird wieder das entsprechende Flipflop zurückgesetzt. Bis der nächste Maximum- oder Minimum-Spitzenpunkt erfaßt wird, verbleibt demgemäß das entsprechende Flipflop zurückgesetzt, sogar wenn die Wellenform irgendeine Anzahl von Malen den Nullpegel durchläuft, und daher wird die CPU 200 niemals unterbrochen.Immediately after receiving the interrupt signal INTan or INTbn, the CPU 200 applies a clear signal CLan (where n is between 1 and 6) or CLbn to the FF 214 or 215. Then, the corresponding flip-flop is reset again. Accordingly, until the next maximum or minimum peak point is detected, the corresponding flip-flop remains reset even if the waveform passes through the zero level any number of times, and therefore the CPU 200 is never interrupted.

Wenn die CPU 200 das Unterbrechungssignal INTan für den Nulldurchgangspunkt empfängt, welcher unmittelbar auftritt, nachdem der Maximum-Spitzenpunkt erfaßt worden ist, berechnet die CPU 200 eine Differenz zwischen der vorliegenden Zahl des Zählers 7 und jener des Zählers 7, bei welcher die Wellenform vorhergehend den Nullpegel unmittelbar nach dem Maximum-Spitzenpunkt durchläuft. Wenn das Unterbrechungssignal INTbn erzeugt wird, berechnet die CPU 200 auf ähnliche Weise eine Differenz zwischen der vorliegenden Zahl des Zählers 7 und derjenigen des Zählers 7, bei welcher die Wellenform vorhergehend den Nullpegel unmittelbar nach dem Minimum-Spitzenpunkt durchläuft. Zu jeder Zeit werden Unterbrechungssignale INTan und INTbn erzeugt, und die CPU 200 speichert die Zahlen des Zählers 7 in einen Maximum-Speicher 201 bzw. einen Minimum-Speicher 202 ab. Der Zeitzähldatenwert wie die Zahldifferenz wird von der CPU 200 dem Frequenz-ROM 8 direkt, oder nachdem er in einen Tastenkode (keycode) umgewandelt worden ist, übertragen. Der Frequenzdatenwert mit einer Periode des Zählerdatenwerts wird ausgelesen und der Tonquellenschaltung 9 gesendet, bei welcher ein Musiktonsignal erzeugt wird. Das Tonsystem 10 empfängt dieses und beginnt mit dem Ertönen des Musiktons.When the CPU 200 receives the interrupt signal INTan for the zero-crossing point which occurs immediately after the maximum peak point is detected, the CPU 200 calculates a difference between the present number of the counter 7 and that of the counter 7 at which the waveform previously passes through the zero level immediately after the maximum peak point. When the interrupt signal INTbn is generated, the CPU 200 similarly calculates a difference between the present number of the counter 7 and that of the counter 7 at which the waveform previously passes through the zero level immediately after the minimum peak point. At any time, interrupt signals INTan and INTbn are generated, and the CPU 200 stores the numbers of the counter 7 in a maximum memory 201 and a minimum memory 202, respectively. The time count data such as the number difference is transmitted from the CPU 200 to the frequency ROM 8 directly or after being converted into a key code. The frequency data having one period of the counter data is read out and sent to the sound source circuit 9, where a musical tone signal is generated. The sound system 10 receives this and starts sounding the musical tone.

Die Anordnung des Nulldurchgangsdetektors 206 wird beschrieben. Fig. 12 erläutert eine spezifische Schaltanordnung des Nulldurchgangspunkt-Detektors 206, wobei das Musiktonsignal, welches vom Tiefpaßfilter 3 hergeleitet worden ist, an den Plus-Anschluß eines Operationsverstärkers 206-1 angelegt wird. Der Minus-Anschluß des Operationsverstärkers ist geerdet. Das Ausgangssignal des Operationsverstärkers 206-1 wird über einen Widerstand R5 und einen anderen Operationsverstärker 206-2 ausgegeben. Bei einem positiven Eingangssignal gibt der Operationsverstärker 206-2 ein Signal des logisch hohen Zustands aus. Bei einem negativen Eingangssignal gibt der Verstärker 206-2 ein Signal des logisch niedrigen Zustands aus. Dies zeigt an, daß zu jeder Zeit die Wellenform des Signals, d. h. des Musiktons, den Nullpegel durchläuft, wobei der logische Pegel am Ausgang des Operationsverstärkers 206-2 invertiert wird.The arrangement of the zero crossing detector 206 is described. Fig. 12 illustrates a specific circuit arrangement of the Zero-crossing point detector 206, the musical tone signal derived from low-pass filter 3 is applied to the plus terminal of an operational amplifier 206-1. The minus terminal of the operational amplifier is grounded. The output signal of the operational amplifier 206-1 is output through a resistor R5 and another operational amplifier 206-2. With a positive input signal, the operational amplifier 206-2 outputs a signal of logic high state. With a negative input signal, the amplifier 206-2 outputs a signal of logic low state. This indicates that at all times the waveform of the signal, ie the musical tone, passes through the zero level, the logic level at the output of the operational amplifier 206-2 being inverted.

Der Betrieb der vorher erwähnten Vorrichtung wird beschrieben.The operation of the aforementioned device is described.

Das Hauptprogramm, welches bei dieser Vorrichtung verwendet wird, ist dasselbe wie jenes von Fig. 6 und wird daher hier nicht beschrieben. Die Beschreibung des Betriebs wird in Verbindung mit den Unterbrechungsprogrammen gegeben.The main program used in this device is the same as that of Fig. 6 and is therefore not described here. The description of the operation is given in connection with the interrupt programs.

Ein Spieler zupft eine der Saiten der Gitarre und ein Musikton mit einer Wellenform, wie in Fig. 13(a) gezeigt, wird erzeugt. Die Musiktonwellenform variiert und steigt an, um ein Maximum-Spitzenpunkt MAXI zu erreichen. Zu dieser Zeit erzeugt der Maximum-Spitzendetektor 4 ein Signal, wie in Fig. 13(b) gezeigt. Diese Signale versetzen den Ausgang des Flipflops 214 in einen logisch hohen Zustand (Fig. 13(e)). An dem Nulldurchgangspunkt Zero 1 (Fig. 13(c)), wird der Nulldurchgangspunkt-Erfassungsausgang des Nulldurchgangspunkt-Detektors 206 invertiert (Fig. 13(c)). Zu dieser Zeit legt das UND-Gatter 224 das Unterbrechungssignal INTa an die CPU 200 an. Auf den Empfang dieses Signals beginnt die CPU 200 mit der Unterbrechungsverarbeitung.A player plucks one of the strings of the guitar and a musical tone having a waveform as shown in Fig. 13(a) is generated. The musical tone waveform varies and rises to reach a maximum peak point MAXI. At this time, the maximum peak detector 4 generates a signal as shown in Fig. 13(b). These signals put the output of the flip-flop 214 into a logic high state (Fig. 13(e)). At the zero-crossing point Zero 1 (Fig. 13(c)), the zero-crossing point detection output of the zero-crossing point detector 206 is inverted (Fig. 13(c)). At this time, the AND gate 224 applies the interrupt signal INTa to the CPU 200. Upon receiving this signal, the CPU 200 starts interrupt processing.

Das Unterbrechungsprogramm ist dasselbe wie jenes von Fig. 7 außer Schritt B10. Daher wird das Unterbrechungsprogramm kurz beschrieben.The interruption routine is the same as that of Fig. 7 except step B10. Therefore, the interruption routine will be briefly described.

Die CPU 200 setzt das Flipflop 214 im Schritt B10 zurück und liest die Zahl des Zählers 7 und prüft im Schritt B2, ob die vorliegende Welle der Eingangssignal-Wellenform die erste Welle ist. Da die Musiktonwellenform eben angestiegen ist und daher die vorliegende Wellenform die erste Welle ist, rückt die CPU 200 zum Schritt B5 vor und setzt das Flag auf den Zustand "1" und setzt, die Zahl des Zählers 7, wie im Schritt B1 ausgelesen, in den Maximum-Speicher 201. Wenn das Eingangssignal mit der Wellenform, wie in Fig. 13(a) gezeigt, dem Musikinstrument eingegeben wird, erzeugt der Nulldurchgangspunkt-Detektor 6 das invertierte Ausgangssignal, wie in Fig. 13(c) gezeigt, wobei zu jeder Zeit die Nulldurchgangspunkte Zero 2 und Zero 3 aufeinanderfolgend erfaßt werden.The CPU 200 resets the flip-flop 214 in step B10 and reads the number of the counter 7 and checks in step B2 whether the present wave of the input signal waveform is the first wave. Since the musical tone waveform has just risen and therefore the present waveform is the first wave, the CPU 200 advances to step B5 and sets the flag to the state "1" and sets the number of the counter 7 read in step B1 into the maximum memory 201. When the input signal having the waveform as shown in Fig. 13(a) is input to the musical instrument, the zero-crossing point detector 6 produces the inverted output signal as shown in Fig. 13(c) with the zero-crossing points Zero 2 and Zero 3 being detected sequentially at any time.

Zu dieser Zeit jedoch ist das Flipflop 214 im Schritt B10 zurückgesetzt worden, und es wird kein Unterbrechungssignal INTb erzeugt.At this time, however, the flip-flop 214 has been reset in step B10, and no interrupt signal INTb is generated.

Wenn der in Fig. 13(a) gezeigte Minimum-Spitzenpunkt MINI erreicht wird, erzeugt der Minimum-Spitzendetektor 5 ein Spitzenerfassungssignal und setzt das Flipflop 215 durch das Signal. Am nächsten Nulldurchgangspunkt (Zero 4) wird das Ausgangssignal des Nulldurchgangspunkt-Detektors 206 invertiert und das UND-Gatter 225 legt das Unterbrechungssignal INTb an die CPU 200 an. Die CPU 200 beginnt die in Fig. 15 gezeigte Unterbrechungsverarbeitung.When the minimum peak point MINI shown in Fig. 13(a) is reached, the minimum peak detector 5 generates a peak detection signal and sets the flip-flop 215 by the signal. At the next zero-crossing point (Zero 4), the output signal of the zero-crossing point detector 206 is inverted and the AND gate 225 applies the interrupt signal INTb to the CPU 200. The CPU 200 starts the interrupt processing shown in Fig. 15.

Das Unterbrechungsprogramm von Fig. 15 ist ebenso im wesentlichen dasselbe wie jenes von Fig. 8, außer Schritt C10. Dieses Programm wird daher kurz beschrieben. Die CPU 200 setzt das Flipflop 215 im Schritt C10 zurück, und holt die Zahl des Zählers 7 herbei und überprüft im Schritt C2, ob die vorliegende Welle der Wellenform die erste Welle ist. Die Welle, welche den Nulldurchgangspunkt auf den Minimum- Spitzenpunkt folgend beinhaltet, ist die erste Welle. Dann rückt die CPU 200 zum Schritt C5 vor und löscht das Flag auf den Zustand "0" und speichert die Zahl des Zählers 7, wie im Schritt C10 ausgelesen, in den Minimum-Speicher 202 ab.The interrupt routine of Fig. 15 is also substantially the same as that of Fig. 8 except for step C10. This routine will therefore be briefly described. The CPU 200 resets the flip-flop 215 in step C10 and fetches the count of the counter 7 and checks in step C2 whether the present wave of the waveform is the first wave. The wave which includes the zero-crossing point following the minimum peak point is the first wave. Then the CPU 200 advances to step C5 and clears the flag to the state "0" and stores the count of the counter 7 as read in step C10 in the minimum memory 202.

Wenn der Nulldurchgangspunkt (Zero 5), welcher auf den in Fig. 13(a) gezeigten Maximum-Spitzenpunkt MAX2 folgt, erreicht wird, wird das Unterbrechungssignal INTa zu der Erfassung des Nulldurchgangspunktes, welcher auf den Maximum- Spitzenpunkt folgt, erzeugt, und die CPU 200 holt die Zahl des Zählers 7 im Schritt B10 herbei. Im Schritt B2 bestätigt die CPU 200, ob die vorliegende Welle nicht die erste Welle ist. Dann überprüft die CPU im Schritt B3, ob sich das Flag im Zustand "0" befindet. Da das Flag auf den Zustand "0" an dem Nulldurchgangspunkt (Zero 4) unmittelbar nach dem vorhergehenden Minimum-Spitzenpunkt MIN1 gelöscht worden ist, rückt die CPU 200 zum Schritt B4 vor und liest den Zeitzähldatenwert, welcher in dem Maximum-Speicher 201 an dem Nulldurchgangspunkt (Zero 1) unmittelbar nach dem Maximum-Spitzenpunkt MAX1 eine Periode vorher gesichert worden ist, und subtrahiert den Zeitzähldatenwert, welcher diesesmal ausgelesen worden ist, von demjenigen, welcher im Schritt B1 ausgelesen worden ist, um den Subtraktionsergebnis-Datenwert zu erhalten. Als Ergebnis wird im Schritt A5 des Hauptprogramms der Ergebnisdatenwert an das Frequenz-ROM 8 angelegt, und das Musikinstrument wird derart gesteuert, um den Musikton bei einer Frequenz ertönen zu lassen, dessen Periode sich von dem Nulldurchgangspunkt (Zero 0) bis zu dem Nulldurchgangspunkt (Zero 5) erstreckt. Auf diese Verarbeitung folgend setzt die CPU 200 das Flag auf den Zustand "1" und setzt den derzeitigen Zeitzähldatenwert in den Maximum-Speicher 201 (B5).When the zero-cross point (Zero 5) following the maximum peak point MAX2 shown in Fig. 13(a) is reached, the interrupt signal INTa for detecting the zero-cross point following the maximum peak point is generated, and the CPU 200 fetches the count of the counter 7 in step B10. In step B2, the CPU 200 confirms whether the present wave is not the first wave. Then, in step B3, the CPU checks whether the flag is in the state "0". Since the flag has been cleared to the state "0" at the zero-crossing point (Zero 4) immediately after the previous minimum peak point MIN1, the CPU 200 advances to step B4 and reads the time count data saved in the maximum memory 201 at the zero-crossing 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 obtain the subtraction result data. As a result, in step A5 of the main program, the result data is applied to the frequency ROM 8, and the musical instrument is controlled so as to sound the musical tone at a frequency whose period extends from the zero-crossing point (Zero 0) to the zero-crossing point (Zero 5). Following this processing, the CPU 200 sets the flag to the state "1" and sets the current time count data in the maximum memory 201 (B5).

Auf diese Art wird der Nulldurchgangspunkt unmittelbar nach dem Maximum-Spitzenpunkt in den Schritten C5 und B3 überprüft, und das Zeitintervall (t1) wird lediglich zwischen den Nulldurchgangspunkten gemessen, und die Periodenberechnung wird im Schritt B4 durchgeführt.In this way, the zero crossing point immediately after the maximum peak point is checked in steps C5 and B3, and the time interval (t1) is measured only between the zero crossing points and the period calculation is performed in step B4.

Ähnlich werden die Nulldurchgangspunkte (Zero 6 und Zero 7) ignoriert. Als Antwort auf das Unterbrechungssignal INTb, welches auf die Erfassung des Nulldurchgangspunkts (Zero 8) unmittelbar nach der Maximum-Spitzenpunkterfassung erzeugt wird, führt die CPU 200 das Programm von Fig. 16 aus. Das Zeitintervall (t2) von dem vorausgehenden Nulldurchgangspunkt (Zero 4) zu dem vorliegenden Nulldurchgangspunkt (Zero 8) wird als Tonhöhendatenwert verwendet.Similarly, the zero-crossing points (Zero 6 and Zero 7) are ignored. In response to the interrupt signal INTb, which is generated upon detection of the zero-crossing point (Zero 8) immediately after the maximum peak point detection, the CPU 200 executes the program of Fig. 16. The time interval (t2) from the previous zero-crossing point (Zero 4) to the present zero-crossing point (Zero 8) is used as pitch data.

Auf diese Weise werden das Zeitintervall (t1), d. h. Zero 1 → Zero 5, zwischen den Nulldurchgangspunkten unmittelbar nach den Maximum-Erfassungspunkten, und das Zeitintervall (t2), d. h. Zero 4 → Zero 8, zwischen den Nulldurchgangspunkten unmittelbar nach den Minimum-Punkterfassungen erlangt. Mit anderen Worten, die Frequenzänderung wird zweimal während einer Periode auf dieselbe Art wie in der ersten Ausführungsform durchgeführt. Daher kann das Musikinstrument schnell auf die Frequenzänderung des Eingangssignals ansprechen.In this way, the time interval (t1), i.e., Zero 1 → Zero 5, between the zero-crossing points immediately after the maximum detection points, and the time interval (t2), i.e., Zero 4 → Zero 8, between the zero-crossing points immediately after the minimum point detections are obtained. In other words, the frequency change is performed twice 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.

In dem vorher beschriebenen Musikinstrument werden, wenn die Wellenform, wie in Fig. 16(a) gezeigt, eingegeben wird, die Nulldurchgangspunkte Zero 12 und Zero 14 mit der Funktion des Flags in den Fluß von Fig. 15 ignoriert.In the musical instrument described above, when the waveform as shown in Fig. 16(a) is input, the zero-crossing points Zero 12 and Zero 14 are ignored with the function of the flag in the flow of Fig. 15.

Wenn insbesondere die Signale für die Nulldurchgangspunkte Zero 0 und Zero 14 hereinkommen wie das Unterbrechungssignal INTa, ist das Flag auf den Zustand "1" gesetzt worden, wenn diese Signale ankommen (Schritt B5), und daher ist die Antwort auf Schritt B3 NEIN, und daher wird keine Periodenberechnung durchgeführt. Auf diese Art werden die Nulldurchgangspunkte aufeinanderfolgend erfaßt, nachdem die Maximum- Spitzen erfaßt werden, wobei diese durch das Flag ignoriert werden und die Effekte durch die Oberwellen entfernt werden.In particular, when the signals for the zero crossing points Zero 0 and Zero 14 come in like the interrupt signal INTa, the flag has been set to the state "1" when these signals arrive (step B5), and therefore the response is NO at step B3 and therefore no period calculation is performed. In this way, the zero crossing points are detected sequentially after the maximum peaks are detected, which are ignored by the flag and the effects of the harmonics are removed.

Um die Frequenz zu stabilisieren, wird im Schritt A5 der vorangehende Zeitzähldatenwert in den Speicher abgespeichert und der derzeitige Zeitzähldatenwert und der vorangehende werden gemittelt. Wenn der vorhergehende Zeitdatenwert größer ist als der derzeitige um beispielsweise 20% oder mehr, wird der vorhergehende Datenwert ausgegeben. Die Periodenberechnungen, welche auf der Nulldurchgangspunkterfassung unmittelbar nach den Maximum- und Minimum-Spitzenpunktenerfassungen basieren, können selektiv auf eine Weise durchgeführt werden, so daß die Periodenberechnung, welche auf dem Nulldurchgangspunkt unmittelbar nach der Maximum- Spitzenpunkterfassung basiert, für die Wellenform ausgeführt wird, welche an dem Startpunkt ansteigt, und diejenige, welche auf dem Nulldurchgangspunkt basiert, wird unmittelbar nach der Minimum-Spitzenpunkterfassung für die Wellenform ausgeführt, welche an dem Startpunkt fällt. Eine solche Anordnung sieht ein schnelles Ansprechen zum Beginn des Ertönens vor.In order to stabilize the frequency, in step A5, the previous time count data is stored in the memory, and the current time count data and the previous one are averaged. If the previous time data is larger than the current one by, for example, 20% or more, the previous one is output. The period calculations based on the zero-crossing point detection immediately after the maximum and minimum peak point detections may be selectively performed in a manner such that the period calculation based on the zero-crossing point immediately after the maximum peak point detection is performed for the waveform rising at the start point, and that based on the zero-crossing point is performed immediately after the minimum peak point detection for the waveform falling at the start point. Such an arrangement provides a quick response to the start of sounding.

Wie oben beschrieben, kann die CPU 6 eine geeignete Verarbeitung wie die Verarbeitung des in Fig. 6 gezeigten Schrittes A5 ausführen. Die Auswahl der geeigneten Verarbeitung kann durch Modifizierung des Programms für die CPU 6 erreicht werden und erfordert keine Modifizierung der Hardware, d. h. der externen Schaltung der CPU 6. Daher ist das Musikinstrument ausgezeichnet im Hinblick auf die Flexibilität der Verwendung und kann leicht entworfen werden, um sogenannte intelligente Funktionen aufzuweisen.As described above, the CPU 6 can execute appropriate processing such as the processing of step A5 shown in Fig. 6. The selection of appropriate processing can be achieved by modifying the program for the CPU 6 and does not require modification of the hardware, i.e., the external circuit of the CPU 6. Therefore, the musical instrument is excellent in terms of flexibility of use and can be easily designed to have so-called intelligent functions.

Die Zeitintervalle (t1) und (t2) jeweils zwischen den Nulldurchgangspunkten unmittelbar nach den Maximum- und Minimum- Spitzenpunkten werden beide erlangt, aber das Musikinstrument ist betriebsfähig mit hinreichenden Funktionen, wenn eines von ihnen verwendet wird. Wenn dies geschieht, kann die Kombination des Maximum-Spitzendetektors 4, des Flipflops 214, des UND-Gatters 224 und des Inverters 230 oder die Kombination des Maximum-Spitzendetektors 5, des Flipflops 215 und des UND-Gatters 225 ausgelassen werden, wodurch die Schaltungsanordnung des Musikinstruments vereinfacht wird.The time intervals (t1) and (t2) respectively between the zero-crossing points immediately after the maximum and minimum peak points are both obtained, but the musical instrument is operable with sufficient functions if either of them is used. When this is done, the combination of the maximum peak detector 4, the flip-flop 214, the AND gate 224 and the inverter 230 or the combination of the maximum peak detector 5, the flip-flop 215 and the AND gate 225 can be omitted, thereby simplifying the circuit arrangement of the musical instrument.

Erste AusführungsformFirst embodiment 1. Allgemeines1. General

Eine erste Ausführungsform einer Tonhöhen-Bestimmungsvorrichtung gemäß den Kernmerkmalen der Erfindung wird nun hinsichtlich Fig. 17 bis 23 beschrieben.A first embodiment of a pitch determining device according to the core features of the invention will now be described with reference to Figs. 17 to 23.

Die Vorrichtung der ersten Ausführungsform ist dahingehend vorteilhaft, daß die Zeit von dem Eingeben einer Eingangssignal-Wellenform bis zur Erzeugung eines aktuellen akustischen Tons verkürzt wird, um ein gutes Ansprechen zum Eliminieren eines unnatürlichen Gefühls bezüglich der ertönten Musiktöne zu erzielen.The device of the first embodiment is advantageous in that the time from inputting an input signal waveform to generating an actual acoustic tone is shortened to achieve a good response for eliminating an unnatural feeling regarding the sounded musical tones.

Die erste Ausführungsform basiert auf der Tatsache, daß drei Ausdrücke unterschiedlicher Periodeninformation zwischen zwei Perioden der Eingangssignal-Wellenform existieren. Innerhalb des Zeitintervalls von weniger als zwei Perioden der Eingangssignal-Wellenform werden zwei Perioden der Wellenform erfaßt. Wenn die erfaßten zwei Perioden einander nahezu gleich sind, erteilt ein Kontroller einen Befehl, um das Ertönen zu starten.The first embodiment is based on the fact that three items of different 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. When the detected two periods are almost equal to each other, a controller issues a command to start sounding.

Insbesondere werden die zwei Perioden durch Erfassen eines Zeitintervalls t1 zwischen den Nulldurchgangspunkten erfaßt, wobei jedes erste Erscheinen nach der Maximum-Spitze der Eingangssignal-Wellenform erfaßt wird, und durch Erfassen eines Zeitintervalls T2 zwischen den Nulldurchgangspunkten, deren erstes Erscheinen nach dem Minimum-Spitzenpunkt der Eingangssignal-Wellenform erfaßt wird.Specifically, the two periods are detected by detecting a time interval t1 between the zero-crossing points, each first appearing after the maximum peak of the input signal waveform is detected, and by detecting a time interval T2 between the zero-crossing points, each first appearing after the minimum peak of the input signal waveform is detected.

Alternativ werden zwei Perioden erfaßt durch Erfassen eines Zeitintervalls T1 zwischen den Maximum-Spitzenpunkten der Eingangssignal-Wellenform und durch Erfassen eines Zeitintervalls T2 zwischen den Minimum-Spitzenpunkten derselben Wellenform.Alternatively, two periods are detected by detecting a time interval T1 between the maximum peak points of the input signal waveform and by detecting a time interval T2 between the minimum peak points of the same waveform.

Die oben erwähnten technischen Merkmale reduzieren die Zeit zwischen dem Ankommen des Eingangssignals bis zu der Erzeugung der künstlichen akustischen Welle, wodurch eine attraktive Funktion durch die Gitarre vorgesehen wird.The above-mentioned technical features reduce the time between the arrival of the input signal and the generation of the artificial acoustic wave, thereby providing an attractive function by the guitar.

2. Beschreibung der Anordnung und des Betriebs2. Description of the arrangement and operation 1) Anordnung1) Arrangement

Die erste Ausführungsform ist ähnlich wie die oben beschriebene, in Fig. 10 und 11 gezeigte Vorrichtung gestaltet. Daher werden ähnliche oder äquivalente Teile zur Vereinfachung mit ähnlichen Bezugszeichen wie in Fig. 10 und I1 bezeichnet.The first embodiment is designed similarly to the device described above and shown in Figs. 10 and 11. Therefore, for simplicity, similar or equivalent parts are designated by similar reference numerals as in Figs. 10 and 11.

Es werden sechs Tonhöhen-Extraktionsschaltungen P1 bis P6 verwendet. In jeder Tonhöhen-Extraktionsschaltung P1 bis P6 ist ein A/D-Konverter 411 enthalten. Ausgangssignale der Flipflops 214 und 215 werden als Einlesesignale an ein Latch 412 über ein ODER-Gatter 413 angelegt. Als Antwort auf das Signal vom ODER-Gatter 413 holt das Latch 412 den Digitalausgang des A/D-Konverters 411 herbei.Six pitch extraction circuits P1 to P6 are used. Each pitch extraction circuit P1 to P6 contains an A/D converter 411. Output signals from the flip-flops 214 and 215 are applied as read-in signals to a latch 412 via an OR gate 413. In response to the signal from the OR gate 413, the latch 412 fetches the digital output of the A/D converter 411.

Mit einer derartigen Anordnung speichert jedes Latch 412 den Maximum- oder Minimum-Spitzenpunkt der Eingangssignalwellenform, so daß eine CPU 400 leicht diese Spitzenwerte herbeiholen kann.With such an arrangement, each latch 412 stores the maximum or minimum peak point of the input signal waveform so that a CPU 400 can easily fetch these peak values.

Das Ausgangssignal jedes ODER-Gatters 413 wird als jeweiliges Signal L1 bis L6 an die CPU 400 angelegt.The output signal of each OR gate 413 is applied to the CPU 400 as respective signal L1 to L6.

2) Betrieb2) Operation

Fig. 17 zeigt ein Hauptprogramm, welches von der CPU 400 ausgeführt wird. Dieses Programm ist ähnlich jenem der vorher erwähnten Vorrichtung. Das erläuterte Hauptprogramm dient der Verarbeitung des Musiktons, welcher durch eine Saite der Gitarre erzeugt wird. Diese Verarbeitung wird entsprechend für die anderen fünf Saiten verwendet. Die CPU 400 führt diese Programme im Zeitmultiplexverfahren aus. Die CPU 400 führt zuerst Schritt A401 aus, um das System der elektrischen Gitarre zu initializieren. Dem folgend liest die CPU 400 den Inhalt des A/D-Konverters 411 im Schritt A402 aus. Die CPU fährt mit der Ton-aus-Verarbeitung des Musiktons fort, bis der Ausgangspegel des A/D-Konverters 41 einen vorherbestimmten Pegel erreicht (Schritte A403, 404 und 405). Wenn die Gitarrensaite gezupft wird, wird das Musiktonsignal oberhalb des in Fig. l9 gezeigten vorherbestimmten Pegels dem A/D-Konverter 411 (Schritt A403) eingegeben, und die CPU rückt zum Schritt A405 vor. In diesem Schritt überprüft die CPU, ob die bereits extrahierten Zeitintervalle T1 und T2 gleich sind. Da jedoch bis jetzt beide Zeitintervalle noch nicht erfaßt sind, ist die Antwort im Schritt A406 NEIN, und die CPU kehrt zum ursprünglichen Fluß zurück. Wenn, wie später beschrieben wird, daß Ertönen beginnt, rückt die CPU zum Schritt A407 vor und startet das Ertönen des Musiktons zu der Tonhöhe, welche durch das Zeitintervall t1 (welches nahezu t2 gleicht) bestimmt ist. Anschließend durchläuft die CPU den Pfad A403 → A404 → A408. Im Schritt A408 führt die CPU die Frequenzsteuerverarbeitung durch, d. h. die Ertönverarbeitung, um den Datenwert zum Bezeichnen des Musiktons dem Frequenz-ROM 8 zuzuführen. Diese Ertönverarbeitung wird solange fortgesetzt, wie der Musiktonsignalpegel oberhalb dem vorherbestimmten Pegel liegt (Schritte A402 → A403 → A404 → A408). Wenn der Ausgangspegel des A/D- Konverters 411 unterhalb dem vorherbestimmten Pegel liegt, wird der Schritt A405 ausgeführt und das Ertönen beginnt.Fig. 17 shows a main program executed by the CPU 400. This program is similar to that of the aforementioned device. The main program explained is for processing the musical tone produced by one string of the guitar. This processing is similarly used for the other five strings. The CPU 400 executes these programs in a time-division multiplexing manner. The CPU 400 first executes step A401 to initialize the electric guitar system. Following this, the CPU 400 reads the content of the A/D converter 411 in step A402. The CPU continues the sound-off processing of the musical tone until the output level of the A/D converter 41 reaches a predetermined level (steps A403, 404 and 405). When the guitar string is plucked, the musical tone signal above the predetermined level shown in Fig. 19 is input to the A/D converter 411 (step A403), and the CPU proceeds to step A405. In this step, the CPU checks whether the already extracted time intervals T1 and T2 are equal. However, since both time intervals are not yet detected, the answer in step A406 is NO, and the CPU returns to the original flow. If, as will be described later, sounding starts, the CPU proceeds to step A407 and starts sounding the musical tone at the pitch determined by the time interval t1 (which is almost equal to t2). Then the CPU traverses the path A403 → A404 → A408. In step A408, the CPU executes the frequency control processing, that is, the sounding processing, to supply the data for designating the musical tone to the frequency ROM 8. This sounding processing is continued as long as the musical tone signal level is above the predetermined level (steps A402 → A403 → A404 → A408). When the output level of the A/D converter 411 is below the predetermined level, step A405 is executed and sounding starts.

Der Betrieb der elektronischen Gitarre, bei welcher eine Saite gezupft wird, wird nun beschrieben. Eine Saite wird gezupft und die Wellenform des Musiktons wie erzeugt erhebt sich, und ihr Pegel erreicht den in Fig. 19(a) gezeigten ersten Maximum-Spitzenpunkt MAX1. Der Maximum-Spitzendetektor 4 erzeugt ein Signal, wie in Fig. 19(b) gezeigt. Dieses Signal setzt den Ausgang des Flipflops 214 auf den logisch hohen Zustand (Fig. 19(d)). Das Nulldurchgangspunkt-Erfassungsausgangssignal von dem Nulldurchgangspunkt-Detektor 6 wird an dem Nulldurchgangspunkt Zero 1 invertiert (vergl. Fig. 19(a) und 19(c)). Zu dieser Zeit wird das Unterbrechungssignal INTan vom UND-Gatter 224 der CPU 400 übertragen. Auf diesen Empfang startet die CPU die Unterbrechungsverarbeitung von Fig. 20. Diese Verarbeitung ist im wesentlichen dieselbe wie die Unterbrechungsverarbeitung von Fig. 14. Die im Schritt B4 erlangte Periode in dem Programm von Fig. 20 wird als Intervall t1 verwendet.The operation of the electronic guitar in which a string is plucked will now be described. A string is plucked and the waveform of the musical tone as generated rises and its level reaches the first maximum peak point MAX1 shown in Fig. 19(a). The maximum peak detector 4 generates a signal as shown in Fig. 19(b). This signal sets the output of the flip-flop 214 to the logic high state (Fig. 19(d)). The zero-crossing point detection output from the zero-crossing point detector 6 is inverted at the zero-crossing point Zero 1 (see Figs. 19(a) and 19(c)). At this time, the interrupt signal INTan is transmitted from the AND gate 224 of the CPU 400. Upon this reception, the CPU starts the interrupt processing of Fig. 20. This processing is essentially the same as the interrupt processing of Fig. 14. The period obtained in step B4 in the program of Fig. 20 is used as the interval t1.

Wenn am Nulldurchgangspunkt Zero 4 von Fig. 19(a) das Unterbrechungssignal INTbn an die CPU 400 angelegt wird, führt die CPU die Verarbeitung von Fig. 21 aus. Die Unterbrechungsverarbeitung von Fig. 21 ist im wesentlichen dieselbe wie die Verarbeitung von Fig. 15.When the interrupt signal INTbn is applied to the CPU 400 at the zero-crossing point Zero 4 of Fig. 19(a), the CPU executes the processing of Fig. 21. The interrupt processing of Fig. 21 is substantially the same as the processing of Fig. 15.

In Fig. 19(a) erlangt die CPU 400 zuerst den Periodendatenwert t1 durch die Unterbrechungsverarbeitung an den Nulldurchgangspunkt Zero 5 und erlangt den Periodendatenwert t2 durch die Unterbrechungsverarbeitung an dem Nulldurchgangspunkt Zero 8.In Fig. 19(a), the CPU 400 first obtains the period data t1 through the interrupt processing at the zero-crossing point Zero 5 and acquires the period data t2 through the interrupt processing at the zero crossing point Zero 8.

Der Erfassung dieses Nulldurchgangspunktes Zero 8 folgend kehrt die CPU zum Hauptprogramm zurück. In diesem Programm führt die CPU die Schritte A403 und A406 von Fig. 18 aufeinanderfolgend aus. Wenn die Zeitdatenwerte t1 und t2 ungefähr gleich sind und die Differenz zwischen ihnen innerhalb eines tolerierbaren Bereiches liegt, ist die Antwort im Schritt A406 JA, und im Schritt A407 veranlaßt die CPU die Tonquellenschaltung dazu, das Ertönen des Musiktons bei einer Frequenz zu starten, welche durch den Zeitdatenwert t1 oder t2 definiert ist (vergl. Fig. 19(f)).Following detection of this zero-crossing point Zero 8, the CPU returns to the main program. In this program, the CPU executes steps A403 and A406 of Fig. 18 in sequence. 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 sounding the musical tone at a frequency defined by the time data t1 or t2 (see Fig. 19(f)).

Wenn die Antwort auf den Schritt A406 NEIN ist, d. h. wenn das Intervall t1 zwischen den Nulldurchgangspunkten Zero 1 und Zero 5 nicht gleich dem Intervall t2 zwischen den Nulldurchgangspunkten Zero 4 und Zero 8 ist, beginnt kein Ertönen und die CPU wartet auf die nächste Unterbrechungsverarbeitung. Danach überprüft die CPU, ob das Zeitintervall t2 zwischen den Punkten Zero 4 und Zero 8 gleich dem nächsten Zeitintervall t1 ist, welches sich von dem Nulldurchgangspunkt Zero 5 bis zu Zero 9 (Fig. 19(a)) erstreckt. Dies wird im Schritt A406 durchgeführt. Wenn das Überprüfungsergebnis JA ist, rückt die CPU zum Schritt A407 vor, bei welchem sie auf den Start des Ertönens abzielt.If the answer to step A406 is NO, that is, if the interval t1 between the zero-crossing points Zero 1 and Zero 5 is not equal to the interval t2 between the zero-crossing points Zero 4 and Zero 8, sounding does not start and the CPU waits for the next interrupt processing. Thereafter, the CPU checks whether the time interval t2 between the points Zero 4 and Zero 8 is equal to the next time interval t1 extending from the zero-crossing point Zero 5 to Zero 9 (Fig. 19(a)). This is done in step A406. If the check result is YES, the CPU advances to step A407, where it aims to start sounding.

Anschließend mißt die CPU das Zeitintervall t1 zwischen den Nulldurchgangspunkten unmittelbar nach der Maximum-Spitzenpunkterfassung und das Zeitintervall t2 unmittelbar nach der Minimum-Spitzenpunkterfassung. Die CPU führt, wenn nötig, die Frequenzänderungsverarbeitungen zweimal für eine Periode durch. Daher kann die Gitarre auf die Frequenzänderung des Eingangssignals schnell ansprechenThen, the CPU measures the time interval t1 between the zero-crossing points immediately after the maximum peak point detection and the time interval t2 immediately after the minimum peak point detection. The CPU performs the frequency change processing twice for one period if necessary. Therefore, the guitar can respond quickly to the frequency change of the input signal.

In dieser ersten Ausführungsform mit der Flag-Funktion in dem Fluß der Fig. 20 und 21, werden die Nulldurchgangspunkte 12 und 14 ignoriert, wenn die Wellenform, wie in Fig. 15 gezeigt, eingegeben wird.In this first embodiment with the flag function in the flow of Figs. 20 and 21, the zero-crossing points 12 and 14 are ignored when the waveform as shown in Fig. 15 is input.

In der ersten Ausführungsform ist der Wellenformeingang von dem Typ, bei welchem die Wellenform zuerst ansteigt, d. h. die Amplitude der Wellenform steigt vom Nullpegel zum Positiven an. Derselbe Betrieb kann erlangt werden, wenn die Wellenform eingegeben wird, welche zuerst fällt oder vom Nullpegel zum Negativen übergeht.In the first embodiment, the waveform input is of the type in which the waveform rises first, i.e., the amplitude of the waveform increases from zero level to positive. The same operation can be obtained when the waveform is input which falls first or transitions from zero level to negative.

Ein solches Beispiel ist in Fig. 22 gezeigt. Wenn die Wellenform, wie in Fig. 22(a) gezeigt, hereinkommt, gibt der Nulldurchgangspunkt-Detektor 206 ein Signal mit einer Wellenform, wie in Fig. 22(b) gezeigt, aus. Als Ergebnis wird das Unterbrechungssignal INTb an die CPU 400 angelegt. Zu diesem Zeitpunkt startet das Programm von Fig. 21. Der Zähler 7 beginnt dar Zählen des Zeitintervalls t2 (vergl. Nulldurchgangspunkt Zero 21 von Fig. 22(a)), danach wird das Unterbrechungssignal INTa an den Nulldurchgangspunkt Zero 22 in derselben Zahl erzeugt. Die CPU startet die Verarbeitung des Flußdiagramms von Fig. 20. Am nächsten Nulldurchgangspunkt Zero 23 wird die erste Periodenberechnung beendet, um das Intervall t2 zu erlangen. Am nächsten Nulldurchgangspunkt Zero 24 wird die Zeit t1 erlangt (vergl. Fig. 22(c)).One such example is shown in Fig. 22. When the waveform as shown in Fig. 22(a) comes in, the zero-crossing point detector 206 outputs a signal having a waveform as shown in Fig. 22(b). As a result, the interrupt signal INTb is applied to the CPU 400. At this time, the program of Fig. 21 starts. The counter 7 starts counting the time interval t2 (see the zero-crossing point Zero 21 of Fig. 22(a)), after which the interrupt signal INTa is generated at the zero-crossing point Zero 22 in the same number. The CPU starts processing the flow chart of Fig. 20. At the next zero-crossing point Zero 23, the first period calculation is terminated to obtain the interval t2. At the next zero crossing point Zero 24 the time t1 is obtained (see Fig. 22(c)).

Die CPU führt die Verarbeitung von Fig. 20 wie die Unterbrechung am Nulldurchgangspunkt Zero 24 aus. Nach Beendigung dieser Verarbeitung kehrt die CPU zum Hauptfluß von Fig. 18 zurück und führt Schritte A403 und A404 aufeinanderfolgend aus. Der Schritt A406 wird zum Überprüfen verwendet, ob die Intervalle t2 und t1 innerhalb einer Zeitlänge innerhalb einer gegebenen Toleranz abfallen (Fig. 22(c)). Wenn die Antwort auf diesen Schritt JA ist, rückt die CPU zum Schritt A407 vor und gibt den Befehl, einen Musikton mit der Periode der Zeitlänge zu erzeugen an das Frequenz-ROM 8 und die Tonquellenschaltung 9 (Fig. 22(d)).The CPU executes the processing of Fig. 20 such as interrupting at the zero-crossing point Zero 24. After completing this processing, the CPU returns to the main flow of Fig. 18 and executes steps A403 and A404 sequentially. Step A406 is used to check whether the intervals t2 and t1 fall within a time length within a given tolerance (Fig. 22(c)). If the answer to this step is YES, the CPU advances to step A407 and instructs to produce a musical tone with the period the time length to the frequency ROM 8 and the sound source circuit 9 (Fig. 22(d)).

Wenn die Antwort auf den Schritt A406 NEIN ist, überprüft die CPU, ob das vorhergehende Zeitintervall t1 (zwischen Zero 22 und Zero 24) gleich dem nächsten Intervall t2 ist (welches sich von den Nulldurchgangspunkten Zero 22 bis Zero 24 erstreckt), nach etwa der halben Periode. Wenn diese Intervalle ungefähr gleich sind, führt die CPU die Startverarbeitung des Ertönens durch.If the answer to step A406 is NO, the CPU checks whether the previous time interval t1 (between Zero 22 and Zero 24) is equal to the next interval t2 (which extends from the zero-crossing points Zero 22 to Zero 24) after about half the period. If these intervals are approximately equal, the CPU performs the sounding start processing.

Sogar wenn die Wellenform fällt, kann auf diese Weise das Ertönen während der Zeitperiode von weniger als zwei Perioden (für eine Sinuswelle ist es 1,5 Perioden) gestartet werden.In this way, even if the waveform is falling, the sounding can be started during the time period of less than two periods (for a sine wave it is 1.5 periods).

Um die Frequenz zu stabilisieren werden im Schritt A408 von Fig. 18, nachdem das Ertönen gestartet ist, der vorhergehend gespeicherte Zeitzähldatenwert und der derzeitige Zeitzähldatenwert gemittelt und der gemittelte Datenwert wird ausgegeben. Wenn alternativ die Differenz zwischen dem vorhergehenden Datenwert und dem derzeitigen Datenwert groß ist, beispielsweise 20% oder mehr, wird der vorhergehende Datenwert ausgegeben. Die Periodenberechnungen, welche auf der Nulldurchgangspunkterfassung unmittelbar nach den Maximum- und Minimum-Spitzenpunkterfassungen basieren, können selektiv auf eine Art durchgeführt werden, bei welcher die Periodenberechnung, welche auf den Nulldurchgangspunkten unmittelbar nach der Maximum-Spitzenpunkterfassung basiert, für die Wellenform ausgeführt wird, welche an dem Startpunkt ansteigt, und jene, welche auf den Nulldurchgangspunkten unmittelbar nach der Spitzenpunkterfassung basiert, wird für die Wellenform ausgeführt, welche am Startpunkt fällt.In order to stabilize the frequency, in step A408 of Fig. 18, after the sounding is started, the previously stored time count data and the current time count data are averaged and the averaged data is output. Alternatively, if the difference between the previous data and the current data is large, for example, 20% or more, the previous data is output. The period calculations based on the zero-crossing point detection immediately after the maximum and minimum peak point detections may be selectively performed in a manner in which the period calculation based on the zero-crossing points immediately after the maximum peak point detection is performed for the waveform rising at the start point and that based on the zero-crossing points immediately after the peak point detection is performed for the waveform falling at the start point.

Wie oben beschrieben, kann die CPU eine geeignete Verarbeitung in dem Schritt A405 von Fig. 18 auswählen. Es wird bemerkt, daß diese Auswahl durch Modifikation der Software erreicht werden kann, und nicht durch Modifizierung der externen Schaltung der CPU. Daher kann das Musikinstrument dieser Erfindung flexibel verwendet werden.As described above, the CPU can select appropriate processing in step A405 of Fig. 18. It is noted that that this selection can be achieved by modifying the software, rather than modifying the external circuit of the CPU. Therefore, the musical instrument of this invention can be used flexibly.

In der oben erwähnten ersten Ausführungsform wird im Schritt B4 von Fig. 20 und im Schritt C4 von Fig. 21 die Periode der Wellenform berechnet. Die Steuerung des Ertönens, welche auf der berechneten Periode basiert, und die Musiktonfrequenz werden im Schritt A407 oder A408 im Hauptfluß von Fig. 18 durchgeführt. Diese Verarbeitungen können, wenn nötig, bei der Unterbrechungsverarbeitung (Fig 20 und 21) durchgeführt werden. Wenn dies geschieht, ist das Ansprechen auf das Eingangssignal noch schneller.In the above-mentioned first embodiment, the period of the waveform is calculated in step B4 of Fig. 20 and step C4 of Fig. 21. The control of sounding based on the calculated period and the musical tone frequency are performed in step A407 or A408 in the main flow of Fig. 18. These processings can be performed in the interrupt processing (Figs. 20 and 21) if necessary. When this is done, the response to the input signal is even faster.

3. Modifikation der ersten Ausführungsform3. Modification of the first embodiment

Eine Modifikation der ersten Ausführungsform wird nun beschrieben, deren Gesamtschaltungsgestaltung in Fig. 24 gezeigt wird. In der Modifikation werden Zeitintervalle T1 bzw. T2 zwischen den Maximum- und Minimum-Spitzenpunkten erfaßt. Die Steuerung des Ertönens wird auf der Basis der so erfaßten Zeitintervalle durchgeführt.A modification of the first embodiment will now be described, the overall circuit configuration of which is shown in Fig. 24. In the modification, time intervals T1 and T2 between the maximum and minimum peak points are detected, respectively. The sounding control is performed on the basis of the time intervals thus detected.

Die Ausgangssignale von einem Mikrophon und Aufnehmern werden an einen Eingangsanschluß 1 angelegt und danach an die Extraktionsschaltungen P11 bis P16. Die spezifische Gestaltung jeder Tonhöhen-Extraktionsschaltung P11 bis P16 wird in Fig. 24 dargestellt. Wie gezeigt wird, empfängt jeder von einer Vielzahl von Verstärkern 2 das Musiktonsignal von dem entsprechenden Eingangsanschluß 1. Jeder der Vielzahl von Tiefpaßfiltern 3 trennt die Hochfrequenzkomponenten des Ausgangssignals von dem Verstärker 8 ab. Das Ausgangssignal des Filters wird einem Maximum-Spitzendetektor 4, einem Minimum- Spitzendetektor 5 und einem A/D-Konverter 411 angelegt.The output signals from a microphone and pickups are applied to an input terminal 1 and then to the extraction circuits P11 to P16. The specific configuration of each pitch extraction circuit P11 to P16 is shown in Fig. 24. As shown, each of a plurality of amplifiers 2 receives the musical tone signal from the corresponding input terminal 1. Each of the plurality of low-pass filters 3 separates the high frequency components of the output signal from the amplifier 8. The output signal of the filter is applied to a maximum peak detector 4, a minimum peak detector 5 and an A/D converter 411.

Diese Detektoren 4 und 5 können dieselben sein wie jene der ersten Ausführungsform.These detectors 4 and 5 may be the same as those of the first embodiment.

Die Signale dieser Detektoren 4 und 5 und des A/D-Konverters 411 werden an die CPU 400 angelegt. Auf der Basis dieser Signale verarbeitet die CPU geeignet den Start des Ertönens und die Frequenzänderung.The signals of these detectors 4 and 5 and the A/D converter 411 are applied to the CPU 400. Based on these signals, the CPU appropriately processes the start of the sounding and the frequency change.

Fig. 23 zeigt ein Zeitablaufsdiagramm von betreffenden Signalen, bei welchen die Eingangssignalwellenform ansteigt. Wenn die Wellenform, wie in Fig. 23(a) gezeigt, hereinkommt, besitzt der Maximum-Spitzendetektor 4 die Ausgangswellenform, wie in Fig. 23(b) gezeigt. Die Wellenform des Ausgangssignals des Minimum-Spitzendetektors 5 ist wie in Fig. 23(c) gezeigt.Fig. 23 shows a timing chart of respective signals in which the input signal waveform rises. When the waveform as shown in Fig. 23(a) comes in, the maximum peak detector 4 has the output waveform as shown in Fig. 23(b). The waveform of the output signal of the minimum peak detector 5 is as shown in Fig. 23(c).

Die CPU 400 bestimmt die Zeitintervalle T1 und T2 auf der Basis der Ausgangssignale von jenen Detektoren, wie in Fig. 23(d) gezeigt. Wenn die Zeitintervalle T1 und T2, welche jeweils eine Periode der Wellenform repräsentieren, im wesentlichen einander gleich sind und die Differenz zwischen ihnen innerhalb eines tolerierbaren Bereiches liegt, wird ein Startkommando zum Ertönen, wie in Fig. 23(e) gezeigt, an die Tonquellenschaltung angelegt.The CPU 400 determines the time intervals T1 and T2 based on the output signals from those detectors as shown in Fig. 23(d). When 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 start command for sounding as shown in Fig. 23(e) is applied to the sound source circuit.

Wenn diese Zeitintervalle T1 und T2 nicht gleich sind, wird das Zeitintervall T1 etwa eine halbe Periode später gemessen und wird mit dem alten Zeitintervall T1 verglichen. Wenn diese im wesentlichen gleich sind, wird die Ertönstartverarbeitung ausgeführt.If these time intervals T1 and T2 are not equal, the time interval T1 is measured about half a period later and is compared with the old time interval T1. If they are substantially equal, the sound start processing is executed.

Es sollte verstanden werden, daß für die Tonhöhen-Extraktion irgendein geeignetes Messen verwendet werden kann. In der oben erwähnten ersten Ausführungsform werden jede der zwei Zeitintervalle t1 und t2 für die Tonhöhenextraktion verwendet. Es wird in Erinnerung gerufen, daß das Zeitintervall t1 zwischen dem Nulldurchgangspunkt liegt, welcher zuerst nach den Maxium-Spitzenwerten der Eingangswellenform erscheint. Das Zeitintervall t2 liegt zwischen dem Nulldurchgangspunkt, welcher nach den Minimum-Spitzenwerten der ersten Wellenform erscheint. Wie in der Modifikation beschrieben, besteht eine andere mögliche Tonhöhenextraktion darin, das Zeitintervall T1 zwischen zwei benachbarten Maximum-Spitzenwerten der Eingangswellenform mit dem Zeitintervall T2 zwischen zwei benachbarten Minimum-Spitzenpunkten zu vergleichen. Eine weitere mögliche Tonhöhenextraktion besteht darin, das Zeitintervall zwischen zwei benachbarten Nulldurchgangspunkten zu verwenden. Eine zusätzliche Tonhöhenextraktion besteht darin, eine Autokorrelationsfunktion oder eine andere geeignete Funktion der Periodenberechnung zu verwenden.It should be understood that any suitable measurement may be used for pitch extraction. In the above-mentioned first embodiment, each of the two time intervals t1 and t2 is used for pitch extraction. It is recalled that the time interval t1 between the zero crossing point which first appears after the maximum peaks of the input waveform. The time interval t2 lies between the zero crossing point which first appears after the minimum peaks of the first waveform. As described in the modification, another possible pitch extraction is to compare the time interval T1 between two adjacent maximum peaks of the input waveform with the time interval T2 between two adjacent minimum peaks. Another possible pitch extraction is to use the time interval between two adjacent zero crossing points. An additional pitch extraction is to use an autocorrelation function or another suitable function of period calculation.

Die erste Ausführungsform und seine Modifikation verwenden drei Typen von Periodendatenwerten t1, t2, t3 oder t2, t1, t2 und T1, T2, T1 oder T1, T2, T1. Während des Zeitintervalls von weniger als zwei Perioden der Eingangswellenform (falls es eine perfekte Sinuswelle ist, beträgt das Intervall 1,5 Perioden) werden zwei Perioden der Wellenform erfaßt. Wenn diese Werte der Perioden miteinander übereinstimmen, richtet sich die CPU auf die Tonquellenschaltung, um das Ertönen zu starten.The first embodiment and its modification use three types of period data values t1, t2, t3 or t2, t1, t2 and T1, T2, T1 or T1, T2, T1. During the time interval of less than two periods of the input waveform (if it is a perfect sine wave, the interval is 1.5 periods), two periods of the waveform are detected. When these values of the periods coincide with each other, the CPU directs to the sound source circuit to start sounding.

Während in der oben erwähnten ersten Ausführungsform die vorliegende Verwendung für eine elektronische Gitarre verwendet wird, kann sie für irgendein anderes System des Typs verwendet werden, in welchem Tonhöhen aus einem Tonsignal oder eine elektrische Schwingung als Eingang eines Mikrophons beispielsweise extrahiert werden, und ein akustisches Signal, welches unterschiedlich zu dem ursprünglichen Signal ist, wird bei den Tonhöhen oder Tonfrequenzen entsprechend jenen des ursprünglichen Signals erzeugt. Spezifische Beispiele diesbezüglich sind elektronische Pianos mit Tastaturen, elektronische Blasinstrumente, elektronische Saiteninstrumente so wie elektronische Violinen und das japanische Saiteninstrument Koto.While in the above-mentioned first embodiment, the present invention is applied to an electronic guitar, it may be applied to any other system of the type in which pitches are extracted from a sound signal or an electric vibration as an input of a microphone, for example, and an acoustic signal different from the original signal is generated at the pitches or sound frequencies corresponding to those of the original signal. Specific examples thereof are electronic pianos with keyboards, electronic wind instruments, electronic string instruments. such as electronic violins and the Japanese string instrument Koto.

Wie oben beschrieben, werden während des Zeitintervalls von weniger als zwei Perioden der Eingangssignalwellenform zwei Perioden der Eingangssignalwellenform erfaßt. Wenn diese im wesentlichen gleich sind, richtet sich die CPU auf das Ertönen eines Musiktons bei einer Frequenz, welche durch die Periode definiert ist. Daher wird die vom Eingeben der Wellenform bis zum aktuellen Starten des Ertönens erforderte Zeit reduziert. Das Ergebnis ist eine Verbesserung der Ansprechleistung und das Eliminieren des unnatürlichen Empfindens von ertönten Musiktönen.As described above, during the time interval of less than two periods of the input signal waveform, two periods of the input signal waveform are detected. If they are substantially equal, the CPU focuses on sounding a musical tone at a frequency defined by the period. Therefore, the time required from inputting the waveform to actually starting sounding is reduced. The result is an improvement in response performance and elimination of the unnatural feeling of sounded musical tones.

Zweite AusführungsformSecond embodiment 1. Allgemeines1. General

Eine zweite Ausführungsform einer elektronischen Gitarre gemäß dieser Erfindung wird unter Bezugnahme auf Fig. 25 bis 27 beschrieben. Diese Ausführungsform ist imstande, die Tonhöhe einer Eingangssignal-Wellenform sogar dann zu extrahieren, wenn sie mehrere Grundwellenkomponenten enthält, wie in Fig. 25 gezeigt wird.A second embodiment of an electronic guitar according to this invention will be described with reference to Figs. 25 to 27. This embodiment is capable of extracting the pitch of an input signal waveform even if it contains a plurality of fundamental wave components, as shown in Fig. 25.

Wie in Fig. 25 gezeigt, enthält die Wellenform viele intensive Grundwellen und besitzt viele Spitzenpunkte und Durchgangspunkte. Wenn die elektronische Gitarre eine solche Wellenform empfängt, kann sie fehlerhaft ein Wellenlängen-Zeitintervall P als Intervalle PS und PR messen, welche jede unterschiedlich zu dem wahren Zeitintervall P sind. Die Gitarre läßt die Musiktöne unter inkorrekten Tonhöhen erklingen. Dies ist problematisch bei der in der KOKOKU Nr. 61- 51793 offenbarten Technik. Wenn die benachbarten Wellenformperioden im wesentlichen gleich sind, wird bei dieser Technik die Frequenzsteuerung auf der Basis der Zeitlänge der verglichenen Periode ausgeführt.As shown in Fig. 25, the waveform contains many intense fundamental waves and has many peak points and crossing points. When the electronic guitar receives such a waveform, it may erroneously measure a wavelength time interval P as intervals PS and PR each different from the true time interval P. The guitar sounds the musical tones at incorrect pitches. This is a problem with the technique disclosed in KOKOKU No. 61-51793. When the adjacent waveform periods are substantially the same, this technique the frequency control is carried out based on the time length of the compared period.

Diese Erfindung zielt darauf ab, ein solches Problem zu lösen, und stellt eine Vorrichtung bereit, welche die Tonhöhe von vielen Oberwellen, welche in der Wellenform enthalten sind, exakt extrahieren kann und den Musikton unter der korrekten Tonhöhe ertönen läßt.This invention aims to solve such a problem and provides a device which can accurately extract the pitch of many harmonics contained in the waveform and make the musical tone sound under the correct pitch.

Um diese Aufgabe zu erreichen, wird eine Messung der Zeitlänge einer ersten Welle der Eingangswellenform durchgeführt, welche teilweise eine Welle derselben Wellenform überlappt, und der Zeitlänge einer zweiten Welle, welche ebenso die erste Welle überlappt. Wenn die gemessenen Zeitlängen im wesentlichen gleich sind, richtet sich eine Steuerung auf das Ertönen eines Musiktons zu der Frequenz, welche durch die Zeitlänge definiert ist.To accomplish this task, a measurement is made of the time length of a first wave of the input waveform, which partially overlaps a wave of the same waveform, and the time length of a second wave, which also overlaps the first wave. If the measured time lengths are substantially equal, a control is directed to sounding a musical tone at the frequency defined by the time length.

2. Beschreibung der Anordnung und Betrieb2. Description of the arrangement and operation

Eine Anordnung der zweiten Ausführungsform wird in Fig. 28 gezeigt.An arrangement of the second embodiment is shown in Fig. 28.

Der Betrieb der zweiten Ausführungsform ist mit Betonung auf das Hauptprogramm dargelegt.The operation of the second embodiment is explained with emphasis on the main program.

Vor einem Fortschreiten mit der detaillierten Beschreibung des Betriebs der CPU 600, wird zuerst das Hauptregister in einem Arbeitsspeicher 601 beschrieben.Before proceeding with the detailed description of the operation of the CPU 600, the main register in a working memory 601 will first be described.

PS-, PR- und P-Register speichern jeweils die Meßzeit einer Periode PS, die Meßzeit einer Periode PR, welche partiell die Periode PS überlappt, und die Meßzeit einer Periode P, welche partiell die Periode PR überlappt. Wenn diese drei Tonhöhendatenwerte PS, PR und P im wesentlichen übereinstimmen, führt die CPU 600 die Frequenzsteuerung für ein Frequenz-ROM 8 und eine Tonquellenschaltung 9 auf der Basis des letzten Tonhöhendatenwertes P aus. Dies wird später detailliert beschrieben. Zu einer anderen Zeit als der Startzeit des Ertönens wird jede Periode, der Tonhöhendatenwert des P- Registers unversehrt dem PS-Register übertragen. In der folgenden Beschreibung beziehen sich PS, PR und P auf die erste, die zweite bzw. die dritte Periode.PS, PR and P registers respectively store the measurement time of a period PS, the measurement time of a period PR which partially overlaps the period PS, and the measurement time of a period P which partially overlaps the period PR. When these three pitch data values PS, PR and P substantially coincide, the CPU 600 performs frequency control for a frequency ROM 8 and a sound source circuit 9 based on the last pitch data P. This will be described in detail later. At a time other than the start time of sounding, every period, the pitch data of the P register is transferred intact to the PS register. In the following description, PS, PR and P refer to the first, second and third periods, respectively.

Das TS-Register speichert die Zahl eines Zählers 7 zum Start der Periode P. Das TR-Register speichert die Zahl des Zählers 7 zum Start der PR-Periode. Diese Register werden verwendet, um den jeweiligen Tonhöhendatenwert zu erlangen. Der Zähler 7 läuft frei, um ein gegebenes Taktsignal zu zählen.The TS register stores the count of a counter 7 at the start of the P period. The TR register stores the count of the counter 7 at the start of the PR period. These registers are used to obtain the respective pitch data value. The counter 7 runs freely to count a given clock signal.

Ein TRIGGER-Register wird während einer Periode unmittelbar vor dem Start des Ertönens, wie in Fig. 26A gezeigt, auf den Zustand "1" gesetzt. In anderen Perioden als dieser weist dieses Register den Zustand "0" auf und speichert den Datenwert, welcher das "Fortschreiten der Vorbereitungsverarbeitung zum Start des Ertönens" anzeigt.A TRIGGER register is set to the state "1" during a period immediately before the start of sounding as shown in Fig. 26A. In periods other than this, this register is in the state "0" and stores the data indicating "progress of the preparation processing for the start of sounding".

Ein SIGN-Register wird verwendet, um anzuzeigen, daß der Nulldurchgangspunkt für die Periodenmessung nach dem Maximum-Spitzenpunkt oder dem Minimum-Spitzenpunkt angeordnet ist. Der Zustand "1" des Registers zeigt den Nulldurchgangspunkt nach dem Maximum-Spitzenpunkt an und der Zustand "2" des Registers zeigt den Nulldurchgangspunkt nach dem Minimum-Spitzenpunkt an.A SIGN register is used to indicate that the zero crossing point for the period measurement is located after the maximum peak point or the minimum peak point. The "1" state of the register indicates the zero crossing point after the maximum peak point and the "2" state of the register indicates the zero crossing point after the minimum peak point.

Ein AMP(i)-Register speichert den Maximum- oder Minimum- Spitzenwert, genauer gesagt, seinen Absolutwert, welcher von einem A/D-Konverter 411 verwendet wird und in einem Latch 412 gespeichert wird. Ein AMP(1)-Register speichert den Maximum-Spitzenwert, und ein AMP(2)-Register dient der Minimum-Spitzenwertspeicherung.An AMP(i) register stores the maximum or minimum peak value, more precisely, its absolute value, which is used by an A/D converter 411 and stored in a latch 412. An AMP(1) register stores the maximum peak value, and an AMP(2) register is for minimum peak value storage.

Zusätzlich beinhaltet die CPU 600 des weiteren drei Schwellenwertpegel ONLEVI, ONLEVII und ONLEV.In addition, the CPU 600 further includes three threshold levels ONLEVI, ONLEVII and ONLEV.

In einem Hauptprogramm (Fig. 26A und 26B) löscht die CPU 600 jedes Register TRIGGER, AMP(1) und AMP(2) zuerst in den Schritten S31 bis S33. Im Schritt S1 führt die CPU die Unterbrechungsverarbeitung aus, wie oben erwähnt, und beurteilt, ob die Inhalte a', b' und t' (welche a, b und t' entsprechen und die vorhergehende Aufzeichnung anzeigen) in dem Arbeitsspeicher 101 gesichert sind. Wenn keine Unterbrechungsverarbeitung ausgeführt worden ist, wird die Antwort NEIN gegeben, und dieser Schritt S1 wird wiederholt ausgeführt.In a main program (Figs. 26A and 26B), the CPU 600 first clears each register TRIGGER, AMP(1) and AMP(2) in steps S31 to S33. In step S1, the CPU executes the interrupt processing as mentioned above and judges whether the contents a', b' and t' (which correspond to a, b and t' and indicate the previous record) are saved in the work memory 101. If no interrupt processing has been executed, the answer NO is given and this step S1 is repeatedly executed.

Wenn der Schritt S1 JA ergibt, wird der nächste Schritt S2 ausgeführt, um die Inhalte a', b' und t' auszulesen. Im nächsten Schritt S3 liest die CPU 600 den Wert des Spitzenpunkts desselben Registertyps aus (Maximum oder Minimum von AMP(a'), und lädt ihn in das s'-Register in der CPU. Des weiteren setzt die CPU den Spitzenwert b' nun extrahiert in das AMP(a')-Register.If step S1 is YES, the next step S2 is executed to read out the contents of a', b' and t'. In the next step S3, the CPU 600 reads out the value of the peak point of the same register type (maximum or minimum of AMP(a') and loads it into the s' register in the CPU. Furthermore, the CPU sets the peak value b' now extracted into the AMP(a') register.

Im Schritt S4 überprüft die CPU, ob die Inhalte des TRIGGER- Registers sich auf "1" befinden oder nicht. Wenn das System der elektronischen Gitarre sich in der Anfangsbedingung befindet, kann der Zustand "1" nicht in dem Register gesetzt sein, und die CPU begibt sich zu dem Schritt S5, bei welchem sie überprüft, ob die Ton-ein-Bedingung (note-on condition) errichtet worden ist oder nicht. In diesem Fall jedoch ist die Ton-ein-Bedingung nicht errichtet worden, und die CPU kehrt zum Schritt S1 zurück. Wenn das Eingangssignal, dessen Pegel größer als ONLEVI ist, hereinkommt, ergibt der Schritt S6 die Antwort JA, und danach wird der Schritt S7 ausgeführt.In step S4, the CPU checks whether the contents of the TRIGGER register are "1" or not. If the electronic guitar system is in the initial condition, the state "1" cannot be set in the register, and the CPU goes to step S5, where it checks whether the note-on condition has been established or not. In this case, however, the note-on condition has not been established, and the CPU returns to step S1. If the input signal whose level is greater than ONLEVI comes in, step S6 gives YES, and then step S7 is executed.

Im Schritt S7 wird der Wert a' dem SIGN-Register eingegeben. Der Wert für a' ist 1 am Nulldurchgangspunkt unmittelbar nach dem Maximum-Spitzenpunkt und ist 2 am Nulldurchgangspunkt unmittelbar nach dem Minimum-Spitzenpunkt.In step S7, the value a' is input to the SIGN register. The value for a' is 1 at the zero crossing point immediately after the maximum peak point and is 2 at the zero crossing point immediately after the minimum peak point.

In den Schritten S8 und 59 speichert die CPU den Wert von t' als den Zahlwert an dem Start der ersten Periode PS in das TS-Register und lädt "1" in das TRIGGER-Register. Als Ergebnis wird der Wert von a' in das SIGN-Register geladen (im Fall von Fig. 27(a) enthält dies Register "1"). Der Wert von b' wird in das AMP-Register gesetzt und der Wert von t' wird in das TS-Register gesetzt. Danach kehrt die CPU zum Schritt S1 zurück.In steps S8 and S9, the CPU stores 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. As a result, the value of a' is loaded into the SIGN register (in the case of Fig. 27(a), this register contains "1"). The value of b' is set into the AMP register and the value of t' is set into the TS register. After that, the CPU returns to step S1.

Die Verarbeitung des Hauptprogramms unmittelbar nach dem Nulldurchgangspunkt Zero 1 (Fig. 27(a)) wird an diesem Punkt beendet.The processing of the main program immediately after the zero crossing point Zero 1 (Fig. 27(a)) is terminated at this point.

Die Verarbeitung des Hauptprogramms unmittelbar nach dem Nulldurchgangspunkt Zero 2 wird nun beschrieben. In den Schritten S1 bis S3 wird die Datenwertsetzverarbeitung ausgeführt und im Schritt S4 ist die Antwort JA, und danach wird Schritt S10 ausgeführt.The processing of the main program immediately after the zero-crossing point Zero 2 will now be described. In steps S1 to S3, the data value setting processing is executed, and in step S4 the answer is YES, and then step S10 is executed.

Wenn die Wellenform zu der Zeit des Eingebens der Wellenform positiv wird, wie in Fig. 27(a) gezeigt, enthält das SIGN- Register "1". Die vorliegende Wellenform weist zurückliegend die negative Spitze auf und daher enthält das a'-Register "2". Bei dieser Bedingung wird NEIN gegeben, und es wird der Schritt S11 ausgeführt. In diesem Schritt wird der Wert von t' wie der Zählwert am Start der zweiten Periode PR in das TR-Register gesetzt. Danach kehrt die CPU zum Schritt S1 zurück.When the waveform becomes positive at the time of inputting the waveform, as shown in Fig. 27(a), the SIGN register contains "1". The present waveform has the negative peak backwards and therefore the a' register contains "2". In 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. After that, the CPU returns to step S1.

Nach dem nächsten Nulldurchgangspunkt Zero 3, wenn das Hauptprogramm wiederum ausgeführt wird, wird im Schritt S4 die Antwort JA gegeben, und danach springt die CPU zum Schritt S10. Der vorliegende Wert von a' ist "1" und der von SIGN ist "1". Daher ergibt sich im Schritt 510 die Antwort JA und es wird der Schritt S12 ausgeführt, um das TRIGGER- Register zu löschen. Im folgenden Schritt S13 wird der Wert des TS-Registers, d. h. die Zeit am Nulldurchgangspunkt Zero 0 von der Zahl des Zählers 7 abgezogen, welche in der vorliegenden Unterbrechung angenommen wird und in dem t'-Register enthalten ist. Das Ergebnis der Subtraktion wird in das PS-Register geladen.After the next zero crossing point Zero 3, when the main program is executed again, in step S4 the answer is YES, and then the CPU jumps to step S10. The present value of a' is "1" and that of SIGN is "1". Therefore, the answer in step S10 is YES and step S12 is executed to clear the TRIGGER register. In the following step S13, the value of the TS register, ie the time at the zero crossing point Zero 0, is subtracted from the number of the counter 7, which is assumed in the present interruption and is contained in the t' register. The result of the subtraction is loaded into the PS register.

Auf diese Weise wird der Tonhöhendatenwert der ersten Periode PS, dessen Länge PS ist, wie in Fig. 27(c) gezeigt, erlangt.In this way, the pitch data of the first period PS whose length is PS is obtained as shown in Fig. 27(c).

Wie in Fig. 27(d) gezeigt, gibt im Schritt S14 die CPU 600 ein Ton-ein-Befehl (note-on command) dem Frequenz-ROM 8 und der Tonquellenschaltung 9 gemäß dem Inhalt des PS-Registers. Und das Ertönen beginnt zu diesem Zeitpunkt. Alternativ kann der Musikton wie durch eine offene Saite gegeben anstelle des Inhalts des PS-Registers erzeugt werden.As shown in Fig. 27(d), in step S14, the CPU 600 gives a note-on command to the frequency ROM 8 and the sound source circuit 9 according to the content of the PS register. And sounding starts at this time. Alternatively, the musical tone as given by an open string may be generated instead of the content of the PS register.

In der Hauptprogrammverarbeitung unmittelbar nach dem nächsten Nulldurchgangspunkt Zero 4 wird der Ton-ein-Modus (note-on mode) errichtet. Die CPU schreitet vom Schritt S5 zum Schritt S15 fort und überprüft, ob der Wert von b' wie der gerade herbeigeholte Spitzenwert nun oberhalb des Pegels OFFLEV liegt. Wenn er nicht oberhalb OFFLEV liegt, überprüft die CPU, ob die Relativ-ein-Verarbeitung (relative-on processing) ausgeführt wird. Insbesondere überprüft die CPU, ob der derzeitige Spitzenwert b' um ONLEVII größer als der vorhergehende Spitzenwert "c", anders gesagt, sie überprüft, ob der extrahierte Spitzenwert während des Ertönens abrupt ansteigt.In the main program processing immediately after the next zero-crossing point Zero 4, the note-on mode is established. The CPU proceeds from step S5 to step S15 and checks whether the value of b', like the peak value just extracted, is now above the level OFFLEV. If it is not above OFFLEV, the CPU checks whether the relative-on processing is being carried out. Specifically, the CPU checks whether the current peak value b' is ONLEVII larger than the previous peak value "c", in other words, it checks whether the extracted peak value abruptly increases during sounding.

Wenn die Saite gezupft wird, wird die Saite allmählich gegen Null gedämpft. Die Antwort auf diesen Schritt S16 ist NEIN. In dem Falle, bei welchem die Saite wiederum gezupft wird, bevor die Schwingung einer Saite auf Null gedämpft wird, durch Tremolo spielen, kann die Antwort des Schrittes S16 JA sein, obwohl dies ein seltener Fall ist. In diesem Fall liefert der Schritt S16 JA, und der Fluß springt zum Schritt S17, und Schritte S8 und S9 werden fortlaufend ausgeführt. Als Ergebnis wird das Triggerregister auf "1" gesetzt, und es wird dieselbe Operation wie jene zum Beginn des Ertönens ausgeführt. Mit anderen Worten, die Schritte S12 bis S14 werden aufeinanderfolgend ausgeführt, um die Relativ-einverarbeitung zu bewirken.When the string is plucked, the string is gradually damped to zero. The answer to this step S16 is NO. In the case where the string is plucked again before the vibration of a string is damped to zero by playing tremolo, the answer of step S16 may be YES, although this is a rare case. In this case, step S16 returns YES and the flow jumps to step S17, and steps S8 and S9 are continuously executed. As a result, the trigger register is set to "1" and the same operation as that at the start of sounding is executed. In other words, steps S12 to S14 are sequentially executed to effect the relative-in processing.

Unter normaler Bedingung wird der Schritt S17, welcher Schritt S16 folgt, ausgeführt, um den Wert von a' und den Wert des SIGN-Registers zu vergleichen. Wenn diese nicht übereinstimmen wie in dem Fall des Nulldurchgangspunkts Zero 4, Zero 6, . . ., werden Schritte S18 und Sl9 ausgeführt. In diesen Schritten wird der Inhalt des TR-Registers von dem t'-Register subtrahiert, um die zweite Periode PR zu erlangen. PR wird in das PR-Register gesetzt, und der Wert von t' wird in das TS-Register gesetzt, um den Tonhöhendatenwert der nächsten Periode PR zu erlangen.Under normal condition, step S17 following step S16 is executed to compare the value of a' and the value of the SIGN register. If they do not match as in the case of the zero-crossing point Zero 4, Zero 6, . . ., steps S18 and Sl9 are executed. In these steps, the content of the TR register is subtracted from the t' register to obtain the second period PR. PR is set in the PR register, and the value of t' is set in the TS register to obtain the pitch data of the next period PR.

An dem Nulldurchgangspunkt Zero 5, Zero 7,..., deren Charakteristik umgekehrt zu jenen der Nulldurchgangspunkte Zero 4 und Zero 6 ist, werden die Folgen von Schritten S1 bis S5 und S15 bis S17 ausgeführt. In diesem Fall stimmen der Inhalt des a'-Registers mit dem Inhalt des TS-Registers überein. Daher wird der Schritt S20 ausgeführt. In diesem Schritt wird die Inhaltsdifferenz zwischen dem t'-Register und dem TS-Register erlangt, um den Tonhöhendatenwert der nächsten dritten Periode zu erlangen. Die Differenz wird in das P-Register gesetzt. Der Wert t' wird im Schritt S21 des TS-Register gesetzt, um den Tonhöhendatenwert der nächsten dritten Periode P zu erlangen.At the zero-crossing point Zero 5, Zero 7,..., whose characteristics are reverse to those of the zero-crossing points Zero 4 and Zero 6, the sequences of steps S1 to S5 and S15 to S17 are executed. In this case, the content of the a' register matches the content of the TS register. Therefore, step S20 is executed. In this step, the content difference between the t' register and the TS register is obtained to obtain the pitch data of the next third period. The difference is set in the P register. The value t' is set in step S21 of the TS register is set to obtain the pitch data of the next third period P.

Anschließend überprüft die CPU 600 im Schritt S22, ob die Datenwertdifferenz zwischen den ersten und dritten Perioden PS und P innerhalb einer vorherbestimmten Fehlertoleranz liegt, welche kleiner als die dritte Periode P ist (0< &alpha;< 0,4). Des weiteren überprüft die CPU im Schritt S23, ob die Datenwertdifferenz zwischen der zweiten und dritten Periode PR und P innerhalb einer vorherbestimmten Fehlertoleranz fällt, welche kleiner ist als die dritte Periode P (0< &alpha;< 0,4). Wenn diese drei Ausdrücke von Tonhöhendatenwerten PS, PR und P innerhalb der Toleranz übereinstimmen, führt die CPU im Schritt 524 die Frequenzsteuerung (Tonhöhenänderung) für das Frequenz-ROM 8 und die Tonquellenschaltung 9, wie in Fig. 5 (d) gezeigt, durch. Wenn diese nicht miteinander übereinstimmen, führt die CPU nicht im Schritt S24 die Tonhöhenänderungsverarbeitung durch und behält die bislang benutzte Tonhöhe bei.Then, the CPU 600 checks in step S22 whether the data value difference between the first and third periods PS and P falls within a predetermined error tolerance which is smaller than the third period P (0<α<0.4). Further, the CPU checks in step S23 whether the data value difference between the second and third periods PR and P falls within a predetermined error tolerance which is smaller than the third period P (0<α<0.4). If these three items of pitch data PS, PR and P coincide within the tolerance, the CPU carries out the frequency control (pitch change) for the frequency ROM 8 and the sound source circuit 9 as shown in Fig. 5 (d) in step S24. If they do not coincide with each other, the CPU does not carry out the pitch change processing in step S24 and maintains the pitch used so far.

Wie oben beschrieben, wird die genaue Tonhöhenextraktion durch Vergleichen von drei Ausdrücken der Tonhöhendatenwerte ausgeführt, mit dem Ertönen des Musiktons in der richtigen Tonhöhe.As described above, accurate pitch extraction is performed by comparing three expressions of pitch data values with the sounding of the musical tone at the correct pitch.

Die elektronische Gitarre nimmt diskret die Frequenzvariation in der Saitenschwingung von Zeit zu Zeit auf und führt die Frequenzsteuerung auf der Basis des aufgenommenen Datenwertes in Realzeit aus.The electronic guitar discretely records the frequency variation in the string vibration from time to time and performs frequency control based on the recorded data value in real time.

Die CPU schreitet vom Schritt 324 zum Schritt S25 fort und überträgt den Tonhöhendatenwert der dritten Periode des P- Registers in das PS-Register. Der Tonhöhendatenwert wird als Tonhöhendatenwert der nächsten neuen ersten Periode verwendet.The CPU proceeds from step S24 to step S25 and transfers the pitch data of the third period of the P register to the PS register. The pitch data is used as the pitch data of the next new first period.

Wenn, wie oben beschrieben, die Saitenschwingung allmählich abgedämpft wird und ihr Pegel unterhalb dem Pegel OFFLEV liegt, schreitet die CPU vom Schritt 515 zum Schritt S26 fort und führt die Ton-aus-Verarbeitung (Ertönen-aus-Verarbeitung (sounding-off processing)) aus, wie im rechten Teil von Fig. 27 gezeigt. Die CPU gibt der Tonquellenschaltung 9 ein Ton-aus-Befehl (note-off command) aus, um das Ertönen zu stoppen.As described above, when the string vibration is gradually attenuated and its level is below the OFFLEV level, the CPU proceeds from step S15 to step S26 and executes the sounding-off processing (sounding-off processing) as shown in the right part of Fig. 27. The CPU issues a note-off command to the sound source circuit 9 to stop the sounding.

Auf diese Art werden die Verarbeitung der Tonaufbereitung und Starts des Ertönens in den Schritten S7 bis S9, dem Schritt S11 und Schritten 12 bis S14 an den jeweiligen Nulldurchgangspunkten der ersten Periode ausgeführt. An den Nulldurchgangspunkten unmittelbar nach den Minimum-Spitzenpunkten der jeweiligen Perioden, d. h. an den gerade-numerierten Nulldurchgangspunkten der Eingangswellenform von Fig. 27 wird die Tonhöhenänderungsverarbeitung in den Schritten S18 und S19 ausgeführt. An den Nulldurchgangspunkten unmittelbar nach den Maximum-Spitzenpunkten, d. h. an den ungerade-numerierten Nulldurchgangspunkten der Eingangswellenform von Fig. 27 wird dieselbe Verarbeitung in den Schritten S20 bis S25 ausgeführt. Schließlich wird im Schritt S26 die Ton-aus-Verarbeitung ausgeführt.In this way, the processing of tone preparation and start of sounding are carried out in steps S7 to S9, step S11, and steps 12 to S14 at the respective zero-crossing points of the first period. At the zero-crossing points immediately after the minimum peak points of the respective periods, i.e., at the even-numbered zero-crossing points of the input waveform of Fig. 27, the pitch change processing is carried out in steps S18 and S19. At the zero-crossing points immediately after the maximum peak points, i.e., at the odd-numbered zero-crossing points of the input waveform of Fig. 27, the same processing is carried out in steps S20 to S25. Finally, in step S26, the tone-off processing is carried out.

Wie aus der Beschreibung bezüglich Fig. 25 zu sehen ist, wird die Frequenzänderungsverarbeitung nicht ausgeführt, sogar wenn die Eingangswellenform viele Oberwellen enthält, wenn die Perioden PS, PR und P nicht einander gleich sind. Das Ergebnis reduziert die Möglichkeit von fehlerhafter Tonhöhenextraktion.As can be seen from the description regarding Fig. 25, the frequency change processing is not carried out even if the input waveform contains many harmonics, if the periods PS, PR and P are not equal to each other. The result reduces the possibility of erroneous pitch extraction.

Bei der Tonhöhenvergleichsverarbeitung der Schritte S22 und S23 wird der Vergleich von PS und PR zusätzlich zu dem Vergleich von PS und P, PR und P gestattet. Es ist wesentlich, zu überprüfen, ob diese drei Faktoren gleich sind oder nicht. Der Tonhöhendatenwert, welcher bei der Tonhöhenänderungsverarbeitung im Schritt S24 verwendet wird, welcher der Erfassung der Gleichheit der drei Faktoren folgt, kann die arithmetische Mitte oder die geometrische Mitte von PS, PR und P zusätzlich zu P sein. Darüber hinaus werden zwei oder drei dieser Faktoren geeignet gewichtet und dann für diesen Datenwert gemittelt.In the pitch comparison processing of steps S22 and S23, the comparison of PS and PR is permitted in addition to the comparison of PS and P, PR and P. It is essential to check whether these three factors are equal or not. The pitch data value obtained in the pitch change processing used in step S24 following the detection of the equality of the three factors may be the arithmetic center or the geometric center of PS, PR and P in addition to P. In addition, two or three of these factors are appropriately weighted and then averaged for this data value.

In der oben erwähnten Ausführungsform wird das Ertönen des Musiktons gemäß dem Inhalt des PS-Registers gestartet, wodurch das Ansprechen des Musikinstrument-Systems verbessert wird. Alternativ kann nach Erfassung der Übereinstimmung dieser drei Faktoren PS, PR und P der Musikton bei der extrahierten Frequenz ertönen.In the above-mentioned embodiment, the sounding of the musical tone is started according to the content of the PS register, thereby improving the response of the musical instrument system. Alternatively, after detecting the agreement of these three factors PS, PR and P, the musical tone may be sounded at the extracted frequency.

Während in der oben erwähnten Ausführungsform die Tonhöhe zwischen den Nulldurchgangspunkten gemessen wird, ist es gestattet, die Periode zwischen irgendwelchen anderen geeigneten Punkten so wie zwischen dem Maximum-Spitzenpunkt und dem Nulldurchgangspunkt, dem Minimum-Spitzenpunkt und dem Nulldurchgangspunkt und dem Maximum- und Minimum-Spitzenpunkt zu messen. In einem solchen Fall wird der Signalausgang des Maximum- oder Minimum-Spitzendetektors 4 oder 5 als Unterbrechungssignal INT verwendet, und es können dieselben Effekte erlangt werden. Zusätzlich kann auf die Erfassung des Nulldurchgangspunkts unmittelbar vor dem Spitzenpunkt eine ähnliche Verarbeitung ausgeführt werden. Irgendeine andere Messung kann verwendet werden, um den Referenzpunkt zur Tonhöhenextraktion zu errichten.While in the above-mentioned embodiment the pitch is measured between the zero-crossing points, it is permitted to measure the period between any other appropriate points such as between the maximum peak point and the zero-crossing point, the minimum peak point and the zero-crossing point, and the maximum and minimum peak points. In such a case, the signal output of the maximum or minimum peak detector 4 or 5 is used as the interruption signal INT, and the same effects can be obtained. In addition, similar processing can be performed on the detection of the zero-crossing point immediately before the peak point. Any other measurement can be used to establish the reference point for pitch extraction.

In der oben erwähnten Ausführungsform werden die jeweiligen Verarbeitungen in dem Hauptfluß ausgeführt, aber sie können ebenso in den Unterbrechungsverarbeitungen ausgeführt werden.In the above-mentioned embodiment, the respective processings are executed in the main flow, but they may also be executed in the interrupt processings.

Während in der oben erwähnten Ausführungsform die vorliegende Erfindung für eine elektronische Gitarre verwendet wird, kann sie ebenso für irgendwelche anderen Systeme des Typs verwendet werden, bei welchem Tonhöhen aus einem Tonsignal oder eine elektrische Schwingung beispielsweise als Eingang von einem Mikrophon extrahiert werden, und es wird ein akustisches Signal, welches unterschiedlich zu dem ursprünglichen Signal ist, unter den Tonhöhen oder Tonfrequenzen entsprechend jenen des ursprünglichen Signals erzeugt. Spezifische Beispiele dafür sind elektronische Pianos mit Tastaturen, elektronische Blasinstrumente, elektronische Saiteninstrumente sowie elektronische Violinen und das Koto (japanisches Saiteninstrument).While in the above-mentioned embodiment, the present invention is used for an electronic guitar it can also be used for any other system of the type in which pitches are extracted from a sound signal or an electrical vibration input from, for example, a microphone, and an acoustic signal different from the original signal is produced among pitches or sound frequencies corresponding to those of the original signal. Specific examples include electronic pianos with keyboards, electronic wind instruments, electronic string instruments, as well as electronic violins and the koto (Japanese string instrument).

Wie aus der vorhergehenden Beschreibung ersichtlich ist, wird in der zweiten Ausführungsform eine Messung der Zeitlänge einer ersten Welle einer Eingangswellenform durchgeführt, welche eine Welle derselben Wellenform partiell überlappt, und der Seitenlänge einer zweiten Welle, welche ebenfalls die erste Welle überlappt. Wenn die gemessenen Zeitlängen im wesentlichen gleich sind, steuert die CPU das Ertönen eines Musiktons mit der durch die Zeitlänge definierten Frequenz. Daher kann das System der elektronischen Gitarre, welches für den Vergleich der drei Perioden am besten geeignet ist, genau die Tonhöhe der Wellenform extrahieren, sogar wenn sie viele Oberwellen enthält.As is apparent from the foregoing description, in the second embodiment, measurement is made of the time length of a first wave of an input waveform which partially overlaps a wave of the same waveform and the side length of a second wave which also overlaps the first wave. When the measured time lengths are substantially equal, the CPU controls the sounding of a musical tone with the frequency defined by the time length. Therefore, the electronic guitar system which is most suitable for the comparison of the three periods can accurately extract the pitch of the waveform even if it contains many harmonics.

Claims (9)

1. Vorrichtung zur Bestimmung der Tonhöhe eines im wesentlichen periodischen Eingangssignals, gekennzeichnet durch:1. Device for determining the pitch of a substantially periodic input signal, characterized by: ein Erfassungsmittel (P1-P6) zum Durchführen einer Mehrzahl von Erfassungen der Periode des Eingangssignals, wobei die Abtastwerte des Eingangssignals für die Erfassung verwendet werden, welche zeitlich überlappt; unda detection means (P1-P6) for performing a plurality of detections of the period of the input signal, wherein the samples of the input signal are used for the detection, which overlap in time; and ein Bestimmungsmittel (CPU), welches die Tonhöhe des Eingangssignals bestimmt, wenn wenigstens zwei der erfaßten Perioden nahezu gleich sind, und welches die Tonhöhe des Eingangssignals bestimmt, um reziprok einer der nahezu gleichen erfaßten Perioden zu sein.a determining means (CPU) which determines the pitch of the input signal when at least two of the detected periods are nearly equal, and which determines the pitch of the input signal to be the reciprocal of one of the nearly equal detected periods. 2. Die Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß2. The device according to claim 1, characterized in that das Erfassungsmittel (P1-P6) zwei Erfassungen der Periode des Eingangssignals innerhalb einer Zeit, welche kürzer ist als die zwei Perioden des Eingangssignals, ausführt; undthe detection means (P1-P6) performs two detections of the period of the input signal within a time which is shorter than the two periods of the input signal; and das Bestimmungsmittel (CPU) die Tonhöhe des Eingangssignals bestimmt, wenn die zwei erfaßten Perioden innerhalb der Zwei-Perioden-Zeitspanne ungefähr gleich sind, und die Eingangssignaltonhöhe als das Reziproke eines der zwei-ungefähr gleichen erfaßten Perioden bestimmt.the determining means (CPU) determines the pitch of the input signal when the two detected periods are approximately equal within the two-period time span, and the input signal pitch is determined as the reciprocal of one of the two approximately equal detected periods. 3. Die Vorrichtung nach Anspruch 1 oder 2, gekennzeichnet durch ein Befehlsmittel (CPU) zum Geben eines Befehls, um einen Musikton bei einer Frequenz zu erzeugen, dessen Periode der bestimmten Periode entspricht.3. The apparatus according to claim 1 or 2, characterized by a command means (CPU) for giving a command to generate a musical tone at a frequency whose period corresponds to the certain period. 4. Die Vorrichtung nach Anspruch 2 oder 3, dadurch gekennzeichnet, daß das Erfassungsmittel (P1-P6) die zwei Perioden erfaßt durch Erfassen einer Zeitdauer (t1) zwischen zwei Nulldurchgangspunkten, welche zwei aufeinanderfolgenden Spitzenpunkten (MAX1) des Eingangssignals folgen, und durch Erfassen einer Zeitdauer (t2) zwischen zwei Nulldurchgangspunkten, welche zwei aufeinanderfolgenden negativen Spitzenpunkten (MINi) des Singangssignals folgen.4. The device according to claim 2 or 3, characterized in that the detection means (P1-P6) detects the two periods by detecting a time period (t1) between two zero crossing points following two consecutive peak points (MAX1) of the input signal and by detecting a time period (t2) between two zero crossing points following two consecutive negative peak points (MINi) of the input signal. 5. Die Vorrichtung nach Anspruch 2 oder 3, dadurch gekennzeichnet, daß das Erfassungsmittel (P1-P6) die zwei Perioden durch Erfassen einer Zeitdauer (P1) zwischen den zwei aufeinanderfolgenden positiven Spitzenpunkten (NAX1) und durch Erfassen einer Zeitdauer (T2) zwischen den zwei aufeinanderfolgenden negativen Spitzenpunkten (MIN1) erfaßt.5. The device according to claim 2 or 3, characterized in that the detection means (P1-P6) detects the two periods by detecting a time period (P1) between the two consecutive positive peak points (NAX1) and by detecting a time period (T2) between the two consecutive negative peak points (MIN1). 6. Die Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß das Bestimmungsmittel (CPU) ein erstes Meßmittel (7) zum Messen einer gegebenen Zeitperiode (PS) einer Periode des Eingangssignals' ein zweites Meßmittel (7) zum Messen einer gegebenen Zeitperiode (PR) einer Periode des Eingangssignals, welches teilweise die eine Periode (PS) überlappt, welche durch das erste Meßmittel gemessen worden ist, ein drittes Meßmittel (7) zum Messen einer gegebenen Zeitperiode (P) einer Periode des Eingangssignals, welches teilweise die eine Periode < PR) überlappt, welche durch das zweite Meßmittel (7) gemessen worden ist, und ein Beurteilungsmittel enthält zum Beurteilen der Periode des Eingangssignals, wenn die gegebenen Zeitperioden (PS, PR, P), welche durch das erste bis dritte Meßmittel (7) gemessen worden ist, miteinander übereinstimmen.6. The device according to claim 1, characterized in that the determining means (CPU) comprises a first measuring means (7) for measuring a given time period (PS) of a period of the input signal, a second measuring means (7) for measuring a given time period (PR) of a period of the input signal which partially overlaps the one period (PS) measured by the first measuring means, a third measuring means (7) for measuring a given time period (P) of a period of the input signal which partially overlaps the one period (PR) measured by the second measuring means (7), and judging means for judging the period of the input signal when the given time periods (PS, PR, P) measured by the first to third measuring means (7) coincide with each other. 7. Die Vorrichtung nach Anspruch 6, gekennzeichnet durch Befehlsmittel (CPU) zum Geben eines Befehls, um einen Musikton bei einer Frequenz zu erzeugen, welche auf den gegebenen Zeitperioden wie durch das erste bis dritte Meßmittel (7) gemessen basieren, wenn die gegebenen Zeitperioden im wesentlichen übereinstimmen.7. The apparatus according to claim 6, characterized by command means (CPU) for giving a command to generate a musical tone at a frequency based on the given time periods as measured by the first to third measuring means (7) when the given time periods substantially coincide. 8. Die Vorrichtung nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, daß das Eingangssignal durch die Vibration einer Saite erzeugt wird.8. The device according to one of claims 1 to 7, characterized in that the input signal is generated by the vibration of a string. 9. Die Vorrichtung nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, daß das Eingangssignal ein Toneingangssignal ist.9. The device according to one of claims 1 to 7, characterized in that the input signal is an audio input signal.
DE19873784830 1986-10-24 1987-10-23 Device for determining the pitch of an essentially periodic input signal. Expired - Lifetime DE3784830T2 (en)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
JP61253487A JPS63106795A (en) 1986-10-24 1986-10-24 Input controller for electronic musical instrument
JP61283292A JP2555551B2 (en) 1986-11-28 1986-11-28 Input waveform signal controller
JP61282142A JPS63136088A (en) 1986-11-28 1986-11-28 Input controller for electronic musical instrument
JP61285985A JPS63139399A (en) 1986-12-02 1986-12-02 Input controller for electronic musical instrument
JP61286745A JPS63141099A (en) 1986-12-03 1986-12-03 Input controller for electronic musical instrument
JP62004714A JP2508044B2 (en) 1987-01-12 1987-01-12 Electronic musical instrument input control device
JP62050381A JPH07104666B2 (en) 1987-03-06 1987-03-06 Pitch extractor

Publications (2)

Publication Number Publication Date
DE3784830D1 DE3784830D1 (en) 1993-04-22
DE3784830T2 true DE3784830T2 (en) 1993-10-14

Family

ID=27563289

Family Applications (2)

Application Number Title Priority Date Filing Date
DE19873784830 Expired - Lifetime DE3784830T2 (en) 1986-10-24 1987-10-23 Device for determining the pitch of an essentially periodic input signal.
DE19873752185 Expired - Lifetime DE3752185T2 (en) 1986-10-24 1987-10-23 Device for generating a musical tone signal according to an input waveform signal

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE19873752185 Expired - Lifetime DE3752185T2 (en) 1986-10-24 1987-10-23 Device for generating a musical tone signal according to an input waveform signal

Country Status (3)

Country Link
EP (2) EP0264955B1 (en)
DE (2) DE3784830T2 (en)
HK (1) HK1005348A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0196700A (en) * 1987-10-08 1989-04-14 Casio Comput Co Ltd Input controller for electronic musical instrument
CN108333506A (en) * 2018-04-08 2018-07-27 杭州欣美成套电器制造有限公司 A kind of nearly zero-signal extraction and alternating-current switch position detecting circuit
CN111030412B (en) * 2019-12-04 2022-04-29 瑞声科技(新加坡)有限公司 Vibration waveform design method and vibration motor

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4633748A (en) * 1983-02-27 1987-01-06 Casio Computer Co., Ltd. Electronic musical instrument
JPS6145298A (en) * 1984-08-09 1986-03-05 カシオ計算機株式会社 Electronic musical instrument
US4627323A (en) * 1984-08-13 1986-12-09 New England Digital Corporation Pitch extractor apparatus and the like

Also Published As

Publication number Publication date
DE3752185D1 (en) 1998-06-04
EP0264955A2 (en) 1988-04-27
DE3752185T2 (en) 1998-08-27
EP0264955B1 (en) 1993-03-17
EP0493374B1 (en) 1998-04-29
EP0264955A3 (en) 1989-08-30
EP0493374A2 (en) 1992-07-01
DE3784830D1 (en) 1993-04-22
HK1005348A1 (en) 1998-12-31
EP0493374A3 (en) 1992-11-19

Similar Documents

Publication Publication Date Title
Moorer On the transcription of musical sound by computer
DE68904106T2 (en) CONTROL UNIT FOR AN ELECTRONIC STRING INSTRUMENT.
DE69907498T2 (en) METHOD FOR QUICKLY DETECTING THE TONE HEIGHT
DE60315880T2 (en) DATA GENERATION APPARATUS AND METHOD FOR MUSIC COMPOSITIONS
DE3889331T2 (en) Device for controlling musical tones according to an input waveform signal.
EP0722161A2 (en) Method for pitch recognition, in particular for musical instruments which are excited by plucking or striking
US7507899B2 (en) Automatic music transcription apparatus and program
DE19709930A1 (en) Musical characteristics information detector
DE3877246T2 (en) ELECTRONIC MUSIC INSTRUMENT.
DE3436645A1 (en) ELECTRONIC MUSIC INSTRUMENT
DE10157454B4 (en) A method and apparatus for generating an identifier for an audio signal, method and apparatus for building an instrument database, and method and apparatus for determining the type of instrument
US4104946A (en) Voicing system for electronic organ
DE3541683C2 (en)
DE3784830T2 (en) Device for determining the pitch of an essentially periodic input signal.
EP1885156B1 (en) Hearing-aid with audio signal generator
US5349130A (en) Pitch extracting apparatus having means for measuring interval between zero-crossing points of a waveform
DE19500751C2 (en) Method for recognizing the beginning of a sound in struck or plucked musical instruments
US8750530B2 (en) Method and arrangement for processing audio data, and a corresponding corresponding computer-readable storage medium
DE60214409T2 (en) METHOD AND DEVICE FOR TWO-PHASE BASIC FREQUENCY DETECTION
DE68911858T2 (en) Automatic transcription method and apparatus.
EP1377924B1 (en) Method and device for extracting a signal identifier, method and device for creating a database from signal identifiers and method and device for referencing a search time signal
DE2750121C2 (en) Musical instrument tuner
JP3092197B2 (en) Pitch extraction device
JP2532424B2 (en) Waveform signal input controller
DE4190022C2 (en) Guitar control system

Legal Events

Date Code Title Description
8364 No opposition during term of opposition