DE3752185T2 - Gerät zum Erzeugen eines Musiktonsignales gemäss eines Eingangswellenform-Signals - Google Patents
Gerät zum Erzeugen eines Musiktonsignales gemäss eines Eingangswellenform-SignalsInfo
- Publication number
- DE3752185T2 DE3752185T2 DE19873752185 DE3752185T DE3752185T2 DE 3752185 T2 DE3752185 T2 DE 3752185T2 DE 19873752185 DE19873752185 DE 19873752185 DE 3752185 T DE3752185 T DE 3752185T DE 3752185 T2 DE3752185 T2 DE 3752185T2
- Authority
- DE
- Germany
- Prior art keywords
- cpu
- register
- signal
- value
- peak
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000001514 detection method Methods 0.000 claims description 17
- 238000012545 processing Methods 0.000 description 68
- 238000005259 measurement Methods 0.000 description 22
- 230000002441 reversible effect Effects 0.000 description 14
- 238000000605 extraction Methods 0.000 description 10
- 230000004044 response Effects 0.000 description 9
- 230000015654 memory Effects 0.000 description 7
- 239000011295 pitch Substances 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 238000000034 method Methods 0.000 description 4
- 230000002238 attenuated effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 230000006641 stabilisation Effects 0.000 description 2
- 238000011105 stabilization Methods 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- 101100026210 Drosophila melanogaster Clbn gene Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000013016 damping Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H3/00—Instruments in which the tones are generated by electromechanical means
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2210/00—Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
- G10H2210/031—Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
- G10H2210/066—Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal for pitch analysis as part of wider processing for musical purposes, e.g. transcription, musical performance evaluation; Pitch recognition, e.g. in polyphonic sounds; Estimation or use of missing fundamental
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Electrophonic Musical Instruments (AREA)
Description
- Die vorliegende Erfindung bezieht sich auf ein Gerät zum Erzeugen eines musikalischen Tonsignais gemäß einem eingegebenen Kurvensignal und insbesondere auf ein elektronisches Saiteninstrument wie beispielsweise einer elektronischen Gitarre oder einem Gitarrensynthesizer, der ein derartiges Gerät aufweist.
- In letzter Zeit wurden musikalische Instrumente von einem Typ entwickelt, bei dem ein Abstand (eine Frequenz) aus einem von einem natürlichen oder herkömmlichen Musikinstrument erzeugten Kurvensignal herausgezogen wird und unter Steuerung des herausgezogenen Abstands eine Tonquelle einer elektronischen Schaltung derart angesteuert wird, daß ein Ton wie beispielsweise ein musikalischer Ton künstlich erzeugt wird.
- Bei dieser Art von musikalischen Instrumenten beinhaltet das Gewinnen der Abstände immer noch einige Probleme, die unbedingt gelöst werden müssen. Typische Abstands-Extraktions-Systeme sind Nulldurchgangspunkt-Erfassungssysteme und Spitzenwert-Erfassungssysteme.
- Das Nulldurchgangspunkt-Erfassungssystem erfaßt die Zeitabstände zwischen Nulldurchgangspunkten in dem eingegebenen Kurvensignal und verwendet diese als Zeitperioden des künstlichen Tons. Das eingebene Kurvensignal beinhaltet häufig harmonische Wellen, die mittels Filtern, wie beispielsweise Tiefpaßfiltern, beseitigt werden sollten. Das Erfassungssystem arbeitet für derartige eingegebene Kurvensignale nicht in geeigneter Weise. Wenn ein solches Signal anliegt, so enthalten die erfaßten Abstände eine Vielzahl von Fehlern. Zur Vermeidung dieser Fehler werden komplizierte Software-Verarbeitungsverfahren benötigt, bei denen beispielsweise das Tastverhältnis des eingegebenen Kurvensignals überprüft wird. Dies ist jedoch technisch schwierig zu realisieren.
- Das Spitzenwert-Erfassungssystem erfaßt maximale und minimale Spitzenwertpunkte des eingegebenen Kurvensignals und setzt bzw. rücksetzt ein Flip-Flop an diesen Spitzenwertpunkten, wodurch ein periodisches Signal erzeugt wird, wie beispielsweise ein Rechteck-Kurvensignal. Spitzenwert- Erfassungssysteme sind in KOKOKU Nr. 57-37074 (entsprechend der US-A-4,117,757) und 57-58672, sowie KOKAI Nr. 55-55398, 55-152597 (Gebrauchsmuster) und 61-26090 offenbart.
- Das Spitzenwert-Erfassungssystem bestimmt die Periode des künstlichen Ton-Kurvensignals durch den Zeitabstand zwischen beispielsweise benachbarten maximalen Spitzenwerten. Dieses Merkmal verursacht die Verringerung der Zuverlässigkeit der erfaßten Abstände und eine langsame Ansprechzeit auf Frequenzänderungen des eingegebenen natürlichen Ton-Kurvensignals. Die Verwendung des R-S-Flip-Flops verursacht ferner eine für einen allgemeinen Gebrauch unflexible Instrumentenschaltung und erschwert den Aufbau von sogenannten intelligenten Musikinstrumenten mit Datenverarbeitungs funktionen.
- Weitere Vorschläge für eine Abstands-Erfassung werden in KOKAI Nr. 55-87196 und 55-159495 sowie KOKOKU Nr. 61- 51793 gemacht.
- In KOKAI 55-87196 wird vorgeschlagen, die Periode des eingegebenen natürlichen Ton-Kurvensignals zu messen und anschließend den gemessenen Wert in eine Frequenzzahl umzuwandeln, der seinerseits einer Tonquelle zugeführt wird. Es sind jedoch keinerlei neue technische Vorschläge für die Periodenmessung in dieser Druckschrift offenbart.
- KOKAI 55-159495 und KOKOKU 61-51793 offenbaren ein Frequenz-Stabilisierungsverfahren, bei dem das Ertönen des Musikinstruments dann beginnt, wenn benachbarte herausgezogene Perioden im wesentlichen gleich sind. Ein Klang-Befehl wird so lange nicht an die Tonquelle ausgesendet, bis zumindest zwei Perioden verstrichen sind. In dieser Hinsicht besitzen diese herkömmlichen Systeme ein Problem beim Ansprechverhalten. Um ein schnelles Ansprechverhalten zu erhalten, sollte der Ton so schnell wie möglich beginnen.
- Das (der US-A-4,606,255 entsprechende) Gebrauchsmuster KOKOKU Nr. 62-20871 offenbart ein weiteres Frequenzstabilisierungsverfahren. In einem Saiten-Musikinstrument bewirkt ein Vibrieren einer Saite das Vibrieren einer weiteren Saite. Im Extremfall vibriert die letztere in Resonanz mit der Vibrationsfrequenz der ersteren. Dieses System leidet jedoch unter hohen Kosten, da mechanische Teile verwendet werden, wobei die Resonanz nicht vollständig beseitigt werden kann.
- Ferner offenbart die Druckschrift GB-A-2 138 988, auf der der Oberbegriff des vorliegenden unabhängigen Patentanspruchs 1 basiert, ein Gerät zur Erzeugung eines musikalischen Tonsignals gemäß einem eingegebenen Kurvensignal mit einer Erfassungsvorrichtung zum Erfassen eines Amplitudenwerts und einer Frequenz eines eingegebenen Kurvensignals sowie eine Klang-Befehlsvorrichtung zum Liefern eines Befehls, bei dem ein musikalischer Ton mit der Frequenz des von der Erfassungsvorrichtung erfaßten eingegebenen Kurvensignals erzeugt wird. Eine Pegel-Beurrteilungsvorrichtung beurteilt, ob der Amplitudenwert des von der Erfassungsvorrichtung erfaßten eingegebenen Kurvensignals unterhalb einem vorbestimmten Wert liegt. Die "Noten-aus"-Verarbeitung führt jedoch sofort ein Anhalten des Tons aus, wenn der Spitzenwert unterhalb einem vorbestimmten Wert liegt.
- Schließlich offenbart die Druckschrift GB-A-2 162 989 ein elektronisches Musikinstrument mit einer Abtastfunktion, wobei ein eingegebenes Kurvensignal abgespeichert wird und der gewünschte Abstand dem gespeicherten Signal zugeordnet wird, wodurch ein gewünschter musikalischer Klang erzeugt wird. Gemäß diesem herkömmlichen System wird ein Nulldurchgangspunkt des gespeicherten Kurvensignals erfaßt und der Pegel des Kurvensignals mit einem vorbestimmten Pegel verglichen.
- Der Erfindung liegt daher die Aufgabe zugrunde, das "Noten-Aus" dann auszuführen, wenn der Eingangssignalwert für eine vorbestimmte Arbeitszeit unterhalb einem vorbestimmten Wert bleibt, wodurch das Verhalten der Anordnung verbessert wird. Erfindungsgemäß wird diese Aufgabe durch die im vorliegenden unabhängigen Patentanspruch 1 angegebenen Maßnahmen gelöst.
- Die Vorteile der vorliegenden Erfindung werden unter Bezugnahme auf die nachfolgende Beschreibung in Verbindung mit den dazugehörigen Zeichnungen für den Fachmann augenscheinlich. Es zeigen:
- Fig. 1 ein typisches Kurvensignal, auf das das Musikinstrument gemäß einem Beispiel der vorliegenden Erfindung anwendbar ist und das ein verbessertes Ansprechverhalten aufweist;
- Fig. 2 eine Schaltungsanordnung des Beispiels für ein Musikinstrument;
- Fig. 3 ein Flußdiagramm für eine Unterbrechungsroutine, die von einer CPU im Beispiel ausgeführt wird;
- Figuren 4a und 4b ein Flußdiagramm eines Hauptprogramms der CPU im Beispiel;
- Fig. 5 einen zeitlichen Ablauf, der zur Erläuterung der Operation des Klang-Starts geeignet ist, wenn das Musikinstrument gemäß dem Beispiel ein Kurvensignal von einem eingegebenen Signal empfängt;
- Fig. 6 einen zeitlichen Ablauf, der zur Erläuterung der Arbeitsweise des Klang-Starts geeignet ist, wenn das Musikinstrument gemäß dem Beispiel ein weiteres Kurvensignal eines eingegebenen Signals empfängt;
- Fig. 7 einen zeitlichen Ablauf, der zur Erläuterung der Arbeitsweise für das Ausblenden geeignet ist, wenn das Musikinstrument gemäß dem Beispiel ein Kurvensignal eines eingegebenen Signals empfängt;
- Fig. 8 ein Kurvensignal zur Erläuterung der technischen Probleme, die vom erfindungsgemäßen Ausführungsbeispiel gelöst werden sollen;
- Fig. 9 ein Blockschaltbild des Ausführungsbeispiels;
- Fig. 10 einen Satz von Kurvensignalen der Signale an den Schlüsselstellen des Ausführungsbeispiels;
- Figuren 11a und 11b einen zeitlichen Ablauf eines Flußdiagramms eines von der CPU ausgeführten Hauptprogramms, wie es im Ausführungsbeispiel verwendet wird; und
- Fig. 12 einen zeitlichen Ablauf zur Erläuterung der Abschaltoperation, wenn das Abschalten im Ausführungsbeispiel durchgeführt wird.
- In einem Beispiel ist die vorliegende Erfindung in einer elektronischen Gitarre ausgeführt. Schwingungen der sechs Saiten der elektronischen Gitarre werden von (nicht dargestellten) Aufnahmevorrichtungen aufgenommen. Die Aufnahmevorrichtungen wandeln die mechanischen Schwingungen der Saiten in elektrische Signale um. Diese Signale werden als musikalische Tonsignale den sechs Eingangsanschlüssen 1 zugeführt. Diese eingegebenen Signale werden von Verstärkern 2 verstärkt und Tiefpaßfiltern 3 zugeführt. Diese Filter entfernen jeweils die hochfrequenten Bestandteile dieser Signale, wodurch das wesentliche Kurvensignal dieser eingegebenen Signale gewonnen wird. Jedes der eingegebenen Signale des wesentlichen Kurvensignals wird einer maximalen Spitzenwert-Erfassungsvorrichtung (MAX) 4, einer minimalen Spitzenwert-Erfassungsvorrichtung (MIN) 5, einer Nulldurchgangspunkt-Erfassungsvorrichtung 6 und einem A/D-Wandler 411 zugeführt.
- Jede maximale Spitzenwert-Erfassungsvorrichtung 4 erfaßt die maximalen Spitzenwertpunkte einer eingegebenen Kurvensignalform. Bei der fallenden Flanke des erfaßten Impulssignals gibt das in der Nachstufe angeordnete Flip-Flop (FF) 214 einer jeden Erfassungsvorrichtung 4 das Q-Ausgangssignal mit hohem Pegel aus. Das Ausgangssignal des FF 214 und das invertierte Ausgangssignal des mit der Nulldurchgangspunkt-Erfassungsvorrichtung 6 gekoppelten Invertierers 230 wird einem UND-Gatter 224 zugeführt. Das Ausgangssignal des UND-Gatters 224 wird als Interruptsignal INTan der CPU 600 zugeführt (wobei n eine der Figuren 1 bis 6 darstellt). In ähnlicher Weise erfaßt jede minimale Spitzenwert-Erfassungsvorrichtung 5 die minimalen Spitzenwertpunkte einer eingegebenen Kurvensignalform. Bei der führenden Flanke des erfaßten Impulssignals gibt das in der Nachstufe angeordnete Flip-Flop (FF 215) einer jeden Erfassungsvorrichtung 5 das Q-Ausgangssignal mit hohem Pegel aus. Das Ausgangssignal des FF 215 und das Ausgangssignal der Nulldurchgangspunkt-Erfassungsvor-richtung 6 werden dem UND-Gatter 225 zugeführt. Das Ausgangssignal des UND-Gatters 225 wird als Interruptsignal INTbn der CPU 600 zugeführt (wobei n eine der Figuren 1 bis 6 darstellt).
- Wenn daher der maximale Spitzenwertpunkt erfaßt wird und das FF 214 am Q-Ausgang einen hohen logischen Pegel aufweist, wird der CPU 600 das Interruptsignal INTan zugeführt, wenn das Kurvensignal den Nullpegel von der positiven Halbwelle herkommend zur negativen Halbwelle hin überschreitet. Wenn der minimale Spitzenwertpunkt erfaßt wird und das FF 215 am Q-Ausgang einen hohen logischen Pegel besitzt, wird das Interruptsignal INTbn der CPU 600 zugeführt, sobald das Kurvensignal den Nullpegel von der negativen Halbwelle zur positiven Halbwelle hin durchquert.
- Unmittelbar nach Empfangen des Interruptsignals INTan oder INTbn legt die CPU 600 das Löschsignal CLan oder CLbn an das FF 214 oder 215 an (wobei n eine Zahl von 1 bis 6 ist). Daraufhin wird das entsprechende FF zurückgesetzt. Demzufolge bleibt, solange der nächste maximale oder minimale Spitzenwertpunkt erfaßt wird, selbst wenn das Kurvensignal beliebig oft durchquert wird, das entsprechende FF zurückgesetzt, weshalb die CPU 600 nie unterbrochen wird.
- Wenn die CPU 600 das Interruptsignal INTan für den festgestellten Nulldurchgangspunkt unmittelbar nachdem der maximale Spitzenwertpunkt erfaßt wurde, empfängt, berechnet die CPU 600 eine Differenz zwischen dem augenblicklichen Zählwert des Zählers 7 und des Wertes des Zählers 7, bei dem das Kurvensignal vorher den Nullpegel unmittelbar nach dem maximalen Spitzenwertpunkt durchquerte. In gleicher Weise berechnet die CPU 600 eine Differenz zwischen dem augenblicklichen Zählwert des Zählers 7 und dem des Zählers 7, bei dem das Kurvensignal vorher unmittelbar nach dem minimalen Spitzenwertpunkt den Nullpegel überquert hat, wenn das Interruptsignal INTbn erzeugt wurde. Jedesmal wenn die Interruptsignale INTan und INTbn erzeugt wurden, speichert die CPU 600 die Zählwerte des Zählers 7 in den Arbeitsspeicher 601. Die Zeit-Zähldaten sowie die Zählwert-Differenz wird unmittelbar oder nach seiner Umwandlung in den Schlüsselcode von der CPU 600 zum Frequenz-ROM 8 übertragen. Die Frequenzdaten einer Periode der Zählwertdaten werden ausgelesen und zur Klang-Quellschaltung 9 gesendet, bei dem ein musikalisches Tonsignal erzeugt wird. Das Klangsystem 10 empfängt dieses Signal und startet die Klangerzeugung des musikalischen Tons.
- In jeder Abstands-Extraktionsschaltung P1 bis P6 ist ein A/D-Umwandler 411 enthalten. Das Ausgangssignal der FF 214 und 215 wird dem Zwischenspeicher 412 über ein ODER- Gatter 413 als Einlese-Signal zugeführt. In Abhängigkeit vom Signal des ODER-Gatters 413 holt der Zwischenspeicher 412 das digitale Ausgangssignal des A/D-Umwandlers 411.
- Mit einer derartigen Anordnung speichert jeder Zwischenspeicher 412 den maximalen oder minimalen Spitzenwertpunkt der eingegebenen Kurvensignalform, sodaß die CPU 600 auf einfache Weise diese Spitzenwerte holen kann.
- Das Ausgangssignal eines jeden ODER-Gatters 413 wird als jeweiliges Signal L1 bis L6 der CPU 600 zugeführt.
- Ein Beispiel einer elektronischen Gitarre wird anhand der Figuren 1 bis 7 beschrieben. Dieses Beispiel wird mit der Absicht vorgeschlagen, die Genauigkeit der Abstands-Extraktion zu verbessern.
- Wenn das eingegebene Kurvensignal ansteigt, ist es notwendig, die Abstände aus der Kurvensignalform schnell zu gewinnen und einen auf dem gewonnenen Abstand basierenden Klang-Startbefehl an die Klang-Quellenschaltung zu senden. Wenn der Klang erzeugt wird, werden im allgemeinen verschiedene Arten von Kurvensignalformen in Erscheinung treten. Wenn die Haupt-Wellenkomponente unter Verwendung eines Tiefpaßfilters aus dem erzeugten Klang erhalten wird, ist die Bestimmung der Meßpunkte für das Gewinnen des Abstands aufgrund des Einflusses durch die Eigenschaften des Filters sehr schwierig.
- Einige Beispiele des Ausgangs-Kurvensignals des Tiefpaßfilters sind in Fig. 1 dargestellt. Das Kurvensignal gemäß Fig. 1(a) erscheint häufig, wenn eine Saite gezupft wird. Wenn der Abstand dieses Kurvensignals durch die Zeitintervalle zwischen den Nulldurchgangspunkten nach den maximalen und minimalen Spitzenwertpunkten bestimmt wird, kann die Steuerung des Musikinstruments das Zeitintervall (a) häufig als eine Periode betrachten. Eine tatsächliche Periode ist jedoch in diesem Fall das Intervall von (b). Wenn daher das Ansprechverhalten zu Beginn der Klangerzeugung beschleunigt wird, wird das Musikinstrument fehlerhaft betrieben.
- Eine mögliche Gegenmaßnahme für dieses Problem ist die Verwendung eines großen Schwellwertpegels (entsprechend dem EIN-Pegel in der Figur), mit dem überprüft wird, ob oder ob nicht die Kurvensignalform gemäß Fig. 1(a) durch die Schwingung einer Saite hervorgerufen wurde, wobei die Kurvensignalpegel unterhalb des Schwellwertpegels nicht erfaßt werden. Wenn ein schwaches Kurvensignal gemäß Fig. 1 (b) eingegeben wird, beurteilt diese Maßnahme jedoch, daß keine Saitenschwingung erzeugt wurde. Selbstverständlich wird in diesem Fall von der Klang-Quellschaltung kein Klang erzeugt, weshalb beim Zuhören ein außerordentlich unnatürlicher Klang von der Gitarre erzeugt wird.
- Die Periodenmessung startet, wenn sowohl die positiven als auch die negativen Spitzenwertpunkte gemäß Fig. 1(c) erscheinen. Im Falle des eingegebenen Kurvensignals (c) wird nicht die Periode von c gemessen, sondern die Periode von d. Dies bedeutet, daß der Zeitpunkt zum Starten der Klangerzeugung leicht verzögert wird.
- Dieses Beispiel ist auf die Lösung des Problems der Startzeitpunkt-Verzögerung der Klangerzeugung gerichtet.
- Zum Lösen dieses Problems wird der maximale und minimale Spitzenwert unmittelbar nachdem das Kurvensignal ansteigt miteinander verglichen. Ein Zeitintervall wird erfaßt und als Periode des musikalischen Ton-Kurvensignals verwendet. Das Zeitintervall im Punkt bezüglich des größeren Spitzenwertpunkts wird als Startpunkt für die Klangerzeugung verwendet. Der Spitzenwertpunkt, der in ähnlicher Weise erfaßt wird und in der gleichen Halbwelle wie der größere Spitzenwertpunkt existiert, wird als Ende des Zeitintervalls verwendet. Eine Steuerung richtet den Beginn der Klangerzeugung des musikalischen Tons auf die Frequenz, die durch die erfaßte Periode definiert ist.
- Der sich auf die maximale oder minimale Spitzenwertpunkte beziehende Punkt kann der Nulldurchgangspunkt unmittelbar nach oder vor dem maximalen oder minimalen Spitzenwertpunkt sein oder kann direkt der maximale oder minimale Spitzenwertpunkt sein.
- Eine Gesamtansicht der Schaltungsanordnung des Beispiels ist in Fig. 2 dargestellt. Die CPU 600 empfängt Interruptsignale INTan und INTbn (n ist eine Zahl von 1 bis 6) von den Abstands-Extraktionsschaltungen P1 bis P6 und arbeitet mit dem Arbeitsspeicher 601 zusammen, um die Periodendaten zu ermitteln.
- Ein Interrupt-Programm und ein Hauptprogramm, welche in der CPU 600 durchgeführt werden, sind in den Figuren 3, 4A und 4B dargestellt. Obwohl diese Programme nur für die Arbeitsweise einer Saite ausgelegt sind, können die gleichen Verarbeitungsschritte für die Arbeitsweise der anderen fünf Saiten entsprechend angewendet werden. In der Verarbeitung dieser sechs Saiten-Operationen führt die CPU 600 die Verarbeitung für die sechs Saiten in einer zeitlich getrennten Art und Weise durch.
- Bevor die Verarbeitung mit der detaillierten Beschreibung der Arbeitsweise der CPU beginnt, werden als erstes die Register im Arbeitsspeicher 601 beschrieben. Ein SCHRITT-Register enthält vier Stufen 0, 1, 2 und 3. Die Inhalte des SCHRITT-Registers ändern sich in fortschreitender Weise gemäß Fig. 5(b) oder Fig. 6(b), sobald die Saite geschlagen wird und schwingt (Fig. 5(a) oder Fig. 6(a)). Die Inhalte 0 dieses Registers stellen den "Noten-AUS-Zustand" dar.
- Ein ZEICHEN-Register wird zum Angeben der Tatsache verwendet, daß der Nulldurchgangspunkt für die gemessene Periode nach dem maximalen oder minimalen Spitzenwertpunkt liegt. Die Inhalte 1 dieses Registers geben an, daß der Nulldurchgangspunkt nach dem maximalen Spitzenwertpunkt liegt, während die Inhalte 2 des Registers angeben, daß der Nulldurchgangspunkt nach dem minimalen Spitzenwertpunkt liegt.
- Ein UMKEHR-Register speichert die Daten, um zu überprüfen, ob die Unterbrechungsverarbeitung durchgeführt wurde, die bei der Ankunft des Nulldurchgangspunkts nach dem Spitzenwertpunkt durchgeführt wird, der gegenüber dem vom ZEICHEN-Register angegebenen Nulldurchgangspunkt angeordnet ist.
- Ein T-Register speichert den Zählwert des Zählers 7 bei einem bestimmten Punkt, wodurch die Periode des eingegebenen Kurvensignals gemessen wird. Der Zähler 7 läuft frei und in Abhängigkeit von einem vorgegebenen Taktsignal.
- Ein AMP (i)-Register speichert den maximalen oder minimalen Spitzenwert, genauer gesagt seinen absoluten Wert, der vom A/D-Umwandler 11 zugeführt wird und im Zwischenspeicher 12 zwischengespeichert wird. Ein AMP(1)-Register speichert den maximalen Spitzenwert und ein AMP(2) speichert den maximalen Spitzenwert und ein AMP(2) speichert den minimalen Spitzenwert.
- Ein Periodenregister speichert die gemessenen Daten. Auf der Grundlage der Inhalte dieses Registers führt die CPU 600 die Frequenzsteuerung gegenüber dem Frequenz-ROM 8 und der Klang-Versorgungsschaltung 9 durch.
- Wie später beschrieben wird, sind für die verschiedenen Arten der Beurteilung drei Konstanten (Schwellwertpegel) in der CPU 600 enthalten. Die erste Konstante ist ONLEVI. Gemäß Fig. 5(a) und Fig. 6(a) befindet sich das System im "Noten-AUS"-Modus. Wenn in diesem Modus ein Spitzenpegel größer als ONLEVI ist, beurteilt die CPU, daß eine Saite geschlagen wurde und beginnt die Periodenmessung.
- ONLEVII wird derart verwendet, daß im "Noten-EIN"-Modus, wenn die Differenz zwischen den vorhergehenden und den augenblicklichen Erfassungspegeln oberhalb des Pegels von ONLEVII liegt, die CPU eine "Relativ-EIN"-Verarbeitung selbst dann durchführt, wenn beispielsweise ein Tremolo verwendet wird.
- OFFLEV wird derart verwendet, daß der "Noten-EIN"-Modus verwendet wird, wenn der erfaßte Spitzenwert unterhalb dieses Pegels OFFLEV liegt, wobei die "Noten-AUS"-Verarbeitung durchgeführt wird (Fig. 7).
- Ein Hauptprogramm und Interrupt-Programme, die im Beispiel verwendet werden, werden nachfolgend beschrieben. Das vorstehend beschriebene vorbereitende Wissen hilft für das Verständnis der nachfolgenden Programmbeschreibung.
- Die CPU 600 empfängt das Ausgangssignal des UND-Gatters 224 oder 225 als Interruptsignal INTa oder INTb und führt eine Interrupt-Verarbeitung gemäß Fig. 3 durch.
- Wenn das Interruptsignal INTa empfangen wird, führt die CPU den Schritt P1 durch und setzt das a-Register auf "1". Wenn das Interruptsignal INTb empfangen wird, führt die CPU 600 den Schritt P2 durch und setzt den gleichen Widerstand auf "2".
- In Schritt P3 setzt die CPU 600 den Zählwert des Zählers 7 im t-Register innerhalb der CPU. Im nächsten Schritt P4 holt die CPU Spitzenwertpegeldaten im A/D-Umwandler 411 und setzt diese Daten im b-Register der CPU 600. Im Schritt P5 löscht die CPU 600 FF 214 oder 215. Im Schritt P6 überträgt die CPU 600 die Inhalte der a', b' und c'-Register für die Speicherung in den Arbeitsspeicher 601. Zu diesem Zeitpunkt ist die Interrupt-Verarbeitung abgeschlossen.
- Im Schritt Q1 des Hauptprogramms (Figuren 4A und 4B) beurteilt die CPU 600, ob oder ob nicht die Inhalte der a'- , b'- und c'-Register durch die Interrupt-Verarbeitung im Arbeitsspeicher 601 abgespeichert werden. Die gestrichenen Buchstaben a', b' und c' entsprechen den Buchstaben a, b und c und geben die Tatsache an, daß diese Datenwerte jeweils vorab abgespeichert wurden. Wenn keine Interruptverarbeitung durchgeführt wurde, ist die Antwort des Schritts Q1 NEIN und die CPU 600 wiederholt die Durchführung des Schritts Q1.
- Wenn die Antwort JA ist, schreitet die CPU 600 zum Schritt Q2. In diesem Schritt liest die CPU die registrierten Inhalte a', b' und t' aus. Daraufhin schreitet die CPU 600 zum Schritt Q3 und liest die Spitzenwerte am Spitzenwertpunkt vom gleichen Typ (maximal oder minimal) aus, der im AMP (a')-Register abgespeichert wurde. Die CPU 600 setzt den zu diesem Zeitpunkt gewonnenen Spitzenwert b' in das AMP(a')-Register.
- -; In den Schritten Q4 bis Q6 überprüft die CPU 600, ob die Inhalte der SCHRITT-Register 3, 2 oder 1 betragen. Wenn das System der diskutierten elektronischen Gitarre sich in einem Anfangszustand befindet, ist der Wert des SCHRITT-Registers 0, weshalb die Antwort in den Schritten Q4, Q5 und Q6 NEIN ist. Im Schritt Q7 überprüft die CPU, ob der zu diesem Zeitpunkt erfaßte Spitzenwert b' oberhalb oder unterhalb des Pegels von ONLEVI liegt.
- Wenn der Spitzenwert b' unterhalb von ONLEVI liegt, wird die Klang-Startverarbeitung nicht durchgeführt und die CPU 600 kehrt zum Schritt Q1 zurück. Wenn er oberhalb von ONLEVI liegt, ergibt sich im Schritt Q7 die Antwort JA und die CPU 600 schreitet zum Schritt Q8.
- Im Schritt Q8 setzt die CPU das SCHRITT-Register auf "1". Im nächsten Schritt Q9 setzt die CPU das UMKEHR-Register auf "0". Im Schritt Q10 gibt die CPU den Wert von a' in das ZEICHEN-Register ein. Der Wert von a' ist beim Nulldurchgangspunkt unmittelbar nach dem maximalen Spitzenwert "1", während er den Wert "2" beim Nulldurchgangspunkt un mittelbar nach dem minimalen Spitzenwertpunkt aufweist.
- Im Schritt Q11 wird der Wert von t' in das T-Register eingeschrieben. Daraus ergibt sich, daß der Wert von a' in das ZEICHEN-Register, der Wert von b' in das AMP-Register und der Wert von t' in das T-Register geschrieben wird. In diesem Beispiel beträgt der Wert des ZEICHEN-Registers "1" (Fig. 5(a) und Fig. 6(a)). Daraufhin kehrt die CPU erneut zum Schritt Q1 zurück.
- Die Verarbeitung des Hauptprogramms unmittelbar nach dem Nulldurchgangspunkt Zero 1 in Fig. 5(a) und Fig. 6(a) wird durch die Durchführung der Folge der vorstehend beschriebenen Prozeßschritte abgeschlossen.
- Nachfolgend wird das Hauptprogramm unmittelbar nach dem Nulldurchgangspunkt Zero 2 beschrieben. Bei dieser Verarbeitung werden die Schritte Q1, Q2, Q3, Q4, Q5 und Q6 ausgeführt. Wenn die Antwort JA im Schritt Q6 vorliegt, schreitet die CPU 600 zum Schritt Q12.
- Wenn das eingegebene Kurvensignal zum Zeitpunkt der Eingabe des Kurvensignals gemäß Fig. 5(a) und Fig. 6(a) ansteigt, besitzt das ZEICHEN-Register den Wert "1". Da die vorliegende Welle des Kurvensignals den negativen Spitzenwert durchlaufen hat, beträgt der Wert des Registers "2", wobei ein NEIN vorliegt. Wenn der Nulldurchgangspunkt unmittelbar nach dem Spitzenwertpunkt mit der gleichen Polarität erreicht ist, erzeugt dieser Schritt ein JA. Die CPU 600 führt keine weiteren Verarbeitungsschritte durch und kehrt zum Schritt Q1 zurück.
- In Schritt Q12 wird ein NEIN ausgegeben, wobei anschließend die CPU zum Schritt Q13 schreitet und den Wert 2 in das SCHRITT-Register schreibt (siehe Fig. 5(b) und Fig. 6(b)).
- Dem Schritt Q13 folgend führt die CPU 600 den Schritt Q14 durch und vergleicht den vorhergehenden Spitzenwertpunkt (AMP (ZEICHEN)) mit dem augenblicklichen Spitzenwert (b'). Wenn der vorhergehende Wert X0 kleiner ist als der augenblickliche Wert (X1> X0), wie in Fig. 5(a) dargestellt, so wird ein JA ausgegeben. Zum Aufstellen der Meßstartzeitpunkt-Periode zum Zeitpunkt t' (Fig. 5(c)) springt die CPU 600 vom Schritt Q14 zu den Schritten Q10 und Q11, wodurch der Wert 2 in das ZEICHEN-Register eingeschrieben wird und gleichzeitig die Inhalte der t'-Register in das T-Register übertragen werden.
- Wenn demgegenüber der vorhergehende Spitzenwertpunkt oberhalb des augenblicklichen Spitzenwertpunkts liegt, X1< X0, wie in Fig. 6(a) dargestellt ist, so wird NEIN im Schritt Q14 erzeugt und im Schritt Q15 der Wert 1 in das UMKEHR-Register eingeschrieben. In diesem Fall wird der vorherige Punkt 1 im ZEICHEN-Register beibehalten. Folglich ist der vorherige Nulldurchgangspunkt Zero 1 in diesem Fall (siehe Fig. 6(c)) die Meßstartzeitpunkt-Periode.
- Wenn die CPU 600 das Hauptprogramm durchführt, nachdem der nichste Nulldurchgangspunkt (Zero 3) durchlaufen wurde, schreitet die CPU zum Schritt Q16 weiter, nachdem JA im Schritt Q5 ausgegeben wurde. Der augenblickliche Wert von a' ist 1, der des ZEICHEN-Registers ist 2 gemäß Fig. 5 und der des ZEICHEN-Registers ist 1 gemß Fig. 6. Daher wird in diesem Fall gemäß Fig. 5 ein NEIN im Schritt Q16 ausgegeben, wobei die CPU zum Schritt Q15 fortschreitet und zu Q1 zurückkehrt Anders gesagt, erkennt die CPU 600, daß der erste Spitzenwertpunkt (Amplitude X2) durchlaufen wurde, nachdem die Periodenmessung begonnen hat.
- In Fig. 6 erhält die CPU 600 die Antwort JA im Schritt Q16 und schreitet zum Schritt Q17, in dem überprüft wird, ob der Wert des UMKEHR-Registers 1 ist. Wenn der Wert des UMKEHR-Registers nicht 1 ist, beurteilt die CPU ein NEIN und kehrt zum Schritt Q1 zurück. Wie vorstehend beschrieben wurde, ist der Wert dieses Registers 1, nachdem der Schritt QiS ausgeführt wurde. Daraufhin schreitet die CPU 600 zum Schritt Q17 und Q18 fort und gibt in das SCHRITT-Register den Wert 3 ein (siehe Fig. 6). Im Schritt Q19 subtrahiert die CPU 600 den Wert des T-Registers, das heißt, den Zeitpunkt des Nulldurchgangspunktes Zero 1 vom Wert des Zählers 7, der durch diese Zeitinterrupt-Verarbeitung gegeben ist, wobei die CPU diesen Wert in das PERIODEN-Register lädt.
- Die in Fig. 6(c) dargestellte Zeitdauer PERIODE ist die Zeitdauer einer Periode. Im Schritt Q20 überträgt die CPU die Inhalte von t' in das T-Register und startet die neue Periodenmessung.
- In Schritt Q12 gibt die CPU 600 einen Startbefehl für die Klangerzeugung (Noten-Ein) an das Frequenz-ROM 8 und die Klang-Versorgungsschaltung 9 entsprechend den Inhalten des PERIODEN-Registers aus. Zu diesem Zeitpunkt startet die Klangerzeugung.
- Im Falle von Fig. 5 wird das Hauptprogramm nach dem nächsten Nulldurchgangspunkt Zero 4 erneut durchgeführt, wobei die CPU 600 von Schritt Q5 zu Q16 springt. Da der Wert des ZEICHEN-Registers nun 2 beträgt, wird in Schritt Q16 JA ausgegeben. Nachfolgend werden die Schritte Q17 bis Q21 ausgeführt. Zu diesem Zeitpunkt erkennt die CPU 600 das Zeitintervall von den Nulldurchgangspunkten Zero 2 bis Zero 4 gemäß Fig. 5(c) als eine Periode. Die Gitarre startet mit der Klangerzeugung für den musikalischen Ton bei der Frequenz, die durch die erkannte Zeitdauer (siehe Fig. 5) definiert ist.
- Somit wird die Periodenmessung vom nächsten Nulldurchgangspunkt nach dem Spitzenwertpunkt, dessen Wert groß ist, durchgeführt. Die Periodenmessung wird beim nächsten Nulldurchgangspunkt abgeschlossen, der sich auf der gleichen Seite befindet wie der vorhergehende Spitzenwertpunkt. Folglich kann die Periode des Ausgangs-Kurvensignals des Tiefpaßfilters 3 gewonnen werden.
- Nach dem Beginn der Verarbeitung für die Klangerzeugung schreitet die CPU 600 in der Hauptprogrammverarbeitung vom Schritt Q4 zum Schritt Q22 und überprüft, ob der Wert des augenblicklichen Spitzenwertpunkts b' oberhalb von OFFLEV gemäß Fig. 7 liegt.
- Wenn nunmehr dieser Wert oberhalb dieses Pegels ist, schreitet die CPU 600 zum Schritt Q23 und beurteilt, ob oder ob nicht die "Relativ-Ein"-Verarbeitung durchgeführt werden soll. Anders gesagt, überprüft die CPU 600, ob der Wert des augenblicklichen Spitzenwertpunkts (b') um ONLEVII oberhalb des vorhergehenden Spitzenwertpunkts liegt, d.h. sie überprüft, ob der Wert des gewonnenen Spitzenwertpunkts während der Klangerzeugung sehr schnell steigt.
- Wenn eine Saite geschlagen wird, wird die Schwingung der Saite schrittweise Richtung 0 gedämpft. Ein NEIN wird in Schritt Q23 ausgegeben. Für den Fall, daß eine weitere Saite beispielsweise aufgrund eines Tremolos angeschlagen wird, bevor die Schwingung der vorab angeschlagenen Saite auf 0 gedämpft wurde, ist die Antwort im Schritt Q23 oftmals JA.
- In diesem Fall springt die CPU 600 zum Schritt Q8, nachdem in Q23 ein JA beurteilt wurde, während sie anschließend die Schritte Q9 bis Q11 ausführt. Folglich schreibt die CPU 600 "1" in das SCHRITT-Register und führt anschließend die gleiche Verarbeitung wie die für den Start der Klangerzeugung aus. Anders gesagt, wird nach dem Laden einer "1" in das SCHRITT-Register von der CPU 600 der Schritt Q16 bis Q21 erneut ausgeführt und die "Relativ- Ein"-Verarbeitung durchgeführt.
- Beim normalen Anschlagen führt die CPU 600 den vom Schritt Q24 gefolgten Schritt Q23 aus und vergleicht die Inhalte des a'-Registers mit denen des ZEICHEN-Registers. Stimmen diese Inhalte nicht überein, so schreitet die CPU zum Schritt Q15 für die Interrupt-Verarbeitung bei dem nächsten Nulldurchgangspunkt. Liegt eine Übereinstimmung vor, so schreitet die CPU 600 zum Schritt Q2, da die augenblickliche Welle des Kurvensignals Spitzenwerte mit gegenüberliegenden Polaritäten (positive und negative Spitzenwerte) in der Vergangenheit aufweist. Daraufhin beurteilt die CPU 600, ob oder ob nicht der Wert des UMKEHR-Registers auf "1" liegt. Wenn das Ergebnis NEIN ist, kehrt sie unmittelbar zum Schritt Q1 zurück. Wenn sich ein JA ergibt, so schreitet die CPU vom Schritt Q25 zum Schritt Q26. Daraufhin werden die Inhalte des T-Registers von denen des t'-Registers subtrahiert, wodurch man eine neue Periode erhält und das Ergebnis in das PERIODEN-Register eingeschrieben wird.
- Im Schritt Q27 werden die Inhalte des t'-Registers in das T-Register übertragen. Nachfolgend wird auf der Grundlage des in Schritt Q28 erhaltenen Wertes des PERIODEN-Registers die Frequenzsteuerung für das Frequenz-ROM 8 und die Klang-Versorgungsschaltung 9 von der CPU 600 ausgeführt.
- Somit nimmt dieses Beispiel gesondert eine Frequenzänderung einer Saitenschwingung auf und steuert die Frequenz entsprechend der aufgenommenen diskreten Daten in Echtzeit.
- Die CPU 600 schreitet vom Schritt Q28 zum Schritt Q29 und löscht das UMKEHR-Register, um schließlich die Penodenmes sung durchzuführen.
- Wie vorstehend beschrieben wurde, springt die CPU 600 vom Schritt Q22 zum Schritt Q30, um das SCHRITT-Register zu löschen, wenn die Saitenschwingung gedämpft wird und der Spitzenwert unterhalb des Pegels OFFLEV liegt. Im nächsten Schritt Q31 wird die "Noten-Aus"-Verarbeitung ausgeführt, wobei die CPU 600 den "Noten-Aus"-Befehl an die Klang-Versorgungsschaltung 9 ausgibt, um die Klangerzeugung des musikalischen Tons zu stoppen.
- Wenn daher die Kurvensignalform gemäß Fig. 1(a) eingegeben wird, wird die Zeitdauer von b gemessen und sobald die Messung abgeschlossen ist, die Start-Verarbeitung für die Klangerzeugung ausgeführt. Da der Ein-Pegel verringert werden kann, kann die Schwingung gemäß Fig. 1(b) erfaßt werden. Für den Fall einer Kurvensignalform gemäß Fig. 1(c) beginnt die Klangerzeugung, sobald die Periode von c oder der ersten Welle gemessen wird. Daher kann die Klangerzeugung schnell gestartet werden, wodurch man ein schnelles Ansprechverhalten erhält.
- In dem vorstehend beschriebenen Ausführungsbeispiel führt die CPU 600 die Interrupt-Verarbeitung beim Nulldurchgangspunkt unmittelbar nach einem jeweiligen Spitzenwertpunkt aus, der von verschiedenen Arten von Verarbeitungen wie beispielsweise dem Beginn der Klangerzeugung, der Berechnung der Periode, des Zustands "Relativ-Ein" und "Noten-Aus" gefolgt wird. Falls notwendig, können diese Verarbeitungen ausgeführt werden, wenn jeder Spitzenwertpunkt erfaßt wird, oder wenn der Nulldurchgangspunkt unmit telbar vor dem Spitzenwertpunkt erfaßt wird. Jede weitere geeignete Maßnahme kann verwendet werden, um den Referenzpunkt zu erhalten.
- Wie vorstehend beschrieben wurde, werden die maximalen und minimalen Spitzenwerte unmittelbar nach dem Anstieg des eingegebenen Kurvensignals miteinander verglichen. Ein Zeitintervall wird als Periode des Kurvensignals erfaßt. Das Zeitintervall beginnt an einem Punkt, der zu dem größeren Spitzenwertpunkt gehört, und endet an einem Spitzenwertpunkt, der in der gleichen Halbwelle angeordnet ist wie der in ähnlicher Weise erfaßte Spitzenwertpunkt, wobei er eine vorbestimmte Bedingung erfüllt. Die Periodensteuerung wird unter Verwendung der erfaßten Periode durchgeführt. Mit einem derartigen Verfahren kann eine exakte Periodenmessung zu Beginn der Klangerzeugung schnell durchgeführt werden, wobei man eine verringerte Verzögerung erhält, wenn das Kurvensignal ansteigt.
- Ein Ausführungsbeispiel einer erfindungsgemäßen elektronischen Gitarre wird anhand der Figuren 8 bis 12 beschrieben.
- Technische Probleme, auf die dieses Ausführungsbeispiel gerichtet ist, sind in Fig. 8 dargestellt. In der Figur bezeichnet (j) ein eingegebenes Kurvensignal, (k) eine Hüllkurve, die positive Spitzenwerte verbindet, (l) ein Kurvensignal eines Erfassungssignals für positive Spitzenwerte, (m) eine Hüllkurve, die negative Spitzenwerte miteinander verbindet und (n) ein Kurvensignal eines Erfassungssignals für negative Spitzenwerte.
- Wenn gemäß Fig. 8 das eingegebene Kurvensignal durch Stummschalten sehr schnell gedämpft wird, wenn beispielsweise der Spitzenwertpegel unterhalb eines vorbestimmten Pegels OFFLEV liegt, führt die Steuerung die "Noten-Aus"- Verarbeitung aus, wodurch die Klangerzeugung gestoppt wird. Bei dieser Annäherung ist es jedoch sehr schwierig, die Spitzenwertpunkte herauszufinden. Aus diesem Grund wird die "Noten-Aus"-Verarbeitung verzögert.
- Wenn gemäß diesem Ausführungsbeispiel der eingegebene Signalpegel sehr schnell auf ein derartiges Ausmaß gedämpft wird, wodurch das Erfassen der Spitzenwerte des eingegebenen Kurvensignals schwierig wird, kann diese Dämpfung schnell und zuverlässig erfaßt und die "Noten-Aus"-Verarbeitung ausgeführt werden.
- Wenn das eingegebene Kurvensignal unterhalb einem vorbestimmten Wert für eine vorbestimmte Zeitdauer fällt, so gibt die Steuerung einen "Noten-Aus"-Befehl aus.
- Eine Gesamtanordnung dieses Ausführungsbeispiels ist in Fig. 9 dargestellt. Diese Anordnung entspricht im wesentlichen der Anordnung gemäß Fig. 2. Gleiche Abschnitte werden zur Vereinfachung mit gleichen Symbolen wie in Fig. 2 bezeichnet.
- Einige der Hauptmerkmale dieses Ausführungsbeispiels sind 1.) das Anlegen einer Zwischenspeicherverriegelung an den Zwischenspeicher 412 bei den maximalen (positiven) und minimalen (negativen) Spitzenwerterfassungspunkten über ODER-Gatter 1016 und 1017, und 2.) Anlegen eines Taktsignals CL über ein UND-Gatter 1026 und ein ODER-Gatter 1017, wenn die CPU 1000 ein Zwischenspeicher-Befehlssignal L mit hohem logischen Pegel anlegt.
- Die Kurvensignale (a) bis (g) des Signals an den Schlüsselabschnitten in Fig. 9 sind in Fig. 10 dargestellt. Von diesen Signalen behält das Zwischenspeicher-Befehlssignal (g) den logisch hohen Pegel während der Periode bei, die von einem Zeitpunkt reicht, an dem die CPU 1000 die Spitzenwerte vom Zwischenspeicher 412 bei den maximalen und minimalen Spitzenwertpunkten in Abhängigkeit von den Interrupt-Signalen INTa und INTb holt bis zum nächsten Erfassen der Spitzenwerte der angelegten Signale (b) und (c).
- Während der Periode für das Anlegen der Interrupt-Signale INTan und INTbn ("n" ist eine Zahl von 1 bis 6) werden für den Fall, daß eine Sinuswelle als eingegebenes Kurvensignal verwendet wird, die Spitzenwerte in der ersten Hälfte der Welle zwischen der Spitze und dem Boden, das heißt zwischen dem Nulldurchgangspunkt und dem maximalen oder rninimalen Spitzenwertpunkt, gespeichert. Im Bereich vom maximalen oder minimalen Spitzenwertpunkt und dem nächsten Nulldurchgangspunkt wird der Spitzenwert gehalten.
- Das Ausgangssignal eines jeweiligen Zwischenspeichers 412 wird der CPU 1000 zugeführt. Diese Daten werden zum Steuern der "Noten-Ein", "Noten-Aus", Beginn der Abstands- Extraktion, Ende der Abstands-Extraktion und Steuerung des Klangerzeugungspegels (Lautstärkesteuerung) verwendet. Die in einem jeweiligen Zwischenspeicher 412 gespeicherten Spitzenwerte werden nacheinander in den Arbeitsspeicher 601 abgespeichert, bevor die Ausgabe des Zwischenspeicher-Befehlssignals L1 bis L6 gestoppt wird.
- Wenn der absolute Wert der Daten, die den vom A/D-Umwandler 411 angelegten Kurvensignalpegel darstellen, oberhalb eines vorbestimmten Wertes liegt, führt die CPU 1000 ein "Noten-Ein" und die Abstands-Extraktion (Grundfrequenz) aus. Wenn die Daten unterhalb des "Noten-Aus"-Pegels OFFLEV gemäß Fig. 12 liegen, wird der Lautstärkepegel sehr schnell gestoppt, wodurch die Klangerzeugung abgeschlossen ist. Diese Arbeitsweise wird im einzelnen später beschrieben.
- In der Schaltungsanordnung ist ein A/D-Umwandler 411 für jede Abstands-Extraktionsschaltung P1 bis P6 vorgesehen. Bei Bedarf kann ein einziger A/D-Umwandler gemeinsam für diese Abstands-Extraktionsschaltungen verwendet und zeitlich getrennt betrieben werden.
- Ein Hauptprogramm der CPU 1000 ist in Fig. 11 dargestellt.
- Ein Interrupt-Programm, das in der CPU 1000 verwendet wird, kann im wesentlichen gleich zu dem Programm der CPU 600 gemäß Fig. 3 sein. Obwohl diese Programme nur für eine Saitenoperation gelten, können die gleichen Verarbeitungsschritte entsprechend für die weiteren fünf Saitenoperationen angewendet werden. Bei der Verarbeitung dieser sechs Saitenoperationen führt die CPU 1000 die Verarbeitung für die sechs Saiten in zeitlich getrennter Weise durch. Die Figuren 5 und 6 werden zur Erlbuterung der Arbeitsweise dieses Ausführungsbeispiels verwendet.
- Bevor mit der detaillierten Beschreibung der CPU-Arbeitsweise fortgefahren wird, werden die Hauptregister im Arbeitsspeicher 601 als erstes beschrieben. Ein SCHRITT-Register enthält vier Stufen 0, 1, 2 und 3. Die Inhalte des SCHRITT-Registers ändern sich fortschreitend, wie in Fig. 5(b) oder Fig. 6(b) dargestellt ist, sobald die Saite geschlagen wird und schwingt (Fig. 5(a) oder Fig. 6(a)). Die Inhalte 0 dieses Registers stellen den "Noten-Aus"-Zustand dar.
- Ein ZEICHEN-Register wird zum Angeben der Tatsache verwendet, daß der Nulldurchgangspunkt für die Periodenmessung nach dem maximalen Spitzenwertpunkt oder minimalen Spitzenwertpunkt liegt. Die Inhalte 1 des Registers geben die Tatsache an, daß der Nulldurchgangspunkt nach dem maximalen Spitzenwertpunkt liegt, während die Inhalte 2 in den Registern angeben, daß der Nulldurchgangspunkt nach dem minimalen Spitzenwertpunkt liegt.
- Ein UMKEHR-Register speichert Daten, um zu überprüfen, ob eine Interrupt-Verarbeitung durchgeführt wurde, die bei Ankunft des Nulldurchgangspunkts nach dem Spitzenwertpunkt ausgeführt wird, der gegenüber dem vom ZEICHEN-Register gegebenen Nulldurchgangspunkt liegt. Dies wird dazu verwendet, um den Abstand (Grundfrequenz) der Extraktionssteuerung für jede Periode zu überprüfen.
- Ein T-Register speichert den Zählwert des Zählers 7 an einem bestimmten Punkt, wodurch die Periode des eingegebe- nen Kurvensignals gemessen wird. Der Zähler 7 läuft entsprechend einem vorgegebenen Taktsignal frei.
- Ein AMP(i)-Register speichert den maximalen oder minimalen Spitzenwert, genauer gesagt seinen absoluten Wert, der vom A/D-Umwandler 411 zugeführt und in 412 zwischengespeichert wird. Ein AMP(1)-Register speichert den maximalen Spitzenwert, während ein AMP(2) den minimalen Spitzenwert speichert.
- Ein PERIODEN-Register speichert die gemessenen Daten. Auf der Grundlage der Inhalte dieses Registers führt die CPU 1000 die Frequenzsteuerung gegenüber dem Frequenz-ROM 8 und der Klang-Versorgungsschaltung 9 aus.
- Ein OF-Register enthält den Wert "1", wenn die Pegeldaten des im Zwischenspeicher 412 zwischengespeicherten eingegebenen Kurvensignals unterhalb von OFFLEV als den "Noten-Aus"-Pegel gemäß Fig. 12 liegen. Es besitzt den Wert "0", wenn es während der Klangerzeugung oberhalb OFFLEV liegt.
- Ein OFT-Register speichert den Zählwert des Zählers 7, wenn der Wert "1" in das OF-Register geschrieben ist. Wenn die Zeitdauer des Zustands von "1" im OFF-Register eine vorbestimmte Zeitdauer ist, beispielsweise die Zeitdauer einer Saitenschwingung im offenen Saitenmodus, genauer gesagt, 12 msec für die sechste Saite, so wird beispielsweise die "Noten-Aus"-Verarbeitung durchgeführt.
- Wie später beschrieben wird, sind für die verschiedenen Arten von Beurteilung drei Konstanten (Schwellwertpegel) in der CPU 1000 enthalten.
- Die erste Konstante ist ONLEVI. Gemäß Fig. 5(a) und Fig. 6(a) befindet sich das System im "Noten-Aus"-Modus. Wenn in diesem Modus ein Spitzenpegel erfaßt wird, der größer als ONLEVI ist, entscheidet die CPU, daß eine Saite geschlagen wurde und beginnt die Periodenmessung.
- ONLEVII wird derart verwendet, daß im "Noten-Ein"-Modus die CPU die "Relativ-Ein"-Verarbeitung selbst dann durchführt, wenn beispielsweise Tremolo verwendet wird, sofern die Differenz zwischen den vorhergehenden und den derzeit erfaßten Pegeln oberhalb des Pegels von ONLEVII liegt.
- OFFLEV wird derart verwendet, daß im "Noten-Ein"-Modus die "Noten-Aus"-Verarbeitung ausgeführt wird (Fig. 12(a)), wenn der erfaßte Spitzenwert unterhalb des Pegels von OFFLEV liegt.
- Ein Hauptprogramm und Interruptprogramme, die im Ausführungsbeispiel verwendet werden, werden nunmehr beschrieben. Das vorstehend beschriebene vorbereitende Wissen dient für das Verständnis der Beschreibung des nachfolgenden Programms.
- Im Schritt S1001 des Hauptprogramms (Fig. 11A und 11B) beurteilt die CPU 1000 ob oder ob nicht die Inhalte der a'- , b'- und c'-Register über die Interrupt-Verarbeitung im Arbeitsspeicher gespeichert. Die gestrichenen Buchstaben a', b' und c' entsprechen den Buchstaben a, b, c und bedeuten, daß diese Daten jeweils vorab gespeichert wurden. Wenn keine Interrupt-Verarbeitung durchgeführt wurde ist die Antwort im Schritt 1001 NEIN, wobei die CPU die Durchführung des Schritts 1001 dadurch wiederholt, daß durch die Noten-AUS-Verarbeitung in den Schritten S1030 bis S1038 durchgegangen wird.
- Wenn die Antwort JA ist schreitet die CPU 1000 zum Schritt S1002. In diesem Schritt liest die CPU 1000 die registrierten Inhalte a', b' und t' aus. Daraufhin geht die CPU 1000 zum Schritt S1002 und liest den Spitzenwert am Spitzenwertpunkt vom gleichen Typ (maximal oder minimal) aus, der im AMP (a')-Register gespeichert wurde. Die CPU 1000 schreibt den zu diesem Zeitpunkt gewonnenen Spitzenwert b'in das AMP (a')-Register.
- In den Schritten S1004 bis S1006 überprüft die CPU 1000, ob der Inhalt des Schritt-Registers 3, 2 oder 1 ist. Wenn das System der diskutierten elektronischen Gitarre sich im Anfangszustand befindet ist das SCHRITT-Register 0, weshalb die Antwort in den Schritten S1004, S1005 und S1006 NEIN ist. Im Schritt S1007 überprüft die CPU 1000, ob der zu diesem Zeitpunkt erfaßte Spitzenwert b' oberhalb oder unterhalb des Pegels von ONLEVI liegt.
- Wenn der Spitzenwert b' unterhalb von ONLEFI liegt, wird die Startverarbeitung für die Klangerzeugung nicht ausgeführt und die CPU 1000 kehrt zum Schritt S1001 zurück. Wenn der Spitzenwert gemäß Fig. 5(a) und Fig. 6(a) oberhalb von ONLEVI liegt, ergibt sich im Schritt S1007 die Antwort JA, weshalb die CPU 1000 zum Schritt S1008 schreitet.
- Im Schritt S1008 schreibt die CPU 1000 den Wert "1" in das SCHRITT-Register. Im nächsten Schritt S1009 schreibt die CPU 1000 den Wert "0" in das UMKEHR-Register. Im Schritt Siob gibt die CPU 1000 den Wert des a'-Registers in das ZEICHEN-Register. Der Wert des a'-Registers ist "1" beim Nulldurchgangspunkt unmittelbar nach dem maximalen Spitzenwertpunkt, während er den Wert "2" beim Nulldurchgangspunkt unmittelbar nach dem minimalen Spitzenwertpunkt aufweist.
- Im Schritt S1011 wird der Wert des t'-Registers in das T-Register eingeschrieben. Folglich werden die Inhalte des a'-Registers in das ZEICHEN-Register geschrieben (nunmehr ist das ZEICHEN "1" für den Fall der Figuren 5(a) und Fig. 6(a)), wobei die Inhalte des b'-Registers in das AMP-Register geschrieben werden. Die Inhalte des t'-Registers werden in das T-Register geladen. Daraufhin kehrt die CPU 1000 zum Schritt S1 zurück.
- Die Verarbeitung des Hauptprogramms unmittelbar nach dem Nulldurchgangspunkt Zero 1 gemäß Fig. 5(a) und Fig. 6(a) wird durch die Durchführung der vorstehend beschriebenen Reihenfolge von Verarbeitungsschritten abgeschlossen.
- Das Hauptprogramm unmittelbar nach dem Nulldurchgangspunkt Zero 2 wird nunmehr beschrieben. In dieser Verarbeitung wird die Dateneinschreibe-Verarbeitung und die Noten- Ein-Stufenunterscheidungs-Verarbeitung in den Schritten S1001, S1002, S1003, S1004, S1005 und S1006 ausgeführt. Wenn die im Schritt S1006 gegebene Antwort JA ist schreitet die CPU 1000 zum Schritt S1012.
- Wenn das eingegebene Kurvensignal zum Zeitpunkt des Eingebens des Kurvensignals gemäß Fig. 5(a) und Fig. 6(a) angsteigt, besitzt das ZEICHEN-Register den Wert "1". Da die augenblickliche Welle des Kurvensignals den negativen Spitzenwert durchlaufen hat besitzt das a'-Register den Wert "2" und die Entscheidung NEIN wird ausgegeben. Wenn der Nulldurchgangspunkt unmittelbar nach dem Spitzenwertpunkt mit der gleichen Polarität erreicht wird, wird JA in diesem Schritt S1012 ausgeben. Die CPU 1000 führt keine weiteren Verarbeitungsschritte durch und kehrt zum Schritt S1001 zurück.
- Im Schritt S1012 wird NEIN ausgegeben, wobei anschließend die CPU zum Schritt S1013 schreitet und in das SCHRITT-Register den Wert "2" einschreibt (siehe Fig. 5(b)).
- Dem Schritt S1013 nachfolgend führt die CPU 1000 den Schritt S1014 aus und vergleicht den vorherigen Spitzenwertpunkt (AMP (ZEICHEN)) mit dem augenblicklichen Spitzenwertpunkt (b'). Wenn der vorhergehende Wert X0 kleiner ist als der augenblickliche Wert (x1> x0), wie in Fig. 5(a) dargestellt ist, wird ein JA ausgegeben. Zum Einstellen der Meßstartzeit-Periode zum Zeitpunkt t' (Fig. 5(c)) springt die CPU 1000 vom Schritt S1014 zu den Schritten S1010 und S1011, wodurch der Wert "2" in das ZEICHEN-Register eingeschrieben wird und gleichzeitig die Inhalte des t'-Registers in das T-Register übertragen werden.
- Wenn demgegenüber der vorherige Spitzenwertpunkt oberhalb des augenblicklichen Spitzenwertpunkts liegt, x1< x0, wie in Fig. 6a dargestellt ist, so wird in Schritt S1014 ein NEIN ausgegeben und der Wert "1" in das UMKEHR-Register eingeschrieben. In diesem Fall wird der vorherige Punkt "1" im ZEICHEN-Register beibehalten. Folglich ist der vorherige Nulldurchgangspunkt Zero 1 in diesem Fall (siehe Fig.6 (c) der Perioden-Meßstartzeitpunkt.
- Wenn die CPU das Hauptprogramm ausführt, nachdem der nächste Nulldurchgangspunkt (Zero 3) durchlaufen wurde, schreitet die CPU 1000 zum Schritt S1016, nachdem im Schritt S1005 JA ausgeben wurde. Der augenblickliche Wert des a'-Registers besitzt den Wert "1", der des ZEICHEN-Registers gemäß Fig. 5 den Wert "2" und der des Zeichen-Registers gemäß Fig. 6 den Wert "1". Daher wird für den Fall von Fig. 5 im Schritt S1016 ein NEIN ausgegeben und die CPU 1000 schreitet zum Schritt 1015 und kehrt zum Schritt 1001 zurück. Anders gesagt erkennt die CPU 1000 daß der erste Spitzenwertpunkt (Amplitude x 2) durchlaufen wurde nachdem die Periodenmessung begonnen hat.
- In Fig. 6 besitzt die CPU 1000 im Schritt S1016 als Antwort JA und schreitet zum Schritt S1017, um zu überprüfen, ob das Umkehr-Register den Wert "1" besitzt. Wenn der Wert des Umkehr-Registers "1" ist, besitzt die CPU 1000 die Antwort NEIN und kehrt zum Schritt 1001 zurück. Wie vorstehend beschrieben wurde, beträgt nach Ausführung des Schritts S1015 der Wert dieses Registers "1". Daraufhin schreitet die CPU zum Schritt S1018 und gibt den Wert "3" in das Schritt-Register ein (siehe Fig. 6(b)). Im Schritt S1019 subtrahiert die CPU 1000 den Wert des T-Registers, d.h. die Zeit des Nulldurchgangspunktes Zero 1, vom Wert des Zählers 7, der durch diese Zeit-Interruptverarbeitung gegeben wird, wobei die CPU 1000 den Wert in das PERIODEN- Register schreibt.
- Die in Fig. 6(c) dargestellte Zeitdauer PERIODE ist die einer Periode. Im Schritt S1020 überträgt die CPU die Inhalte des t'-Register in das T-Register und beginnt die neue Periodenmessung.
- Im Schritt S1021 gibt die CPU 1000 einen Startbefehl (Noten-Ein) für die Klangerzeugung an das Frequenz -ROM 8 und die Klang-Versorgungsschaltung 9 entsprechend den Inhalten des PERIODEN-Registers aus. Zu diesem Zeitpunkt beginnt die Klangerzeugung.
- Für den Fall von Fig. 5 wird das Hauptprogramm nach dem nächsten Nulldurchgangspunkt Zero 4 erneut durchgeführt, wobei die CPU vom Schritt S1005 nach S1016 springt. Da der Wert des ZEICHEN-Registers nunmehr "2" ist ergibt sich im Schritt S1016 ein JA. Nachfolgend wird die Startverarbeitung für die Klangerzeugung in den Schritten S1017 bis S1021 ausgeführt. Zu diesem Zeitpunkt erkennt die CPU 1000 das Zeitintervall von den Nulldurchgangspunkten Zero 2 bis Zero 4 gemäß Fig. 5(c) als eine Periode. Die Gitarre beginnt mit der Klangerzeugung des musikalischen Tons bei der Frequenz, wie sie durch die erkannte Zeitdauer definiert ist (siehe Fig. 5(d)).
- Somit wird die Periodenmessung vom nächsten Nulldurchgangspunkt nach dem Spitzenwertpunkt, dessen Wert groß ist, durchgeführt. Die Periondenmessung wird beim nächsten Nulldurchgangspunkt abgeschlossen, der sich auf der gleichen Seite befindet wie der vorhergehende Spitzenwertspunkt. Folglich wird die Periode des Ausgangs-Kurvensignals des Tiefpaßfilters 3 gewonnen.
- Nach der Start-Verarbeitung für die Klangerzeugung schreitet die CPU 1000 von Schritt S1004 zum Schritt S1023 in der Hauptprogramm-Verarbeitung und beurteilt ob, oder ob nicht die Relativ-Ein-Verarbeitung durchgeführt werden sollte. Anders gesagt überprüft die CPU 1000, ob der Wert des augenblicklichen Spitzenwertpunkts (b') um ONLEVII oberhalb des vorherigen Spitzenwertspunkts liegt, d. h. sie überprüft, ob der Wert des gewonnenen Spitzenwertpunktes während der Klangerzeugung sehr schnell ansteigt.
- Wenn eine Saite geschlagen wird, verringert sich die Schwingung der Seite aufgrund Dämpfung schrittweise in Richtung 0. Im Schritt S1023 wird ein NEIN ausgegeben. Für den Fall, daß vor dem Schlagen einer weiteren Saite beispielsweise beim Spielen eines Tremolos, die Schwingung der vorher geschlagenen Seite auf 0 gedämpft wurde, ist die Antwort im Schritt S1023 oftmals JA.
- In diesem Fall springt die CPU 1000 zum Schritt S1008 nachdem im Schritt S1023 ein JA beurteilt wurde, wobei sie anschließend im Schritt S1009 bis S1001 die vorbereitende Verarbeitung für NOTEN-Ein ausführt. Folglich schreibt die CPU 1000 in das SCHRITT-Register eine "1" und führt nachfolgend die gleiche Verarbeitung durch wie beim Starten der Klangerzeugung. Anders gesagt führt die CPU.1000 nach dem Laden der "1" in das SCHRITT-Register die Schritte S1016 bis S1021 erneut durch und führt eine Relativ-Ein-Verarbeitung durch.
- Beim normalen Anschlagen führt die CPU 1000 den Schritt S1023 gefolgt vom Schritt S1024 durch und vergleicht die Inhalte des a'-Registers mit denen des ZEICHEN-Registers. Wenn diese nicht miteinander übereinstimmen schreitet die CPU 1000 zum Schritt S1015 für die Interrupt-Verarbeitung beim nächsten Nulldurchgangspunkt. Stimmen die Inhalte miteinander überein, geht die CPU zum Schritt S1025, da die augenblickliche Welle des Kurvensignals Spitzen mit entgegengesetzten Polaritäten (positive und negative Spitzen) in der Vergangenheit aufweist. Daraufhin beurteilt die CPU 1000, ob oder ob nicht der Wert des UMKEHR-Registers den Wert "1" aufweist. Ist das Ergebnis NEIN kehrt sie unmittelbar zu Schritt S1001 zurück. Ergibt sich ein Ja schreitet die CPU 1000 von Schritt S1025 zu Schritt S1026. Daraufhin werden die Inhalte des T-Registers von denen des t'- Registers zum Erhalten einer neuen Periode subtrahiert und das Ergebnis in das PERIODEN-Register eingeschrieben.
- Im Schritt S1027 werden die Inhalte des t'-Registers zum T-Register übertragen. Nachfolgend führt die CPU 1000 auf der Grundlage des im Schritt S1028 erhaltenen Wertes für das PERIODEN-Register die Frequenz (Abstands)-Steuerung für das Frequenz-ROM 8 und die Klang-Versorgungsschaltung 9 durch.
- Somit nimmt dieses Ausführungsbeispiel getrennt eine Änderung der Frequenz der Saitenschwingung auf und steuert die Frequenz entsprechend der aufgenommenen diskreten Daten in Echtzeit.
- Die CPU 1000 schreitet von Schritt S1028 zu Schritt S1029 und löscht das UMKEHR-Register um schließlich die Periodenmessung auszuführen.
- Wenn die Saitenschwingung sehr schnell durch Stummschalten gedämpft wird und der Spitzenwertpegel unterhalb den Wert OFLEV fällt, wie in Fig. 12 dargestellt ist, entscheidet die CPU 1000 im Schritt S1030, daß die augenblicklichen Inhalte des SCHRITT-Registers drei sind. Gemäß Fig. 12(c) erfaßt die CPU 1000, daß der Kurvensignalpegel des eingegebenen Signals, der vom A/D-Umwandler 411 abgeleitet wird und im Zwischenspeicher 412 zwischengespeichert ist, unterhalb des "Noten-aus"-Pegels OFFLEV (S1031) liegt. Der Wert "1" wird in das OF-Register eingeschrieben, in dem "0" gespeichert war, und der Zählwert des Zählers 7 wird in das OFT-Register eingeschrieben. Die CPU kehrt zum Schritt S1001 (Schritte S1023 bis S1034) zurück.
- Da der Spitzenwert unterhalb des OFFLEV-Pegels liegt, überschreitet der Kurvensignalpegel des Signals, welches vorn A/D-Umwandler 411 am Zwischenspeicher 412 angelegt wird, niemals den Wert OFFLEV, wenn das eingegebene Kurvensignal den Spitzenwert erreicht. Daher schreitet die CPU niemals von den Schritten S1030 und S1031 zum Schritt S1038, so daß der Wert "1" im OF-Register beibehalten wird. Wenn der Zustand, bei dem der Kurvensignalpegel unterhalb OFFLEV liegt für die Länge einer Welle der Saitenschwingung beibehalten wird, für den Fall von sechs Saiten für 12 msec oder mehr, so erkennt die CPU 1000 im Schritt S1035 dies unter Verwendung der Differenz zwischen dem Zählwert, wie er in das OFT-Register eingeschrieben ist, und dem augenblicklichen Zählwert des Zählers 7. Im Schritt S1036 löscht die CPU 1000 das SCHRITT-Register und das OF-Register und führt im Schritt S1037 die "Noten-aus"-Verarbeitung durch, wobei sie einen "Noten-aus"-Befehl an die Klang-Versorgungsschaltung 9 ausgibt, um die Klangerzeugung zu stoppen.
- Auf diese Weise wird die "Noten-Aus"-Verarbeitung schnell und zuverlässig durchgeführt, selbst wenn der Kurvensignalpegel sich sehr schnell ändert, in dem ein Kurvensignalpegel unterhalb von OFFLEV für beispielsweise 12 msec erfaßt wird.
- Da ein derartiges Dämpfen zeitweise auftritt, erfaßt die CPU 1000 in Schritt S1031, wenn der Spitzenwertpegel OFFLEV überschreitet, und löscht das OF-Register in Schritt S1038, wobei die "Noten-Aus"-Verarbeitung nicht ausgeführt wird. Wenn daher ein sehr schneller Abfall des Kurvensignalpegels auftritt, wie er in Fig. 8 dargestellt ist, und weder das Interruptsignal INTa noch INTb erzeugt wird, so liegt das Taktsignal CL immer am Zwischenspeicher 412 an. Das Zwischenspeicher-Befehlssignal L, wie es in Fig. 10 durch (8) angedeutet ist, behält seinen hochpegeligen Zustand. Daraufhin wird das Ausgangssignal des A/D-Umwandlers 411 der CPU 1000 über den Zwischenspeicher 412 zugeführt. Die CPU führt die "Noten-Aus"-Verarbeitung entsprechend diesem Spitzenwert durch. Folglich wird das "Noten-Aus"-Ansprechverhalten verbessert.
- Das vorstehend beschriebene Ausführungsbeispiel ist derart aufgebaut, daß das "Noten-Aus" durchgeführt wird, wenn der Kurvensignalpegel der sechsten Saite unterhalb des Pegels von OFFLEV liegt. Alternativ kann das "Noten-Aus" ausgeführt werden, wenn ein derartiger Pegel des eingegebenen Kurvensignals für andere Zeitdauern als 12 msec beibehalten wird, d.h. der Periode oder darüber hinaus des musikalischen Tons, wie er von der elektronischen Gitarre erzeugt wird. Das vorstehend beschriebene Ausführungsbeispiel ist darüber hinaus derart aufgebaut, daß die CPU 1000 die Interrupt-Verarbeitung unmittelbar beim Nulldurchgangspunkt nach jedem Spitzenwertpunkt ausführt, der vom "Noten-Ein"- Startzeitpunkt, der Perioden-Berechnung, dem "Relativ-Ein", dem "Noten-Aus"-Startzeitpunkt u.s.w. folgt. Diese Verarbeitungsschritte können unmittelbar nach jeder Spitzenwertpunkt-Erfassung durchgeführt werden. In diesem Fall erhält man die gleichen Wirkungen wie bei den vorstehend beschriebenen Fällen. Darüber hinaus können diese Verarbeitungen beim Erfassen des Nulldurchgangspunkts unmittelbar vor dem Spitzenwertpunkt durchgeführt werden. Weitere geeignete Maßnahmen können ferner verwendet werden, um den Referenzpunkt einzustellen.
- Jede Verarbeitung, die im Hauptprogramm des vorstehend beschriebenen Ausführungsbeispiels durchgeführt wird, kann in jeder Interrupt-Verarbeitung durchgeführt werden.
- Während im vorstehend beschriebenen Ausführungsbeispiel die vorliegende Erfindung auf eine elektronische Gitarre angewendet wird, kann sie ebenso für jedes weitere System verwendet werden, bei dem Abstände aus einem Klangsignal oder einer elektrischen Schwingung als Eingangssignal eines Mikrofones gewonnen werden. Beispielsweise kann ein vom ursprünglichen Signal unterschiedliches akustisches Signal mit den Abständen oder Notenfrequenzen entsprechend denen des ursprünglichen Signals erzeugt werden. Besondere Beispiele für derartige Systeme sind elektronische Pianos mit Keyboards, elektronische Windinstrumente, elektronische Saiteninstrumente, wie beispielsweise elektronische Violinen und Koto (japanisches Saiteninstrument).
- Wie vorstehend beschrieben wurde, wird im vorstehend beschriebenen Ausführungsbeispiel das "Noten-Aus" durchgeführt, wenn der eingegebene Signalpegel unterhalb eines vorbestimmten Pegels für eine vorbestimmte Zeitdauer anhält. Wenn ein Stummschalten durchgeführt wird und das Kurvensignal abrupt auf einen derartigen Pegel fällt, der für die Erfassung des Spitzenwertspunkts zu gering ist, so kann der Pegelabfall zuverlässig und schnell erfaßt werden, wodurch die "Noten-Aus"-Verarbeitung ausgeführt wird. Derartiges kann beim herkömmlichen System nicht realisiert werden, bei dem das "Noten-Aus" mit der Erfassung des Abfalls des Spitzenwertes der eingegebenen Signalwelle unterhalb einen vorbestimmten Wert durchgeführt wird. Mit einer derartigen Anordnung erhält man eine gute Leistung. Das elektronische System der elektronischen Gitarre erreicht schneller die neue "Noten-Ein"-Verarbeitung für den musikalischen Ton.
Claims (4)
1. Vorrichtung zum Erzeugen eines musikalischen Tonsignals
entsprechend einem eingegebenen Kurvensignal mit:
einer Erfassungsvorrichtung (P1-P6, 8, 1000, S1001-S1021,
S1023-S1029) zum Erfassen eines Amplitudenpegels und einer
Frequenz eines eingegebenen Kurvensignals;
einer Klangerzeugungs-Befehlsvorrichtung (1000, S1021) zum
Liefern eines Befehls zur Erzeugung eines musikalischen
Tons mit der Frequenz des eingegebenen Kurvensignals, das
von der Erfassungsvorrichtung (P1-P6, 8, 1000, S1001-S1021,
S1023-S1029) erfaßt wird; und
einer Pegel-Beurteilungsvorrichtung (1000, S1031) zum Beur
teilen, ob der Amplitudenpegel des von der
Erfassungsvorrichtung erfaßten eingegebenen Kurvensignals unterhalb
eines vorbestimmten Wertes liegt;
gekennzeichnet durch:
eine Fortdauer-Beurteilungsvorrichtung (1000, S1035) zur
Beurteilung, ob der eingegebene Signalamplitudenpegel
unterhalb des vorbestimmten Pegels für eine vorbestimmte
Zeitperiode fortdauert; und
eine Klangerzeugungs-Stop-Befehlsvorrichtung (1000, S1037)
zum Stoppen der Klangerzeugung, wenn die
Fortdauer-Beurteilungsvorrichtung (1000, S1035) beurteilt, daß der Zustand
für den eingegebenen Signal-Amplitudenpegel für die
vorbestimmte Zeit fortdauert.
2. Vorrichtung nach Patentanspruch 1, dadurch
gekennzeichnet, daß die Erfassungsvorrichtung (P1-P6, 8, 1000, S1001-
S1021, S1023-S1029) aus:
einer Meßvorrichtung (P1-P6, 7, S1014-S1020, S1023-S1027)
zum Messen einer gegebenen Zeitperiode des eingegebenen
Kurvensignals; und
einer Bestimmungsvorrichtung (8, 1000, S1121, S1028) zum
Bestimmen der Frequenz des eingegebenen Kurvensignals auf
der Grundlage der gemessenen Zeitperiode besteht.
3. Vorrichtung nach Patentanspruch 2, dadurch
gekennzeichnet, daß die Meßvorrichtung (P1-P6, 7, S1014-S1020, S1023-
S1027) eine Zeitdauer zwischen zwei Nulldurchgangspunkten
mißt, die zwei aufeinanderfolgenden Spitzenwertpunkten mit
einer vorbestimmten Polarität des eingegebenen
Kurvensignals folgen.
4. Vorrichtung nach Patentanspruch 2, dadurch
gekennzeichnet, daß die Meßvorrichtung (P1-P6, 7, S1014-S1020, S1023-
S1027) eine Zeitdauer zwischen zwei Nulldurchgangspunkten
mißt, die unmittelbar vor zwei aufeinanderfolgenden
Spitzenwertpunkten mit einer vorbestimmten Polarität des
eingegebenen Kurvensignals liegen.
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61253487A JPS63106795A (ja) | 1986-10-24 | 1986-10-24 | 電子楽器の入力制御装置 |
JP61283292A JP2555551B2 (ja) | 1986-11-28 | 1986-11-28 | 入力波形信号制御装置 |
JP61282142A JPS63136088A (ja) | 1986-11-28 | 1986-11-28 | 電子楽器の入力制御装置 |
JP61285985A JPS63139399A (ja) | 1986-12-02 | 1986-12-02 | 波形信号入力制御装置 |
JP61286745A JPS63141099A (ja) | 1986-12-03 | 1986-12-03 | 電子楽器の入力制御装置 |
JP62004714A JP2508044B2 (ja) | 1987-01-12 | 1987-01-12 | 電子楽器の入力制御装置 |
JP62050381A JPH07104666B2 (ja) | 1987-03-06 | 1987-03-06 | ピッチ抽出装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3752185D1 DE3752185D1 (de) | 1998-06-04 |
DE3752185T2 true DE3752185T2 (de) | 1998-08-27 |
Family
ID=27563289
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19873752185 Expired - Lifetime DE3752185T2 (de) | 1986-10-24 | 1987-10-23 | Gerät zum Erzeugen eines Musiktonsignales gemäss eines Eingangswellenform-Signals |
DE19873784830 Expired - Lifetime DE3784830T2 (de) | 1986-10-24 | 1987-10-23 | Gerät zur Bestimmung der Tonhöhe eines im wesentlichen periodischen Eingangssignales. |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19873784830 Expired - Lifetime DE3784830T2 (de) | 1986-10-24 | 1987-10-23 | Gerät zur Bestimmung der Tonhöhe eines im wesentlichen periodischen Eingangssignales. |
Country Status (3)
Country | Link |
---|---|
EP (2) | EP0264955B1 (de) |
DE (2) | DE3752185T2 (de) |
HK (1) | HK1005348A1 (de) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0196700A (ja) * | 1987-10-08 | 1989-04-14 | Casio Comput Co Ltd | 電子楽器の入力制御装置 |
CN108333506A (zh) * | 2018-04-08 | 2018-07-27 | 杭州欣美成套电器制造有限公司 | 一种近零信号提取与交流开关位置检测电路 |
CN111030412B (zh) * | 2019-12-04 | 2022-04-29 | 瑞声科技(新加坡)有限公司 | 一种振动波形的设计方法及振动马达 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4633748A (en) * | 1983-02-27 | 1987-01-06 | Casio Computer Co., Ltd. | Electronic musical instrument |
JPS6145298A (ja) * | 1984-08-09 | 1986-03-05 | カシオ計算機株式会社 | 電子楽器 |
US4627323A (en) * | 1984-08-13 | 1986-12-09 | New England Digital Corporation | Pitch extractor apparatus and the like |
-
1987
- 1987-10-23 EP EP19870115594 patent/EP0264955B1/de not_active Expired - Lifetime
- 1987-10-23 EP EP92105224A patent/EP0493374B1/de not_active Expired - Lifetime
- 1987-10-23 DE DE19873752185 patent/DE3752185T2/de not_active Expired - Lifetime
- 1987-10-23 DE DE19873784830 patent/DE3784830T2/de not_active Expired - Lifetime
-
1998
- 1998-05-20 HK HK98104364A patent/HK1005348A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
EP0264955A2 (de) | 1988-04-27 |
EP0493374B1 (de) | 1998-04-29 |
EP0493374A3 (en) | 1992-11-19 |
EP0264955B1 (de) | 1993-03-17 |
HK1005348A1 (en) | 1998-12-31 |
DE3752185D1 (de) | 1998-06-04 |
EP0493374A2 (de) | 1992-07-01 |
DE3784830T2 (de) | 1993-10-14 |
EP0264955A3 (en) | 1989-08-30 |
DE3784830D1 (de) | 1993-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE68904106T2 (de) | Steuergeraet fuer ein elektronisches saiteninstrument. | |
DE3528719C2 (de) | ||
DE69615716T2 (de) | Synthesierer mit Erkennung der Tonhöhe und des Tonausgangspunkts eines Saiteninstruments zur Tonerzeugung | |
DE3486280T2 (de) | Vorrichtung zur Erzeugung von Musiktönen vom Wellenformauslesespeichertyp. | |
DE3889051T2 (de) | Vorrichtung zur Tonsignalerzeugung. | |
DE69607223T2 (de) | Verfahren zur Tonhöhenerkennung, insbesondere für Zupf- oder Perkussionsinstrumente | |
DE60315880T2 (de) | Datenerzeugungseinrichtung und verfahren für musikkompositionen | |
DE69732311T2 (de) | Verfahren zur Erzeugung von Musiktönen | |
DE19709930A1 (de) | Tonprozessor, der die Tonhöhe und die Hüllkurve eines akustischen Signals frequenzangepaßt nachweist | |
DE10392940T5 (de) | Saiteninstrument mit eingebauter DSP-Modellierung | |
DE3877246T2 (de) | Elektronisches musikinstrument. | |
DE68904926T2 (de) | Elektronisches musikinstrument. | |
DE69706650T2 (de) | System und verfahren zur fehlerkorrektur in einer auf korrelation basierenden grundfrequenzschätzvorrichtung | |
DE10157454B4 (de) | Verfahren und Vorrichtung zum Erzeugen einer Kennung für ein Audiosignal, Verfahren und Vorrichtung zum Aufbauen einer Instrumentendatenbank und Verfahren und Vorrichtung zum Bestimmen der Art eines Instruments | |
DE3023581C2 (de) | Verfahren zur digitalen Hüllkurvensteuerung eines polyphonen Musiksyntheseinstruments und Schaltungsanordnung zur Durchführung des Verfahrens | |
DE69027883T2 (de) | Vorrichtung zur Synthese von Musiktönen | |
US8750530B2 (en) | Method and arrangement for processing audio data, and a corresponding corresponding computer-readable storage medium | |
DE3752185T2 (de) | Gerät zum Erzeugen eines Musiktonsignales gemäss eines Eingangswellenform-Signals | |
DE69613157T2 (de) | Verfahren zur Erkennung des Beginns und Endes einer Note bei einem Perkussions- oder Saiteninstrument | |
DE60214409T2 (de) | Verfahren und vorrichtung zur zweiphasen-grundfrequenzdetektion | |
DE102004028693B4 (de) | Vorrichtung und Verfahren zum Bestimmen eines Akkordtyps, der einem Testsignal zugrunde liegt | |
DE69026437T2 (de) | Vorrichtung zur Synthetisierung von Musiktönen | |
DE69025932T2 (de) | Einrichtung und verfahren zum erzeugen von stabilisierten darstellungen von wellen | |
Atıcı et al. | A culture-specific analysis software for makam music traditions | |
DE68911858T2 (de) | Verfahren und Vorrichtung zum automatischen Transkribieren. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |