DE3407078A1 - Elektronisches musikinstrument - Google Patents

Elektronisches musikinstrument

Info

Publication number
DE3407078A1
DE3407078A1 DE19843407078 DE3407078A DE3407078A1 DE 3407078 A1 DE3407078 A1 DE 3407078A1 DE 19843407078 DE19843407078 DE 19843407078 DE 3407078 A DE3407078 A DE 3407078A DE 3407078 A1 DE3407078 A1 DE 3407078A1
Authority
DE
Germany
Prior art keywords
data
output
value
input
gate
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.)
Ceased
Application number
DE19843407078
Other languages
English (en)
Inventor
Kazuyuki Tokio/Tokyo Kurosawa
Susumu Kodaira Tokio/Tokyo Takashima
Toyotarou Saitama Tokimoto
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 JP58031284A external-priority patent/JPS59157769A/ja
Priority claimed from JP3128583A external-priority patent/JPS59157697A/ja
Priority claimed from JP3128683A external-priority patent/JPS59158124A/ja
Priority claimed from JP59013075A external-priority patent/JPH0652480B2/ja
Priority claimed from JP59013077A external-priority patent/JPS60158493A/ja
Priority claimed from JP59013076A external-priority patent/JPS60158490A/ja
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Publication of DE3407078A1 publication Critical patent/DE3407078A1/de
Ceased 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
    • G10H5/00Instruments in which the tones are generated by means of electronic generators
    • G10H5/005Voice controlled instruments
    • 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
    • G10H3/12Instruments in which the tones are generated by electromechanical means using mechanical resonant generators, e.g. strings or percussive instruments, the tones of which are picked up by electromechanical transducers, the electrical signals being further manipulated or amplified and subsequently converted to sound by a loudspeaker or equivalent instrument
    • G10H3/125Extracting or recognising the pitch or fundamental frequency of the picked up signal
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S84/00Music
    • Y10S84/29Tape

Landscapes

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

Description

BESCHREIBUNG
Die Erfindung betrifft ein elektronisches Musikinstrument, das auf elektronischem Wege Wellenformen erzeugt. Insbesondere betrifft die Erfindung ein elektronisches Musikinstrument, das automatisch, ohne Tastenbetätigung oder dergleichen, Musiktöne hervorbringt.
Die fortschreitende Entwicklung der Elektronik hat es möglich gemacht, auf elektronischem Wege die Wellenform eines Musiktons zu erzeugen und mit Hilfe eines Lautsprechers einen Musikton abzugeben. Geräte, die so arbeiten, werden für gewöhnlich als "elektronische Musikinstrumente" bezeichnet. Im allgemeinen liegt elektronischen Musikinstrumenten ein Verfahren zugrunde, bei dem ein zu erzeugender Musikton mittels einer Taste ausgewählt wird. Die elektronischen Musikinstrumente sind außerdem in der Lage, den Klang eines Klaviers oder irgendeines anderen Musikinstruments zu erzeugen, in dem das Gerät mit einem Registerschalter oder dergleichen ausgestattet wird.
Da bei einem elektronischen Musikinstrument Töne lilso mit Hilfe von Tasten ausgewählt werden, erfordert das Spielen eines solchen Instruments die Beherrschung z.B. des Klavierspiels und die Erfahrung bei der Betätigung der einzelnen Tasten. In anderen Worten:
Soll z.B. ein Stück zur Begleitung gespielt werden, so kann dies nur eine Person tun, die in der Lage ist, das elektronische Musikinstrument zu spielen. Das Problem besteht also darin, daß die herkömmlichen elektronischen Musikinstrumente, die mit Hilfe von Tasten gespielt werden, nicht von jedermann gespielt werden können.
3407Ü7Ö
-ιοί Es gibt andererseits auch Geräte, die ein Stimmsignal umsetzen und den umgesetzten Ton wiedergeben, ohne daß Tasten verwendet werden. In der japanischen Patentveröffentlichung Nr. 52-40973 ist z.B. ein Musiktonsignal-Umwandlungsgerät beschrieben, das die Grundfrequenz eines Stimmsignals zur Erzeugung eines Tons multipliziert oder dividiert. Wie in der japanischen Patentveröffentlichung ausgeführt ist, erhält man die Grundfrequenz durch Erfassen eines Nulldurchgangs eines Eingabe-Sprachsignals im Analogbetrieb. Es ist also schwierig, das Eingabe-Sprachsignal zur Erzeugung eines wohlklingenden Musiktons zu erfassen und zu verarbeiten.
!5 Der Erfindung liegt die Aufgabe zugrunde, ein elektronisches Musikinstrument zu schaffen, das entweder als Soloinstrument oder als Begleitinstrument auf einfache Weise gespielt werden kann, ohne daß der Spieler spezielle Spielfähigkeiten besitzen muß. Das Gerät soll ein Eingabe-Sprachsignal auf digitale Weise erfassen und verarbeiten, so daß ein im Vergleich zum Stand der Technik besserer Musikton erzeugt wird.
Gemäß einem Merkmal der Erfindung wird ein elektronisches Musikinstrument geschaffen, das eine Umwandlungseinrichtung zum Umwandeln einer Stimme in digitale Daten, eine Extrahiereinrichtung zum Extrahieren einer Tonhöhe aus den von der Umwandlungseinrichtung erhaltenen digitalen Daten, eine Verarbeitungseinrichtung zum Verarbeiten des Ausgangssignals der Extrahiereinrichtung eine Musikton-Erzeugungseinrichtung aufweist, welche das Ausgangssignal der Verarbeitungseinrichtung empfängt und einen Musikton nach Maßgabe des Ausgangssignals der Verarbeitungseinrichtung erzeugt. 35
Gemäß einem weiteren Merkmal der Erfindung wird ein
elektronisches Musikinstrument geschaffen, das eine Detektoreinrichtung zum Feststellen der zeitlichen Lage mindestens eines Anfangsteils eines Stimmsignals und eines Abschlußteils eines Stimmsignals, eine Extrahiereinrichtung zum Extrahieren von Tonhöhendaten des Stimmsignals, mehrere Verarbeitungseinrichtungen zum Verarbeiten der Tonhöhendaten auf unterschiedliche Weise, eine Auswahleinrichtung zum aufeinanderfolgenden Auswählen verarbeiteter Tonhöhendaten von den Verarbeitungseinrichtungen nach Maßgabe der festgestellten zeitlichen Lage und eine Musikton-Wiedergabeeinrichtung aufweist, die einen Musikton auf der Grundlage der von der Auswahleinrichtung abgeleiteten, verarbeiteten Tonhöhendaten erzeugt.
Im folgenden werden Ausführungsbeispiele der Erfindung anhand der Zeichnung näher erläutert. Es zeigen:
Fig. 1 ein Blockdiagramm einer ersten Ausführungsform eines erfindungsgemäßen elektronischen
Musikinstruments,
Fig. 2 ein detailliertes Blockdiagramm einer Ausführungsform der Erfindung, 25
Fig. 3A ein Wellenformdiagramm des Eingabe-Stimmsignals und
Fig. 3B ein Impulsdiagramm von dreistufigen Daten,
die von dem Eingabe-Stimmsignal abhängen, 30
Fig. 4 eine detaillierte Schaltungsskizze des in Figur 1 gezeigten Drei-Wert-Abschnitts,
Fig. 5 einen Zeitablauf bei einer Ausführungsform der Erfindung,
to -% * V W W « W 1
<♦ w> to *· W
-12-
Fig. 6 einen detaillierten Zeitablauf bei einer Ausführungsform der Erfindung,
Fig. 7 eine Schaltungsskizze des Schieberegisters und des Selektors gemäß Figur 2,
Fig. 8 ein Blockdiagramm einer Ausführungsform der Erfindung, bei der die Addier/Subtrahier-Schaltung 30 und der Speicher 31 gemeinsam verwendet werden,
Fig. 9 eine Schaltungsskizze der Multiplizierschaltung 28, der Fensterverarbeitungsschaltung 29, der Addier/Subtrahier-Schaltung 30, des Speichers 31 und des Maximumwert-Detektors
gemäß Figur 2,
Fig. 10 eine detaillierte Schaltungsskizze einer Ausführungsform der in Figur 1 gezeigten Fehlereliminiereinheit 7,
Fig. 11 ein Zeitdiagramm der Ausführungsform nach Figur 10,
Fig. 12 ein Diagramm eines Beispiels für eine Eingabe
von Tonhöhendaten und die Ausgangssignale der Zwischenspeicherschaltung bei der Ausführungsform nach Figur 10,
Fig. 13 ein Diagramm eines weiteren Beispiels einer
Eingabe von Tonhöhendaten und von Ausgangs-Signalen der Zwischenspeicherschaltung der Ausführungsform nach Figur 10,
Fig. 14 ein detailliertes Blockdiagramm des Mittelwertberechnungsabschnitts 8 nach Figur 1,
Fig. 15 ein Zeitdiagramm, das den Betrieb der in
Figur 14 gezeigten Mittelwerteinheit veranschaulicht,
Fig. 16 ein detailliertes Blockdiagramm des Tonhöhendaten-Steuerabschnitts 10 nach Figur 1,
Fig. 17 ein Zeitdiagramm der Beziehung der jeweiligen
Flags und Tonhöhendaten in Figur 16, und 10
Fig. 18 eine Beziehung zwischen den Zählerständen der Zähler und den Tonhöhendaten gemäß Figur 16.
Im Gegensatz zum Stand der Technik, in dem der Musikton, und der zeitliche Verlauf eines Musiktons mit Hilfe einer Taste ausgewählt werden, gibt bei der vorliegenden Erfindung eine Person die Tonleiter und den zeitlichen Verlauf eines Musiktons mit ihrer Stimme vor.
Figur 1 zeigt ein Blockdiagramm einer Ausführungsform der Erfindung und den Aufbau eines elektronischen Musikinstruments, welches einen Musikton nach Maßgabe eines eingegebenen Stimmsignals erzeugt. Das Ausgangssignal eines Mikrofons 1, in welchem die Stimme in ein elektrisches Signal umgesetzt wird, wird auf eine Vorverarbeitungseinheit 2 gegeben. Das Ausgangssignal der Vorverarbeitungseinheit 2 gelangt an eine Tonhöhen-Extrahiereinheit 3, deren Ausgangssignal über einen Zwischenspeicher 4 an einen Prozessor 10 (CPU) 5 gegeben wird. Dessen Ausgangssignal gelangt an die Tonhöhen-Extrahierschaltung 3, eine Speichereinheit 6, eine Fehlerbeseitigungseinheit 7, eine laufend einen Mittel- oder Durchschnittswert berechnenden Arithmetikeinheit (im folgenden einfach als Mittelwerteinheit
31407078
bezeichnet) 8 und eine Flagbildungseinheit 9 gegeben. Das Ausgangssignal der Speichereinheit gelangt auf die Fehlereliminiereinheit 7 und eine Tonhöhendaten-Steuereinheit 10, und das Ausgangssignal der Fehlereliminiereinheit 7 gelangt an die Mittelwerteinheit 8 und an die Tonhöhendaten-Steuereinheit. Das Ausgangssignal der Mittelwerteinheit 8 wird auf die Tonhöhendaten-Steuerschaltung 10 gegeben, deren Ausgangssignal auf einen Kodegenerator 11 gegeben wird. Der Ausgang des Kodegenerators 11 ist an einen Musiktongenerator 12 angeschlossen, dessen Ausgang an einen Lautsprecher angeschlossen ist, in welchem das elektrische Signal in einen Ton umgesetzt wird.
Das in das elektrische Signal umgesetzte Sprachsignal wird auf die Vorverarbeitungseinheit 2 gegeben, wo es einer Vorverarbeitung unterzogen wird. Diese besteht darin, daß zuerst ein außerhalb eines bestimmten Bands liegender Signalanteil mit Hilfe eines Tiefpassfilters (TPF) und dergleichen entfernt wird. Das Entfernen des außerhalb des Bands liegenden Signalanteils geschieht deshalb, um einen Fehler bei der Tonhöhenextrahierung zu vermeiden, welche in der nachfolgenden Stufe durchgeführt wird. Bei der Vorverarbeitung wird weiterhin das Eingabe-Stimmsignal, dessen außerhalb des Bands liegender Signalanteil entfernt wurde, verstärkt, um eine vorbestimmte Amplitude zu erhalten. Dies geschieht mit Hilfe einer automatischen Verstärkungsregelschaltung.
Das oben erwähnte Eingabe-Sprachsignal vorbestimmter Amplitude wird mit einem Analog/Digital-Umsetzer (ADU) in ein digitales Signal umgesetzt. Die erwähnte Verstärkung zum Erhalt einer vorbestimmten Amplitude geschieht deshalb, um die Bitzahl des Ausgangssignals des ADU wirksam auszunutzen.
3*07078
Das in der Vorverarbeitungseinheit 2 behandelte Stimmsignal, nämlich das digitale Stimmsignal oder Sprachsignal, wird an die Tonhöhenextrahiereinheit 3 gegeben, welche eine Tonhöhe einer Grundfreguenz des Eingabe-Stimmsignals mit Hilfe des Prozessors (CPU) 5 extrahiert. Die Tonhöhenextrahiereinheit 3 enthält eine Stimmdaten-Quantisierschaltung, eine Tonleiter-Extrahierschaltung und eine Drei-Werte-Korrelierschaltung, so daß eine Extraktion der Tonhöhe des Eingabe-Stimmsignals möglieh ist. Die Datenguantisierschaltung ermittelt sukzessive den Maximumwert und den Minimumwert der digitalen Stimmdaten innerhalb eines vorgegebenen ZeitIntervalls, und sie bestimmt jeweilige Schwellenpegel zur Schaffung von dreistufigen Werten auf der Grundlage dieser Maximum- und Minimumwerte. Es unterwirft das Eingangssignal mit Hilfe der Schwellenpegel einer Klassifizierung in drei Werte. Bei der Tonleiter-Extrahierschaltung handelt es sich um eine Schaltung, durch die die Drei-Wert-Stimmdaten, die durch den Drei-Werte-Bildungsvorgang auf der Grundlage der digitalen Stimmdaten erhalten wurden, nach Maßgabe einer zu extrahierenden Tonleiter verzögert werden, woraufhin die verzögerten Daten und die Eingabedaten multipliziert werden. Dann erfolgt durch diese Schaltung eine Korrelierung im Zeitbereich. Dir sich ergebenden Daten stellen die reine Zeitkorrelierung zwischen den verzögerten Daten und den Eingabedaten dar, und die Daten werden zum Extrahieren der Tonhöhe weiter verarbeitet. Das Extrahieren erfolgt durch die oben erwähnte Drei-Werte-Korrelierschaltung. Bei dieser Schaltung handelt es sich um eine Schaltung, in der eine Fensterverarbeitung zum Zwecke der Tonhöhenextrahierung erfolgt. Da von der Tonleiter-Extrahierschaltung die Daten nach Maßgabe der zu extrahierenden Tonleiter geliefert werden, werden die Daten von der Drei-Werte-Korrelierschaltung der Fensterverarbeitung unterworfen,
d.h.: Die Daten werden in Relation zu der Tonleiter gewichtet und für die spezifizierte Zeitdauer (1 Rahmen) kumuliert. Aus den kumulierten Werten (kumulierte Werte/ die den Verzögerungszeiten entsprechen) wird ein Maximumwert ermittelt, und auf der Grundlage der dem Maximumwert entsprechenden Verzögerungszeit wird die Tonhöhe ermittelt und als Ausgangssignal abgegeben. Dieses Ausgangssignal besteht aus Daten, die zu der Tonhöhe der Grundwelle der Stimme (einschließlich Oberwellen), die als Eingangssignal empfangen wurde, in Beziehung stehen.
Die von der Tonhöhenextrahiereinheit 3 gelieferten Tonhöhendaten werden über den Zwischenspeicher 4 und den Prozessor 5 in der Speichereinheit 6 gespeichert. Bei der Fehlereliminiereinheit 7 handelt es sich um eine Schaltung, die die spezifizierte Änderung von Tonhöhendaten feststellt, z.B. die Änderung von mindestens einer Oktav speziell in einem Rahmen. Dies geschieht mit Hilfe der in der Speichereinheit 6 gespeicherten Daten. Außerdem stellt die Fehlereliminiereinheit 7 nach dem Feststellen der Änderung die Daten wieder auf den Zustand vor der Änderung ein. Außerdem kann eine plötzliche Änderung der Musiktonleiter eintreten. In diesem Fall ändern sich die Daten nach einem Rahmen. Die Daten, aus denen der Fehler in der Fehlereliminiereinheit 7 entfernt wurde, werden in der Mittelwerteinheit 8 einer Mittelwertbildung unterworfen. Der Mittelwert ist z.B. ein arithmetischer Mittelwert, den man erhält, indem man den bis zum laufenden Zeitpunkt erhaltenen Mittelwert und Daten über 6 Rahmen hinweg wichtet. Insbesondere erfolgt die Mittelwertbildung in der Berechnungseinheit 8 so, daß die sukzessive in der Rahmeneinheit empfangenen Tonhöhendaten in einem Schieberegister gespeichert werden und in Einheiten von einem Rahmen verschoben werden, so daß
die verschobenen Daten der 6 Stufen des Schieberegisters und der Mittelwert innerhalb des Zeitraums eines Rahmens von einem Selektor ausgewählt werden und die weniger signifikanten Bits z.B. abgerundet werden.
Die von der Mittelwerteinheit 8 gelieferten Mittelwertdaten werden an die Tonhöhendaten-Steuereinheit 10 gegeben, wo sie zur Erzeugung eines Musiktons verarbeitet werden. In anderen Worten: Die oben erläuterte Fehlereliminiereinheit 7 erkennt eine fehlerhafte Tonhöhen-Extraktion, die zurückzuführen ist auf externes Rauschen und dergleichen, und sie wirkt diesem Fehler entgegen, um die stufenähnliche große Änderung zu vermeiden, die zurückzuführen ist auf die fehlerhafte Tonhöhenextraktion. Außerdem unterwirft die Mittelwerteinheit 8 kleine Änderungen von Daten der fehlerhaften Tonhöhenextraktion, die auf geringe Tonhöhenänderungen der eingegebenen Stimme oder dergleichen beruhen, einer hystereseförmigen Mittelwertbildung, um die Daten zu stabilisieren.
Die menschliche Stimme besitzt sowohl beim Sprechen als auch beim Singen Konsonanten und Vokale. Obschon die Tonhöhen der Grundwellen in vielen Vokalen enthalten sind, jedoch sind die Grundwellen in einigen Konsonanten nur in sehr geringem Umfang enthalten. Wenn daher lediglich ein Konsonant erzeugt wird (z.B. das "S" bei der Silbe "SA"), wird die Tonhöhe der Grundwelle manchmal fehlerhaft extrahiert. Die Tonhöhendaten-Steuereinheit 10 verhindert die fehlerhafte Musiktonerzeugung aufgrund einer solchen fehlerhaften Extraktion, um zu gewährleisten, daß die der empfangenen Stimme entsprechende Tonleiter getroffen wird. Unter Verwendung der in dem Stimmsignal enthaltenen Leistung oder der aus der Stimmeingabe gewonnenen Daten wählt diese Steuereinheit die in der Speichereinheit 6 gespeicherten Daten, die Ausgangsdaten der
iAUVUVö
Fehlereliminiereinheit 7 oder aber die Ausgangsdaten der Mittelwerteinheit 8 aus.
Der Kodegenerator 11 ist eine Schaltung, die das Ausgangssignal der Tonhöhensteuereinheit 10 in den Kode des in dem Musiktongenerator 12 zu erzeugenden Musiktons, d.h. in die Musiktondaten, umsetzt.
Die Tonhöhenextrahiereinheit 3, die Speichereinheit 6, die Fehlereliminierschaltung 7 und die Mittelwerteinheit 8 werden von dem Prozessor 5 gesteuert. Die Tonhöhendaten-Steuereinheit 10 und die Kodegeneratoreinheit 11 werden von dem Prozessor 12 über eine Flagbildungseinheit 9 gesteuert. In anderen Worten: In der Flagbildungseinheit 9 wird das Flag von dem Prozessor 5 gesetzt, wodurch die Tonhöhendaten-Steuereinheit 10 und der Kodegenerator 11 von dem Flag betätigt werden.
Die Ausgangssignale des Kodegenerators 11, d.h. die umgesetzten Daten, werden an den Musiktongenerator 11 gegeben, um dadurch den Musikton zu bezeichnen, der von dem Lautsprecher 13 abgegeben werden sollte. In anderen Worten: Das elektrische Musikton-Signal (Analogsignal), das durch die vom Kodegenerator 11 kommenden umgesetzten Daten gekennzeichnet wird, wird von dem Musiktongenerator 12 ausgegeben, um auf den Lautsprecher 13 gegeben zu werden, der demzufolge den Musikton nach Maßgabe des in das Mikrofon 1 eingegebenen Eingäbe-Stimmsignals wiedergibt.
Figur 2 zeigt ein detailliertes Schaltungsbild einer zweiten Ausfuhrungsform der Erfindung. Insbesondere zeigt Figur 2 ein detailliertes Blockdiagramm der Vorverarbeitungseinheit 2 und der Extrahiereinheit 3 aus Figur 1. Das Stimmsignal, d.h. das von dem Mikro-
34Q7078
fön 1 aus der Stimme in das elektrische Signal umgesetzte Signal, wird über ein Tiefpassfilter 14 in eine automatische Verstärkungsregelschaltung 15 eingegeben, deren Ausgangssignal auf einen Analog/Digital-Umsetzer 16 gegeben wird. Das Ausgangssignal des Analog/Digital-Umsetzers wird an einen Maximumwert-Rechenteil 18, einen Minimumwert-Rechenteil 19 und an den ersten Eingang eines Vergleichers 20 eines Drei-Werte-Quantisierungsteils 21 gegeben, außerdem an die Leistungsberechnungseinheit 17.
Die Drei-Werte-Quantisierungseinheit 21 enthält die Maximumwert-Berechnungseinheit 18, die Minimumwert-Berechnungseinheit 19, einen Vergleicher 20, Multiplizierer 22 und 23 und einen Speicher 25. Das Ausgangssignal der Leistungs-Berechnungseinheit 17 gelangt auf einen Leistungswert-Extrahieranschluß 24. Die Ausgangssignale der Maximumwert-Berechnungseinheit 18 und der Minimumwert-Berechnungseinheit 19 werden an die ersten Eingänge der Multiplizierer 22 bzw. 23 gelegt. Außerdem werden den Multiplizierern 22 und 23 Koeffizientendaten £1 bzw. £2 zugeführt. Die Ausgangssignale der Multiplizierer 22 und 23 gelangen an die zweiten bzw. dritten Eingänge des Vergleichers 20.
Dessen Ausgangssignal gelangt an ein Schieberegister 26 als Ausgangssignal der Drei-Werte-Quantisierungseinheit 21. Mehrere der ersten Ausgänge des Schieberegisters 26 werden stellenentsprechend an mehrere Eingänge eines Selektors 27 gelegt. Das Ausgangssignal der letzten Stufe des Schieberegisters 26 und das Ausgangssignal des Selektors 27 werden an den ersten bzw. den zweiten Eingang eines Multiplizierers 28 gelegt. Der Ausgang der Multiplizierschaltung 28 ist über eine Fenster-Verarbeitungsschaltung 29 mit dem ersten Eingang eines Addierers/Subtrahierers verbunden, dessen Ausgang an einen Speicher 31 angeschlossen ist. Das
-20-
Ausgangssignal des Speichers 31 gelangt an den zweiten Eingang des Addierer/Subtrahierers 30 und den Eingang eines Maximumwertdetektors 32. Steuer-Ausgangssignale einer Steuereinheit 33 werden an die Steuereingänge der Drei-Werte-Quantisierungseinheit 21, des Selektors 27 und der Fenster-Verarbeitungsschaltung 29 gelegt. Ein Ausgangssignal des Maximumwertdetektors 32 gelangt an einen Tonleiterkode-Anschluß 34.
im folgenden soll ein Beispiel erläutert werden: Von einem Musikinstrument oder der Stimme eines Menschens wird ein Musikton erzeugt und mit dem Mikrofon 1 in ein elektrisches Signal umgesetzt. Das Stimm- oder elektrische Signal wird auf das Tiefpassfilter 14 gegeben, so daß seine höheren Frequenzanteile beseitigt werden. Das Tiefpassfilter 14 besitzt eine Grenzfrequenz von z.B. 900 Hz, so daß außerhalb des Stimmfrequenzbands liegende Anteile entfernt werden und außerdem das Band des Sprachsignals gesteuert wird.
Dieses Filter kann auch ein Bandpassfilter sein. Durch das Filter 14 wird das Auftreten von Fehlern bei der Tonhöhenextraktion, die durch Oberwellen verursacht werden könnten, verhindert. Das bandbegrenzte Stimmsignal mit den beseitigten Rauschanteilen außerhalb des Bands wird in der automatischen Verstärkungsregelschaltung 15 verstärkt, damit es einen spezifizierten Amplitudenwert annimmt. Die Schaltung 15 ist vorgesehen, um die Ausgangsbits des Analog/Digital-Umsetzers 16 der nachfolgenden Stufe zulässig zu machen. Wenn man beispielsweise annimmt, daß die maximale bzw. die minimale Wandlerspannung des A/D-Umsetzers 16 +_ 5 V beträgt, so wird das Ausgangssignal des ADU 16 unzulässig, wenn die Absolutwerte des Maximalwerts und des Minimalwerts des Ausgangssignals der automatischen Verstärkungsregelschaltung 15 größer als 5 V wird.
Wenn weiterhin die Absolutwerte des Maximum- und des
«I 0 ■·■*·**
-21-
Minimumwerts des Ausgangssignals der automatischen Verstärkungsregelschaltung 15 viel kleiner als 5 V sind und z.B. 0,5 V betragen, wird auch der digitale Datenwert am Ausgang des ADU klein, und die höherwertigen Bits des ADU nehmen einen niedrigen Pegel an, so daß die Anzahl von gültigen oder zulässigen Bits abnimmt. Um diese Nachteile zu vermeiden, arbeitet die automatische Verstärkungsregelschaltung 15 so, daß die Maximum- und die Minimumwerte ihrer Ausgangssignale nicht den Spannungsumwandlungsbereich des ADU 16 überschreiten und keine kleinen Absolutwerte annehmen können. Allerdings arbeitet die automatische Verstärkungsregelschaltung 15 nicht so, daß die Maximum- und die Minimumwerte jederzeit konstant sind, sondern sie arbeitet so, daß eine von den Maximum- und den Minimumwerten des Sprachsignals abhängige Verstärkung erreicht wird und ein Signal mit einer Amplitude geliefert wird, die in einem im wesentlichen spezifizierten Bereich liegt. Bei Abwesenheit des Eingangssignals wird die Ver-Stärkung maximal, das Ausgangssignal ist aber selbstverständlich Null.
Das in "den spezifizierten Amplitudenwert umgesetzte Sprachsignal wird von der automatischen Verstärkungsregelschaltung 15 abgegeben und in dem ADTJ 16 in einen digitalen Datenwert umgesetzt.
Die Leistungs-Berechnungseinheit 17 ist eine Schaltung, die den Absolutwert des digitalen Ausgangssignals des ADU 16 bildet und diese Absolutwerte über einen Rahmen eines spezifizierten Bereichs hinweg summiert. D.h.: Die digitalen Ausgangssignale des ADU 16 werden ihrer Vorzeichen entledigt und summiert. Das Ergebnis der Summierung ist ein Wert, der eine Aussage über den Leistungsinhalt des Stimmsignals enthält, und die Leistungs-Berechnungseinheit 17 liefert das Ergebnis
an den Leistungswert-Extrahieranschluß 24.
Das Ausgangssignal des ADU 16 gelangt an die Maximumwert-Berechnungseinheit 18 und die Minimumwert-Berechnungseinheit 19 der Drei-Werte-Quantisierungseinheit 21. Die Maximum- und die Miniumwerte eines vorbestimmten Zeitraums der umgesetzten digitalen Stimmsignaldaten werden in den Einheiten 18 bzw. 19 erfaßt. Dies geschieht, um einen Schwellenpegel zu erhalten, der beim Umsetzen des "Analogsignals" in drei Werte verwendet wird.
Die Maximum- und die Minimumwerte werden in dem Maximumwert-Berechnungsabschnitt 18 bzw. dem Minimumwert-Berechnungsabschnitt 19 festgestellt und mit den vorgegebenen Koeffizienten £.. bzw. ^2 in den Multiplizierern 22 und 23 multipliziert, bevor die Ergebnisse im Speicher 25 gespeichert werden. Der Vergleicher 20 vergleicht die digitalen Daten am Ausgang des ADU 16 mit den Schwellenpegeln. Wenn die Maximum- und Minimumwerte z.B. mit £.. = 0,4 und £„ = 0,4 in den Multiplizierern 22 bzw. 23 multipliziert werden, wird ein Schwellenpegel geliefert, der im Verhältnis zu einem Amplitudenwert des eingegebenen Signals steht. Die Umsetzung auf drei Werte erfolgt in dem Vergleicher 20 nach Maßgabe eines Schwellenpegels, der auf den Maximum- und den Minium-Amplitudenwert normiert ist.
Figuren 3A und 3B zeigen ein Wellenformdiagramm der Stimmdaten, nämlich das Eingangssignal des ADU 16 und das Signal/ das durch Umsetzen dieser Daten in drei Werte erhalten wird.
Wenn die Stimmdaten größer sind als ein Schwellenpegel τη, der durch Multiplizieren des Maximumwerts mit £..
erhalten wird, wird einer von drei möglichen Datenwerten
-23-
(im folgenden als ternärer Datenwert bezeichnet), nämlich der Datenwert "1" geliefert (vgl. die Bereiche abis a5 in Figur 3B). Wenn die Stimmdaten kleiner sind als ein Schwellenpegel TL, den man durch Multiplizieren des Minimumwerts mit £2 erhält, ist der ternäre Datenwert "-1" (siehe die Bereiche b1 und b2). Wenn die Stimmdaten zwischen den Schwellenpegeln TH und TL liegen, ist der ternäre Datenwert "0". Die ternären Daten umfassen zwei Bits, nämlich ein Vorzeichenbit und ein Datenbit, wie in Tabelle 1 gezeigt ist. Ist der Datenwert "0" oder "1", so ist das Vorzeichenbit "0". Ist der Datenwert "-1", so ist das Vorzeichenbit "1". Das Datenbit zeigt den Absolutwert an. Wenn der ternäre Datenwert "+1" ist, so ist das Datenbit "1". Wenn der ternäre Datenwert "0", so ist das Datenbit
Tabelle 1
ternäre Daten Vorzeichenbit Datenbit
-1
0
1
1
0
0
1
0
1
Der Vergleicher 20 liefert ternäre Daten, die sich auf eine vorbestimmte Zeitdauer, nämlich die Zeitdauer eines Rahmens, beziehen, wobei Schwellenpegel zugrunde gelegt werden, die aus den Maximum- und Minimumdaten während des vorbestimmten Zeitraums erhalten werden. Dieser sequentielle Arbeitsablauf wird durch Steuersignale gesteuert, die von dem Steuerteil 33 erzeugt werden.
Die Ausgangssignale des Vergleichers 20, nämlich die ternären Datenwerte, werden an das Schieberegister 26
gegeben und sequentiell verschoben. Die verschobenen letzten Daten des Schieberegisters werden auf die ersten Eingangsdaten der Multiplizierschaltung 28 addiert. Die den letzten verschobenen Werten folgenden Daten sind noch in dem Schieberegister gespeichert. Mehrere Daten, die in einer Anzahl von Schritten, nämlich entsprechend der Anzahl der Schiebetakte, verzögert werden, werden von dem Selektor 27 nach Maßgabe eines Selektionssignals ausgewählt, das durch die Steuereinheit 33 erzeugt wird. Diese ausgewählten Daten werden an den zweiten Eingang der Multiplizierschaltung 28 gegeben. Die an den ersten und den zweiten Eingang der Multiplizierschaltung 28 gelegten Daten werden multipliziert. Die Multiplikation wird durchgeführt, um das Produkt xj.x(j +ti) zu erhalten, wobei die zuletzt verschobenen Daten mit χj bezeichnet sind, und die durch einen vorbestimmten Takt fi von den Daten xj verzögerten Daten mit x(j + 1U) bezeichnet sind. Die notwendige Anzahl von Multiplikationen wird innerhalb eines Schiebetakts durchgeführt, und das Ergebnis wird über die Fenster-Verarbeitungsschaltung 29 an den ersten Eingang des Addierer/Subtrahierers 30 gegeben. Die notwendige Anzahl von Multiplikationen wird von der Steuereinheit 33 ausgewählt und entspricht einer Tonleiter. Die Multiplikation wird 38-mal durchgeführt, wenn die gesamte Verzögerungszeit T0 ~ To7 entsprechend einer Tonleiter E2 ~-» F5. Bei einer Schiebe-Taktfrequenz fs vom 32 768 KHz beträgt die der Verzögerungszeit entsprechende Tonleiterfrequenz fi dann fi = fs/τϋ. Xi ist proportional zur zwölften Wurzel aus 2. ti wird
entsprechend F5, Ες, F2, E- ausgedrückt durch
T37 = 46, TT36 =49 Tf1 = 373 und ^0 = 395.
Die Fenster-Verarbeitungsschaltung 29 multipliziert die Daten mit einem Koeffizienten, der einer von dem Selektor 27 ausgewählten Verzögerurig entspricht. Wenn man annimmt, daß der Koeffizient, d.h. der Fensterwert
• W * *
-25-
w (ti) beträgt, so beträgt der in den Addierer/Subtrahierer 30 eingegebene Wert xj.x(j + ti) .wCti) . Der Koeffizient wird nach Maßgabe eines Auswahlsignals ausgewählt, das dem Selektor 27 von der Steuerschaltung 33 zugeführt wird. Der Addierer/Subtrahierer 30 und der Speicher 31 werden zum Aufsummieren verwendet. Das Ausgangssignal des Speichers 31 wird an den zweiten Eingang des Addierer/Subtrahierers nach Maßgabe von la gelegt, um eine Addier- und Subtrahieroperation des Ausgangssignals der Fenster-Verarbeitungsschaltung 29 durchzuführen, woraufhin das Ausgangssignal des Addierer/Subtrahierers erneut in dem Speicher 31 gespeichert wird.
Die in dem Speicher 31 gespeicherten Daten sind folgende :
ExJ-X(J+Ti)**^1) (D
wobei N die Anzahl von Schiebeschritten darstellt, d.h. eine Zählung von ti innerhalb eines vorbestimmten Bereichs, w(xi) ist für j in Gleichung (1) eine Konstante. Daher erhält man folgende Gleichung
R' (Ti) =w(Tx)-Zxj-x (j +Ti) - w(Ti)-R-(ii) .... (2), j-0
wobei R(Tii) einen akkumulierten Wert von xj.x(j + Xx) und einen einer bestimmten Zeitverzögerung entsprechenden Korrelationswert darstellt.
wie aus Gleichung (2) hervorgeht, wird der obige Wert w(ti) mit dem der spezifizierten Verzögerungszeit ent-
;-" 3Λ07078
Verzögerurigszeit entsprechenden Korrelationswerten multipliziert und wird zu dem Fensterwert, welcher der Verzögerungszeit der Fensterfunktion entspricht. Auf diese Weise können Fehler in Form einer Uberton-Extraktion mit Hilfe der Drei-Wert-Operation verhindert werden (Fenster-Verarbeitung). In einigen Fällen ist die erste oder zweite Oberwelle im Pegel . stärker als die Grundwelle. Es ist daher wichtig, die Multiplikation des Fensterwerts durchzuführen, d.h. eine Fensterverarbeiturig vorzusehen.
Das Ausgangssignal des Speicherabschnitts 31 wird auf den Maximumwert-Detektor 32 gegeben, und es wird der Maximumwert in dem Speicherabschnitt 31 festgestellt.
In dem Speicherabschnitt 31 gespeicherte Werte sind kumulierte, d.h. aufsummierte Werte, von denen jeder dadurch erhalten wird, daß der Wert der spezifizierten Zeitverzögerung und der laufende Wert multipliziert werden und das Produkt dann der Fenster-Verarbeitung unterworfen wird. Es handelt sich daher um Werte, die den jeweiligen Tonhöhen oder Frequenzkomponenten der Eingabe-Stimmsignale■innerhalb eines festgelegten Zeitraums entsprechen. (Der festgelegte oder spezifizierte Zeitraum kennzeichnet einen Rahmen. Wenn ein Rahmen aus 800 Systemtakt-Intervallen besteht, stellen die gespeicherten Werte kumulierte oder summierte Werte von 400 Zeiten dar.) D.h. also, daß der in dem Maximumwertdetektor 32 ermittelte Wert der Maximumwert der Signale der jeweiligen Frequenzkomponenten der Eingabe-Stimmsignale innerhalb des spezifizierten Zeitraums ist.
Der Maximumwertdetektor 32 setzt die Tonhöhen- oder Frequenzdaten, die den Maximumwert besitzen, z.B. in einen Kode um, um den Kode an den Tonleiterkode-Anschluß 34 zu geben.
Bei dem oben erläuterten Betrieb des Instruments werden die einer Note des Stimmsignals zugehörigen Tonleiter-Kodedaten von dem Tonleiterkode-Anschluß 34 ausgegeben und in dem Zwischenspeicher 4 gespeichert. Dann schliessen sich eine Fehlereliminierung, eine Mittelwertbildung usw. an.
Figur 4 zeigt eine detaillierte Schaltungsskizze des Drei-Werte-Quantisierungsteils 21 und der Leistungs-Berechnungseinheit 17 aus Figur 2. Das Ausgangssignal des ADU 16 wird in dem Pufferregister 35 gespeichert. Dessen Ausgangssignal wird an einen Minuendeneingang B des Addierer/Subtrahierers 36 und an die Eingänge von Registern 37 und 38 gelegt. Das Ausgangssignal C des
!5 Addierer/Subtrahierers 36 wird in einen Zwischenspeicher 39 eingegeben. Daten von einem Festspeicher (ROM40) werden an die Eingänge von Zwischenspeichern 41 und 42 gegeben.
Die Ausgänge der Zwischenspeicher 37, 39, 41 und 42 sind gemeinsam über jeweilige Verknüpfungsglieder 43 bis 47 geschaltet und an einen Subtrahendeneingang A des Addierer/Subtrahierers 36 sowie einen Adreßeingang des ROM40 angeschlossen. Die Verknüpfungsglieder 43 bis 47 werden während einer vorbestimmten Zeitdauer T1 bis T5 innerhalb eines Rahmens geöffnet. Ein übertrag (carry) D vom Addierer/Subtrahierer 36 wird an die jeweiligen Eingänge von Zwischenspeichern 48 und 49, den ersten Eingang eines UND-Glieds 50 und über einen Negator 51 an den ersten Eingang eines UND-Glieds 52 gegeben.
Das Ausgangssignal des Zwischenspeichers 48 wird als das Vorzeichenbit an das Schieberegister 26 gegeben und an den ersten Eingang eines ODER-Glieds 53 gelegt. Das Ausgangssignal des Zwischenspeichers 49 gelangt über einen Negator 54 an den zweiten Eingang des ODER-
Glieds 53. Das Ausgangssignal des ODER-Glieds 53 wird als das Datenbit dem Schieberegister 26 zugeführt. Die Ausgangssignale der UND-Glieder 50 und 52 werden an die Takteingänge (latch) der Zwischenspeicher 38 und 37 gegeben.
Im folgenden soll unter Bezugnahme auf die Zeit-Diagramme in den Figuren 5 und 6 die Arbeitsweise einer Ausführungsform der Erfindung beschrieben werden.
Erfindungsgemäß werden in der oben erläuterten Weise Daten in Rahmen-Einheiten verarbeitet. Ein Rahmen enthält 800 Daten, und der Maximumwert sowie der Minimumwert der Amplituden der Daten werden rahmenweise berechnet. Der Maximumwert und der Minimumwert werden berechnet, nachdem die letzten Daten eines Rahmens als Eingangssignal empfangen wurden. Der Vergleicher 20 vergleicht die nächsten eingegebenen Daten mit Schwellenpegeln, die mit den Maximum- und Minimumwerten in Beziehung stehen. Wie Figur 5 anhand eines Beispiels veranschaulicht, werden der in einem Rahmen (n - 1) erhaltene Maximum- und Minimumwert für den Vergleich von Daten in dem nächsten Rahmen (n) verwendet. Weiterhin werden die in dem Rahmen (n) erhaltenen Werte in dem Rahmen (n + 1) verwendet. In anderen Worten: Der Drei-Werte-Quantisierungsteil 21 stellt den Maximum- und den Minimumwert eines unmittelbar vorausgehenden Rahmens fest, ermittelt die Schwellenpegel aus diesen Maximum- und Minimumwerten und bildet schließlich, aus den Daten des nächsten Rahmens in dem Vergleicher unter Zugrundelegung der Pegel ternäre Daten.
Gemäß Figur 4 werden die von dem ADU 16 empfangenen Daten innerhalb eines Zeitraums t.. in dem Pufferregister 35 gespeichert. Zuerst werden die in Figur 6 gezeigten
Daten χ gespeichert. Die Daten werden an den Addierer/ Subtrahierer 36 gelegt, der als Addierer arbeitet, wenn sein Addier/Subtrahier-Steuergang SUB ein Signal mit hohem Pegel empfängt, und der als Subtrahierer arbeitet, wenn der Steuereingang ein Signal mit niedrigem Pegel empfängt. Da an den Steuereingang SUB des Addierer/ Subtrahierers 36 mit Ausnahme des Zeitraums t5 ein Signal niedrigen Pegels gelegt wird, arbeitet die Schaltung in dem Zeitraum t.. - t4 als Subtrahierer. Im Zeitraum
t,| ist das Verknüpfungsglied 43 geöffnet, und in dem Zwischenspeicher 37 gespeicherte Daten werden in den Addierer/Subtrahierer 36 gegeben und subtrahiert. Wenn hier der Wert der in dem Pufferregister 35 gespeicherten Daten größer ist als der Wert der im Zwischen-
1^ speicher 37 gespeicherten Daten, liefert der Übertrag-Anschluß D der Schaltung 36 einen niedrigen Pegel. Da der Zwischenspeicher 37 den Maximumwert speichert, werden die in dem Pufferregister 35 gespeicherten Daten in dem genannten Fall in den Zwischenspeicher 37 eingespeichert. Der niedrige Pegel des Signals am Übertrag-Ausgang D wird durch den Negator 51 in einen hohen Pegel umgesetzt, und das Signal mit dem hohen Pegel gelangt an das UND-Glied 52, welches dadurch geöffnet wird. An den Takteingang des Zwischenspeichers 37 gelangt ein Takt 0_ (t...03) im Zeitraum t-, so daß die oben erwähnten, dem Eingang der Schaltung 37 zugeführten Daten zwischengespeichert werden. Wenn hingegen die in dem Pufferregister 35 gespeicherten Daten einen kleineren Wert haben als die im Zwischenspeicher 37 gespeicherten Daten, nimmt der Übertrag-Ausgang D des Addierer/Subtrahierers 36 einen hohen Pegel an. Da dieses Signal über den Negator 51 an das UND-Glied 52 gelangt, wird dieses geschlossen und der Takt t1.0-gelangt nicht an den Zwischenspeicher 37. Dies bedeutet, daß die in dem Zwischenspeicher 37 enthaltenen Daten unverändert bleiben. Dieser Vorgang wird während
3*07078
des Zeitraums t, durchgeführt.
Als nächstes wird im Zeitraum t~ das Verknüpfungsglied 44 geöffnet, und die im Zwischenspeicher 38 gespeicherten Daten werden auf den Addierer/Subtrahierer 36 gegeben. Ähnlich der oben beschriebenen Arbeitsweise erfolgt in dem Addierer/Subtrahierer die Ausführung der Subtraktion, und die Werte der Daten werden verglichen. Wenn die im Pufferregister 35 gespeicherten Daten einen kleineren Wert haben als die im Zwischenspeicher 38 gespeicherten Daten, liefert der Übertrag-Ausgang D einen hohen Pegel. Da der Zwischenspeicher 38 den Minimumwert speichert, werden die im Pufferregister 35 gespeicherten Daten unter diesen Umständen in den Zwischenspeicher 38 eingespeichert. Das UND-Glied 50 empfängt von dem Übertrag-Ausgang D das Signal mit hohem Pegel, so daß während der Öffnungszeit des UND-Glieds ein Takt 03 (t^.fl^) im Zeitraum to an den Takteingang (latch) des Zwischenspeichers 38 gelangt, so daß die dem Eingang der Schaltung 38 zugeführten, oben erwähnten Daten, zwischengespeichert werden.
Dieser Vorgang wird für die Daten XQ ~ X7Qg wiederholt.
Nach der Rahmen-Periode T,- (d.h. der den letzten Daten Xtqq entsprechenden Periode) wird die Verknüpfungsschaltung 43 bei T.. geöffnet, und die in dem Zwischenspeicher 37 gespeicherten Daten werden in dem ROM40 gespeichert. Derjenige Inhalt des Speichers, der durch diese Daten gekennzeichnet wird, gelangt an den Eingang des Zwischenspeichers 41 und wird dort mit dem Takt Tc.t-.02 gespeichert. In ähnlicher Weise wird beim Zeitraum t2 des Intervalls T5 die Verknüpfungsschaltung 44 geöffnet, so daß die Daten des Zwischenspeichers 38 an den ROM40 gelangen. Derjenige Inhalt des Speichers, der durch diese Daten adressiert wird, gelangt an den
Eingang des Zwischenspeichers 42 und wird dort mit dem Takt T5.t2.03 gespeichert. Da die dem ROM40 zugeführten Daten der Maximum- und der Minimumwerte sind, werden dem Maximum- bzw. dem Minimumwert zugeordnete Schwellenpegel in den Zwischenspeichern 41 und 42 gespeichert, indem man das mit einem vorbestimmten Wert, z.B. <L =0,4 und ty * 0'4 multiplizierte Ergebnis in dem Speicher speichert, dessen Adresse durch den Maximumbzw. Minimumwert festgelegt wird. Durch den oben geschilderten Arbeitsablauf werden in den Zwischenspeichern 41 und 42 die dem Maximumwert bzw. dem Minimumwert innerhalb eines Rahmens zugeordneten Schwellenpegel gespeichert.
in dem verbleibenden Zeitraum der Daten XQ ^X.„g, nämlich in dem Zeitintervall t-, und t, wird parallel zu dem oben beschriebenen Ermitteln der Schwellenpegeln eine Operation zum Bilden von ternären Werten durchgeführt. Die den Maximum- und Minimumwerten zugeordneten Schwellenpegeln des vorausgehenden Rahmens sind dann in den Zwischenspeichern 41 und 42 gespeichert.
Zunächst werden in dem Pufferregister 35 die Daten XQ gespeichert, wie es oben beschrieben wurde. Die Verknüpfungsschaltung 45 wird während des Zeitraums t3 geöffnet.
Die in dem Zwischenspeicher 41 gespeicherten Daten werden auf den Subtrahendoneingang A des Addierer/Subtrahierers 36 gegeben. Dez Inhalt des Pufferregisters, d.h. die Daten XQ, werden auf den Minuendeneingang B gegeben. Das Signal am Ubertragausgang D zeigt an, ob der eine Datenwert größer ist als der andere, und das Übertragssignal (carry) wird mit dem Takt (?3 innerhalb des Zeitraums t3, nämlich bei t3.0U, in dem Zwischen-
" '"34Ü7Ü78
Speicher 49 gespeichert. Wenn die im Zwischenspeicher 4 gespeicherten Daten niedrigen Pegel haben, so sind die im Pufferregister 35 gespeicherten Daten XQ größer als der im Zwischenspeicher 41 gespeicherte Schwellenwert.
Haben die im Zwischenspeicher 49 gespeicherten Daten einen hohen Pegel, so ist der Wert der Pufferregister 35 gespeicherten Daten Xq kleiner als der im Zwischenspeicher 41 gespeicherte Schwellenpegel.
Als nächstes wird im Zeitraum t. die Verknüpfungsschaltung 46 geöffnet, wie es oben beschrieben wurde, und die im Zwischenspeicher 42 gespeicherten Daten werden auf den Subtrahendeneingang A des Addierer/ Subtrahierers 36 gegeben. Andererseits werden die Daten Xn wie im Zeitraum t_ auf den Minuendeneingang B gegeben. Am Übertrag-Ausgang D erscheint die Information über die Beziehung der Datenwerte, und diese Information wird in dem Zwischenspeicher 48 mit dem Takt GL innerhalb des Zeitraums t., nämlich mit dem Takt t..0-, zwischengespeichert. Wenn die im Zwischenspeicher 48 gespeicherten Daten niedrigen Pegel haben, so ist der Wert der Daten XQ im Pufferregister 35 größer' als der im Zwischenspeicher 42 gespeicherte Schwellenpegel (der dem Minimumwert entspricht).
Ähnlich sind die Verhältnisse umgekehrt, wenn die gespeicherten Daten einen hohen Pegel besitzen.
Die Daten in diesem Zwischenspeicher ändern sich nicht vor dem nächsten Takt. Gleichzeitig mit dem Empfang des Subtraktionsergebnisses wird dieses von einem einen Negator 54 und ein ODER-Glied 53 aufweisenden Kodierer in ternäre Daten umgesetzt, die an das Schieberegister 26 gegeben werden. Haben die in den Zwischenspeichern 48 und 49 gespeicherten Daten beide einen niedrigen Pegel, so ist der Wert der im Pufferregister 35 gespeicherten Daten Xq größer als der sich auf den Maxi-
mumwert beziehende Schwellenpegel, so daß das Ausgangssignal des Negators 54 hohen Pegel hat und von dem ODER-Glied 53 als Datenbit ausgegeben wird, während der niedrige Pegel des Zwischenspeichers 48 als Vorzeichenbit ausgegeben wird. Haben beide Daten hohen Pegel, so ist der Wert der im Pufferregister 35 gespeicherten Daten kleiner als der sich auf den Minimumwert beziehende Schwellenpegel. Folglich wird das Ausgangssignal des Zwischenspeichers 49, d.h. das Signal mit hohem Pegel, von dem ODER-Glied 53 als Datenbit abgegeben, und das Vorzeichenbit hat hohen Pegel. In sämtlichen anderen Situationen, d.h., wenn ein Signal kleiner ist als ein sich auf den Maximumwert beziehender Schwellenpegel oder größer ist als ein sich auf den Minimumwert beziehender Schwellenpegel, wird in dem Zwischenspeicher 49 ein Signal hohen Pegels gespeichert, während in dem Zwischenspeicher 48 ein Signal mit niedrigem Pegel gespeichert wird. Der hohe Pegel des Ausgangssignals des Zwischenspeichers 49 wird dann von dem Negator 54 invertiert, so daß an das ODER-Glied 53 ein Signal niedrigen Pegels gelangt, und außerdem gelangt der niedrige Pegel des Ausgangssignals des Zwischenspeichers 48 an das ODER-Glied 53, so daß als Ergebnis das Ausgangssignal des ODER-Glieds 53 einen niedrigen Pegel hat. Auf diese Weise wird ein Signal mit niedrigem Pegel an das Schieberegister 26 geliefert. Das Ausgangssignal des Zwischenspeichers 48, welches niedrigen Pegel hat, wird als Vorzeichendatenwert geliefert. Die ternären Daten am Ausgang sind vorzeichenbehaftete Daten, die in der aus der oben Tabelle 1 ersichtlichen Weise mit zwei Bits kodiert sind.
Der oben beschriebene Arbeitsablauf in den Zeiträumen t3 und t4 ähnelt der Arbeitsweise beim Ermitteln der Maximum- und Minimumwerte, wie sie oben erläutert wurde. Dieser Arbeitsablauf wird für X- und dann weiter
"" ' "'■'·■ 34Ü7Q78
für X2 ~» X799 nacheinander durchgeführt. Weiterhin erfolgt der sequentielle Ablauf so, daß der Schwellenpegel bei jeder Rahmeneinheit geändert wird. Dies geschieht einfach dadurch, daß der Wert im Pufferregister 35 im Zeitraum von t,- akkumuliert wird, was oben nicht erläutert wurde. Beim Zeitraum t,- wird das Verknüpfungsglied 57 geöffnet, so daß der Inhalt des Zwischenspeichers 39 an den Eingang A des Addierer/Subtrahierers 36 gelangt, während der Inhalt des Pufferregisters 35 an den Eingang B gegeben wird. Andererseits wird ein Signal mit niedrigem Pegel an den Steueranschluß SUB des Addierer/Subtrahierers 36 gegeben, so daß dieser im Gegensatz zu den Intervallen t-, t2, t^ und t. als Addierer arbeitet. Demzufolge wird die Summe der den Eingängen A und B zugeführten Daten am Ausgang C abgegeben und im Zwischenspeicher 39 gespeichert. Die Daten werden von dem Zwischenspeicher 39 mit dem Takt tc.0o aufgenommen. Der Zwischenspeicher 39 wird während des Zeitraums T5^t5 zurückgesetzt, d.h. in einem Zeitraum t5 innerhalb der Rahmenperiode T5, was den letzten Daten entspricht. Auf diese Weise werden die Daten X^ ^ Xtqq innerhalb eines Rahmens akkumuliert und über den Leistungswert-Anschluß 11 abgegeben. Die Bezugszeichen fQ ^J U37 in Figur 6 zeigen eine Korrelationsberechnung, die für einen Datenwert durchgeführt wird.
Jeder Datenwert besitzt 40 Stücke, und bei dieser Ausführungsform erfolgt die Berechnung nur für TL r-J.^37· Die Takte 0^ und 0- sind die für eine dann erfolgende Berechnung notwendigen Takte.
Der in Figur 4 gezeigte Addierer/Subtrahierer ermittelt einen Anfangs- und beginnenden Schlußteil der Stimme und wählt Tonhöhendaten aus.
Bei der obigen Beschreibung des Ausführungsbeispiels
wurde ausgeführt, daß die Eingangsdaten durch das Sprachsignal dargestellt werden. Es kann jedes Signal ähnlich dem oben beschriebenen Ablauf durch Quantisierung verarbeitet werden.
Bei der oben beschriebenen Ausführungsform erfolgte eine dreistufige Quantisierung, es können jedoch auch andere mehrstufige Quantisierungen vorgenommen werden, indem die Anzahl von Subtraktions- oder Vergleichsvorgangen in den Zeiträumen t~ und t. erhöht wird und die Anzahl von zugehörigen Schaltungsteilen entsprechend heraufgesetzt wird, z.B. ein ROM und ein Zwischenspeicher hinzugefügt wird.
Das bis hierin erzielte Ergebnis, welches in Form der dreistufigen oder ternären Daten vorliegt, wird an das Schieberegister 26 gelegt, und es erfolgt der Prozeß der Korrelation und Tonhöhen-Extraktion.
Figur 7 zeigt das Schieberegister 26 und den Selektor 27 aus Figur 2.
Das Schieberegister 26 enthält 400 Stufen 26-0 bis 26-399. Die ternären Daten aus dem Drei-Werte-Quantisierungsabschnitt 21, d.h. das Ausgangssignal des ODER-Glieds 23 und des Zwischenspeichers 48 in Figur 4, werden an das Schieberegister 26-0 bis 26-399 gelegt. In diesen Schieberegisterstufen erfolgt eine für zwei Bits parallele Verschiebung. Die zwei Bits umfassenden Ausgangssignale der Schieberegisterstufe 26-0 werden auf den ersten Eingang eines Exklusiv-ODER-Glieds 28-1 und den ersten Eingang eines UND-Glieds 28-2 gelegt. Die Ausgangssignale der Schieberegisterstufen 26-0 bis 26-399 werden an die ersten Eingänge von UND-Gliedern 93-1 bis 56-1 und 93-2 bis 56-2 gegeben. Die Auswahlsignale von der Steuereinheit 33 werden an die zweiten
Eingänge der UND-Glieder 93-1 bis 56-1 und 93-2 bis 56-2 gelegt. Die Ausgangssignale der UND-Glieder 93-1 bis 56-1 werden an ein ODER-Glied 27-1 gelegt und die Ausgangssignale der UND-Glieder 93-2 bis 56-2 werden an ein ODER-Glied 27-2 gelegt. Die Ausgangssignale der ODER-Glieder 27-1 und 27-2 werden an die zweiten Eingänge des Exklusiv-ODER-Glieds 28-1 und des UND-Glieds 28-2 der Multiplizierschaltung 28 gegeben. Deren Ausgangssignal gelangt an die Fenster-Verarbeitungsschaltung 29.
Die aus zwei Bits bestehenden ternären Daten von dem Drei-Werte-Quantisierungsabschnitt 21 werden auf die Schieberegister-Stufe 26-399 gegeben und sequentiell durch die Registerstufen 26-399 bis 26-0 geschoben.
Wenn die ternären Daten innerhalb eines Rahmens in dem Schieberregister 26-399 bis 26-0 gespeichert sind, wird von der Steuereinheit 33 das Auswahlsignal geliefert. Wenn die UND-Glieder 56-1 und 56-2 ausgewählt werden, nehmen die Signale auf den Signalleitungen an den zweiten Eingängen der UND-Glieder 56-1 und 56-2 hohen Pegel an, und die zwei Bits umfassenden Ausgangssignale der SchieberegisterStufe 26-395 werden von den UND-Gliedern 56-1 und 56-2 ausgegeben. Wenn die zweiten Eingänge der anderen UND-Glieder 57-1 bis 93-1 und 57-2 bis 93-2 niedrige Signale von der Steuereinheit 33 empfangen, nehmen ihre Ausgänge niedrige Pegel an. Die Ausgänge der UND-Glieder 56-1 bis 93-1 werden an die ODER-Glieder 27-1 gelegt, und die Ausgangssignale der UND-Glieder 56-2 bis 93-2 liegen an dem ODER-Glied 27-2. Die Ausgänge der ODER-Glieder 27-1 und 27-2 liefern die gleichen Daten wie die Ausgänge der UND-Glieder 56-1 und 56-2, d.h. die Ausgangssignale der Schieberegisterstufe 26-395. Die UND-Glieder 56-1 bis 93-1, 56-2 bis 93-2 und der ODER-Glieder 27-1 und 27-2 arbeiten als Selektor zum Auswählen des Ausgangs-
signals des Schieberegisters 26, wie es oben erläutert wurde.
Wie oben bereits gesagt wurde, empfangen die jeweils ersten Eingänge der UND-Glieder 56-1 bis 93-1 und 56-2 bis 93-2 die entsprechenden Ausgangssignale der Schieberegisterstufen 26-0 bis 26-399. Die spezifizierten Ausgangssignale dieser Registerstufen weisen Verzögerungszeiten auf, die proportional sind zu den Stufen der jeweiligen Musiktonleitern E2 - F5. Beispielsweise entspricht der Ausgang der Schieberegisterstufe 26-395 der Tonleiter E2, der der Stufe 26-373 der Tonleiter F2* der Ausgang 26-36 entspricht E^, und der Ausgang der Stufe 26-35 entspricht F5. Die Ausgänge werden sukzessive innerhalb eines Schiebetakts ausgewählt, und es werden die unten beschriebenen Multiplikationen durchgeführt. Das Exklusiv-ODER-Glied 28-1 empfängt das Vorzeichenbit vom Ausgang der Schieberegisterstufe 26-0 und das Vorzeichenbit vom Ausgang derjenigen Schieberregisterstufe, die durch den Selektor 27-1 ausgewählt wird. Die Funktion eines Exklusiv-ODER-Glieds besteht darin, daß sein Ausgangssignal "0" wird, wenn seine beiden Eingangssignale "1" oder beide "0" sind, während das Ausgangssignal "1" ist, wenn das eine Eingangssignal "1" und das andere Eingangssignal "0" ist. Eine logische "0" entspricht dem oben erwähnten niedrigen Pegel, eine "1" entspricht dem hohen Pegel. Was die Vorzeichenregelung bei der Multiplikation angeht, so wird bekanntlich das Produkt positiv, wenn sowohl der Multiplikant als auch der Multiplikator negativ oder positiv ist, während das Produkt negativ wird, wenn der Multiplikant positiv ist, während der Multiplikator negativ ist, oder umgekehrt. Daher entspricht die Funktion des Explusiv-ODER-Glieds 28-1 exakt der Multiplikation.
Das UND-Glied 28-2 empfängt das Datenbit vom Ausgang der Registerstufe 26-0 und das Datenbit vom Ausgang der Registerstufe, die durch den Selektor 27-2 ausgewählt wird. Wenn man das Vorzeichenbit außer Acht läßt, so gibt es ein Datenbit. Sind beide Eingänge "1" so wird das Ausgangssignal "1", in allen anderen Fällen wird das Ausgangssignal "0". Diese Funktion übernimmt das UND-Glied 28-2.
10 15
Im Ergebnis arbeitet die Multiplizierschaltung 28 als Multipliziereinheit für zwei Bits (einschließlich Vorzeichen) , wie es in der nachstehenden Tabelle 2 dargestellt ist. Das Ausgangssignal der Multiplizierschaltung 28 gelangt an die Fenster-Verarbeitungsschaltung 29 und wird mit einem Koeffizienten multipliziert, der der ausgewählten Verzögerungszeit entspricht.
Tabelle 2
20 25 30 35
-1 0 1
-1 1 0 -1
0 0 0 0
1 -1 0 1
Ternäre Daten
Da die oben beschriebene Multiplikation mit den um eine spezifizierte Zeit verzögerten Daten durchgeführt wird, liefert die Multiplizierschaltung 28 als Ausgangssignal Daten mit einem Korrelationswert. Die spezifizierte Zeitverzögerung bestimmt sich durch den Schiebetakt und die Anzahl von Taktimpulsen. Wenn beispielsweise die Frequenz des Schiebetakts 32 768 kHz beträgt, beträgt die Verzögerung in der Registerstufe 26-395 etwa
3*07078
12 ms, was etwa einer Frequenz von 83 Hz entspricht. D.h., daß der Korrelationswert ein zu 83 Hz in Beziehung stehender Wert wird (Tonleiter E2). Dieser Wert entspricht dem Fall, daß die Registerstufe 26-395 ausgewählt wird, und durch Auswählen anderer Schieberegisterstufen kann man Korrelationswerte von entsprechenden Musiktonleitern erhalten.
Bei der Äusführungsform nach Figur 7 werden die der innerhalb eines Takts extrahierten Tonleiter entsprechenden Schieberegisterstufen sequentiell ausgewählt, und es wird die Multiplikation durchgeführt.
Anstatt die Auswahl in der oben erläuterten Weise entsprechend der Tonleiter vorzunehmen, können die Ausgangssignale entsprechend sämtlicher Töne der Tonleiter jeweils multiplizierend zugeführt werden, deren Anzahl der Anzahl der zu extrahierenden Töne der Tonleiter entspricht, und das Ergebnis kann auf Aufwärts-/ Abwärts-Zähler gegeben werden, wodurch die Subtrahierschaltung 30 und der Speicher 31 aus Figur 2 gemeinsam benutzt werden.
Figur 8 zeigt eine entsprechende Schaltung. Das Vorzeichenbit der letzten Stufe des Schieberegisters 26, d.h. das Ausgangssignal der Registerstufe 26-0, wird gemeinsam auf die ersten Eingänge von Exklusiv-ODER-Gliedern 94 bis 131 gegeben. Das Datenbit wird gemeinsam auf die ersten Eingänge von UND-Gliedern 132 bis 169 gegeben. Die Vorzeichensignale der Registerstufen 26-395 bis 25-46 werden selektiv an die zweiten Eingänge der Exklusiv-ODER-Glieder 94 bis 131 gegeben, und die Datenbitsignale der Registerstufen 26-395 bis 26-46 werden in ähnlicher Weise auf die jeweils zweiten Eingänge der UND-Glieder 132 bis 169 gegeben.
Bei der Ausführungsform nach Figur 7 werden die innerhalb eines Schiebetakts ausgewählten Daten sequentiell mit dem letzten Schiebe-Ausgangssignal in dem Multiplizierer 28 multipliziert, und bei der Ausführungsform nach Figur 8 werden die Daten in separaten Multiplizierern multipliziert. Die Multiplikationsergebnisse werden parallel von den UND-Gliedern 132 bis 169 und den Exklusiv-ODER-Gliedern 94 bis 131 nach Maßgabe der jeweiligen Zeitverzögerungen abgegeben. Die Ausgangssignale werden an Takteingänge C bzw. an Aufwärts-/ Abwärts-Auswahlanschlüsse S von Aufwärts-/Abwärts-Zählern 170 bis 207 gelegt. Die Ausgangssignale der Zähler werden auf einen Maximumwertdetektor 32' gegeben.
Bei der Ausführungsform nach Figur 8 werden sämtliche Ausgangssignale der Registerstufen 26-1 bis 26-399 entsprechend den Tonleitern auf die Multiplizierschaltung 28 gegeben und jeweils mit den Ausgangssignalen der Registerstufe 26-0 multipliziert. Die Multiplikationsergebnisse werden auf den Verzögerungszeiten entsprechende Aufwärts-/Abwärts-Zähler gegeben. Die Ausgangssignale der Exklusiv-ODER-Glieder 94 bis 131 gelangen an die Aufwärts-/Abwärts-Auswahlanschlüsse S der jeweiligen Zähler 170 bis 207. Wenn man also annimmt/ daß die Zähler hochzählen, wenn an den Anschluß S eine "1" gelegt wird, und abwärtszählen, wenn eine "0" an den Anschluß S gelegt wird, so zählen die Zähler Multiplikationsergebnisse von +1 aufwärts und Multiplikationsergebnisse von -1 abwärts. Wenn weiterhin die Ausgangssignale "0" sind, so werden sie nicht gezählt, da keine Taktsignale empfangen werden. Das bedeutet also, daß die Inhalte der Aufwärts-/Abwärts-Zähler 170 bis 207 entsprechend den Schiebetaktintervallen geändert werden. Wenn die Aufwärts-/Abwärts-Zähler innerhalb eines spezifizierten Bereichs, z.B. innerhalb eines Rahmens, gearbeitet haben, so stellen ihre Ausgangs-
Signale kumulierte oder aufsummierte Werte dar. In anderen Worten: Die Aufwärts-/Abwärts-Zähler entsprechen dem Addierer/Subtrahierer 30 und dem Speicherabschnitt 31 der Ausführungsform nach Figur 2 und 7. Die Ausgangssignale der Zähler 170 bis 207 gelangen in den Maximumwertdetektor 32'. Im Gegensatz zu dem Maximumwertdetektor 19 der Ausführungsform nach Figur 7 enthält dieser Detektorabschnitt 32' die Funktion der Fenster-Verarbeitungsschaltung 29. Daher multipliziert er die Aus- ■ gangssignale der Zähler 170 bis 207 mit Koeffizienten bezüglich der Verzögerungszeiten oder mit Fensterwerten, und er ermittelt den Maximumwert der Ergebnisse.
Obschon bei den Ausführungsformen nach den Figuren 7 und 8 das Schieberegister 26 verwendet wird, welches die ternären Daten des Vergleichers 70 speichert und verschiebt, um die Daten x. und x(j + f.), die um ^. bezüglich vorbestimmter Bits verzögert sind, zu liefern, kann das Schieberegister beispielsweise durch einen ram (Schreib-ZLese-Speicher) ersetzt werden. Hierbei werden die von dem Vergleicher 20 gelieferten ternären Daten sukzessive in einem Umfang von 400 Einheiten pro Rahmen eingeschrieben, und beim Auslesen der Daten x. und x(j + Ti.) werden Adressen A. und A(j + "C.), unter denen die Daten gespeichert sind, zugewiesen, wodurch dieselben Ausgangsdaten erhalten werden, wie bei Verwendung des Schieberegisters. Grundsätzlich ist also die Verwendung eines Schieberegisters nicht unbedingt erforderlich, sondern es kann jede Schaltungsanordnung gewählt werden, die in der Lage ist, die Daten x. und x(j + ^1) zu liefern.
Figur 9 zeigt eine Schaltungsskizze des Multiplizierers 28, der Fenster-Verarbeitungsschaltung 29, des Addierers/Subtrahierers 30, des Speicherabschnitts 31 und des Maximumwertdetektors 32. Die Ausgangsdaten des
Schieberegisters 36 und des Selektors 27 werden auf den Multiplizierer 28 gegeben. Der Multiplizierer 28 ist der gleiche wie der in Figur 7 gezeigte Multiplizierer, und er besitzt das Exklusiv-ODER-Glied 28-1 und das UND-Glied 28-2. Das Vorzeichenbit der Ausgangsdaten wird auf das Exklusiv-ODER-Glied 28-1 gegeben, und das Datenbit wird auf das UND-Glied 28-2 gegeben.
Das Ausgangssignal des Exklusiv-ODER-Glieds 28-1 wird über einen Zwischenspeicher 207 und ein ODER-Glied 209 auf den Addier-/Subtrahier-Steuereingang des Addierer/ Subtrahierers 218 gegeben. Das Ausgangssignal des UND-Glieds 28-2 wird über einen Zwischenspeicher 210 auf den Steuereingang einer Gruppe von Verknüpfungsgliedern 211 gegeben. Das Signal zum Bestimmen des Fensterwerts der Steuereinheit 217 wird an einen Festspeicher ROM 212 gegeben, und dessen Ausgangssignal wird über eine Gruppe von Gatterschaltungen an den ersten Eingang eines Selektors 213 gelegt. Das Ausgangssignal des Selektors 213 wird an den ersten Eingang A des Addierer/Subtrahierers 218 gelegt. Das Ausgangssignal C des Addierer/Subtrahierers 218 gelangt an Zwischenspeicher 215 und 216 sowie an einen Schreib-/Lese-Speicher (RAM). Das Ausgangssignal des Zwischenspeichers 215 wird auf den zweiten Eingang des Selektors 215 gegeben, und das Ausgangssignal des Zwischenspeichers 216 wird an den zweiten Eingang B des Addierer/Subtrahierers 218 gegeben. Das Ausgangssignal eines Adreßzählers 220 wird an den Eingang des RAM 219 gegeben und über einen Zwischenspeicher 221 an den Tonleiterkode-Anschluß 34 gelegt. Der Übertrag-Ausgang D des Addierer/Subtrahierers 218 ist an die Steuereinheit 217 angeschlossen. Ein Größen-Vergleichssignal von der Steuereinheit 217 wird an den Selektor 213 und an das ODER-Glied 209 gegeben. Ein Zwischenspeicher- oder Haltesignal (LATCH) wird an die Zwischenspeicher 215, 216 und 221 gegeben,
ein Zähltakt gelangt an den Adreßzähler 220, und an den RAM 219 wird ein Lese/Schreib-Signal gegeben. Das Datenbit vom Schieberegister 26 gelangt an einen Freigabeanschluß eines Zählers 222. An den Zähleingang des Zählers 222 gelangt ein Taktsignal (Jx, und an den Rücksetzeingang des Zählers wird ein Rahmentaktsignal 0f gegeben. Der Multiplizierer 28 empfängt das letzte Schiebe-Ausgangssignal des Registers 26 und die von dem Selektor 27 ausgewählten verschobenen Daten.
Wie oben beschrieben wurde, enthält der Multiplizierer 28 das Exklusiv-ODER-Glied 28-1 und das UND-Glied 28-2, die das Vorzeichenbit bzw. das Datenbit empfangen. Die Logik des Exklusiv-ODER-Glieds 28-1 stimmt mit der Vorzeichenregel für die Multiplikation von Daten unterschiedlicher Vorzeichen überein. Die Logik des UND-Glieds 28-2 stimmt überein mit der Logik einer Multiplikation von aus einem Bit bestehenden Daten ohne Vorzeichen. Somit wird die Multiplikation ternärer Daten mit Hilfe des Exklusiv-ODER-Glieds 28-1 und des UND-Glieds 28-2 durchgeführt. Das Ergebnis wird jeweils in den Zwischenspeichern 208 und 210 gespeichert. Die Zwischenspeicheranordnung speichert ein Produkt, so daß sich dieses Produkt nicht während der nachfolgenden Fenster-Verarbeitung ändert, und sie speichert konstante Daten, bis die nachfolgenden Produktdaten eingegeben werden.
Der ROM 212 speichert Fensterwerte. Der Fensterwert, der dem von dem Multiplizierer 28 multiplizierten Korrelationswert entspricht, wird von der Steuereinheit 217 ausgewählt und von dem ROM 212 ausgegeben. Im allgemeinen bezieht sich ein in bezug auf eine Zeitverzögerung erhaltener Korrelationswert auf die Leistung einer Frequenz, die einer der Verzögerungszeit entsprechenden Zeitspanne entspricht. Wenn daher
ein Signal in größerem Umfang Oberwellen enthält, so werden die Korrelationswerte der Oberwellen genauso groß oder größer wie bzw. als der Wert der Grundwelle. Da die Korrelationswelle erfindungsgemäß für mehrere Verzögerungszeiten erhalten werden, können die Oberwellen fälschlicherweise in einem solchen Fall als die Grundwelle angesehen werden. Um diesen Nachteil zu vermeiden, wird der Korrelationswert mit dem Fensterwert multipliziert. Der Fensterwert ist beispielsweise umso größer, desto länger die Verzögerungszeit (desto geringer die Frequenz) ist. Der von dem ROM 212 ausgegebene Fensterwert gelangt an die entsprechende Gatterschaltung 211, die von den Ausgangsdaten des UND-Glieds 28-2 "ein" oder "aus" geschaltet wird.
Wenn das Ausgangssignal des UND-Glieds 28-2 hohen Pegel hat, wird der Fensterwert an den ersten Eingang des Selektors 213 gegeben, um den Wert zu addieren oder zu subtrahieren, und wenn das Ausgangssignal niedrigen Pegel hat, so gelangen an den ersten Eingang Daten mit dem Wert Null.
Zu dieser Zeit wird von der Steuereinheit 217 an den Steueranschluß des Selektors 213 und an das ODER-Glied 209 ein Signal mit niedrigem Pegel gegeben. Demzufolge legt der Selektor 213 das Ausgangssignal der Gatterschaltung 211, d.h. den Fensterwert, an den ersten Eingang A des Addierer/Subtrahierers 218. Weiterhin legt das ODER-Glied 209 den Vorzeichen-Datenwert von dem Multiplizierer 28 an den Additions-ZSubtraktions-Steueranschluß S des Addierer/Subtrahierers 218. In diesem Zustand, in welchem der Selektor 213 das Ausgangssignal der Gatterschaltung 211 auswählt und der Steueranschluß S des Addierer/Subtrahierers 218 die Vorzeichendaten empfängt, werden der Fensterwert und der am Eingang B des Addierer/Subtrahierers 218 anstehende Wert addiert, wenn der ternäre Datenwert +1
ist, und der Fensterwert wird von dem Wert am Eingang B subtrahiert, wenn der ternäre Datenwert -1 ist. Ist andererseits das Datenbit Null, d.h., ist der Wert der ternären Daten Null, so wird von dem entsprechenden Gatter 213 der Wert Null geliefert, so daß der Ausgang C des Addierer/Subtrahierers 218 denjenigen Wert annimmt, der an seinem Eingang B ansteht. D.h.: Die ternären Daten (das Multiplikationsergebnis) und der Fensterwert werden multipliziert, und dann in dem Addierer/Subtrahierer 218 addiert. Zu diesem Zeitpunkt werden die durch den Adreßzähler 220 bestimmten Daten des RAM 219 über den Zwischenspeicher 216 an den Eingang B des Addierer/Subtrahierers 218 gegeben. Da es sich bei diesen Daten um die bis dahin aufgelaufenen Eingabedaten handelt, also um die Ergebnisse der Multiplikation von ternären Daten und Fensterdaten, wird das Ausgangssignal des Addierer/Subtrahierers 218 ein kumuliertes oder Summenergebnis, auf das das neue Produkt addiert ist. Das Ergebnis wird in dem Zwischenspeicher 214 und außerdem unter derjenigen Adresse des RAM 219 gespeichert, auf die der Adreßzähler 220 zeigt, und die die gleiche Adresse ist wie diejenige vor der Addition des neuen Produkts auf das Multxplikationsergebnis.
Das Datenbit vom Ausgang des Schieberegisters 26 wird auf den Freigabeeingang des Zählers 222 gegeben, und der Takt 0 wird jedesmal dann an seinen Zähleingang gegeben, wenn die Daten verschoben werden. Wenn daher der Datenwert +1 oder -1 ist, zählt der Zähler 222 nach oben. Andererseits wird dar Zähler 222 von dem Rahmentakt {ff gelöscht. Demzufolge ist der Zählerstand des Zählers 222 äquivalent zur Leistung der dreistufig quantisierten Daten während eines Rahmens. Das Ausgangssignal RQ des Zählers 222 wird als Datenwert zur Erzeugung eines Flags verwendet, welches das Vorhandensein
-46-
oder das Nicht-Vorhandensein eines Stiinnisignals anzeigt.
Im folgenden soll der oben skizzierte Ablauf unter Bezugnahme auf die in Figur 6 dargestellte Datenübersieht innerhalb eines Rahmens erläutert werden. Die Korrelationswerte bei dieser Ausführungsform der Erfindung liegen rahmenweise vor. Ein Rahmen besteht aus 800 Daten XQ - X79Q/ und die Korrelationswerte werden in dem vorderen Teil X0 - X.». (Zeitraum T1) berechnet.
vor dem Zeitraum T1 oder in einem Zeitraum T5 des vorausgehenden Rahmens wird der Inhalt des RAM 219 durch eine hier nicht dargestellte Schaltung gelöscht. Weiterhin werden die Daten x(0 + T^0) - x(0 + Tu37) der spezifizierten Verzögerungszeiten beim Datenblock Xn
!5 sukzessive von dem Multiplizierer 28 multipliziert.
Weiterhin werden die jeweiligen Fensterwerte, die den Multiplikationen, d.h. den Verzögerungszeiten entsprechen, nacheinander von dem ROM 212 abgegeben. Zu dieser Zeit werden die den Verzögerungszeiten entsprechenden Inhalte des RAM 219 sukzessive von dem Adreßzähler 220 ausgewählt. Die zwei Arten von Daten werden in dem Addierer/Subtrahierer 218 in der oben erläuterten Weise berechnet, und die Berechnungsergebnisse werden schließlich in dem RAM 219 abgespeichert. Der Adreßzähler 220 kann Zählerstände 0 bis 37 entsprechend ΐ0 - T37 annehmen. Hiervon macht die Schaltung bei den Daten XQ und dann weiter bei jeweils den Daten X1 - X3Q Gebrauch. D.h. also: Der Adreßzähler 220 wiederholt die Zählung von 0 bis 37 innerhalb eines Rahmens 400-mal. Auf diese Weise werden die Verzögerungsdaten X(J+ f0) - x(j + t37) der jeweiligen Daten XQ - X399 multipliziert, und die Ergebnisse werden weiter mit den Fensterwerten multipliziert und anschließend kumuliert. Demzufolge werden kumulierte Ergebnisse, die den spezifizierten Verzögerungszeiten TfQ - ^37/ also den in der obigen Gleichung (2) angegebenen Korrelationswerten
3'4 07Ό78
R1 CC), d.h. die der Fenster-Verarbeitung unterworfenen Korrelationswerte, als Inhalte der jeweiligen Adressen des RAM 219 gespeichert.
Bei dem oben beschriebenen Ablauf greift die Steuereinheit 217 auf die Adressen des die Fensterwerte speichernden ROM 212 zu. Da jedoch die Adresse dem Zählerstand des Adreßzählers 220 entspricht, wird ein ähnlicher Effekt erreicht, wenn die Zählerstände an den ROM 212 gegeben werden. Außerdem werden solche Vorgänge wie die Speichervorgänge der Zwischenspeicher 215 und 216 sowie des RAM 219 synchron mit Taktimpulszügen 0.. und 0 gemäß Figur 6 gesteuert.
Die in Figur 9 gezeigte Schaltungsanordnung besitzt außerdem die Funtkion, den Maximumwert der den jeweiligen Verzögerungszeiten entsprechenden Korrelationswerten aufzufinden. Dies soll im folgenden näher erläutert werden.
Zuerst werden die Zwischenspeicher 215 und 216 in einem Zeitabschnitt T, gelöscht. Da die den jeweiligen Verzögeruhgszeiten entsprechenden, in dem Zeitraum T1 erhaltenen Korrelationswerte gemäß Figur 6 in dem RAM 219 abgespeichert wurden, wird der Korrelationswert entsprechend Tq durch den Adreßzähler 220 adressiert und in dem Zwischenspeicher 216 gespeichert.
Da hierbei der Auswahlanschluß des Selektors 213 das Signal hohen Pegels empfängt, wählt der Selektor den Ausgang des Zwischenspeichers 215 aus. Da weiterhin ein Eingang des ODER-Glieds 209 den hohen Pegel des Auswahlsignals empfängt, wird sein Ausgangssignal hoch. D.h.: Der Additions/Subtraktions-Steueranschluß S des Addierer/Subtrahierers 218 empfängt einen hohen Signalpegel, so daß der Addierer/Subtrahierer eine Subtraktion
3407Ü7Ö
ausführt.
Wie oben erwähnt wurde, speichert der Zwischenspeicher
216 zuerst die Daten entsprechend <Q. Daher subtrahiert der Addierer/Subtrahierer 218 den Wert von dem im Zwischenspeicher 215 gespeicherten Datenwert. Zu diesem Zeitpunkt wurde der Zwischenspeicher 215 kurz vorher zurückgesetzt. Daher ist in ihm der Wert Null gespeichert, und am Übertrag-Ausgang D erscheint ein Ubertragssignal. Nach Empfang des Ubertragssignals erfolgt die Steuerung durch die Steuereinheit 217 so, daß der Inhalt der durch den Adreßzähler 215 festgelegten Adresse des RAM 219, d.h. der Korrelationswert entsprechend 1?_, in dem Zwischenspeicher 215 gespeichert wird. Da zu Beginn in dem Zwischenspeicher 215 der Datenwert Null gespeichert war, wird der Korrelationswert entsprechend T^ ohne Fehler in dem Zwischenspeicher 215 gespeichert. Bei dieser Gelegenheit wird außerdem der Zählerstand des AdreßZählers 220 in dem Zwischenspeicher 221 gespeichert. Anschliessend wird der Adreßzähler 220 durch den nachfolgenden Taktimpuls 0. erhöht, um auf die nächste Adresse des RAM 219 zuzugreifen, wo der Korrelationswert von <.. gespeichert ist. Auf diese Weise liefert der RAM 219 den Korrelationswert von i.*, und der Zwischenspeicher 216 speichert diese Daten nach Maßgabe des von dem Steuerteil
217 gelieferten Takts. Ähnlich dem oben beschriebenen Ablauf wird der Inhalt des Zwischenspeichers 216 von dem des Zwischenspeichers 215 durch den Addierer/ Subtrahierer 218 subtrahiert. Wenn dabei das Ergebnis negativ ist, d.h., wenn am Übertrag-Ausgang Ό der Schaltung 218 ein Übertragssignal geliefert wird, ist der Inhalt im Zwischenspeicher 216 größer als der Inhalt des Zwischenspeichers 215. Daher wird der Inhalt des Zwischenspeichers 216 oder der vom RAM 219 gelieferte Datenwert in dem Zwischenspeicher 215 ge-
3Τ07Ό78
speichert, und der Wert des Adreßzählers 220 wird anschliessend im Zwischenspeicher 221 gespeichert. Diese Speicheroperationen werden nach Maßgabe des von dem Steuerteil 217 gelieferten Zwischenspeichersignals ausgeführt. Wenn hingegen der Inhalt des Zwischenspeichers 216 kleiner ist als der des Zwischenspeichers 215, erscheint am Übertrag-Ausgang D kein Ubertragssignal. Daher wird von dem Steuersignal 217 kein Zwischenspeichersignal geliefert, und der Inhalt des Zwischenspeichers 215 bleibt unverändert.
Obschon das Ergebnis von dem Addierer/Subtrahierer geliefert wird, gelangen die Daten lediglich in den Zwischenspeicher 214 und werden von diesem nicht ausgegeben. Da die Vorgänge sukzessive für XQ - T37 durchgeführt werden, ist schließlich in dem Zwischenspeicher 215 der Maximumwert der den Verzögerungszeiten entsprechenden Korrelationswerte gespeichert. Auf diese Weise wird der Maximumwert der Inhalte des RAM 219 festgestellt. Gleichzeitig werden die in den Zwischenspeicher 215 eingegebenen Zwischenspeicherimpulse auch auf den Zwischenspeicher 221 gegeben, wenn die aufeinanderfolgenden Operationen für T^0 "" T^t stattfinden. Schließlich ist diejenige Adresse des RAM 219 in dem Zwischenspeicher 221 gespeichert, die deji im Zwischenspeicher 215 befindlichen Maximumwert entspricht. Da der Adreßwert dem Korrelationswert entspricht, der den maximalen Wert hat, wird er von dem Tonleiterkode-Anschluß 34 als Kodedatenwert für den maximalen Korrelationswert abgegeben. Die Ausgabe der Kodedaten erfolgt in dem Zeitraum T4.
Die Fenster-Verarbeitung und der KumulationsVorgang sowie die Feststellung des Maximalwerts der kumulierten Ergebnisse werden rahmenweise sukzessive durchgeführt. Demzufolge wird das Ergebnis der Tonhöhen-
34O7Ü7Ö
extraktion des Stimmsignals während eines Rahmens, d.h. während der Zeiträume T. - T_ kodiert und als Ausgangssignal abgegeben. Dieses Ausgangssignal ist das Ausgangssignal der Tonhöhenextrahiereinheit 3, und es wird in den Zwischenspeicher 4 der nachfolgenden Stufe gespeichert und weiterverarbeitet.
Figur 10 zeigt eine Schaltungsskizze der in Figur 1 gezeigten Fehler-Eliminiereinheit 7. Diese Schaltung soll im folgenden näher beschrieben werden.
Das Ausgangssignal der Speichereinheit 6 wird an einen Zwischenspeicher 224, ein Gatter 225, einen B-Eingang eines Vergleichers 226 und an einen Α-Eingang eines Vergleichers 227 gelegt. Der Ausgang des Zwischenspeichers 224 ist an einen Addierer/Subtrahierer 228 und an ein Gatter 229 angeschlossen. Der Ausgang des Addierer/Subtrahierers 228 ist an einen Α-Eingang des Vergleichers 226 und an einen B-Eingang des Vergleichers 227 gelegt, und zwar über einen Zwischenspeicher 230 bzw. 231. Die Vergleichsergebnisse aus.den Vergleichern 226 und 227 werden auf ein ODER-Glied 232 gegeben, dessen Ausgangssignal an den ersten Eingang eines UND-Glieds 233 gelegt wird. Dessen Ausgangssignal gelangt an einen Zwischenspeicher 234, von dem das Ausgangssignal an einen Zwischenspeicher 235 und ein Gatter 229 und außerdem an das Gatter 224 gelangt. Das Ausgangssignal des Zwischenspeichers 235 wird über einen Negator 237 an den zweiten Eingang des UND-Glieds 233 gelegt. Der von dem Prozessor 5 (Figur 1) erzeugte konstante Datenwert C wird an einen der Eingänge des Addierer/Subtrahierers 228 gelegt. Außerdem wird das Steuersignal SUB über einen Inverter 239 an den ersten Eingang eines UND-Glieds 240, an den ersten Eingang eines UND-Glieds 238 und an den Addierer/Subtrahierer 228 gelegt. Taktsignale (?L2 und (? ,. werden an die zwei-
·*" * "34O7Ü78
ten Eingänge der UND-Glieder 238 bzw. 240 gelegt. Deren Ausgangssignale werden auf Zwischenspeicher 231 bzw. 233 gegeben. Die Ausgangssignale der Gatter 229 und werden gemeinsam auf eine Schaltung der nachfolgenden Stufe, nämlich der Mittelwert-Einheit 8 gegeben (Figur 1). An die Zwischenspeicher 223, 234 und 235 werden Taktsignale 0IN/ Ct3 und j? - gelegt. An den Zwischenspeicher 224 wird ein Taktsignal 0T4 gelegt.
im folgenden soll unter Bezugnahme auf den in Figur dargestellten zeitlichen Ablauf die Arbeitsweise der Fehler-Eliminiereinheit 7 erläutert werden.
Es sei angenommen, es werde der (n - 1)-te Rahmen verarbeitet. Zuerst werden die Tonhöhendaten P Λ des
η—ί
(n - 1)-ten Rahmens aus der Speichereinheit 6 (Figur 1) mit der Vorderflanke des Taktsignals 0TN in dem Zwischenspeicher 223 gespeichert und mit der Rückflanke des Taktsignals j?IN an den B-Eingang des Vergleichers 226 und an; den Α-Eingang des Vergleichers gegeben. Andererseits wurden an den Α-Eingang des Vergleichers 226 und an den B-Eingang des Vergleichers 227 bereits Datenwerte P o + C bzw. P o - C gelegt, die erhalten wurden durch Addieren bzw. Subtrahieren der Konstanten C auf bzw. von den TonhöLendaten P o des unmittelbar vorausgehenden Rahmens (n - 2). Der Vergleicher 226 prüft die Bedingung P ~ + C < p n_i' und der Vergleicher 227 prüft die Bedingung
P„_o - C >P ... Sind diese Bedingungen erfüllt, lien δ η— ι
fern die Vergleicher 226 und 227 Ausgangssignale mit niedrigem Pegel. Liegt eine der beiden Bedingungen vor, d.h., wenn P 1 außerhalb des Bereichs von
η— ι
Pn_2 ± C liegt, so liefert einer der Vergleicher 226 und 227 ein Ausgangssignal mit hohem Pegel. Als Ergebnis wird das Ausgangssignal des ODER-Glieds 232 hoch. Dann wird über das UND-Glied 233 ein Signal mit hohem
3'4Ό7ϋ7δ
Pegel geliefert. Im Anfangszustand ist der Zwischenspeicher 235 zurückgesetzt, so daß sein Ausgangssignal niedrigen Pegel hat. Daher empfängt der Negator 237 einen niedrigen Pegel mit der Folge, daß sein Ausgangssignal einen hohen Pegel annimmt. Der zweite Eingang des UND-Glieds 233 empfängt also einen hohen Pegel, so daß das UND-Glied öffnet und demzufolge das Ausgangssignal des ODER-Glieds 232 an den Zwischenspeicher
gibt. Wenn P 1 innerhalb des Bereichs von P o + C η— ι n—L. —
liegt, nimmt das Ausgangssignal des UND-Glieds 233 einen niedrigen Pegel an. Anschliessend wird das Signal des UND-Glieds 233 mit der Vorderflanke des Takts 0 3 an den Zwischenspeicher 234 gegeben, und dessen Ausgangssignal erscheint mit der Rückflanke des Taktsignals 0L
Wenn P , in dem Bereich Pn_2 ± c liegt, nimmt das Ausgangssignal des Zwischenspeichers 234 einen niedrigen Pegel an, um das Gatter 229 zu sperren. Da der Negator 236 außerdem den niedrigen Pegel empfängt, wird sein Ausgangssignal hoch und öffnet das Gatter 225. Die eingegebenen Tonhöhendaten des Rahmens (n - 1) werden unverändert über das Gatter 225 mit der Vorderflanke des nächsten Taktsignals 0OUT in den Zwischenspeicher 241 eingegeben, und sie werden mit der Rückflanke dieses Taktsignals 0ουτ an die nachfolgende Stufe, d.h. die Mittelwerteinheit 8 gegeben. Der oben geschilderte Fall bedeutet, daß die Tonhöhendaten P _2 des Rahmens (n - 1) innerhalb eines spezifizierten Bereichs (+_ C) in bezug auf die unmittelbar vorausgehenden Tonhöhendaten P _o liegen und als korrekte Tonhöhendaten eingestuft wurden.
Wenn P Λ außerhalb des Bereichs P _ + C, nimmt das η—ι η—ζ
Ausgangssignal des Zwischenspeichers 234 einen hohen Pegel an und sperrt das Gatter 225, während es das
34Ό7Ό78
Gatter 229 öffnet. Zuvor wurden vom Zwischenspeicher die Tonhöhendaten Pn_2 des unmittelbar vorhergehenden Rahmens geliefert, und diese Daten werden über das Gatter 229 bei der Vorder flanke des Takts ί?ΟττΤ an den Zwischenspeicher 241 geliefert, und bei der Rückflanke des Takts 0OUT werden diese Daten an die nachfolgende Stufe, d.h. die Mittelwerteinheit 8. Dies ist der Fall, bei dem die Tonhöhendaten P _.. des Rahmens (n - 1) stark von den unmittelbar vorausgehenden Tonhöhendaten
P ~ abweichen. In diesem Fall werden die Daten P Λ n-z n-1
als übermässig abweichende Tonhöhendaten vernachlässigt, und statt ihrer werden die Tonhöhendaten P «des
τι—Ζ
unmittelbar vorausgehenden Rahmens abgegeben.
1^ Anschliessend wird das Ausgangssignal des Zwischenspeichers 234 bei der Vorderflanke des Taktsignals 0... an den Zwischenspeicher 235 gegeben, und dessen Ausgangssignal wird bei der Rückflanke des Taktsignals über den Negator 237 an den Eingang des UND-Glieds gelegt. Der Zwischenspeicher 235 dient zum Speichern, wenn die Tonhöhendaten P _.. des Rahmens (n - 1) einen normalen Wert haben, und der niedrige Pegel des Inhalts dieser Zwischenspeicherschaltung kennzeichnet die Normalität, während ein hoher Pegel die Abnormalitat kennzeichnet. Das Ausgangssignal P _.. des Zwischenspeichers 223 gelangt bei der Vorderflanke desselben Taktimpulses 0L/, in den Zwischenspeicher 224, und dessen Ausgangssignal gelangt bei der Rückflanke dieses Takts an den Addierer/Subtrahierer 228. Da der andere Eingang des Addierer/Subtrahierers 228 den konstanten Wert C empfängt, erfolgt zuerst eine Addition (das Steuersignal SUB hat niedrigen Pegel).
Als nächstes gelangt das Ergebnis der Addition P . + C bei der Vorder flanke des Takt signals j? .. in den Zwischenspeicher 230, und dessen Ausgangssignal erscheint
3407Ü78
-54-bei der Rückflanke des Taktsignals.
Anschliessend nimmt das Steuersignal SUB des Addierer/ Subtrahierers 228 einen hohen Pegel an, und der konstante Wert C wird von dem Ausgangssignal P _.. des Zwischenspeichers 224 subtrahiert. Die Differenz
P «. - C gelangt bei der Vorderflanke des Takts 0_ ~ n-1 L2
in den Zwischenspeicher 231 und erscheint bei der Rückflanke des Taktsignals an dessen Ausgang.
Dann ist der Arbeitsvorgang für einen Rahmen beendet, und die Steuerung geht zu dem η-ten Rahmen über. Bei dem Rahmen η werden die Tonhöhendaten P beim Takt
0 empfangen. Die Daten werden hinsichtlich ihrer Größe mit dem Wert Pn-1 i C, der zuvor für den Rahmen (n-1) berechnet wurde, verglichen. Auf der Grundlage des Vergleichsergebnisses werden die Tonhöhendaten P. oder aber P geliefert.
Entsprechend der bisher erfolgten Beschreibung werden solche Tonhöhendaten, die sich von den Tonhöhendaten des vorausgehenden Rahmens sehr stark unterscheiden, als ungewöhnliche Daten eliminiert, und es werden die Tonhöhendaten des vorausgehenden Rahmens stellvertretend verwendet.
Wenn sich allerdings die Tonhöhen plötzlich und kontinuierlich ändert, so ist die Fehler-Eliminierung ziemlich unpassend. Wenn demnach eine Fehler-Eliminierung in dem vorausgehenden Rahmen stattgefunden hat, so wird sie nicht in dem laufenden Rahmen durchgeführt. Wenn die Fehler-Eliminierung in dem vorausgehenden Rahmen durchgeführt wurde, hat das Ausgangssignal des Zwischenspeichers 235 einen hohen Pegel, so daß der eine Eingang des UND-Glieds 233, der dem Negator nachgeschaltet ist, einen niedrigen Pegel empfängt.
34O7Ü78
Demzufolge wird das Ausgangssignal des Zwischenspeichers 234 zu einem niedrigen Pegel, und es wird nur das Gatter 225 ausgewählt, mit der Folge, daß keine Fehler-Eliminierung durchgeführt wird. D.h.: Für den Fall, daß die Tonhöhendaten sich für zwei oder mehr Rahmen abrupt ändern, wird diese Änderung nicht als ein Fehler angesehen, und es wird keine Fehler-Eliminierung durchgeführt .
Figur 12 ist eine grafische Darstellung, die Beispiele für eingegebene Tonhöhendaten sowie Beispiele von Ausgabedaten der Fehler-Eliminiereinheit 7 (Ausgangssignale des Zwischenspeichers 241) sowie Inhalte des Zwischenspeichers 235 entsprechend den Eingangsdaten · zeigt. Die Tonhöhendaten P, des vierten Rahmens haben einen Wert, der größer ist als P3 1 + C, wobei P3 1 die Ausgabe-Tonhöhendaten des dritten Rahmens bedeuten. Eine Fehler-Eliminierung wurde für den dritten Rahmen nicht durchgeführt (der Inhalt des Zwischenspeichers 235 beim dritten Rahmen ist "0"). Daher werden die Eingabedaten P. als abnormal angesehen, und die Ausgabedaten P.' des vierten Rahmens nehmen denselben Wert an, wie die Daten P3 1 des dritten Rahmens.
In ähnlicher Weise werden die Tonhöhendacen Pg des achten Rahmens als abnormal eingestuft, und die Ausgabedaten Pg' nehmen denselben Wert an wie die Daten P7 1 des siebten Rahmens. Die Tonhöhendaten P9 des neunten Rahmens sind ebenfalls größer als Pgf +C.
wobei Pg· die Ausgabedaten des achten Rahmens darstellt. In diesem Fall jedoch wurde die Fehler-Eliminierung des achten Rahmens durchgeführt, und der Inhalt des Zwischenspeichers 235 ist "1" geworden. Daher werden die Eingabedaten Pg nicht als abnormal eingestuft, und die Daten werden unverändert als Ausgabedaten Pg' abgegeben. Weiterhin werden die Eingabedaten P10 des
3407Ü7S
zehnten Rahmens kleiner als P9 1 - C in bezug auf die Ausgabedaten P_' des vorausgehenden, neunten Rahmens. Daher werden die Eingabedaten P10 wiederum als abnormal eingestuft und das Ausgangssignal P1n 1 ist genauso groß wie der Datenwert Pg'. Anschliessend ist der Datenwert P11 des elften Rahmens kleiner als P10' - C in bezug auf den Datenwert P10 1 des vorausgehenden, zehnten Rahmens. Da jedoch der Inhalt des Zwischenspeichers 235 "1" beträgt, erfolgt keine Fehler-Eliminierung, und die Daten P11 werden unverändert als Daten P1 ' abgegeben. Auf diese Weise wird durch die erfindungsgemäß ausgebildete Fehler-Eliminiereinheit Fehler von nur einem Rahmen richtig eliminiert, und wenn die Änderung für mindestens zwei Rahmen anhält, so wird dies nicht als Fehler eingestuft, und es erfolgt lediglich eine Verzögerung um einen Rahmen, wie aus Figur 12 hervorgeht.
Figur 13 zeigt ein Beispiel für den Fall, daß die Tonhöhendaten sich abrupt von einem niedrigen Wert auf einen hohen Wert ändern. Der Ablauf ist der gleiche wie der anhand der Figur 12 geschilderte Ablauf. Ein stufenförmiger Abschnitt erscheint im Ausgangssignal in Form von zwei Stufen. Die Ausgabedaten folgen den Eingabedaten mit lediglich einer Verzögerung von einem Rahmen.
Wie aus der obigen Beschreibung hervorgeht, eliminiert die Fehler-Eliminiereinheit 7 einen Fehler eines Rahmens, der hervorgerufen wird durch einen Fehler bei der Tonhöhenextraktion, und es wird in der nächsten Stufe die richtige Tonhöhe geliefert.
Bei der obigen Ausführungsform handelt es sich bei den Tonhöhendaten um numerische Zahlen, die sequentiell den Tonleitern zugeordnet werden. Die Erfindung ist
*"■* ' **3"4Ό7078
jedoch nicht darauf beschränkt. Die Tonhöhendaten können auch direkt der Tonhöhe entsprechen. Außerdem ist der Bereich, in welchem die Tonhöhendaten mit denjenigen des vorausgehenden Rahmens verglichen werden, nicht auf einen Bereich einer konstanten Größe C beschränkt. Wenn eine Änderung der Tonhöhe nach der Erzeugung von Stimmsignalen und ein in der Tonhöhen-Extrahiereinheit 3 verursachter Fehler sich abhängig von einer Stimme höherer Frequenz oder einer Stimme niedrigerer Frequenz unterscheiden, so kann der Wert der konstanten Zahl C entsprechend variiert werden.
Die Daten, aus denen der Fehler mit Hilfe der Fehler-Eliminiereinheit entfernt wurde, werden an die Mittelwerteinheit und die Tonhöhendaten-Steuereinheit gegeben .
Figur 14 zeigt ein detailliertes Schaltungsbild der in Figur 1 in Blockform dargestellten Mittelwerteinheit, mit der eine laufende Mittelwert- oder Durchschnittswertbildung durchgeführt wird. Im folgenden sollen die Teile dieser Einheit näher beschrieben werden.
Das Ausgangssignal der Fehler-Eliminiereinheit 7 wird über einen Zwischenspeicher 242 auf ein Schieberegister 243 gegeben. Die Ausgangssignale des Schieberegisters 243 und eines Zwischenspeichers 244 werden auf einen Selektor 245 gegeben. Das Ausgangssignal eines Oktalzählers 246, an den ein Takt (?_ gelegt wird, wird dem Selektor 245 zugeführt. Dessen Ausgangssignal gelangt an den erster. Eingang eines Addierers 247, dessen Ausgangssignal an den zweiten Eingang zurückgeführt wird, und zwar über einen Zwischenspeicher 248, dessen Ausgangssignal außerdem einem Zwischenspeicher 249 zugeführt wird. Die oberen acht Bits des Ausgangssignals des Zwischenspeichers 249 werden dem ersten Eingang
eines Addierers 250 zugeführt. Das neunte Bit des Zwischenspeichers 249 gelangt an einen Übertrag-Eingang des Addierers 250, dessen Ausgangssignal über einen Zwischenspeicher 251 an den Zwischenspeicher 224 geführt wird und an einen Zähler in der nächsten Stufe geleitet wird, nämlich an den Tonhöhendaten-Steuerabschnitt 10.
Die von Fehlern befreiten Tonhöhendaten, z.B. acht Bits umfassende Oaten, werden als die Daten innerhalb eines Rahmens in dem Zwischenspeicher 242 gespeichert, der die Daten unter Steuerung eines Rahmentakts 0f empfängt, damit die von Fehlern befreiten Daten rahmenweise verarbeitet werden.
15
Das Schieberegister 243 bewirkt eine Verschiebung von parallelen 8-Bit-Daten unter Steuerung des Rahmentaktsignals 0-. Die im Zwischenspeicher 242 gespeicherten Daten werden sukzessive bei jeder Rahmeneinheit in das Schieberegister 243 geladen und dann verschoben. In anderen Worten: Das Schieberegister 243 speichert den laufenden Daten vorausgehende sechs Daten.
Der Zwischenspeicher 244 ist als Zwischenspeicher-Paar ausgebildet. Er empfängt dieselben Daten wie der Ausgang der Mittelwerteinheit 8, und diese Daten werden in dem Zwischenspeicher-Paar gespeichert. Der Selektor 245 wählt sequentiell sechs Byts umfassende Daten, die in dem Schieberegister 24 3 gespeichert sind, und zwei Byts umfassende Daten, die in dem Zwischenspeicher 244 gespeichert sind, und die zusammen innerhalb eines Rahmens liegen, aus und erzeugt dadurch das Ausgangssignal. Diese Auswahl wird gesteuert durch den Zählerstand des Oktalzählers 246, der ein Taktsignal 0L zählt, welches innerhalb eines Rahmens acht Takte besitzt.
Wenn das Ausgangssignal des Addierers 247 über den Zwischenspeicher 248 an seinen zweiten Eingang zurückgeführt wird, wird das Ausgangssignal des Zwischenspeichers 248 als ein Ausgangssignal einer Kumulierschaltung angesehen, welche die dem ersten Eingang des Addierers 247 mit dem Takt (2L zugeführten Daten akkumuliert. Da der Zwischenspeicher 248 durch ein am Ende jeweils eines Rahmens erzeugtes Rücksetzsignal GL· zurückgestellt wird, wird der Akkumulierungsvorgang bei jedem Rahmen durchgeführt.
Der Inhalt des Schieberegisters 243 und der des Zwischenspeichers 244 gelangt über den Selektor 245 beim Takt 0Q an den Addierer 247. Demzufolge entspricht das akkumulierte Ausgangssignal der oben erwähnten Kumulierschaltung der Summe der Daten, die über sechs Rahmen hinweg akkumuliert wurden, und dem doppelten der jeweils gerade erzeugten Daten. Es läßt sich also folgende Gleichung aufstellen:
6
Dx = Σ Dn + I + 2-Ds,
£=1
wobei Dn + 1 ^ Dn + 6 in dem Schieberegister 243 gespeicherte Daten sind, Ds von dem Zwischenspeicher 251 abgegebene Daten und Dx akkumulierte Ausgangsdaten der Kumulierschaltung sind.
Der Addierer 247 kumuliert den gewichteten Mittelwert und die sechs Daten, um einen kumulierten Wert als neuen Mittelwert zu ermitteln. Die durch Wichtung des Mittelwerts bis dahin ermittelten Daten werden als die Daten zum Ermitteln des neuen Mittelwerts entsprechend dem nächsten Rahmentakt erhalten, und zwar aus folgendem Grund: Es kommt manchmal vor, daß nahe nebeneinander-
' 5 407078
liegende Töne der Tonleiter, z.B. "B" und "C" aus dem Ton "C" einer Stimme entstehen, weil z.B. ein Fehler bei der Tonhöhenextraktion vorgekommen ist, was zu zufälligen Datenabweichungen führt. Die oben erläuterten Maßnahme dient also zum Fixieren der benachbarten Daten.
Da die an den ersten Eingang des Addierers 247 gelangenden Daten aus acht Bits bestehen, umfaßt das oben erwähnte kumulierte Ausgangssignal elf Bits. Der nachfolgende Zwischenspeicher 249 und der Addierer 250 berechnen den Ausgangswert D /8. Der Zwischenspeicher 249 speichert den kumulierten Ausgangswert, dessen höherwertige acht Bits an den Eingang des Addierers 250 gelegt werden. Das neunte Bit wird an den Übertrag-Eingang des Addierers 250 gegeben, damit die niedrxgerwertigen drei Bits der elf Bits nicht nur abgerundet werden, sondern das neunte Bit berücksichtigt wird. Hat das neunte Bit den Wert "1", so wird auf den den höherwertigen acht Bits entsprechenden Datenwert eine "1" addiert, um einen Mittelwert zu erhalten, ist das neunte Bit eine "0", so wird keine "1" addiert, und die niedrxgerwertigen drei Bits werden abgerundet, um das Ausgangssignal zu erhalten. Der Zwischenspeicher 249 und der Addierer 250 sind Schaltungselemente, die den exakten Mittelwert liefern, sie sind überflüssig, wenn keine große Genauigkeit gefordert wird.
Das Ausgangssignal des Addierers 250 wird in dem Zwischenspeicher 251 gespeichert. Dieser ist eine Schaltung zum Fixieren der Daten während des nächsten Rahmens, weil sein Ausgangssignal während der nachfolgenden Stufe und der während des Rahmens erfolgenden Kumulierung benötigt wird.
ο40 / 0 / ο
Zusammenfassend läßt sich also sagen, daß die Schaltung nach Figur 14 den Mittelwert als einen Teil der Eingabedaten verwendet und dadurch einen Hysterese-Effekt bei der Mittelwertbildung erreicht und das unmittelbare Ansprechen auf eine Änderung von nxedrxgerwertxgen Bits der Daten vermeidet.
Figur 15 ist ein Zeitdiagramm, das die Taktimpulszüge beim Betrieb der Mittelwerteinheit 8 veranschaulicht.
Anhand dieses Diagramms soll die Arbeitsweise der Schaltung nach Figur 14 erläutert werden. Der Rahmentakt 0f erzeugt einen Takt zu Beginn des ersten Rahmens, und er speichert und verschiebt Daten nach Bedarf. In Figur 14 arbeiten die Zwischenspeicher 242 und 244 und das Schieberegister 243 unter Steuerung dieses Taktsignals. Nach der Erzeugung des Taktsignals werden die gespeicherten Daten in den Zwischenspeichern usw. für die Zeit eines Rahmens festgehalten. Als nächsten werden sukzessive Taktimpulse 0O erzeugt, 8-mal während eines Rahmens. Diese Taktimpulse erhöhen den Inhalt des Oktaltzählers 246, um sukzessive die acht Eingangsdaten innerhalb eines Rahmens mit Hilfe des Selektors 245 auszuwählen. Außerdem dient der Takt (?_ für die Kumulierung. Mit der Vorderflanke des Taktimpulses GL wird der Inhalt des Oktalzählers 246 für die Datenauswahl erhöht. Die ausgewählten Daten werden dem Addierer 247 zugeführt. Zu diesem Zeitpunkt werden an den Addierer 247 die bis dahin empfangenen Additionsdaten gegeben, auf die die ausgewählten Daten addiert oder kumuliert werden. Mit der Rückflanke des Taktimpulses 0O speichert der Zwischenspeicher 248 die Ergebnisdaten. Diese Vorgänge im Rahmen des KumulierungsVorgangs werden während eines Rahmens 8-mal durchgeführt. Wie oben beschrieben wurde, besteht die Kumulierung aus der Addition zwischen den vergangenen sechs Daten und dem zweifachen des Mittelwerts der vorausgehenden
.:.. : '-■-5-407078 -62-
Daten. Nach der Erzeugung des achten Taktimpulses wird ein Taktsignal 0 erzeugt, und der kumulierte Wert wird in dem Zwischenspeicher 249 festgehalten. Fast gleichzeitig mit dem Speichervorgang wird der kumulierte Wert auf den Addierer 250 gegeben, der den Wert und den Übertrag zur Bildung des Ausgabewerts addiert. Dieser Ausgabewert wird der Mittelwert. Diese Verarbeitung erfolgt vor dem anschliessend zu erzeugenden Taktsignal 0ΟΠΤ, und der Zwischenspeicher 251 speichert den Mittelwert No(Dg) nach Maßgabe des Takts 0OUT und gibt den Mittelwert ab. Der Inhalt des Zwischenspeichers 248 wird durch den Takt 0D gelöscht. Der Takt 0_ dient zur , Ausführung der rahmenweisen Kumulierung·
Obschon die oben erläuterte Schaltung den neuen Mittelwert durch Kumulieren der sechs Daten und des zweifachen des vorhergehenden Mittelwerts berechnet, ist die Anzahl dieser Daten nicht auf sechs beschränkt, und das Vielfache des vorausgehenden Mittelwerts ist auch nicht auf den doppelten Wert beschränkt. Wenn die Anzahl der Daten und das Vielfache des Mittelwerts von dem obigen Ausführungsbeispiel abweichen, ist eine Dividierschaltung entsprechend der abweichenden Zahl notwendig.
Obschon dies nicht im Zusammenhang mit der Mittelwert-Einheit 8 erläutert wurde, wird außerdem auch eine Mittelwertbildung der Daten von vier Rahmen durchgeführt. Ähnlich wie der sich auf acht Rahmen beziehende Mittelwert N0 wird der Mittelwert N, für die Daten von
ö 4
vier Rahmen der Tonhöhendaten-Steuereinheit 10 zugeführt .
Figur 16 ist eine Schaltungsskizze der Tonhöhendaten-Steuereinheit 10 nach Figur 1. Diese Steuereinheit soll im folgenden näher beschrieben werden.
Betrachtet man die Besonderheiten der menschlichen Stimme, so zeigt sich, daß selbst dann, wenn eine bestimmte Tonhöhe gegeben werden soll, die Stimme häufig zu Beginn der Klangbildung instabil ist. Außerdem führen, wie oben ausgeführt wurde, die Konsonantenteile häufig zu fehlerhaften Extraktionen aufgrund unklarer Tonhöhenverhältnisse.
Allerdings ist die Ausgabe des hysteresebehafteten laufenden Mittelwerts durch die Mittelwerteinheit 8 dahingehend wirksam, daß die Tonhöhendaten über eine durchgehende Tonleiter stabilisiert werden, jedoch ist die Mittelwerteinheit unwirksam im Anfangsteil einer großen Änderung. Das Ausgangssignal der Fehler-Eliminiereinheit 7 kann in geeigneter Weise den Fehler der Tonhöhendaten eines Rahmens eliminieren, und kann außerdem plötzlichen Änderungen eines Tons folgen, ist jedoch nicht imstande, unstetigen Änderungen des Anfangsteils der Stimme zu folgen. Außerdem hat das vier Rahmen umfassende Mittelwert-Ausgangssignal der Mittelwerteinheit 8 einen Anteil zwischen den beiden oben erwähnten Ausgangssignalen. Die von der Speichereinheit 6 gelieferten unverarbeiteten Tonhöhendaten werden in den anfänglichen ersten bis dritten Rahmen nach Beginn der Klangbildung direkt an den Kodegenerator 11 gegeben. In dem vierten bis siebten Rahmen werden die Tonhöhendaten über die Fehler-Eliminiereinheit 7 geliefert. In den dann anschliessenden achten bis elften Rahmen werden die vier Rahmen umfassenden Mittelwerte von der Mittelwert-Einheit 8 geliefert. Im zwölften Rahmen und in den daran anschliessenden Rahmen wird von der Einheit 8 der hysteresebehaftete, aus acht Rahmen gebildete Mittelwert geliefert. Auf diese Weise werden, wenn der Beginn der Klangbildung übergeht zu dem stetigen Abschnitt, die richtig verarbeiteten Tonhöhendaten selektiv an den
-64-Kodegenerator 11 gegeben.
Wenn z.B. durch die menschliche Stimme die Klänge "do-so" gebildet werden, so existiert beim Übergang vom stabilen Teil "do" auf "so" ein Konsonant im Anfangsteil von "so"/ und somit werden die Tonhöhendaten manchmal teilweise unterbrochen. Im Idelfall sollten jedoch von den Lauten "do-so" die Teile "do" und "so" ohne Unterbrechung glatt ineinander übergehen. Wenn daher der Konsonantenteil erfaßt wird, werden die unmittelbar diesem Konsonantenteil vorausgehenden Tonhöhendaten kontinuierlich für den erfaßten Teil und die diesem vorausgehenden Vokalteile der Rahmen 1 bis kontinuierlich geliefert. In den anschliessenden Rahmen
!5 4 bis 7 könnten die Tonhöhen in einem Konsonantenteil unterbrochen sein, so daß eine starke Änderung der Tonhöhen eintreten würde, und daher werden die Tonhöhendaten von den jeweiligen Verarbeitungsabschnitten selektiv an den Kodegenerator 11 gegeben, ähnlich wie bei der vorausgehenden Verarbeitung des Anfangsteils der Klangbildung.
Um den" oben geschilderten Vorgang mit Hilfe der Tonhöhendaten-Steuereinheit 10 zu realisieren, werden in der in Figur 1 dargestellten Flag-Bildungseinheiten 9 verschiedene Flags vorbereitet. Die vorzubereitenden Flags umfassen ein Leistungsflag PF, ein Flag CF, welches eine vorhandene oder nicht-vorhandene Stimme kennzeichnet, ein Flag KOF, welches bedeutet "Taste ein", ein Flag FATF, welches einen Tastenanschlag kennzeichnet, und ein Flag KOFF, welches ein Loslassen der Taste kennzeichnet. Zuerst soll das Flag PF näher beschrieben werden.
Neben den Tonhöhendaten wird die Leistung der Stimmdaten von jedem Rahmen (der Ausgang am Leistungswert-
Extrahieranschluß 24 in Figur 2) von der Tonhöhen-Extrahiereinheit 3 über den Zwischenspeicher 4 an den Prozessor 5 geliefert. Wenn der Leistungswert einen gewissen Schwellenwert überschritten hat, nimmt das Flag PF einen hohen Pegel "H" an. Dieses Leistungsflag PF dient als Indikator für das Vorhandensein eines Stimmsignals, ungeachtet dessen, ob es sich um einen Konsonanten oder um einen Vokal handelt.
Außerdem empfängt der Prozessor 5 das Ausgangssignal Rq des Zählers 222 aus Figur 9. Diese Ausgangsdaten stellen den kumulierten Wert der Absolutwerte der ternären Daten während eines Rahmens dar. Wenn das Ausgangssignal RQ einen gewissen Schwellenwert überschritten hat, wird das Flag CF, welches das Vorhandensein bzw. das Nicht-Vorhandensein eines Stimmsignals kennzeichnet, "H". Das Flag CF kennzeichnet das Ausmaß des Vorhandenseins einer Tonhöhe. Das Flag CF nimmt den Wert "H" bei einem Vokal und dergleichen an, es hat jedoch niedrigen Pegel "L" bei einem Konsonanten oder dann, wenn überhaupt kein Klang vorhanden ist. Da das Flag CF vergleichbar ist mit einem Barometer, welches zum Ausdruck bringt, ob der Korrelationswert gültig ist, ist die Verwendung des ermittelten maximalen Korrelationswerts ebenfalls erlaubt.
Das eine angeschlagene oder eingeschaltete Taste kennzeichnende Flag KOF zeigt, daß sich das Musikinstrument in einem Zustand befindet, in dem ein Klang erzeugt wird. Das Flag KOF nimmt einen hohen Pegel an, wenn sowohl das Leistungsflag PF als auch das Korrelationswert-Flag CF einen hohen Pegel besitzen. Das Flag KOF nimmt einen niedrigen Pegel an, wenn sowohl das Leistungsflag PF als auch das Korrelationswert-Flag CF einen niedrigen Pegel haben. In sämtlichen anderen Situationen tritt keine Änderung ein. Das Tastenan-
schlag-Flag KATF nimmt nur während des ersten einen Takts einen hohen Pegel an/ bei welchem das Taste-ein-Flag KOF den hohen Pegel annimmt. Das Taste-aus-Flag KOFF nimmt nur während des ersten einen Takts einen hohen Pegel an, wenn das Flag KOF einen niedrigen Pegel annimmt.
Diese zwei Flags werden als Anzeiger für den Beginn und das Ende der Klangerzeugung verwendet. Der Vorgang zur Bildung der beiden Flags findet innerhalb jeden Rahmens statt und ist mit einem Rahmentakt 0f synchronisiert, der eine zeitliche Breite eines internen Rahmens besitzt.
Unter Verwendung der fünf oben beschriebenen Flags wird bestimmt, ob es sich um einen Rahmen am Stimmanfang, um einen Rahmen eines Konsonanten oder um einen Rahmen am Ende einer Stimme handelt. Der Rahmen am Stimmanfang ist ein Rahmen, in welchem das Tastenanschlag-Flag KATF einen hohen Pegel hat, der Rahmen am Stimmenende ist ein Rahmen, der unmittelbar einem Zeitpunkt vorausgeht, zu dem das Tasten-aus-Flag KOFF einen hohen Pegel annimmt. Ein Konsonanten-Rahmen ist ein Rahmen, in welchem sowohl das Leistungsflag PF als auch das Tasten-ein-Flag KOF einen hohen Pegel hat und das Flag CF einen niedrigen Pegel aufweist. Um die Tonhöhendaten-Steuerung auf der Grundlage der oben diskutierten Flags durchzuführen, verwendet die Einheit einen Zähler (ANC) 267 zum Zählen von 11 Rahmen, beginnend mit dem Rahmen am Stimmanfang, und einen Zähler (SNC) 268 zum Zählen der 11 Rahmen, beginnend mit dem an den Konsonanten-Rahmen anschliessenden Rahmen.
Die Tonhöhendaten N1, die noch nicht verarbeitet sind, werden von dem Speicherabschnitt 6 (Figur 1) über einen Zwischenspeicher 254 und ein Gatter 253 an einen Zwi-
3407Ö78
schenspeicher 263 gegeben. Von der Fehler-Eliminiereinheit 7 (Figur 1) werden Tonhöhendaten N2 über einen Zwischenspeicher 255 und ein Gatter 259 an den Zwischenspeicher 263 geliefert. Von der Mittelwert-Einheit 8 ausgegebene Mittelwert-Tonhöhendaten N4 werden über einen Zwischenspeicher 256 und ein Gatter 260 an den Zwischenspeicher 263 gegeben. Das Mittelwert-Ausgangssignal, welches mit einer Hysterese behaftet wird, d.h. die Mittelwert-Tonhöhendaten Nß werden von der Mittelwert-Einheit 8 über einen Zwischenspeicher 257 und ein Gatter 261 an den Zwischenspeicher 263 geliefert. Das Ausgangssignal des Zwischenspeichers 263 wird an den Kodegenerator 11 (Figur 1) geliefert und außerdem über einen Zwischenspeicher 264 und ein Gatter 262 an seinen eigenen Eingang zurückgeführt. Das von der Flagbildungs-Einheit 9 (Figur 1) kommende Tasten-ein-Flag KOF wird über UND-Glieder an die Zähl-Freigabeeingänge EN der Zähler 267 und 268 geliefert. Außerdem wird das Signal KOF über einen Negator 269 an ein ODER-Glied 270 gegeben. Das Leistungsflag PF und das Flag CF von der Flagbildungs-Einheit 9 werden an ein NAND-Glied 271 gegeben, dessen Ausgangssignal an den Rücksetzeingang R der Zähler 267 und 268 sowie an ein ODER-Glied 270 gelegt wird. Das Tastenanschlag-Flag KATF von der Flagbildungs-Einheit 9 und die von dem Zähler 267 über das ODER-Glied 274 gelieferten Bit-Ausgangssignale werden über das UND-Glied 265 und ein ODER-Glied 276 an den Zähl-Freigabeeingang EN des Zählers 267 gegeben. Das Flag CF wird auf einen Zwischenspeicher 277 gegeben, der nach Maßgabe des Rahmentakts 0f arbeitet. Das Ausgangssignal des Zwischenspeichers 277 wird auf einen Zwischenspeicher 278 gegeben, dessen Ausgang über einen Negator 279 ebenso wie das Ausgangssignal des Zwischenspeichers 277 an ein UND-Glied 280 gegeben wird, dessen Ausgang zusammen mit Bit-Ausgängen des Zählers 268 am Ausgang eines ODER-Glieds 275 über ein ODER-Glied
und ein UND-Glied 266 auf den Zähl-Freigabeeingang EN des Zählers 268 gelegt wird.
Die Zähler 267 und 268 zählen nach Maßgabe des Rahmentakts 0f, und die jeweiligen Bit-Ausgangssignale werden auf Logikschaltungen 282 und 283 gegeben. Die Ausgänge 284 und 291 nehmen bei einem Zählerstand von Null hohen Pegel an, und sie werden gemeinsam über ein ODER-Glied 290 und einen Eingang eines UND-Glieds auf das Gatter 261 gegeben. Der andere Eingang des UND-Glieds 296 empfängt ein Ausgangssignal des ODER-Glieds 270 über einen Negator 297. Der Ausgang 285 der Logik 283, der einen hohen Pegel annimmt, wenn der Zählerstand zwischen 1 und 3 liegt, steuert das
!5 Gatter 258, und der Ausgang 292 der Logik 283, der einen hohen Pegel annimmt, wenn der Zählerstand zwischen 1 und 3 liegt, wird auf das ODER-Glied 270 gegeben. Die jeweiligen Ausgänge 286 und 293 der Logikschaltungen 282 und 283, die einen hohen Pegel annehmen, wenn der Zählerstand zwischen 4 und 7 liegt, steuern das Gatter 259 über ein ODER-Glied 298. Die jeweiligen Ausgänge 287 und 294 der Logikschaltung 282 und 283, die einen hohen Pegel annehmen, wenn der Zählerstand zwischen 8 und 11 liegt, steuern das Gatter 260 über ein ODER-Glied 299. Die jeweiligen Ausgänge 288 und 295, die einen hohen Pegel annehmen, wenn der Zählerstand 12 ist, werden über die ODER-Glieder 272 und auf die Rücksetzeingänge R der Zähler 267 bzw. 268 gegeben. Das Ausgangssignal des ODER-Glieds 270 steuert das Gatter 262.
Im folgenden soll unter Bezugnahme auf Figur 17 die Arbeitsweise der Tonhöhendaten-Steuerung in der Einheit 10 erläutert werden.
35
Figur 17 ist ein Diagramm, das die Beziehung zwischen
3Ϊ07078
den jeweiligen Flags und den Tonhöhendaten, die von den beiden Zählern 267 und 268 und der Tonhöhendaten-Steuereinheit 10 an den Kodegenerator 11 gegeben werden. Wenn ein Stinunsignal empfangen wurde, nimmt zunächst das Leistungsflag PF einen hohen Pegel an. Mit einer Verzögerung von zwei Rahmen nimmt das ein Vorhandensein bzw. ein Nicht-Vorhandensein eines Stimmsignals kennzeichnende Flag CF einen hohen Pegel an (die Verzögerung wird verursacht durch die Schaltung). Mit der an-
1^ schliessenden Verzögerung von zwei Rahmen wird das Tasten-ein-Flag KOF hoch, während gleichzeitig das Tastenanschlag-Flag KATF während eines Rahmens den Wert H annimmt. Auf der Grundlage der Bedingung, daß das Flag KATF einen hohen Pegel angenommen hat und
1^ sämtliche Flags KOF, PF und CF den Wert H besitzen, beginnt der Zähler 267 zu zählen. Dieser Zustand wird derart aufrechterhalten, daß der Zähl-Freigabeeingang EN des Zählers 267 über das ODER-Glied 267 und das UND-Glied 265 einen hohen Pegel empfängt. Wenn der Zählvorgang begonnen hat, nimmt das Flag KATF einen niedrigen Pegel an. Da jedoch mindestens eines der vier Bits des Ausgangssignals des Zählers 267 einen hohen Pegel hat, hat das Ausgangssignal des ODER-Glieds 264 einen hohen Pegel, und der Zähl-Freigabeeingang EN nimmt über das ODER-Glied 276 und das UNO-Glied 265 einen hohen Pegel an, so daß der Zähler 267 mit dem Zählvorgang fortfährt. Aufgrund des Zählvorgangs werden kontinuierlich Extraktionsdaten ausgewählt und als
Ausgangsdaten abgegeben.
30
Wenn als nächstes der Zählerstand im Zähler 267 zwischen 1 und 3 beträgt, wird das Gatter 258 geöffnet, und die von der Speichereinheit 6 (Figur 1) gelieferten Tonhöhendaten N- werden unverarbeitet selektiv über den Zwischenspeicher 263 an den Kodegenerator 11 gegeben.
Dieser Arbeitsablauf kann stattfinden, wenn der Ausgang
285 der Logik 282 einen hohen Pegel hat. Wenn der Zählerstand im Zähler 267 zwischen 4 und 7 liegt, hat der Ausgang 286 der Logikschaltung 282 einen hohen Pegel, und das hohe Signal wird über das ODER-Glied 298 an den Steuereingang des Gatters 259 gelegt und verursacht dadurch das öffnen des Gatters 259, so daß die von der Fehler-Eliminiereinheit 7 an den Zwischenspeicher 255 gelieferten Tonhöhendaten N2 selektiv an den Zwischenspeicher 263 gelegt werden. Liegt der Zählerstand zwischen 8 und 11, so wird das Gatter 260 geöffnet, und der von der Mittelwerteinheit 8 gelieferte, sich auf vier Rahmen beziehende laufende Mittelwert N,, der in dem Zwischenspeicher 256 gespeichert ist, wird selektiv an den Zwischenspeicher 263 gelegt. Dieser Vorgang wird durchgeführt, wenn der Ausgang 267 der Logik 282 einen hohen Pegel hat. Hierdurch wird veranlaßt, daß das Signal hohen Pegels über das ODER-Glied 299 an den Steueranschluß des Gatters 260 gelegt wird.
Wenn der Zählerstand des Zählers den Wert 12 annimmt, nimmt der Ausgang 288 der Logik 282 einen hohen Pegel an und veranlaßt dadurch, daß der Zähler 267 über das ODER-Glied 272 gelöscht wird und der Zählvorgang beendet wird. Dann wird unter der Bedingung, daß das Leistungsflag PF, das Flag CF und das Tasten-ein-Flag KOF gemeinsam hohen Pegel haben, das Gatter 261 geöffnet und damit wird der mit der Hysterese behaftete Ausgangs-Mittelwert Np, der in dem Zwischenspeicher 257 gespeichert ist, selektiv an den Zwischenspeicher 263 gelegt. Dieser Vorgang kann stattfinden, wenn der Ausgang 264 der Logik 282 und dais über das NAND-Glied 261, das ODER-Glied 270 und den Negator 297 gelieferte Signal hohen Pegel haben. Hierdurch wird bewirkt, daß das Ausgangssignal am UND-Glied 276 einen Hohen Pegel hat und an den Steueranschluß des Gatters 261 gelangt.
Wenn im "Taste-ein-Zustand" der Konsonanten-Rahmen erkannt wird (in dieser Zeit ist das Plag KOF hoch), d.h., wenn das Leistungsflag PF hochen Pegel hat und das Flag CF niedrigen Pegel hat, so wird das Gatter 262 geöffnet, und die Tonhöhendaten BN des unmittelbar vorausgehenden Rahmens, die in dem Zwischenspeicher 264 gespeichert sind, werden selektiv zu dem Zwischenspeicher 263 übertragen. Die Tonhöhendaten BN entsprechen in Figur 17 Ng. Dieser Vorgang kann dadurch bewirkt werden, daß
der Ausgang des NAND-Glieds 261 und des ODER-Glieds 270 hohen Pegel haben, so daß dadurch das Signal hohen Pegels an den Steueranschluß des Gatters 262 gelangt. Wenn der Konsonanten-Rahmen beendet ist und der nächste Stimmerzeugungs-Rahmen anfängt, beginnt der Zähler 268
!5 zu zählen. Wenn das das Vorhandensein bzw. das NichtVorhandensein eines Stimmsignals anzeigende Flag während des hohen Zustands des Taste-ein-Flags KOF auf hohen Pegel ansteigt, beginnt der Zähler 268 mit dem Zählvorgang. Dies läßt sich dadurch erreichen, daß ein Impulssignal über die Zwischenspeicher 277 und 298, das UND-Glied 280, das ODER-Glied 281 und das UND-Glied 266 an den Zähl-Freigabeeingang EN des Zählers 266 geliefert wird.
Wenn der Zählvorgang beginnt, nimmt der Zähl-Freigabeeingang EN über die ODER-Glieder 265 und 281 und das UND-Glied 266 einen hohen Pegel an und veranlaßt dadurch die Fortsetzung des Zählvorgangs.
Liegt der Zählerstand zwischen 1 und 3, so werden die Tonhöhendaten BN des Konsonanten-Rahmens kontinuierlich an den Zwischenspeicher 262 gegeben. Dieser Vorgang läßt sich dadurch erreichen, daß der Ausgang 292 der Logik 283 auf einen hohen Pegel gebracht wird, um dadurch über das ODER-Glied 270 das Gatter 262 zu öffnen.
-72-
Liegt der Zählerstand des Zählers 268 zwischen 4 und 7, so wird wie beim Zähler 267 das Gatter 259 geöffnet, und die Tonhöhendaten N2 werden selektiv an den Zwischenspeicher 263 geliefert. Dies läßt sich dadurch erreichen, daß der Ausgang 293 der Logik 283 hohen Pegel annimmt, um das Gatter 259 zu öffnen.
Wenn der Zählerstand des Zählers 268 zwischen 8 und liegt, wird das Gatter 260 wie beim Zähler 267 geöffnet,- und dadurch werden die Tonhöhendaten N. an den Zwischenspeicher 263 gelegt. Dies läßt sich dadurch erreichen, daß der Ausgang 294 der Logik 283 einen hohen Pegel annimmt, um dadurch das Gatter 260 zu öffnen. In dem Rahmen, in welchem der Zählerstand den Wert 11 übersteigt, löscht der Ausgang 295 der Logikschaltung 263 den Zähler 268 und veranlaßt dadurch das Ende des Zählvorgangs. Anschliessend wird das Gatter 261 geöffnet, wodurch veranlaßt wird, daß die Tonhöhendaten Ng selektiv an den Zwischenspeicher 263 gelegt werden.
Dies läßt sich dadurch erreichen, daß der Ausgang 291 der Logik 283 hohen Pegel annimmt, um das Gatter 261 zu öffnen.
Der Vorgang der Klangerzeugung könnte im unstabilen Zustand solange fortgesetzt werden, bis im letzten Abschnitt der Klangbildung das Flag CF und dann das Flag PF einen niedrigen Pegel annehmen und das Flag KOF mit einer Verzögerung von zwei Rahmen einen niedrigen Pegel annimmt. Daher wird das Gatter 262 geöffnet, und die Tonhöhendaten BN des unmittelbar vorausgehanenden Rahmens (N„ in Figur 17) werden in ähnlicher Weise an den Zwischenspeicher 263 gegeben.
Dieser Vorgang läßt sich realisieren, indem man das Gatter 262 über das NAND-Glied 261 und das ODER-Glied 270 öffnet.
3507078
Figur 18 zeigt zusammenfassend die Beziehungen zwischen den Zählerständen der Zähler 267 und 268 und den Arten von ausgewählten Tonhöhendaten. Wenn die Zählerstände der jeweiligen Zähler zwischen 1 und 3 liegen, werden unverarbeitete Tonhöhendaten N- im Zähler 267 ausgewählt, weil es sich um den Beginn der Stimmerzeugung handelt, während die Tonhöhendaten BN des einem Konsonant direkt vorausgehenden Rahmens in dem Zähler 268 ausgewählt werden, wegen des dem Konsonanten folgenden Rahmens.
Im Hinblick auf die Zählerstände 4 bis 7 und 8 bis 11 im Anfangsteil der Stimmerzeugung werden die unverarbeiteten Tonhöhendaten, die bei Ausführung der Fehler-Eliminierung eines Rahmens erhaltenen Tonhöhendaten, die unter Zugrundelegung von vier Rahmen gemittelten Tonhöhendaten und die unter Zugrundelegung von acht Rahmen ermittelten, .mit einer hysteresebehafteten Mittelwert-Tonhöhendaten in der genannten Reihenfolge ausgewählt. Daher kann an den Kodegenerator 11 sowohl für den unstabilen Teil als auch für den stabilen Teil der Tonhöhen-Datenwert mit einer nur wenig fehlerbehafteten Extraktion geliefert werden. Außerdem werden die Tonhöhendaten ohne Unterbrechung in dem Konsonantenteil und dem Endteil der Stimmbildung glatt miteinander verbunden, so daß die Änderung der in dem Kodegenerator 11 zu erzeugenden Musiktöne natürlich wirkt. Bei dem oben beschriebenen Ausführungsbeispiel der Erfindung wurde das "aus" des ein Vorhandensein bzw. ein Nicht-Vorhandensein einer Stimme anzeigenden Flags CF auf den Konsonantenteil eingestellt. Diese Einstellung ist jedoch nicht auf den Konsonantenteil beschränkt, sondern diesem Teil entspricht auch beispielsweise der Übergang von Musiktönen bei einem Musikinstrument.
Wie aus der obigen Beschreibung hervorgeht, schafft die
Erfindung ein elektronisches Musikinstrument, mit dem der Musikton nach Maßgabe einer Stimmeingabe erzeugt werden kann. Das elektronische Musikinstrument gemäß der vorliegenden Erfindung besitzt zunächst eine Orei-Werte-Quantisierungsschaltung, in der stabile ternäre Daten erhalten werden können, indem der Schwellenpegel nach Maßgabe des Eingangspegels des Stimmsignals geämdert wird. Sodann ist eine Tonhöhen-Extrahierschaltung vorgesehen, die die Tonhöhe aus dem Eingabe-Sprachsignal extrahiert auf der Grundlage des Zeit-Korrelationswerts der ermittelten ternären Daten. Drittens ist eine Fehler-Eliminierschaltung vorgesehen, die die Fehler beim Extrahieren von Tonhöhendaten aus dem eingegebenen Stimmsignal erfaßt und korrigiert.
Viertens ist eine arithmetische Mittelungsschaltung vorgesehen, um eine unstabile Änderung des eingegebenen Stimmsignals zu stabilisieren. Fünftens ist eine Tonhöhendaten-Steuereinheit vorgesehen, die das verarbeitete Ergebnis nach Maßgabe der in dem eingegebenen Stimmsignal enthaltenen Leistung auswählt.
Die Erfindung schafft also ein elektronisches Musikinstrument, in welchem selbst dann kein Fehler erzeugt wird, wenn sich der Pegel eines eingegebenen Stimmsignals ändert. Dies geschieht durch digitales Erfassen und Verarbeiten des eingegebenen Stimmsignals, mit dem Ergebnis, daß das Instrument in sehr einfacher Weise durch die Stimme des Vortragenden gespielt wird, der keinerlei Erfahrung und Übung im Spielen eines Musikinstruments besitzt.
Das erfindungsgemäße elektronische Musikinstrument eignet sich besonders gut für die Auslegung in Form von integrierten Großschaltkreisen (LSI-Schaltkreisen), da die Vorverarbeitungseinheit 2 und die Tonhöhen-Extrahiereinheit 3 auf einem einzigen Chip ausgebildet werden können.
Leerseite -

Claims (26)

  1. .AIXAKJiJNKERSGHMITT-NILSaN1HiRS(^ *"* :
    EUROPEAN RVTENT ATTORNEY?
    K 21 127/7Dne
    Casio Computer Co., Ltd. 6-1, 2-Chome, Nishishinjuku, Shinjuku-ku, Tokyo, Japan
    Elektronisches Musikinstrument
    PATENTANSPRÜCHE
    \ '1.J Elektronisches Musikinstrument, g e k e η η ze χ-chnet durch
    eine Einrichtung (14, 15, 16) zum Umsetzen eines Stimmsignals in digitale Daten,
    eine Extrahiereinrichtung (3) zum Extrahieren einer Tonhöhe aus den durch die Umsetzeinrichtung erhaltenen digitalen Daten,
    eine Verarbeitungseinrichtung (4, 5, 6, 7, 8, 10, 11) zum Verarbeiten der> Ausgangssignals der Extrahiereinrichtung (3), und
    eine Musikton-Wiedergabeeinrichtung (12) , die das Ausgangssignal der Verarbeitungseinrichtung empfängt und nach Maßgabe dieses Ausgangssignals einen Musikton erzeugt .
    34U7UVÖ
  2. 2. Instrument nach Anspruch 1, dadurch gekennzeichnet , daß die Umsetzeinrichtung einen Analog/Digital-Umsetzer und eine Quantisierungseinrichtung zum Quantisieren des Ausgangssignals des Analog/Digital-Umsetzers aufweist.
  3. 3. Instrument nach Anspruch 2, dadurch gekennzeichnet , daß die Quantisierungseinrichtung (21) einen Maximum- und einen Minimumwert-Detektor (18, 19) aufweist, die mindestens den Maximumwert oder den Minimumwert des Ausgangssignals des Analog/Digital-Umsetzers (16) ermitteln, und eine Schwellenpegel-Ausgabeeinrichtung (20) aufweist, die den Maximum- und den Minimumwert empfängt, um daraus den Schwellenpegel zu ermitteln.
  4. 4. Instrument nach Anspruch 3, dadurch gekennzeichnet , daß die Schwellenpegel-Ausgabeeinrichtung einen Speicher (25) besitzt, dessen Adressen die Ausgangssignale der Maximum- und der Minimumwert-Detektoreinrichtung zugeführt werden, um als Ausgangssignale des Speichers Daten eines Schwellenpegels zu liefern.
  5. 5. Instrument nach Anspruch 3, dadurch gekennzeichnet , daß die Quantisierungseinrichtung einen Vergleicher (36) besitzt, dem das Ausgangssignal des Analog/Digital-Umsetzers (16) und das Ausgangssignal der Schwellenpegel-Ausgabeeinrichtung zugeführt werden.
  6. 6. Instrument nach Anspruch 5, dadurch gekennzeichnet , daß der Vergleicher eine Subtrahierschaltung (36) aufweist, die als Vergleichsergebnis ein Ubertrag-Ausgangssignal erzeugt.
  7. 7. Instrument nach Anspruch 1, dadurch gekennzeichnet , daß die Tonhöhen-Extrahiereinrichtung eine Verzögerungsschaltung enthält, die die Stiinmdaten verzögert, und eine Multiplikationsschaltung besitzt, welche die um eine einer Tonleiter entsprechende Zeitdifferenz verzögerten Stimmdaten multipliziert, um eine Tonhöhe der eingegebenen Sprachdaten zu extrahieren.
  8. 8. Instrument nach Anspruch 7, dadurch gekennzeichnet , daß die Verzögerungsschaltung einen Speicher (26) und eine Ausgabe-Steuerschaltung aufweist, um selektiv erste, in dem Speicher gespeicherte Daten und zweite, um eine vorbestimmte Zeit bezüglich der ersten Daten verzögerte Daten an die Multiplizierschaltung zu geben.
  9. 9. Instrument nach Anspruch 7, dadurch gekennzeichnet , daß die Extrahiereinrich- tung eine Kumulierschaltung enthält, welche die Ausgangsdaten der Multiplizierschaltung akkumuliert und speichert.
  10. 10. Instrument nach Anspruch 7, dadurch g e kennzeichnet, daß die Stimmdaten Zwei-Bit-Daten aufweisen, die ein Vorzeichenbit und ein Datenbit umfassen, und daß die Multiplizierschaltung (28) ein Exklusiv-ODER-Glied (28-1) und ein UND-Glied (28-2) aufweist, wobei das Vorzeichenbit dem Exklusiv-ODER-Glied und das Datenbit dem UND-Glied zugeführt wird.
  11. 11. Instrument nach Anspruch 1, dadurch gekennzeichnet, daß die Extrahiereinrich- tung eine ternäre Korrelationsfunktions-Verarbeitungsschaltung mit folgenden Merkmalen enthält:
    eine Multiplizierschaltung (28), die ternäre Daten multipliziert,
    einen Fensterwertgenerator (217, 212) zum Erzeugen eines Fensterwerts,
    eine Gatterschaltung (211) mit einem Steueranschluß, der ein Datenbit von der Multiplizierschaltung (28) empfängt, und mit einem Eingangsanschluß zum Empfangen des Fensterwerts von dem Fensterwertgeneratox (217, 212),
    einen Addierer/Subtrahierer (218) mit einem Addier/ Subtrahier-Steuereingang (S) zum Empfangen des Vorzeichenbits aus der Multiplizierschaltung (28) und einem ersten Eingang (A) zum Empfangen des Ausgangssignals der Gatterschaltung (210) , und einer Speicherschaltung (216) , die ein arithmetisches Ausgangssignal des Addierer/Subtrahierers (218) speichert, um es an einen zweiten Eingang (B) des Addierer/ Subtrahierers (218) zu geben.
  12. 12. Instrument nach Anspruch 11, dadurch gekennzeichnet , daß der Fensterwertgenerator einen Speicher (212) enthält, der den Fensterwert speichert.
  13. 13. Instrument nach Anspruch 11, dadurch gekennzeichnet , daß die Multiplizierschaltung (28) ein Exklusiv-ODER-Glied (28-1) und ein UND-Glied (28-2) enthält, und daß das Ausgangssignal des Exklusiv-ODER-Glieds als Vorzeichenbit dient, während das Ausgangssignal des UND-Glieds als Datenbit dient.
  14. 14. Instrument nach Anspruch 11, dadurch gekennzeichnet , daß die ternäre Korrelationsfunktions-Verarbeitungsschaltung außerdem einen Adresszähler (220) enthält, der seine Ausgangssignale an einen Adressanschluß des Speichers gibt.
  15. -δ-15. Instrument nach Anspruch 1, dadurch g e kennzeichner , daß die Verarbeitungseinrichtung eine Fehler-Eliminiereinheit mit einer Speichereinrichtung zum Speichern der vergangenen Eingangsdaten, einer Einrichtung zum Vergleichen der in der Speichereinrichtung gespeicherten vergangenen Daten mit den anstehenden Eingangsdaten und einer Auswahleinrichtung zum selektiven Ausgeben der vergangenen Eingangsdaten oder der anstehenden Eingangsdaten besitzt, und daß die Vergleichereinrichtung bestimmt, ob die anstehenden Eingangsdaten innerhalb eines vorbestimmten Bereichs bezüglich der vergangenen Eingangsdaten liegen und selektiv entweder die vergangenen Eingangsdaten oder die anstehenden Eingangsdaten abgibt.
  16. 16. Instrument nach Anspruch 15, dadurch gekennzeichnet , daß die Vergleichereinrichtung einen Addierer/Subtrahierer und einen Vergleicher enthält, daß der Addierer/Subtrahierer den vorbestimmten Wert entweder auf die vergangenen Eingangsdaten addiert oder ihn von den vergangenen Eingangsdaten subtrahiert, und daß der Vergleicher das Additions- oder Subtraktionsergebnis mit den anstehenden Eingangsdaten vergleicht.
  17. 17. Instrument nach Anspruch 15, dadurch gekennzeichnet , daß die Auswahleinrichtung eine Speicherschaltung enthält und entweder die vergangenen Eingangsdaten oder die anstehenden Eingangsdaten auf der Grundlage des Inhalts der Speicherschaltung auswählt.
  18. 18. Instrument nach Anspruch 1, dadurch g e -
    kennzeichnet, daß die Verarbeitungseinrichtung eine eine laufende Mittelwertbildung voll-
    ID WW
    * · www«
    -6-
    ziehende arithmetische Mittelwerteinheit (8) mit einer Speichereinrichtung zum Speichern der eingegebenen Daten, einer Akkumuliereinrichtung zum Auswählen von Daten aus der Speichereinrichtung zum Zwecke der Akkumulierung und eine Mittelwertbildungseinrichtung zum Ermitteln des Mittelwerts des Ergebnisses der Akkumuliereinrichtung enthält, um dadurch das Ausgangssignal der Speichereinrichtung und das Ausgangssignal der Mittelwertbildungseinrichtung zum Zwecke der Akkumulierung auszuwählen und so den Mittelwert zu erhalten .
  19. 19. Instrument nach Anspruch 18, dadurch gekennzeichnet , daß die Speichereinrich- tung als Schieberegister ausgebildet.
  20. 20. Instrument nach Anspruch 18, dadurch gekennzeichnet , daß die Kumuliereinrichtung einen Zähler, einen Selektor und einen Addierer enthält, und daß der Selektor die Ausgangssignale der Speichereinrichtung und der Ausgabeeinrichtung nach Maßgabe des Zählerinhalts auswählt, um dadurch die ausgewählten Daten an einen ersten Eingang des Addierers zu legen und das Ausgangssignal des Addierers an einen zweiten Eingang des Addierers zu führen.
  21. 21. Instrument nach Anspruch 18, dadurch gekennzeichnet , daß die Mittelwertbildungseinrichtung einen Halbaddierer aufweist, wobei mehrere höherwertige Bits der Akkumuliereinrichtung auf der. Eingang des Addierers geführt werden und ein an die höherwertigen sechs Bits anschliessendes Bit auf einen Obertrageingang des Addierers gelegt wird.
  22. 22. Elektronisches Musikinstrument, gekennzeichnet durch eine Erfassurigseinrichtung, die
    die zeitliche Lage mindestens eines Anfangsteils eines Stimmsignals und eines Endteils des Stimmsignals erfaßt, eine Extrahiereinrichtung, die Tonhöhendaten aus dem Stimmsignal extrahiert, mehrere Verarbeitungseinrichtungen zum Verarbeiten der Tonhöhendaten auf unterschiedliche Weise, eine Auswahleinrichtung zum sukzessiven Auswählen von durch die Verarbeitungseinrichtungen verarbeiteten Tonhöhendaten entsprechend den festgestellten zeitlichen Beziehungen, und eine Musikton-Wiedergabeeinrichtung zum Erzeugen eines Musiktons auf der Grundlage der von der Auswahleinrichtung gelieferten, verarbeiteten Tonhöhendaten.
  23. 23. Instrument nach Anspruch 22, dadurch g e -
    kennzeichnet, daß die Erfassungseinrichtung eine Extraktionsänderungs-Erfassungseinrichtung besitzt, mit der festgestellt wird, daß eine Änderung des Ausgangssignals der Extrahiereinrichtung einen vorbestimmten Wert übersteigt, um dadurch die zeitliche Lage des Änderungspunkts zu ermitteln.
  24. 24. Instrument nach Anspruch 23, dadurch gekennzeichnet , daß die Auswahleinrichtung einen Zähler aufweist, der mit dem Zählvorgang zu einem Zeitpunkt beginnt, der unmittelbar entweder an den Zeitpunkt des Beginns des Sprachsignals anschließt oder an den von der Extraktionsänderungs-Erfassungseinrichtung ermittelten Zeitpunkt anschließt, und eine Einrichtung enthält, die die verarbeitetan Tonhöhendaten nach Maßgabe des von dem Zähler ausgegebenen Zählwerts auswählt.
  25. 25. Instrument nach Anspruch 23, dadurch gekennzeichnet , daß die Auswahleinrichtung eine Einrichtung enthält zum kontinuierlichen Abgeben desjenigen Teils der verarbeiteten Tonhöhendaten, der
    3 4 U 7 U /
    unmittelbar dem Zeitpunkt vorausgeht, der direkt an das Sprachsignalende anschließt oder der von der Extraktionsänderungs-Erfassungseinrichtung ermittelt wird.
  26. 26. Instrument nach Anspruch 22, dadurch gekennzeichnet , daß die Verarbeitungseinrichtungen Mittel zum Eliminieren eines Fehlers aus den extrahierten Daten und Mittel zum Berechnen eines Mittelwerts der extrahierten Daten enthalten.
DE19843407078 1983-02-27 1984-02-27 Elektronisches musikinstrument Ceased DE3407078A1 (de)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP58031284A JPS59157769A (ja) 1983-02-27 1983-02-27 三値相関関数処理方式
JP3128583A JPS59157697A (ja) 1983-02-27 1983-02-27 音声入力による音階抽出方式
JP3128683A JPS59158124A (ja) 1983-02-27 1983-02-27 音声デ−タ量子化方式
JP59013075A JPH0652480B2 (ja) 1984-01-27 1984-01-27 電子楽器の入力装置
JP59013077A JPS60158493A (ja) 1984-01-27 1984-01-27 エラ−除去装置
JP59013076A JPS60158490A (ja) 1984-01-27 1984-01-27 電子楽器の入力装置

Publications (1)

Publication Number Publication Date
DE3407078A1 true DE3407078A1 (de) 1984-10-11

Family

ID=27548439

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19843407078 Ceased DE3407078A1 (de) 1983-02-27 1984-02-27 Elektronisches musikinstrument

Country Status (3)

Country Link
US (2) US4633748A (de)
DE (1) DE3407078A1 (de)
GB (1) GB2138988B (de)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6090396A (ja) * 1983-10-24 1985-05-21 セイコーインスツルメンツ株式会社 音声認識式音程採譜装置
JPS6145298A (ja) * 1984-08-09 1986-03-05 カシオ計算機株式会社 電子楽器
GB8500638D0 (en) * 1985-01-10 1985-02-13 Christie M S Audio stimulus control device
JPH0789279B2 (ja) * 1985-10-21 1995-09-27 ヤマハ株式会社 楽音信号発生装置
DE3752185T2 (de) * 1986-10-24 1998-08-27 Casio Computer Co Ltd Gerät zum Erzeugen eines Musiktonsignales gemäss eines Eingangswellenform-Signals
US5018428A (en) * 1986-10-24 1991-05-28 Casio Computer Co., Ltd. Electronic musical instrument in which musical tones are generated on the basis of pitches extracted from an input waveform signal
DE3786654T2 (de) * 1987-01-07 1994-02-17 Yamaha Corp Tonsignal-Erzeugungsvorrichtung mit einer digitalen Ton-Speicher-Funktion.
US4771671A (en) * 1987-01-08 1988-09-20 Breakaway Technologies, Inc. Entertainment and creative expression device for easily playing along to background music
US4926737A (en) * 1987-04-08 1990-05-22 Casio Computer Co., Ltd. Automatic composer using input motif information
US4829872A (en) * 1987-05-11 1989-05-16 Fairlight Instruments Pty. Limited Detection of musical gestures
JPH0196700A (ja) * 1987-10-08 1989-04-14 Casio Comput Co Ltd 電子楽器の入力制御装置
JP2712346B2 (ja) * 1987-10-14 1998-02-10 カシオ計算機株式会社 周波数制御装置
JPH01177082A (ja) * 1987-12-28 1989-07-13 Casio Comput Co Ltd 音高決定装置
JP2734521B2 (ja) * 1988-03-31 1998-03-30 カシオ計算機株式会社 楽音制御装置
JP2615825B2 (ja) * 1988-05-02 1997-06-04 カシオ計算機株式会社 電子弦楽器
US5001960A (en) * 1988-06-10 1991-03-26 Casio Computer Co., Ltd. Apparatus for controlling reproduction on pitch variation of an input waveform signal
US5208861A (en) * 1988-06-16 1993-05-04 Yamaha Corporation Pitch extraction apparatus for an acoustic signal waveform
JPH027096A (ja) * 1988-06-27 1990-01-11 Casio Comput Co Ltd 電子楽器
US4915001A (en) * 1988-08-01 1990-04-10 Homer Dillard Voice to music converter
US5147970A (en) * 1989-08-11 1992-09-15 Casio Computer Co., Ltd. Electronic musical instrument for generating musical tones on the basis of characteristics of input waveform signal
US5157215A (en) * 1989-09-20 1992-10-20 Casio Computer Co., Ltd. Electronic musical instrument for modulating musical tone signal with voice
JP3092808B2 (ja) * 1989-12-20 2000-09-25 カシオ計算機株式会社 電子弦楽器
WO1991019989A1 (en) * 1990-06-21 1991-12-26 Reynolds Software, Inc. Method and apparatus for wave analysis and event recognition
US5171930A (en) * 1990-09-26 1992-12-15 Synchro Voice Inc. Electroglottograph-driven controller for a MIDI-compatible electronic music synthesizer device
JP2609752B2 (ja) * 1990-10-09 1997-05-14 三菱電機株式会社 音声/音声帯域内データ識別装置
US5270475A (en) * 1991-03-04 1993-12-14 Lyrrus, Inc. Electronic music system
US5349130A (en) * 1991-05-02 1994-09-20 Casio Computer Co., Ltd. Pitch extracting apparatus having means for measuring interval between zero-crossing points of a waveform
US5210366A (en) * 1991-06-10 1993-05-11 Sykes Jr Richard O Method and device for detecting and separating voices in a complex musical composition
JPH06334513A (ja) * 1993-05-13 1994-12-02 Intel Corp データ処理装置
US5744739A (en) * 1996-09-13 1998-04-28 Crystal Semiconductor Wavetable synthesizer and operating method using a variable sampling rate approximation
US6678382B2 (en) * 1997-11-25 2004-01-13 Thomson Licensing S.A. Digital attenuator
US6372973B1 (en) 1999-05-18 2002-04-16 Schneidor Medical Technologies, Inc, Musical instruments that generate notes according to sounds and manually selected scales
US6737572B1 (en) 1999-05-20 2004-05-18 Alto Research, Llc Voice controlled electronic musical instrument
ATE303645T1 (de) * 1999-05-20 2005-09-15 John W Jameson Durch sprache gesteuertes elektronisches musikinstrument
JP2003504673A (ja) * 1999-07-07 2003-02-04 ギブソン ギター コーポレーシヨン インターフェレンス付き楽器ディジタル録音装置
US20070163425A1 (en) * 2000-03-13 2007-07-19 Tsui Chi-Ying Melody retrieval system
US7027983B2 (en) * 2001-12-31 2006-04-11 Nellymoser, Inc. System and method for generating an identification signal for electronic devices
US6847930B2 (en) * 2002-01-25 2005-01-25 Acoustic Technologies, Inc. Analog voice activity detector for telephone
GB2392544A (en) * 2002-08-29 2004-03-03 Morgan Computing Ltd Device for creating note data
US7323629B2 (en) * 2003-07-16 2008-01-29 Univ Iowa State Res Found Inc Real time music recognition and display system
JP4448378B2 (ja) * 2003-07-30 2010-04-07 ヤマハ株式会社 電子管楽器
JP2005049439A (ja) * 2003-07-30 2005-02-24 Yamaha Corp 電子楽器
US7598447B2 (en) * 2004-10-29 2009-10-06 Zenph Studios, Inc. Methods, systems and computer program products for detecting musical notes in an audio signal
US7592533B1 (en) * 2005-01-20 2009-09-22 Gary Lee Audio loop timing based on audio event information
KR100735444B1 (ko) * 2005-07-18 2007-07-04 삼성전자주식회사 오디오데이터 및 악보이미지 추출방법
US7563975B2 (en) * 2005-09-14 2009-07-21 Mattel, Inc. Music production system
ITMO20060109A1 (it) * 2006-03-29 2007-09-30 Ik Multimedia Production Srl "scheda audio,particolarmente per il collegamento tra un computer ed uno stereo musicale"
US7541534B2 (en) * 2006-10-23 2009-06-02 Adobe Systems Incorporated Methods and apparatus for rendering audio data
FR2923102B1 (fr) * 2007-10-30 2010-11-12 Valeo Systemes Thermiques Procede de numerisation d'un signal quelconque
US9012756B1 (en) 2012-11-15 2015-04-21 Gerald Goldman Apparatus and method for producing vocal sounds for accompaniment with musical instruments

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CH549849A (de) * 1972-12-29 1974-05-31 Ibm Verfahren zum ermitteln des der periode der anregungsfrequenz der stimmbaender entsprechenden intervalls.
DE2430321A1 (de) * 1973-06-23 1975-01-16 Matsushita Electric Ind Co Ltd Stimmtastsystem fuer ein stimmgesteuertes musikinstrument
FR2296237A1 (fr) * 1974-12-23 1976-07-23 Schifrine Jean Instrument electronique de musique

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL281548A (en) * 1961-08-08 1964-12-10 Sponga Imre Inrichting voor het registreren en het omzetten van elektrische trillingen of in deze trillingen omgezette akoestische trillingen van verschillende frequenties
US3539701A (en) * 1967-07-07 1970-11-10 Ursula A Milde Electrical musical instrument
US3634596A (en) * 1969-08-27 1972-01-11 Robert E Rupert System for producing musical tones
GB1291078A (en) * 1969-12-17 1972-09-27 Robert Edwin Rupert System for producing musical tones
US3647929A (en) * 1970-10-08 1972-03-07 Karl F Milde Jr Apparatus for reproducing musical notes from an encoded record
US4014237A (en) * 1972-03-01 1977-03-29 Milde Karl F Jr Musical note detecting apparatus
US3812432A (en) * 1973-01-05 1974-05-21 Bell Telephone Labor Inc Tone detector
JPS51129131A (en) * 1975-05-01 1976-11-10 Omron Tateisi Electronics Co Analog-digital conversion circuit
US4168645A (en) * 1977-05-20 1979-09-25 Morris B. Squire Electronic musical instrument
US4230012A (en) * 1977-06-14 1980-10-28 Bach Laboratories, Inc. Musical instrument and method for use therein
GB2013386A (en) * 1977-09-10 1979-08-08 Fox H M Electronic sound processing device
JPS5461453A (en) * 1977-10-26 1979-05-17 Hitachi Ltd Analog-digital conversion circuit
US4377961A (en) * 1979-09-10 1983-03-29 Bode Harald E W Fundamental frequency extracting system
US4313361A (en) * 1980-03-28 1982-02-02 Kawai Musical Instruments Mfg. Co., Ltd. Digital frequency follower for electronic musical instruments
US4506580A (en) * 1982-02-02 1985-03-26 Nippon Gakki Seizo Kabushiki Kaisha Tone pattern identifying system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CH549849A (de) * 1972-12-29 1974-05-31 Ibm Verfahren zum ermitteln des der periode der anregungsfrequenz der stimmbaender entsprechenden intervalls.
DE2430321A1 (de) * 1973-06-23 1975-01-16 Matsushita Electric Ind Co Ltd Stimmtastsystem fuer ein stimmgesteuertes musikinstrument
FR2296237A1 (fr) * 1974-12-23 1976-07-23 Schifrine Jean Instrument electronique de musique

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
VISSER, F., Vocoder-Systeme, In: Elektor, 1979, H. 108, S. 12-44 bis 12-49 *

Also Published As

Publication number Publication date
GB2138988A (en) 1984-10-31
USRE33739E (en) 1991-11-12
US4633748A (en) 1987-01-06
GB2138988B (en) 1987-01-21
GB8405013D0 (en) 1984-04-04

Similar Documents

Publication Publication Date Title
DE3407078A1 (de) Elektronisches musikinstrument
DE2659096C2 (de)
DE3889331T2 (de) Vorrichtung zur Steuerung von Musiktönen gemäss einem Eingangswellenformsignal.
DE2362050C3 (de) Elektronisches Musikinstrument
DE2536585C3 (de) Anordnung zur statistischen Signalanalyse
DE69816221T2 (de) Sprachschnellheitsveränderungsverfahren und vorrichtung
DE3236885A1 (de) Verfahren und geraet zur sprachanalyse
DE3236834A1 (de) Verfahren und geraet zur sprachanalyse
DE3236832A1 (de) Verfahren und geraet zur sprachanalyse
DE2626793B2 (de) Elektrische Schaltungsanordnung zum Bestimmen des stimmhaften oder stimmlosen Zustandes eines Sprachsignals
DE19942178C1 (de) Verfahren zum Aufbereiten einer Datenbank für die automatische Sprachverarbeitung
DE2020753A1 (de) Einrichtung zum Erkennen vorgegebener Sprachlaute
DE2920298A1 (de) Binaere interpolatorschaltung fuer ein elektronisches musikinstrument
DE2636032C3 (de) Elektrische Schaltungsanordnung zum Extrahieren der Grundschwingungsperiode aus einem Sprachsignal
EP0285222B1 (de) Verfahren zum Erkennen zusammenhängend gesprochener Wörter
DE3019823A1 (de) Datenumsetzer und damit ausgestattete sprachsyntheseanordnung
DE3226538C2 (de) LSP-Stimmsynthetisierer
DE2801933A1 (de) Elektronisches musikinstrument
DE69613157T2 (de) Verfahren zur Erkennung des Beginns und Endes einer Note bei einem Perkussions- oder Saiteninstrument
DE3249791C2 (de) Elektronisches Musikinstrument
DE2854601C2 (de) Verfahren zur Tonaufbereitung und Ton-Synthesator zu seiner Durchführung
DE102006036583B4 (de) Hörhilfe mit einem Audiosignalerzeuger und Verfahren
DE2109436A1 (de) Amphtudenregler für elektrische Signale
DE3246712C2 (de)
DE3037276A1 (de) Tonsynthesizer

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8128 New person/name/address of the agent

Representative=s name: KLUNKER, H., DIPL.-ING. DR.RER.NAT. SCHMITT-NILSON

8125 Change of the main classification

Ipc: G10L 9/08

8131 Rejection