DE69222782T2 - Verfahren und vorrichtung für die erzeugung von vokal-harmonien - Google Patents
Verfahren und vorrichtung für die erzeugung von vokal-harmonienInfo
- Publication number
- DE69222782T2 DE69222782T2 DE69222782T DE69222782T DE69222782T2 DE 69222782 T2 DE69222782 T2 DE 69222782T2 DE 69222782 T DE69222782 T DE 69222782T DE 69222782 T DE69222782 T DE 69222782T DE 69222782 T2 DE69222782 T2 DE 69222782T2
- Authority
- DE
- Germany
- Prior art keywords
- estimate
- input vocal
- vocal signal
- signal
- octave
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/36—Accompaniment arrangements
- G10H1/361—Recording/reproducing of accompaniment for use with an external source, e.g. karaoke systems
- G10H1/366—Recording/reproducing of accompaniment for use with an external source, e.g. karaoke systems with means for modifying or correcting the external signal, e.g. pitch correction, reverberation, changing a singer's voice
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10G—REPRESENTATION OF MUSIC; RECORDING MUSIC IN NOTATION FORM; ACCESSORIES FOR MUSIC OR MUSICAL INSTRUMENTS NOT OTHERWISE PROVIDED FOR, e.g. SUPPORTS
- G10G7/00—Other auxiliary devices or accessories, e.g. conductors' batons or separate holders for resin or strings
- G10G7/02—Tuning forks or like devices
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H5/00—Instruments in which the tones are generated by means of electronic generators
- G10H5/005—Voice controlled instruments
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2210/00—Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
- G10H2210/155—Musical effects
- G10H2210/245—Ensemble, i.e. adding one or more voices, also instrumental voices
- G10H2210/251—Chorus, i.e. automatic generation of two or more extra voices added to the melody, e.g. by a chorus effect processor or multiple voice harmonizer, to produce a chorus or unison effect, wherein individual sounds from multiple sources with roughly the same timbre converge and are perceived as one
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2220/00—Input/output interfacing specifically adapted for electrophonic musical tools or instruments
- G10H2220/005—Non-interactive screen display of musical or status data
- G10H2220/011—Lyrics displays, e.g. for karaoke applications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2250/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/025—Envelope processing of music signals in, e.g. time domain, transform domain or cepstrum domain
- G10H2250/031—Spectrum envelope processing
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2250/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/131—Mathematical functions for musical analysis, processing, synthesis or composition
- G10H2250/261—Window, i.e. apodization function or tapering function amounting to the selection and appropriate weighting of a group of samples in a digital signal within some chosen time interval, outside of which it is zero valued
- G10H2250/285—Hann or Hanning window
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2250/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/541—Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
- G10H2250/631—Waveform resampling, i.e. sample rate conversion or sample depth conversion
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Electrophonic Musical Instruments (AREA)
Description
- Die vorliegende Erfindung betrifft allgemein eine Vorrichtung und ein Verfahren zum Generieren von Musik-Harmonien, insbesondere eine Vorrichtung und ein Verfahren zum Generieren von Vokal-Harmonien.
- Musik-Harmonie-Generatoren sind Maschinen, die arbeiten, um einen Satz von Harmoniesignalen zu erzeugen, die einem gegebenen Musik- Eingangssignal entsprechen. Mit einer solchen Maschine kann ein Musiker einen Melodieteil spielen, während die Maschine die Harmonieteile generiert, so daß ein Musiker sich wie mehrere anhören kann. Harmoniegeneratoren, die mit Signalen aus Musikinstrumenten arbeiten, beispielsweise Gitarren oder Synthesizern, sind seit zahlreichen Jahren entwickelt worden. Solche Geräte arbeiten im allgemeinen so, daß sie ein Eingangssignal abtasten und dessen Frequenz verschieben, um die Harmonien zu generieren.
- In einem periodischen Musiksignal gibt es stets eine Grundfrequenz, die die spezielle Tonhöhe des Signals festlegt, und zahlreiche Harmonische, die für den Charakter des Musiksignals sorgen. Es ist die spezielle Kombination von harmonischen Frquenzen bezüglich der Grundfrequenz, die beispielsweise dafür sorgt, daß eine Gitarre und eine Violine, mit denen die gleiche Note gespielt wird, unterschiedlich klingen. Bei einem Musikinstrument wie einer Gitarre, einer Flöte, einem Saxophon oder einem Keyboard wird, wenn die Höhe einer Note variiert, die Spektral-Hüllkurve der Grundfrequenz und der Harmonischen erweitert oder zusammengezogen, wenn die Tonhöhe nach oben oder nach unten verschoben wird. Deshalb kann man bei Musikinstrumenten Harmonie-Noten dadurch erzeugen, daß man Klang vom Instrument abtastet und den abgetasteten Klang mit entweder höherer oder niedrigerer Geschwindigkeit abspielt, ohne daß die Harmonie-Noten künstlich klingen. Wenngleich dieses Verfahren zum Generieren von Harmonien für Musikinstrumente geeignet ist, funktioniert es beim Erzeugen von Vokal-Harmonischen nicht gut.
- In einem Vokal-Signal gibt es typischerweise eine Grundfrequenz, welche die Tonhöhe einer Note, die eine Person singt, festlegt, außerdem einen Satz von harmonischen Frequenzen, die der Note Charakter und Timbre verleihen. Im Gegensatz zu einem Musikinstrument bleibt, wenn sich die Tonhöhe eines Vokal-Signals ändert, die Spektral-Hüllkurve der Harmonischen in der gleichen Form, jedoch ändern sich möglicherweise die individuellen Frequenzen, welche die Spektral-Hüllkurve bilden, in ihrer Amplitude. Deshalb ist das Erzeugen von Harmoniesignalen für die Stimme durch Abtasten einer Note, wenn diese gesungen wird, und Variieren ihrer Frequenz, deshalb nicht natürlich, weil jenes Verfahren die Form der Spektral- Hüllkurve variiert. Um Harmonie-Noten für ein Vokal-Signal zu generieren, ist ein Verfahren erforderlich, mit dem die Frequenz der Grundwelle variiert wird, während die gesamte Form der Spektral-Hüllkurve erhalten bleibt.
- Die Erfinder haben herausgefunden, daß das Verfahren, welches in dem Artikel von K. Lent "An Efficient Method for Pitch Shifting Digitally Sampled Sounds", Computer Music Journal, Band 13, Nr. 4, Winter Seiten 65-71 (1989) (im folgenden als Lent-Verfahren bezeichnet) dargelegt ist, sich besonders gut zur Verwendung beim Erzeugen von Vokal- Harmonischen eignet, weil das Verfahren die Form der Spektral-Hüllkurve beibehält. Dieses Verfahren verschiebt die Tonhöhe eines digital abgetasteten Signals dadurch, daß es einen Teil des Signals extrahiert und den extrahierten Teil mit einer vorbestimmten Geschwindigkeit kopiert. Dies beinhaltet das Analysieren eines Eingangs-Vokalsignals, um ein Harmoniesignal zu erzeugen, in dem das Eingangs-Vokalsignal abgetastet und das abgetastete Eingangs-Vokalsignal in einem digitalen Speicher gespeichert wird, eine laufende Abschätzung der Grundfrequenz des Eingabe-Vokalsignals ermittelt wird, die Grundfrequenz des Harmoniesignals basierend auf der Grundfrequenz des Eingangs-Vokalsignals ermittelt wird, Triggersignale erzeugt werden, deren Frequenzen im wesentlichen denen des Harmoniesignals gleichen, Teile des Eingangs-Vokalsignals extrahiert werden und die extrahierten Teile mit einer Geschwindigkeit kopiert werden, die im wesentlichen gleich der Grundfrequenz des Harmoniesignals ist.
- Allerdings ist die aktuelle Implementierung des Lent-Verfahrens, wie sie in der genannten Druckschrift dargelegt ist, vom Rechenaufwand her komplex und läßt sich nur schwierig mit einer billigen Rechneranlage auf Echtzeitbasis implementieren. Darüber hinaus fordert das Lent-Verfahren, daß die Grundfrequenz eines Signals exakt bekannt ist. Ein Problem bei der Erzeugung von Harmoniesignalen für eine Stimme liegt jedoch in dem Umstand begründet, daß Vokalsignale schwierig analysierbar sind und das Lent- Verfahren das Problem der genauen Festlegung der Grundfrequenz eines komplexen Vokal-Signals unter Beisein von Rauschen nicht behandelt. Die Grundfrequenz einer gesungenen, gegebenen Note kann zum Beispiel sehr stark schwanken, was es einem Harmoniegenerator erschwert, die Grundfrequenz zu bestimmen und die richtigen Harmonie-Noten zu generieren.
- Deshalb sollte das zum Generieren von Vokal-Harmonienoten durch Verschiebung der Tonhöhe eines digital abgetasteten Vokal-Signals im wesentlichen im Echtzeitbetrieb arbeiten und billige Rechnereinrichtungen verwenden. Diese Methode sollte folglich ein Verfahren zum genauen Analysieren eines Eingangs-Vokalsignals bereitstellen, um ein mehrteiliges Vokal-Signal zu generieren.
- Die vorliegende Erfindung wird durch die beigefügten Ansprüche definiert und umfaßt ein Verfahren und eine Vorrichtung zum Analysieren eines Eingangs-Vokalsignals, welches repräsentativ für eine Musiknote ist, um mehrere Harmoniesignale zu erzeugen, die mit dem Eingangs-Vokalsignal kombiniert werden, um ein mehrstimmiges Signal zu erzeugen. Das Verfahren beinhaltet die Schritte der reiterierenden Bestimmung einer laufenden Abschätzung der Grundfrequenz des Eingangssignals und des Testens der laufenden Abschätzung basierend auf einem Satz von Parametern, die aus einer früheren Abschätzung der Grundfrequenz abgeleitet sind. Es wird eine Referenznote zugeordnet, welche der laufenden Abschätzung entsprechen soll, wenn die laufende Abschätzung die korrekte Abschätzung ist. Es werden mehrere Harmonienoten basierend auf der Referenznote ausgewählt, und es werden mehrere Harmoniesignale erzeugt, so daß sie den mehreren Harmonienoten entsprechen. Das Eingangs-Vokalsignal wird mit den mehreren Harmoniesignalen kombiniert, um das mehrstimmige Signal zu bilden. In der bevorzugten Ausführungsform werden die mehreren Harmoniesignale erzeugt, indem das Eingangs-Vokalsignal durch eine stückweise lineare Approximation eines Hanning-Fensters skaliert wird, um einen Teil des Eingangs-Vokalsignals zu extrahieren, um anschließend den extrahierten Teil mit mehreren Geschwindigkeiten zu kopieren, die im wesentlichen gleich den Grundfrequenzen jedes der Harmoniesignale sind.
- Fig. 1 ist ein Blockdiagramm eines Vokal-Harmoniegenerators gemäß der Erfindung;
- Fig. 2 ist ein Ablaufdiagramm, welches die Schritte eines Verfahrens zum Generieren eines mehrstimmigen Signals gemäß der Erfindung veranschaulicht;
- Fig. 3 ist ein Flußdiagramm, welches die Schritte eines Verfahrens zum Bestimmen, ob eine Note beginnt, darstellt;
- Fig. 4 ist ein Ablaufdiagramm, welches die Schritte eines Verfahrens zum Bestimmen, ob eine Note fortgesetzt wird, zeigt;
- Fig. 5 ist ein Flußdiagramm zum Nachweisen von Oktav-Fehlern, welches bei dem erfindungsgemäßen Verfahren benutzt wird;
- Fig. 6 ist ein Diagramm, welches zeigt, wie ein Harmoniesignal erzeugt wird;
- Fig. 7 zeigt die Schritte zum Generieren einer stückweisen linearen Approximation eines Hanning-Fensters gemäß der Erfindung;
- Fig. 8 ist ein Blockdiagramm eines Signalverarbeitungs-Chips gemäß der Erfindung;
- Fig. 9 ist ein Blockdiagramm eines Tonhöhenverschiebers, der in dem Signalverarbeitungs-Chip enthalten ist; und
- Fig. 10 ist eine graphische Darstellung eines Eingangssignals, welches repräsentativ für einen Zischlaut ist.
- Fig. 1 ist ein Blockdiagramm eines Vokal-Harmoniegenerators 10 gemäß der Erfindung. Der Vokal-Harmoniegenerator 10 empfängt ein Eingangs- Vokalsignal 20 und generiert ein mehrstimmiges Ausgangssignal 22, welches ein Ausgangssignal 22a enthält, welches im wesentlichen auf der gleichen Tonhöhe wie das Eingangs-Vokalsignal 20 erklingt, und bis zu vier Harmonienoten 22b, 22c, 22d und 22e mit Tonhöhen, die zu dem Eingangs- Vokalsignal 20 harmonisch in Beziehung stehen. Der Vokal- Harmoniegenerator 10 empfängt das Eingangs-Vokalsignal 20 über ein Mikrophon 30 oder von einer anderen Quelle, beispielsweise einem Tonbandgerät, welches ein entsprechendes elektrisches Signal erzeugt, das über eine Leitung 34 in einen Eingangsfilterblock 32 gelangt. Der Filterblock 32 enthält vorzugsweise ein Antialiasing-Filter, welches den Anteil hochfrequenten Rauschens verringert, der von dem Mikrophon 30 aufgenommen wird. Nach dem Filtern durch den Filterblock 32 wird das Eingangs-Vokalsignal 20 durch einen Analog-Digital-(A/D-)Umsetzer 36 aus einem analogen in digitales Format umgesetzt, wozu der Wandler 36 über eine Leitung 38 an den Filterblock 32 gekoppelt ist.
- Der A/D-Umsetzer 36 ist mit einem Signalverarbeitungsblock 50 über eine Leitung 42 gekoppelt, über die die digitalen Signale geleitet werden, die repräsentativ für das Eingangs-Vokalsignal 20 sind. Der Signalverarbeitungsblock 50 speichert die digitalen Eingangssignale in einem kreisförmigen Feld innerhalb eines Schreib-/Lese-Speichers (RAM) 44, der über eine Leitung 46 mit dem Signalverarbeitungsblock 50 gekoppelt ist. Außerdem ist an die Leitung 56 ein Festspeicher (ROM) 48 angeschlossen. Der Signalverarbeitungsblock 50 generiert ein mehrstimmiges Signal, welches die Harmoniesignale enthält, indem er einen Teil des Eingangs-Vokalsignals 20, welches in dem RAM 44 gespeichert ist, extrahiert und den extrahierten Teil mit mehreren Geschwindigkeiten kopiert, die im wesentlichen den Grundfrequenzen jedes der Harmoniesignale gleichen, wie im folgenden beschrieben wird. Eine Leitung 52 verbindet den Signalverarbeitungsblock 50 mit einem Mikroprozessor 40, so daß der Mikroprozessor einen Satz von Parametern liefern kann, die von dem Signalverarbeitungsblock 50 dazu benutzt werden, die Harmoniesignale zu generieren. Der Mikroprozessor 40 ist vorzugsweise ein Chip mit Acht-Bit-Architektur, Model Nr. 80C31 der Firma Intel Corporation. An den Mikroprozessor 40 sind über eine Leitung 41 ein externer Schreib-/Lese-Speicher (RAM) 40a und ein externer Festspeicher (ROM) 40b angeschlossen.
- Der Ausgang des Signalprozessors 50 ist über eine Leitung 56 an einen Digital-Analog-(D/A-)Wandler 54 gekoppelt, der die Harmoniesignale aus einem digitalen Format in ein Analogformat umsetzt. Ein Ausgangssignal des D/A-Wandlers 54 ist über Leitungen 62 an ein Paar Rekonstruktionsfilter 60a, 60b gekoppelt. Diese Ausgangsfilter beseitigen jegliches hochfrequentes Rauschen, welches möglicherweise den Harmoniesignalen im Signalverarbeitungsblock 50 hinzugefügt wurde. Ein Mischer 64 empfängt das analoge mehrstimmige Signal von den Ausgangsfiltern 60a und 60b über ein Paar Leitungen 66a und 66b, sowie das Eingangs-Vokalsignal auf der Leitung 34. Der Mischer 64 ist an den Mikroprozessor 60 über eine Leitung 68 gekoppelt und steuert die Balance des mehrstimmigen Signals zwischen einem linken Audioausgang 70a und einem rechten Audioausgang 70b, ebenso wie die Balance des Eingangs-Vokalsignals bezüglich der Harmoniesignale. Ein Kopfhörerverstärker 72 ist an den Ausgang des Mischers 64 gekoppelt und liefert über eine Leitung 74 ein Kopfhörer- Audioausgangssignal.
- Ebenfalls enthalten in dem Vokal-Harmoniegenerator 10 ist ein Satz von Eingabeschaltern 76, die es einem Musiker gestatten, den Harmoniegenerator 10 zu bedienen und seinen Betrieb einzustellen. Die Eingabeschalter 76 sind mit dem Mikroprozessor 40 über eine Leitung 78 gekoppelt. Eine Anzeigeeinheit 80 versorgt den Bediener des Harmoniegenerators 10 mit einer Anzeige darüber, wie der Harmoniegenerator für den Betrieb eingestellt wird. Die Anzeige 80 ist mit dem Mikroprozessor 40 über eine Leitung 82 gekoppelt.
- Fig. 2 zeigt die Logik, die in einem allgemein mit 100 bezeichneten Verfahren zum Analysieren des Eingangs-Vokalsignals verwendet wird, um den Satz von Harmoniesignalen zu erzeugen, der mit dem Eingangs-Vokalsignal kombiniert werden, um das mehrstimmige Signal gemäß der Erfindung zu erzeugen. Das Verfahren beginnt bei einem Startblock 105 und geht weiter zu einem Block 110, wo das Eingangs-Vokalsignal abgetastet und in dem (nicht gezeigten) kreisförmigen Feld innerhalb des RAM 44 abgespeichert wird. Parallel zu und unabhängig von dem Block 110 arbeiten zwei Unterroutinen, die im Block 112 und dem Block 111 dargestellt sind. Der Block 112 dient zum Bestimmen einer Abschätzung der Grundfrequenz, des Pegels des Eingangs-Vokalsignals, und ob das Eingangs-Vokalsignal periodisch ist. Ist das Eingangssignal nicht periodisch, gibt der Block 112 eine Anzeige zurück, wonach das Eingangs-Vokalsignal nicht periodisch ist, außerdem eine Anzeige, ob das Eingangs-Sprachsignal repräsentativ für einen Zischlaut ist. Zischlaute sind Töne wie "sch", "tsch", "s", etc. Damit die Harmoniesignale natürlich klingen, sollte die Frequenz dieser Typen von Klängen nicht verschoben werden. Daher ist es nötig, sie nachzuweisen und den Tonhöhenverschiebealgorithmus zu umgehen, wie im folgenden noch beschrieben wird. Die Arbeitsweise des Blocks 112 ist in der der Anmelderin gehörigen US-Patentschrift 4 688 464 beschrieben, mit der Ausnahme des Verfahrens zum Nachweisen von Zischlauten, welches weiter unten beschrieben wird. Kurz gesagt, sucht der Block 112 nach der Grundfrequenz des Eingangs-Vokalsignals basierend auf der Zeit, die das Eingangs- Vokalsignal braucht, um eine Reihe abwechselnd positiver und negativer Schwellenwerte zu kreuzen.
- Der Block 111, der ebenfalls parallel zu dem Block 110 arbeitet, ruft eine Oktavenfehler-Unterroutine 400 auf. Wie weiter unten noch ausgeführt werden wird, bestimmt die Unterroutine 400, ob die Grundfrequenz des Eingangs-Vokalsignals, die durch den Block 112 ermittelt wurde, eine Oktave niedriger liegt als die aktuelle Grundfrequenz des Eingangs- Vokalsignals. Während das Lent-Verfahren gut bei der Erzeugung von Vokal-Harmonien arbeitet, ist es besonders empfindlich für Oktavenfehler, bei denen bezüglich der Oktave der Note, die der Musiker gerade singt, ein falscher Nachweis erfolgt. Deshalb werden zusätzliche Prüfungen gemacht, um sicherzugehen, daß eine korrekte Oktavenbestimmung erfolgt ist. Die Blöcke 111 und 112 stellen Routinen dar, die während der Implementierung des Verfahrens 100 kontinuierlich ablaufen.
- Nach dem Block 110 geht das Verfahren weiter zum Block 114, der eine Unterroutine 200 aufruft. Die Unterroutine 200 ermittelt, ob das Eingangs- Vokalsignal, welches im Block 110 abgetastet wurde, den Beginn einer neuen von dem Musiker gesungenen Note markiert. Die Ergebnisse der Unterroutine 200 werden im Entscheidungsblock 115 geprüft. Wenn die Antwort auf den Entscheidungsblock 115 Nein lautet, was bedeutet, daß keine neue Note beginnt, geht das Verfahren zu dem Block 118, wo ein Noten-"Aus"-Zähler erhöht und ein Noten-"Ein"-Zähler gelöscht wird. Der Noten-"Aus"-Zähler verfolgt die Länge der Zeitspanne nach dem Einsingen der letzten Note in den Harmoniegenerator. In ähnlicher Weise verfolgt der Noten-"Ein"-Zähler die Zeitspanne, in der eine laufende Note von dem Musiker bereits gesungen wurde. Nach dem Block 118 geht das Verfahren zurück zum Block 114 im Rahmen einer Schleife, bis die Antwort aus dem Entscheidungsblock 115 Ja lautet. Ist von dem Entscheidungsblock 115 erst einmal festgestellt, daß eine Note beginnt, so geht das Verfahren weiter zum Block 119, wo eine veränderliche, laufende Note dem Eingangs- Vokalsignal entsprechend zugeordnet wird. Wenn zum Beispiel das Eingangs-Vokalsignal eine Grundfrequenz von etwa 440 Hertz hatte, würde das Verfahren der Variablen "laufenden Note" die Note A zuweisen. Die Variable "laufende Note" wird dann als Referenz bei der Erzeugung von Harmoniesignalen verwendet.
- Für die Zuordnung, welche Musiknote der Variablen "laufende Note" zuzuordnen ist, wird eine Nachschlagetabelle verwendet, die in dem mit dem Mikroprozessor 40 gekoppelten externen ROM 40b gespeichert ist. In der Nachschlagetabelle sind die Noten einer gleichtemperierten Tonleiter enthalten, gespeichert als Bereiche von Grundfrequenzen. Bei jeder gegebenen Eingabe gibt es folglich eine entsprechende Note aus der Tabelle, die der Variablen "laufende Note" zugewiesen wird. In der bevorzugten Ausführungsform erstreckt sich der Frequenzbereich, der einer gegebenen Note entspricht, über +/- 50 Hundertstel (100 Teile eines Halbtons) auf jeder Seite der Grundfrequenz, um geringfügige Schwankungen in der Grundfrequenz des Eingangs-Vokalsignals zuzulassen, wenn die laufende Note zugewiesen wird. Wenn zum Beispiel der Musiker erniedrigt gesungen hat, so daß das Eingangs-Vokalsignal eine Grundfrequenz von 435 Hertz hatte, würde das Verfahren der Variablen "laufende Note" immer noch die Note A zuweisen.
- Nach dem Block 119 geht das Verfahren zum Block 120, wo die Harmonienoten bestimmt werden, die der Variablen "laufende Note" entsprechen. Bei der bevorzugten Ausführungsform umfaßt der Block 120 eine in dem RAM 40a gespeicherte Nachschlagetabelle, welche die Perioden für sämtliche Harmonienoten enthält, die jeder möglichen Periode der "laufenden Note" entsprechen, wie unten noch beschrieben wird. Unten ist die Nachschlagetabelle abgebildet, die von der vorliegenden Erfindung dazu eingesetzt wird, die Harmoniesignale zu generieren.
- Bei der bevorzugten Ausführungsform enthält die obige Harmonietabelle nicht die Wörter wie "E oberhalb", sondern enthält stattdessen die Anzahl von Hundertsteln, die die Harmonienoten von der "laufenden Note" entfernt sind. Wenn zum Beispiel die "laufende Note" C ist, dann enthält der RAM 44 +400 in der Tabelle für Harmonie 1 (400 Hundertstel von C entspricht viei- Halbtönen oder E oberhalb). Die Harmoniesignale werden erzeugt durch Nachschauen der Perioden für die Harmonienoten, die einer gegebenen "laufenden Note" entsprechen. Wenn zum Beispiel die "laufende Note" F ist, schaut das Verfahren nach der Ermittlung, daß die Harmonienoten A oberhalb, C oberhalb, D oberhalb und F unterhalb sind, anschließend die Perioden jeder der Harmonienoten nach. Die Perioden der harmonischen Signale werden dann von einem Paar von Tonhöhenverschiebern dazu benutzt, das mehrstimmige Signal zu erzeugen, wie es unten beschrieben wird.
- Wenn der Musiker entweder erhöht oder erniedrigt singt, ist es möglich, die Harmonienoten so einzustellen, daß sie entsprechend erhöht oder erniedrigt sind, anstatt sie so einzustellen, daß sie mit der nächstgelegenen richtigen Tonhöhe harmonisieren. Wenn der Musiker zum Beispiel eine "laufende Note" "E" auf der Tonhöhe singt, sollte die Harmonie 1 exakt dem G oberhalb von E entsprechen. Wenn allerdings der Musiker erhöht singt, beispielsweise um +30 Hundertstel (das heißt 30/100 eines Halbtons), wird die Harmonienote berechnet als G oberhalb +30 Hundertstel (das heißt 30/100 eines Halbtonschritts).
- Eine zweite Option bei der Auswahl der Harmonienoten ist eine Option "keine Änderung". Mit dieser Option konfiguriert sich die Harmonietabelle folgendermaßen:
- Wie man sieht, ändert sich jede zweite Harmonienote nicht. Dies ermöglicht es dem Musiker, der "laufenden Note" ein gewisses Vibrato hinzuzufügen, ohne daß sich die Harmonienoten stark ändern. Der Hystereseeffekt sorgt für Stabilität im mehrstimmigen Signal, welche dieses natürlicher klingen läßt.
- Durch Einbringen der Harmonietabelle in den RAM 44 ist es möglich, daß der Musiker eine Reihe von Optionen für die speziellen Typen erzeugter Harmonien programmiert, abhängig von dem gewünschten Klangtyp (angemerkt sei, daß in dem gesamten vorliegenden Zusammenhang die Grundfrequenz einer Note und ihre Periodendauer einfach das Inverse zueinander bilden, wobei der eine oder der andere Ausdruck aus Gründen der Klarheit verwendet wird, wo es angemessen erscheint).
- Nach dem Bestimmen der Harmonienoten, die der "laufenden Note" entsprechen, geht das Verfahren zu dem Block 122, wo das mehrstimmige Signal einschließlich der "laufenden Note" und der Harmonienoten erzeugt wird. Die Arbeitsweise des Blocks 122 wird weiter unten näher erläutert.
- Nach dem Block 122 geht das Verfahren zum Block 124, der das mehrstimmige Signal ausgibt.
- Nach dem Block 124 geht das Verfahren zum Block 126, wo ein akzeptierbarer Bereich von Frequenzen für die nächste Note ermittelt wird. Bei der bevorzugten Ausführungsform wird, nachdem die Variable "laufende Note" zugewiesen wurde, damit sie der Grundfrequenz des Eingangs-Vokalsignals im Block 119 entspricht, der akzeptierbare Bereich von Grundfrequenzen anfangs so eingestellt, daß er der Grundfrequenz der "laufenden Note" +/- 25% entspricht. Durch Zuordnen eines akzeptierbaren Frequenzbereichs für die nächste Note läßt sich für die "laufende Note" jedesmal eine ausgebildete Zuordnung vornehmen. Diese Logik basiert auf der Annahme, daß eine menschliche Stimme in der Lage ist, Noten nur mit einer begrenzten Geschwindigkeit zu ändern. Wenn daher die Grundfrequenz, wie sie durch den Block 112 ermittelt wird, aus dem akzeptierbaren Bereich von Frequenzen um +/- 25% herausfällt, geht das Verfahren davon aus, daß das Erkennen der Grundfrequenz durch den Block 112 fehlerhaft ist.
- Nach dem Block 126 geht das Verfahren weiter zum Block 127, der eine Unterroutine 300 aufruft, welche ermittelt, ob die "laufende Note" noch weiter von dem Musiker gesungen wird oder beendet wurde. Die Arbeitsweise der Unterroutine 300 wird weiter unten vollständig beschrieben. Nach der Rückkehr aus der Unterroutine 300 ermittelt der Entscheidungsblock 128, ob die Unterroutine 300 gefunden hat, daß die "laufende Note" fortgesetzt wird. Lautet die Antwort des Entscheidungsblocks 128 Ja, so geht das Verfahren weiter zum Block 130, welcher den Note-"Ein-Zähler erhöht. Nach dem Block 130 geht das Verfahren in der Schleife zurück zum Block 119, der die "laufende Note" aktualisiert, die Harmonienoten bestimmt und das mehrstimmige Signal in der zuvor beschriebenen Weise generiert. Wenn die Antwort im Entscheidungsblock 128 Nein lautet, geht das Verfahren zum Block 132, wo der Note-"Ein"-Zähler gelöscht und der Note-"Aus"- Zähler auf 1 gesetzt wird. Nach dem Block 132 geht das Verfahren weiter zu einem Block 134, in welchem ein Paar (nicht gezeigte) Tonhöhenverschieber gesperrt wird. Nach dem Block 134 geht das Verfahren in der Schleife zurück zum Block 114, um mit dem Nachschauen nach einer neuen Note in dem Eingangs-Vokalsignal zu beginnen. Das Verfahren 100 fährt mit dem Nachschauen nach einer neuen Note, die in dem Eingangs- Vokalsignal beginnt, fort, ordnet der "laufenden Note" einen Wert zu, ermittelt die Harmonienoten, generiert das mehrstimmige Signal und berechnet den akzeptierbaren Frequenzbereich für die nächste Note, so lange der Musiker mit dem Singen fortfährt.
- Fig. 3 ist ein detaillierteres Flußdiagramm der Unterroutine 200, die ermittelt, ob der Musiker eine neue Note singt, wie in Block 114 in Fig. 2 gezeigt ist. Die Unterroutine 200 beginnt im Block 205 und geht weiter zum Block 210, wo die Grundfrequenz und der Pegel des Eingangs-Vokalsignals von dem Block 112 gelesen werden (siehe Fig. 2). Nach dem Block 210 geht die Unterroutine zum Entscheidungsblock 212, welcher ermittelt, ob der Pegel des Eingangs-Vokalsignals oberhalb eines vorbestimmten Schwellenwerts liegt. Der Schwellenwert ist vorzugsweise von dem Musiker so eingestellt, daß er größer ist als der Pegel des Hintergrundrauschens, der in das Mikrophon 30 (in Fig. 1 gezeigt) gelangt. Wenn der Pegel des Eingangs- Vokalsignals nicht oberhalb des Schwellenwerts liegt, geht die Unterroutine 200 zum Rückkehrblock 214, der anzeigt, daß keine neue Note beginnt. Wenn der Pegel des Eingangs-Vokalsignals oberhalb des vorbestimmten Schwellenwerts liegt, geht die Unterroutine 200 zum Entscheidungsblock 216, der ermittelt, ob das Eingangs-Vokalsignal repräsentativ für einen Zischlaut ist. Der Betrieb des Blocks 216 wird weiter unten ausführlicher beschrieben.
- Wenn das Eingangs-Vokalsignal kein Zischlaut ist, geht die Unterroutine zum Entscheidungsblock 218, der ermittelt, ob das Eingangs-Vokalsignal periodisch ist. Die Antwort auf den Entscheidungsblock 218 wird auch von dem (in Fig. 2 gezeigten) Block 112 geliefert. Wenn das Eingangs- Vokalsignal nicht periodisch ist, geht die Unterroutine zu dem Rückkehrblock 214, der anzeigt, daß keine neue Note beginnt. Ist das Eingangssignal periodisch, geht die Unterroutine 200 zu einem Block 219 und ermittelt, ob die Grundfrequenz des Eingangs-Vokalsignals den Bereich übersteigt, den eine menschliche Stimme zu singen im Stande ist. Speziell dann, wenn die Grundfrequenz etwa 1000 Hertz übersteigt, geht die Routine zurück zum Block 214.
- Nach dem Herausfinden, daß die Grundfrequenz im Bereich einer menschlichen Stimme liegt, liest die Unterroutine 200 den Noten-"Aus"-Zähler. Nach dem Block 220 geht die Unterroutine 200 zum Entscheidungsblock 224, welcher ermittelt, ob die vorausgehende Note für weniger oder gleich 100 Millisekunden "Aus" war. Wenn die vorausgehende Note nicht um weniger als 100 Millisekunden zuvor zu Ende war, geht die Unterroutine 200 zum Rückkehrblock 224, der anzeigt, daß von dem Musiker eine neue Note gesungen wird. Wenn die Antwort auf den Entscheidungsblock 224 Ja lautet, was bedeutet, daß die vorausgehende Note vor nicht weniger oder gleich 100 Millisekunden vorher zu Ende war, geht die Unterroutine 200 zum Entscheidungsblock 225. Der Entscheidungsblock 225 ermittelt, ob es eine starke Zunahme des Pegels des Eingangs-Vokalsignals nach dem letzten Aufruf der Unterroutine 200 gegeben hat. Wenn der Pegel des Eingangssignals um 2 zunimmt, das heißt sich verdoppelt, geht die Unterroutine 200 zum Block 227, der den Bereich akzeptierbarer Frequenzen, wie er im Block 126 in Fig. 2 bestimmt wird, verkleinert. In der bevorzugten Ausführungsform wird der akzeptierbare Bereich gegenüber der Grundfrequenz der vorhergehenden Note, +/- 25%, auf die Grundfrequenz der vorhergehenden Note, +/- 12,5% reduziert. Das vorliegende Verfahren arbeitet unter der Annahme, daß eine starke Zunahme des Eingangs-Vokalsignals einem Punkt vorausgeht, an welchem es schwierig ist, die Grundfrequenz zu ermitteln. Durch Verkleinern des Bereichs zulässiger Frequenzen vermeidet die Unterroutine 200 ein "Verrasten" auf einer Frequenz, die nicht die Grundfrequenz ist, sondern stattdessen eine Harmonische des Eingangs- Vokalsignals.
- Wenn die Antwort auf den Entscheidungsblock 225 "Nein" lautet, oder nach dem Verringern des akzeptierbaren Frequenzbereichs im Block 227 geht die Unterroutine 200 zum Entscheidungsblock 228, der ermittelt, ob die Grundfrequenz des Eingangssignals innerhalb des akzeptierbaren Bereichs liegt (der im Block 226 in Fig. 2 berechnet oder im Block 227 verkleinert wurde). Wenn die Antwort auf den Entscheidungsblock 228 "Ja" lautet, geht die Unterroutine 200 zum Rückkehrblock 226, der anzeigt, daß eine neue Note beginnt.
- Wenn die Antwort auf den Entscheidungsblock 228 "Nein" lautet, was bedeutet, daß die Grundfrequenz nicht in dem akzeptierbaren Bereich liegt, geht die Unterroutine 200 zum Entscheidungsblock 230, der feststellt, ob ganzzahlige Vielfache (2x, 3x, 4x) oder Bruchteile (1/2, 1/3, 1/4) der Grundfrequenz in dem akzeptierbaren Bereich liegen. Lautet die Antwort auf den Entscheidungsblock 230 Nein, so geht die Unterroutine 200 zum Rückkehrblock 214, der anzeigt, daß keine neue Note beginnt. Wenn die Antwort auf den Entscheidungsblock 230 "Ja" lautet, was bedeutet, daß ein ganzzahliges Vielfaches oder ein Bruchteil der Grundfrequenz in dem akzeptierbaren Bereich liegt, geht die Unterroutine 200 zum Block 232, der die Grundfrequenz dividiert oder multipliziert, so daß das Ergebnis in dem akzeptierbaren Bereich liegt. Wenn zum Beispiel die Grundfrequenz 1/3 der erwarteten Frequenz +/- 25% liegt, wird die Grundfrequenz mit 3 multipliziert, etc. Nach dem Block 232 geht die Unterroutine 200 zum Rückkehrblock 226, der anzeigt, daß von dem Musiker eine neue Note gesungen wird.
- Fig. 4 ist ein detailliertes Ablaufdiagramm der Unterroutine 300, die im Block 127 (Fig. 2) aufgerufen wird. Der Zweck der Unterroutine 300 ist es, zu ermitteln, ob die "laufende Note", die von dem Musiker gesungen wird, noch weiter anhält oder beendet wurde. Die Unterroutine 300 beginnt im Block 310 und geht zum Block 312, der die Grundfrequenz und den Pegel des Eingangs-Vokalsignals liest, wie sie von dem Block 112 (in Fig. 2 gezeigt) ermittelt werden. Nach dem Block 312 geht die Unterroutine 300 weiter zum Entscheidungsblock 314, der ermittelt, ob der Pegel des Eingangssignals den vorbestimmten Schwellenwert übersteigt. Lautet die Antwort auf den Block 314 "Nein", so geht die Unterroutine 300 zum Rückkehrblock 317, der anzeigt, daß die "laufende Note" nicht mehr anhält. Wenn der Pegel oberhalb des Schwellenwerts liegt, geht die Unterroutine 300 zu dem Entscheidungsblock 316, der ermittelt, ob das Eingangs- Vokalsignal einem Zischlaut entspricht. Lautet die Antwort auf den Entscheidungsblock 316 "Ja", geht die Unterroutine 300 zu dem Rückkehrblock 317. Wenn die Antwort auf den Entscheidungsblock 316 "Nein" lautet, geht die Unterroutine 300 zum Entscheidungsblock 318, der feststellt, ob das Eingangs-Vokalsignal periodisch ist, indem die Ergebnisse des Blocks 112 geprüft werden. Lautet die Antwort auf den Entscheidungsblock 318 "Nein", geht die Unterroutine 300 zum Rückkehrblock 317. Lautet die Antwort auf den Entscheidungsblock 318 "Ja", geht die Unterroutine 300 zum Entscheidungsblock 319, der ermittelt, ob die Grundfrequenz des Eingangs-Vokalsignals innerhalb des Bereichs einer menschlichen Stimme liegt. Der Block 319 arbeitet in der gleichen Weise wie der Block 219 (der in Fig. 3 gezeigt ist). Wenn die Antwort auf den Entscheidungsblock 319 "Nein" lautet, geht die Unterroutine 300 zum Rückkehrblock 317. Wenn die Antwort auf den Entscheidungsblock 319 "Ja" lautet, geht die Unterroutine 300 zum Entscheidungsblock 320.
- Der Entscheidungsblock 320 arbeitet in der gleichen Weise wie der Block 225 (der in Fig. 3 gezeigt ist), um zu ermitteln, ob es eine starke Zunahme des Pegels des Eingangs-Vokalsignals gibt. Lautet die Antwort auf den Block 320 "Ja", so wird der Bereich akzeptierbarer Frequenzen im Block 322 verringert. Lautet entweder die Antwort auf den Entscheidungsblock 320 "Nein" oder nachdem der Bereich akzeptierbarer Frequenzen im Block 322 verringert wurde, geht die Unterroutine 300 zum Entscheidungsblock 324, der ermittelt, ob die Grundfrequenz des Eingangssignals innerhalb des akzeptierbaren Bereichs liegt, wird entweder im Block 126 (in Fig. 2) ermittelt wurde, oder wie er im Block 322 in der soeben beschriebenen Weise verringert wurde. Wenn die Antwort auf den Entscheidungsblock 324 "Ja" lautet, geht die Unterroutine 300 zum Rückkehrblock 326, der anzeigt, daß die Note anhält. Lautet die Antwort auf den Entscheidungsblock 324 "Nein", was bedeutet, daß die Grundfrequenz nicht in dem akzeptierbaren Bereich liegt, geht die Unterroutine 300 zum Entscheidungsblock 328, der ermittelt, ob ganzzahlige Vielfache (2x, 3x, 4x) oder Bruchteile (1/2, 1/3, 1/4) der Grundfrequenz in dem akzeptierbaren Bereich liegen. Lautet die Antwort auf den Entscheidungsblock 328 "Nein", geht die Unterroutine zum Rückkehrblock 317, der anzeigt, daß die Note nicht andauert. Lautet die Antwort auf den Entscheidungsblock 328 "Ja", geht die Unterroutine 300 zum Block 329, der ermittelt, ob es einen Sprung in der Oktave des Eingangssignals gegeben hat. Ein Sprung eine "Oktav hoch" wird nachgewiesen durch eine Verdoppelung der Grundfrequenz, während ein Sprung eine "Oktav niedriger" anhand einer Halbierung der Grundfrequenz nachgewiesen wird. Ein Paar von Variablen "Oktave hoch" und "Oktave herunter" verfolgt die Häufigkeiten, mit denen das Eingangs-Vokalsignal eine Oktav nach oben bzw. nach unten springt. Diese Variablen werden in dem Block 329 aktualisiert, bevor die Unterroutine zum Entscheidungsblock 330 weitergeht.
- Das vorliegende Verfahren zum Analysieren von Eingangs-Vokalsignalen arbeitet so, daß es die Häufigkeit verfolgt, mit der die Grundfrequenz, die von dem Block 112 bestimmt wird, um eine Oktave springt. Wenn zum Beispiel der Musiker ein Wort zu singen beginnt, welches mit einem "W" bei A-440 Hertz anfängt, so kann die Grundfrequenz bei A-220 Hertz beginnen, auf A-440 Hertz springen, zurück auf A-220 Hertz, hoch auf A-880 Hertz springen, etc. Die beiden Variablen "Oktave-hoch" und "Oktave- herunter" verfolgen die Häufigkeit, mit der die Grundfrequenz gegenüber A-440 Hertz um eine Oktave springt. Weil das vorliegende Verfahren keine Möglichkeit hat, zu erkennen, welche der Oktaven A-220 Hertz, A-440 Hertz oder A-880 Hertz die korrekte, von dem Musiker gesungene Frequenz ist, wird eine Anfangsabschätzung gemacht. Die Anfangsabschätzung wird als korrekt angenommen, darf sich aber im Zuge der Unterroutine 300 für die ersten sechs Male nach oben oder nach unten ändern. Nachdem die Note zwischen 100 und 200 Millisekunden "Ein" war, muß das Verfahren "verrasten", oder eine der Oktaven wählen. Wenn allerdings nach etwa 200 Millisekunden das Verhältnis der Häufigkeit, mit der die Grundfrequenz um eine Oktave abfällt, im Vergleich zu der Länge der Zeit, die die Note bereits "Ein" war, 50% übersteigt, so muß das Verfahren ermitteln, ob es zu einem Oktavenfehler gekommen ist, folglich am Anfang die falsche Wahl der Oktave erfolgt ist.
- Ein Entscheidungsblock 330 ermittelt, ob die laufende Note für eine Zeit von mehr oder gleich 200 Millisekunden anstand, was durch den Note- "Ein"-Zähler ermittelt wird. Wenn die Antwort auf den Entscheidungsblock 330 "Nein" lautet, geht die Unterroutine 300 zum Rückkehrblock 326, die angibt, daß die "laufende Note" anhält. Nach der Rückkehr zum Block 119 (Fig. 2) wird die Variable "laufende Note" aktualisiert, um die neue Grundfrequenz wiederzuspiegeln. Wenn die Antwort auf den Entscheidungsblock 330 "Ja" lautet, geht die Unterroutine 300 zum Entscheidungsblock 334, der ein Verhältnis des Zählerstands in dem "Oktave-herunter"-Zähler zu der Zeit ermittelt, in der die laufende Note bereits anstand. Wenn das Verhältnis 50% übersteigt, geht die Unterroutine 300 zum Block 336, der die Ergebnisse der Unterroutine "Oktavenfehler" 400 gemäß Fig. 2 liest.
- Lautet die Antwort auf den Entscheidungsblock 334 "Nein", so geht die Unterroutine 300 zum Block 335, der ein Verhältnis des Zählerstands in dem Zähler "Oktave-hoch" zu der Zeit berechnet, innerhalb der die "laufende Note" "Ein" war. Überschreitet dieses Verhältnis nicht 50%, so geht die Unterroutine 300 zum Block 332, der die Grundfrequenz korrigiert. Wenn zum Beispiel die sechs Ablesungen angezeigt haben, daß die Grundfrequenz 440 Hertz betrug, und anschließend die Grundfrequenz zu 880 Hz ermittelt wurde, so würde das Verhältnis des Zählers "Oktave- hoch" zu dem Inhalt des Note-"Ein"-Zählers nicht 50% übersteigen, und der Meßwert von 880 Hertz würde durch 2 geteilt. Nach dem Block 332 geht die Unterroutine zu dem Rückkehrblock 326. Wenn die Antwort auf den Entscheidungsblock 335 "Ja" lautet, wird angenommen, daß die Grundfrequenz die korrekte Grundfrequenz ist und zu Beginn ein Fehler gemacht wurde, als der "laufenden Note" ein Wert zugeordnet wurde. Deshalb geht die Unterroutine 300 zum Block 337, der die Zähler Note-"Ein" und "Oktave" löscht, bevor sie zum Rückkehrblock 326 weitergeht. Nach der Rückkehr wird die "laufende Note" aktualisiert, um die neue, höhere Oktav wiederzuspiegeln.
- Wenn die Antwort auf den Entscheidungsblock 334 "Ja" lautet, geht die Unterroutine 300 zum Block 336, der das Ergebnis der Unterroutine "Oktavenfehler" liest. Die Ergebnisse der Unterroutine "Oktavenfehler" werden im Entscheidungsblock 338 geprüft. Gibt es keinen Oktavenfehler (das heißt, war die anfängliche Abschätzung der Oktave des Eingangs- Vokalsignals richtig), so ist die gerade bestimmte Grundfrequenz eine Oktave niedriger als die wirkliche Grundfrequenz des Eingangs-Vokalsignals. Desbaib wird im Block 332 die Frequenz mit 2 multipliziert. Gibt es einen Oktavenfehler, dann wird angenommen, daß die gerade bestimmte Grundfrequenz die korrekte Grundfrequenz ist, und die Unterroutine geht zum Rückkehrblock 326, und die anfängliche Abschätzung der Oktave, die der Musiker gesungen hat, war falsch. Deshalb werden im Block 337 vor der Rückkehr zum Block 326 der Note-"Ein"-Zähler und die Oktavenzähler gelöscht, so daß die neue Grundfrequenz nun der laufenden Note zugeordnet wird.
- Fig. 5 ist ein detalliertes Ablaufdiagramm, welches die Arbeitsweise der "Oktavenfehler"-Unterroutine 400 (in Bezug auf Fig. 2) veranschaulicht. Die Unterroutine 400 beginnt beim Startblock 410 und geht weiter zum Block 412, der für eine Zeitspanne von L Abtastungen die Autokorrelation (Rx(0)) 0-ter Verzögerung des Eingangs-Vokalsignals berechnet. In der bevorzugten Ausführungsform wird L auf 256 eingestellt. Die Autokorrelation mit 0-ter Verzögerung bestimmt sich durch die Formel gemäß Gleichung 1:
- wobei x(n) das Eingangs-Vokalsignal ist, welches im RAM 44 (Fig. 1) gespeichert ist. Nach dem Block 412 geht die Unterroutine 400 zum Block 414, wo die Autokorrelation (Rx(P/2)) P/2-ter Verzögerung gemäß folgender Gleichung 2 berechnet wird:
- Dabei ist P die Periodendauer der Grundfrequenz des Eingangs- Vokalsignals wenn das Verhältnis der 0-ten Autokorrelation zu der P/2-ten Autokorrelation 0,10 übersteigt, was durch einen Entscheidungsblock 416 ermittelt wird, geht die Unterroutine 400 zum Entscheidungsblock 418, welcher feststellt, ob die Grundfrequenz der Hälfte des akzeptierbaren Bereichs entspricht, das heißt, eine Oktave niedriger als erwartet ist. Lautet die Antwort im Entscheidungsblock 418 "Ja", so geht die Unterroutine 400 zum Block 420, der einen Oktavenfehler verkündet. Wenn die Antwort auf entweder den Entscheidungsblock 416 oder 418 "Nein" lautet, geht die Unterroutine 400 direkt zum Rückkehrblock 422. Die Unterroutine 400 vergleicht den Betrag der Grundfrequenz des Eingangs-Vokalsignals mit dem Betrag der geradzahligen Harmonischen. Weil ein Oktavenfehler typischerweise durch einen großen Wert der geradzahligen Harmonischen im Vergleich zu der Grundfrequenz angezeigt wird, läßt sich eine Verhältnismaß-Bestimmung durchführen, und die Anfangsabschätzung der Grundfrequenz wird dann korrigiert, um die tatsächliche Grundfrequenz des Eingangs-Vokalsignals wiederzuspiegeln.
- Fig. 6 ist ein Diagramm, welches veranschaulicht, wie das erfindungsgemäße Verfahren arbeitet, um die Harmoniesignale zu generieren. Das Eingangs-Vokalsignal 500 ist mit einer Periodendauer τf dargestellt. Ein Teil des Eingangs-Vokalsignals wird extrahiert, indem das Signal mit einem Fenster 502 multipliziert wird, dessen Dauer vorzugsweise der doppelten Periodendauer τf der Grundfrequenz entspricht. Bei der bevorzugten Ausführungsform ist das Fenster so geformt, daß es eine Annäherung eines Hanning-Fensters darstellt, um hochfrequentes Rauschen in dem fertigen mehrstimmigen Signal zu verringern. Man kann allerdings zahlreiche sich glatt ändernden Funktionen verwenden. Das Ergebnis der Multiplikation des Eingangs-Vokalsignals 500 mit dem Fenster 502 ist als ein skaliertes Eingangs-Sprachsignal 504 dargestellt. Wie man sieht, ist das skalierte Eingangs-Sprachsignal überall im wesentlichen Null, mit Ausnahme des Bereichs unter dem glockenförmigen Teil des Fensters 502. Was also aus dem Eingangs-Vokalsignal 500 extrahiert wurde, ist ein Teil mit einer Dauer der doppelten Periodendauer τf.
- Ein Harmoniesignal 506 wird dadurch erzeugt, daß das skalierte Eingangs- Vokalsignal 504 mit einer Geschwindigkeit kopiert wird, die dem Zweifachen der Grundfrequenz des Eingangssignals 500 entspricht, um ein Harmoniesignal zu erzeugen, welches eine Oktav oberhalb des Eingangs- Vokalsignals 500 liegt. Um ein Harmoniesignal zu erzeugen, welches eine Oktav niedriger als das Eingangs-Vokalsignal 500 liegt, würde das skalierte Eingangs-Vokalsignal 504 mit einer Rate multipliziert werden, welche der halben Grundfrequenz des Eingangssignals entspricht. Durch Einstellen der Geschwindigkeit, mit der das skalierte Eingangssignal 504 kopiert wird, läßt sich also jede Harmonienote erzeugen, ohne daß man die Form der Spektral-Hüllkurve des Eingangs-Vokalsignals 500 ändert, wie es oben diskutiert wurde.
- Weil das in Fig. 6 gezeigte Hanning-Fenster 502 mit einem einfachen Mikroprozessor schwer auf Echtzeitbasis zu berechnen ist, nähert die vorliegende Erfindung ein Hanning-Fenster unter Einsatz einer stückweisen linearen Approximation an. Fig. 7 zeigt, wie die Approximation der Fensterfunktion 520 berechnet wird. Zum Zweck der Darstellung sei angenommen, daß die Periodendauer τf der Grundfrequenz des Eingangs-Vokalsignals 62 betrage. Diese Zahl wird aus dem in Fig. 2 gezeigten Block 112 in bereits früher beschriebener Weise erhalten. Die stückweise lineare Approximation wird unter Verwendung zweier Linien 522 und 524 erzeugt, die jeweils eine andere Steigung und eine unterschiedliche Dauer besitzen. Die Linie 522 ist in zwei Segmente 522a und 522b aufgetrennt, während die zweite Linie 524 zwischen diesen Teilen liegt. Die Steigung der Linie 522 wird als Steigung&sub1; bezeichnet, während die Steigung der Linie 524 mit Steigung&sub2; bezeichnet wird. Die Berechnung der Steigungen und Dauern sind durch folgende Gleichungen 3-6 gegeben:
- Steigung&sub1; = Int(Spitze/τf) (3)
- Steigung&sub2; = Steigung&sub1; + 1 (4)
- Dauer der Steigung&sub2; = Spitze - (τf Steigung&sub1;) (5)
- Dauer der Steigung&sub1; = τf - Dauer der Steigung&sub1; (6)
- Die Variable "Spitze" ist eine vorab definierte Variable und hat bei der bevorzugten Ausführungsform den Wert 128. Die Anwendung dieser Gleichungen auf die stückweise lineare Approximation 520 (die in Fig. 7 gezeigt ist) resultiert in der Steigung von 2 für die Linie 522 und in einer Steigung von 3 für die Linie 524. Die Dauer des Segments 522a beträgt 30, die Dauer des Segments 522b beträgt 31, und die Dauer der Linie 524 beträgt 2. Jegliche ungeraden Zeitspannen werden immer auf den Linienabschnitt 522b addiert. Die zweite Hälfte der stückweisen linearen Approximation 520 erfolgt durch Erzeugung eines Spiegelbilds der linken Hälfte mit gleichen Dauern, jedoch jeweils negativen Steigungen. Unter Verwendung von ausschließlich Steigungen mit ganzzahligen Werten sind die zum Extrahieren eines Stücks der Wellenformen benötigten Operationen einfacher und ermöglichen dem vorliegenden Verfahren dadurch, im wesentlichen im Echtzeitbetrieb zu arbeiten, und zwar mit einem billigen Mikroprozessor. Außerdem würden nicht-ganzzahlige Steigungswerte unerwünschte Hochfrequenz-Modulationen in das mehrstimmige Signal einbringen.
- Fig. 8 zeigt ein Blockdiagramm des Signalprozessorblocks 50 (gemäß Fig. 2). Der Signalprozessorblock 50 erzeugt das mehrstimmige Ausgangssignal, welches das Eingangs-Vokalsignal und die mehreren Harmoniesignale beinhaltet. Ein linker Tonhöhenverschieber 550 und ein rechter Tonhöhenverschieber 600 kopieren die skalierten Eingangs-Vokalsignale mit mehreren Geschwindigkeiten entsprechend den Frequenzen jedes der Harmoniesignale, wie sie oben bestimmt wurden. Der linke Tonhöhenverschieber 550 empfängt die Periodendauer des ersten und des zweiten Harmoniesignals über Leitungen 552 bzw. 554. An den linken Tonhöhenverschieber 550 wird über die Leitung 556 auch eine Beschreibung der stückweisen linearen Approximation des Hanning-Fensters gelegt. In ähnlicher Weise empfängt der rechte Tonhöhenverschieber 600 die Periodendauer des dritten und des vierten Harmoniesignals über Leitungen 606 und 608, außerdem die Beschreiung des Hanning-Fensters über die Leitung 610. Die Periodendauer der Grundfrequenz, τf, wird über eine Leitung 612 an einen Grund-Timer 602 gelegt. Der Grund-Timer 602 wird auf die Zeitsteuerung eines vorbestimmten Intervalls dadurch eingestellt, daß er mit einer entsprechenden Zahl geladen wird. Durch Laden des Grund-Timers 602 mit der Periodendauer τf der Grundfrequenz des Eingangs-Vokalsignals gibt der Grund- Timer 602 ein Intervall mit der gleichen Dauer vor, wie es der Grundfrequenz des Eingangssignals entspricht. Jedesmal, wenn der Grund-Timer sein Intervall steuert, wird ein Startzeiger 604 mit derjenigen Adresse des RAM 44 geladen, von der ab der Teil des Eingangs-Vokalsignals auszulesen ist.
- Wie oben beschrieben, ist der RAM 44 als kreisförmiges Feld konfiguriert, in welches die Eingangs-Vokaldaten eingespeichert werden. Ein Schreibzeiger 45 wird stets aktualisiert, um die nächste verfügbare Speicherstelle zu kennzeichnen, in der Eingangs-Vokaldaten gespeichert werden können. Das vorliegende Verfahren geht von der Annahme aus, daß die Tonhöhen- Nachweis-Unterroutine 112 (in Fig. 2 gezeigt) etwa 20 Millisekunden braucht, um die Feststellung bezüglich der Grundfrequenz des Eingangssignals abzuschließen. Der Beginn des auszulesenden Abschnitts des Eingangs-Vokalsignals läßt sich also dadurch bestimmen, daß man die in 20 Millisekunden abgetastete Datenmenge von der Adresse des Schreibzeigers 45 subtrahiert. Der Grund-Timer 602 und der Startzeiger 604 arbeiten folglich zusammen, um die Adresse im RAM 44 für den Teil des Eingangs- Vokalsignals zu bestimmen, der extrahiert werden soll.
- Der linke Tonhöhenverschieber 550 und der rechte Tonhöhenverschieber 600 multiplizieren die in dem RAM 44 gespeicherten Eingangs-Vokaldaten mit der Fensterfunktion. Jede Tonhöhenverschieber 550 und 600 empfängt die abgetasteten Eingangs-Vokaldaten über die Leitung 614 und gibt das Ergebnis über Leitungen 616 bzw. 618 aus. Ein Paar Schalter 620, 622 verbindet den Ausgang des Signalprozessorblocks 500 mit einem Paar Leitungen 56a und 56b. Die Schalter 620 und 622 werden von einem Bypass- Signal gesteuert, welches über die Leitung 624 von dem Mikroprozessor übertragen wird. Wenn eine Note nicht nachgewiesen wird (beispielsweise wegen Zischlauts, niedrigem Pegel, etc.), empfangen die Leitungen 56a und 56b die abgetasteten Eingangs-Vokaldaten von der Leitung 614 direkt, die Tonhöhenverschieber 550 und 600 werden umgangen. Wie oben angegeben, sollte die Frequenz von Zischlauten nicht verschoben werden, damit das mehrstimmige Signal einen natürlichen Klang erhält.
- Fig. 9 zeigt ein detailliertes Blockdiagramm des linken Tonhöhenverschiebers 550, wie er in Fig. 8 gezeigt ist. Wie oben erwähnt, multipliziert der Tonhöhenverschieber 550 einen Teil der abgetasteten Eingangs-Vokaldaten mit der Fensterfunktion bei mehreren Geschwindigkeiten, um die Harmoniesignale zu erzeugen. Enthalten in dem linken Tonhöhenverschieber 550 sind zwei Timer 558 und 562, die mit den Periodendauern des ersten bzw. des zweiten Harmoniesignals geladen werden. Die Timer 558 und 562 steuern ein Zeitintervall entsprechend der Periodendauer des ersten und des zweiten Harmoniesignals. Wenn der Timer 558 ein Intervall steuert, welches der Periodendauer des ersten Harmoniesignals, τh1, gleicht, wird über die Leitung 562 ein Signal zu einem Einblend-Zuordnungsblock 566 gesendet. In ähnlicher Weise wird, wenn der Timer 562 ein Zeitintervall entsprechend der Periodendauer des zweiten Harmoniesignals, τh2 steuert, über die Leitung 564 ein Signal zu dem Einblend-Zuordnungsblock 566 gesendet. Der Einblend-Zuordnungsblock 566 löst einen von vier Einblendern 568, 570, 572 und 574 aus, damit er mit dem Generieren eines Teils des mehrstimmigen Signals beginnt, indem er die abgetasteten Eingangs-Vokaldaten mit der Fensterfunktion multipliziert. Der Einblend-Zuordnungsblock 566 ist an die Einblender über einen Satz von Leitungen 566a, 566b, 566c und 566d gekoppelt.
- Enthalten in jedem der Einblender 568a, 570a, 572a und 574a sind ein Lesezeiger und ein Fensterzeiger 568b, 570b, 572b und 574b. Jedesmal, wenn ein Einblender aufgefordert wird, wird der laufende Startzeiger 604 in den Lesezeiger des ausgelösten Einblenders geladen, um die Adresse in dem RAM 44 anzugeben, von der aus die Eingangs-Vokaldaten zu lesen sind. Ebenfalls enthalten in jedem der Einblender 568, 570, 572 und 574 ist ein Fensterzeiger, der den Abschnitt der stückweisen linearen Approximation der Fensterfunktion verfolgt, der mit den Eingangs-Vokaldaten zu multiplizieren ist. Der linke Tonhöhenverschieber 550 enthält außerdem eine Fenstertabelle 578, die eine mathematische Beschreibung der stückweisen linearen Approximation des Fensters beinhaltet. Die Fenstertabelle 578 ist mit jedem der Einblender über eine Leitung 580 gekoppelt. Jeder in dem Tonhöhenverschieber enthaltene Einblender arbeitet auf gleiche Weise. Daher gilt die nachfolgende Beschreibung des Einblenders 568 gleichermaßen auch für die anderen Einblender.
- Wenn das erste Harmoniesignal so ausgewählt wird, daß es eine Oktav unterhalb des Eingangs-Vokalsignals liegt, entspräche die Periodendauer τh1 dem zweifachen der Periodendauer τf. Wenn der Timer 558 den Wert τh1 erreicht, wählt der Einblend-Zuordnungsblock 566 einen verfügbaren Einblender aus, damit er damit beginnt, die abgetasteten Eingangs-Vokaldaten mit der Fensterfunktion zu multiplizieren. Angenommen, es stünde der Einblender 568 zur Verfügung; dann wird der in dem Einblender 568 enthaltene Lesezeiger aktualisiert, damit er der Adresse des RAM 44 entspricht, aus der die Daten gelesen werden sollen. Dann beginnt der Einblender 568 damit, die abgetasteten Eingangs-Vokaldaten, die über die Leitung 614 erhalten werden, mit der von der Leitung 580 erhaltenen Fensterfunktion in dem Multiplizierblock 569 zu multiplizieren. Die Ergebnisse der Multiplikation werden über eine Leitung 576a an einen Addierer 582 gegeben, wo das Ergebnis mit den Ausgangssignalen der übrigen Einblender kombiniert wird, um auf der Leitung 616 ein Signal zu bilden, welches dem Ausgangssignal des linken Tonhöhenverschiebers entspricht.
- Weil die Fensterfunktion so gewählt ist, daß ihre Dauer dem Zweifachen der Grundfrequenz des Eingangs-Vokalsignals entspricht, sind zwei Einblender erforderlich, um ein Signal mit einer Frequenz zu erzeugen, die der Frequenz des Eingangs-Vokalsignals entspricht. Lediglich ein Einblender ist erforderlich, um ein Harmoniesignal zu erzeugen, welches eine Oktave niedriger liegt als das Eingangs-Vokalsignal, während vier Einblender erforderlich sind, um ein Harmoniesignal zu erzeugen, dessen Frequenz doppelt so groß ist wie die des Eingangs-Vokalsignals. Es ist möglich, die Fensterfunktion so zu ändern, daß sie eine Dauer aufweist, die weniger beträgt als zwei Periodendauern des Eingangs-Vokalsignals, um die Anzahl der erforderlichen Einblender zu reduzieren, allerdings resultierte eine solche Verringerung der Fensterdauer in einer entsprechenden Abnahme der Tonqualität. Der Vorgang des Multiplizierens eines Hanning-Fensters mit einem Signal zwecks Erzeugung von Harmonien des Signals ist vollständig in der oben angesprochenen Schrift von Lent beschrieben und mithin aus dem Stand der Technik bekannt.
- Fig. 10 zeigt eine graphische Darstellung eines Eingangs-Vokalsignals 500, welches eine Reihe von vorab definierten Schwellenwerten kreuzt, die durch die Unterroutine 112 benutzt werden, um einen Zischlaut nachzuweisen. Wie oben erwähnt, werden Zischlaute nachgewiesen durch Schwankungen großer Amplitude mit hoher Frequenz. Das Verfahren der Tonhöhen-Ermittlung, wie es in der US-A-4 688 464 offenbart ist, wird durch die vorliegende Erfindung abgewandelt. Zwei Schwellenwerte von 50% des positiven Spitzenwerts und 50% des negativen Spitzenwerts werden festgelegt. Das frühere Verfahren wird ebenfalls so abgeändert, daß eine Aufzeichnung jedesmal dann erfolgt, wenn das Eingangs-Vokalsignal die folgende Sequenz abschließt: Queren des hohen Schwellenwerts, des Schwellenwerts bei 50% des Spitzenwerts und erneutes Queren des hohen Schwellenwerts. In Fig. 10 ist diese Sequenz an den Punkten A und C als abgeschlossen dargestellt. In ähnlicher Weise zeichnet das Verfahren jedesmal auf, wenn das Eingangs-Vokalsignal die Sequenz des Querens des unteren Schwellenwerts, des Schwellenwerts bei 50% der negativen Spitze und des erneuten Querens des unteren Schwellenwerts abschließt. Abschlüsse dieser Sequenz sind an den Punkten B und D dargestellt. Wenn mehr als 16 bis 160 dieser Ereignisse in weniger als 8 Millisekunden auftreten, nimmt das Verfahren an, daß ein Zischlaut nachgewiesen wurde, so daß die Bypass-Leitung für die beiden Tonhöhenverschieber freigegeben und damit die Tonhöhenverschieber in der oben beschriebenen Weise umgangen werden. Bei der bevorzugten Ausführungsform ist die Anzahl von Sequenzen zum Melden eines Zischlauts von dem Musiker einstellbar.
- Obschon die vorliegende Erfindung in Verbindung mit ihren bevorzugten Ausführungsbeispielen offenbart wurde, erkennt der Fachmann, daß Änderungen der bevorzugten Ausführungsformen in Form und Inhalt möglich sind, ohne von dem Schutzumfang der Erfindung abzuweichen. Es ist also beabsichtigt, daß der Schutzumfang lediglich durch die beigefügten Ansprüche beschränkt wird.
Claims (20)
1. Verfahren zum Verschieben der Tonhöhe eines digital abgetasteten
Signals durch Extrahieren eines Abschnitts des Signals und durch
Kopieren des extrahierten Abschnitts mit einer vorbestimmten
Geschwindigkeit, umfassend:
Analysieren eines Eingangs-Vokalsignals und Generieren eines oder
mehrerer Harmoniesignale, die eine vorab definierte musikalische
Beziehung zu dem Eingangs-Vokalsignal aufweisen, was wiederum
folgende Schritte beinhaltet:
Abtasten des Eingangs-Vokalsignals, um eine digitale Darstellung des
Eingangs-Vokalsignals zu schaffen;
wiederholtes Analysieren der digitalen Darstellung des
Eingangs-Vokalsignals, um eine laufende Abschätzung der Grundfrequenz des Eingangs-
Vokalsignals zu bestimmen;
Testen der laufenden Abschätzung basierend auf einem Satz von
Parametern, die aus einer früheren Abschätzung der Grundfrequenz abgeleitet
sind, um festzustellen, ob die laufende Abschätzung eine korrekte
Abschätzung der Grundfrequenz ist;
Auswählen einer oder mehrerer harmonischer Frequenzen, die das eine
oder die mehreren Harmoniesignale definieren, basierend auf der
laufenden Abschätzung der Grundfrequenz des Eingangs-Vokalsignals;
Extrahieren eines Abschnitts der digitalen Darstellung des Eingangs-
Vokalsignals; und
Kopieren des extrahierten Abschnitts der digitalen Darstellung des
Eingangs-Vokalsignals mit einer oder mehreren Geschwindigkeiten, bei
denen es sich um eine Funktion der harmonischen Frequenzen handelt,
welche das eine oder die mehreren Harmoniesignale definieren.
2. Verfahren nach Anspruch 1, bei dem der Schritt des Testens der
laufenden Abschätzung der Grundfrequenz weiterhin den Schritt
umfaßt:
Feststellen, ob die laufende Abschätzung der Grundfrequenz sich in
einem Bereich von Frequenzen befindet, die zu der früheren
Abschätzung in Beziehung stehen.
3. Verfahren nach Anspruch 2, weiterhin umfassend den Schritt:
Feststellen, ob ein ganzzahliges Vielfaches oder ein Bruchteil der
laufenden Abschätzung in dem Bereich von Frequenzen liegt, und, falls ja,
Einstellen der laufenden Abschätzung in der Weise, daß diese innerhalb
des Bereichs von Frequenzen liegt.
4. Verfahren nach Anspruch 1, weiterhin umfassend den Schritt:
Zuordnen einer Referenznote in der Weise, daß diese der laufenden
Abschätzung der Grundfrequenz entspricht, wenn die laufende
Abschätzung die korrekte Abschätzung der Grundfrequenz des Eingangs-
Vokalsignals ist.
5. Verfahren nach Anspruch 4, bei dem das Eingangs-Vokalsignal über
mehrere Oktaven reichen kann, und wobei der Schritt des Zuweisens
einer Referenznote entsprechend der laufenden Abschätzung weiterhin
die Schritte umfaßt:
wiederholtes Erstellen einer Abschätzung der Oktave des Eingangs-
Vokalsignals;
Feststellen, ob die Abschätzung der Oktave des Eingangs-Vokalsignals
unkorrekt ist; und
Aktualisieren der Abschätzung der Oktave, falls die Abschätzung
unkorrekt ist.
6. Verfahren nach Anspruch 5, bei dem der Schritt des Feststellens,
wann die Anfangsabschätzung der Oktave inkorrekt ist, folgende Schritte
beinhaltet:
Bestimmen einer Zeitlänge, für die die Referenznote zugewiesen wurde;
Zählen der Häufigkeit, mit der die Abschätzung der Oktave des
Eingangs-Vokalsignals eine Oktave über oder unter eine
Anfangsabschätzung der Oktave schwankt;
Bestimmen einer ersten Variablen, die eine Funktion der Häufigkeit ist,
mit der die Abschätzung der Oktave des Eingangs-Vokalsignals eine
Oktave über die Anfangsabschätzung der Oktave hinaus schwankt, und
eine Funktion der Zeit ist, in der die Referenznote zugewiesen wurde;
und
Bestimmen einer zweiten Variablen, die eine Funktion der Häufigkeit
ist, mit der die Abschätzung der Oktave des Eingangs-Vokalsignals eine
Oktave unterhalb der Anfangsabschätzung der Oktave schwankt, und die
eine Funktion der Zeit ist, in der die Referenznote zugewiesen wurde.
7. Verfahren nach Anspruch 6, umfassend die Schritte:
Aktualisieren der Anfangsabschätzung der Oktave des
Eingangs-Vokalsignals, Gleichsetzen mit einer Oktave oberhalb der Anfangsabschätzung
der Oktave, wenn die erste Variable einen ersten vorab definierten
Grenzwert übersteigt; oder
Aktualisieren der Anfangsabschätzung der Oktave des
Eingangs-Vokalsignals, Gleichsetzen mit einer Oktave unterhalb der Anfangsabschätzung
der Oktave, wenn die zweite Variable einen zweiten vorab definierten
Grenzwert überschreitet.
8. Verfahren nach Anspruch 5, bei dem der Schritt des Feststellens, ob
die Abschätzung der Oktave unkorrekt ist, folgende Schritte beinhaltet:
Berechnen einer 0-ten Verzögerungs-Autokorrelation des Eingangs-
Vokalsignals;
Berechnen einer P/2-ten Verzögerungs-Autokorrelation des Eingangs-
Vokalsignals;
Berechnen eines Verhältnisses der 0-ten und der P/2-ten Verzögerungs-
Autokorrelation des Eingangs-Vokalsignals; und
Aktualisieren der Abschätzung der Oktave des Eingangs-Vokalsignals in
der Weise, daß sie einer Oktav unterhalb der Anfangsabschätzung
gleicht, wenn das Verhältnis einen vorbestimmten Grenzwert
überschreitet.
9. Verfahren nach Anspruch 1, bei dem der Schritt des Extrahierens
eines Abschnitts der digitalen Darstellung des Eingangs-Vokalsignals den
Schritt aufweist:
Skalieren des Eingangs-Sprachsignals durch eine Fensterfunktion, um
einen Abschnitt der digitalen Darstellung des Eingangs-Vokalsignals zu
extrahieren.
10. Verfahren nach Anspruch 8, bei dem der Schritt des Skalierens des
Eingangs-Vokalsignals durch eine Fensterfunktion weiterhin den Schritt
aufweist:
Erzeugen einer stückweisen linearen Approximation eines Hanning-
Fensters mit einer Dauer, die wesentlich größer ist als eine Periode der
laufenden Abschätzung der Grundfrequenz.
11. Verfahren nach Anspruch 1, weiterhin umfassend den Schritt:
Feststellen, ob das Eingangs-Vokalsignal repräsentativ für ein Zischlaut
ist, und Generieren lediglich eines oder mehrerer Harmoniesignale,
wenn das Eingangs-Vokalsignal nicht repräsentativ für einen Zischlaut
ist.
12. Verfahren nach Anspruch 6, bei dem der Satz von Parametern, die
von einer früheren Abschätzung der Grundfrequenz abgeleitet sind,
beinhaltet:
die Zeitdauer, während der die Referenznote zugewiesen wurde;
eine Zeitdauer zwischen dem Ende einer vorausgehenden Note und der
Zuweisung der Referenznote;
ein Bereich von Frequenzen, der sich auf die vorausgehende
Abschätzung der Grundfrequenz bezieht;
einen Pegel des Eingangs-Vokalsignals.
13. System zum Verschieben der Tonhöhe eines digital abgetasteten
Signals durch Extrahieren eines Abschnitts des Signals und Kopieren des
extrahierten Abschnitts mit einer vorbestimmten Geschwindigkeit,
umfassend:
eine Vorrichtung (10) zum Analysieren eines Eingangssignals (20),
welches repräsentativ für eine Musiknote ist, um mehrere
Harmoniesignale (22) zu erzeugen, die mit dem Eingangs-Vokalsignal kombiniert
werden, um ein mehrstimmiges Signal zu erzeugen, welche ihrerseits
beinhaltet:
eine Signalverarbeitungseinrichtung (50) zum Abtasten des Eingangs-
Vokalsignals und zum Speichern des abgetasteten Eingangs-Vokalsignals
in einem digitalen Speicher (44);
einen Frequenzdetektor (40) zum Bestimmen einer laufenden
Abschätzung der Grundfrequenz des Eingabe-Vokalsignals;
eine Berechnungseinrichtung (40) zum Bestimmen der Grundfrequenz
der mehreren Harmoniesignale basierend auf der Grundfrequenz des
Eingangs-Vokalsignals, und zum Testen der laufenden Abschätzung der
Grundfrequenz basierend auf einem Satz von Parametern, die von einer
früheren Abschätzung der Grundfrequenz des Eingangs-Vokalsignals
abgeleitet sind, um zu ermitteln, ob die laufende Abschätzung eine
korrekte Abschätzung der Grundfrequenz des Eingangs-Vokalsignals ist;
mehrere Zeitgebereinrichtungen (558) zum Erzeugen von
Triggersignalen mit Frequenzen im wesentlichen gleich den Grundfrequenzen der
mehreren Harmoniesignale;
mehrere Überblendeinrichtungen (568), welche auf die Triggersignale
ansprechen und Abschnitte des Eingangs-Vokalsignals extrahieren und
die extrahierten Abschnitte mit einer Geschwindigkeit kopieren, die im
wesentlichen gleich ist der Grundfrequenz der mehreren
Harmoniesignale; und
einen Mischer (64), der so verschaltet ist, daß er die extrahierten
Abschnitte des Eingangs-Vokalsignals und das Eingangs-Vokalsignal
empfängt, um sie zur Erzeugung des mehrstimmigen Signals zu
kombinieren.
14. Vorrichtung nach Anspruch 13, bei dem die Überblendeinrichtung
(568) zum Extrahieren von Abschnitten des abgetasteten
Eingangs-Vokalsignals das abgetastete Eingangs-Vokalsignal mit einer
Fensterfunktion skalieren.
15. Vorrichtung nach Anspruch 14, weiterhin umfassend:
eine Einrichtung (40) zum Generieren einer stückweisen linearen
Approximation eines Hanning-Fensters mit einer Dauer, die länger ist als
eine Periodendauer der laufenden Abschätzung der Grundfrequenz des
Eingangs-Vokalsignals.
16. Vorrichtung nach Anspruch 13, umfassend:
eine Zischlaut-Nachweiseinrichtung (40) zum Feststellen, ob das
Eingangs-Vokalsignal repräsentativ für einen Zischlaut ist.
17. Vorrichtung nach Anspruch 16, umfassend:
einen Nebenschlußschalter (620), der auf die
Zischlaut-Nachweiseinrichtung anspricht, um die Mischeinrichtung (64) vom Empfang der
mehreren Harmoniesignale abzuhalten, so daß das mehrstimmige Signal
die Harmoniesignale dann ausschließt, wenn das Eingangs-Vokalsignal
repräsentativ für einen Zischlaut ist.
18. Vorrichtung nach Anspruch 13, bei dem das Eingangs-Vokalsignal
über mehrere Oktaven reichen kann, wobei die Berechnungseinrichtung
(40) außerdem eine Anfangsabschätzung der Oktave des
Eingangs-Vokalsignals vornimmt, um festzustellen, ob die Anfangsabschätzung
unkorrekt ist, und die Anfangsabschätzung der Oktave dann zu aktualisieren,
wenn die Anfangsabschätzung unkorrekt ist.
19. Vorrichtung nach Anspruch 18, bei der die Berechnungseinrichtung
(40) die 0-te Verzögerungs-Autokorrelation des Eingangs-Vokalsignals
und die P/2-te Verzögerungs-Autokorrelation des Eingangs-Vokalsignals
berechnet und die Anfangsabschätzung der Oktave aktualisiert, damit sie
einer Oktave unterhalb der Anfangsabschätzung gleicht, wenn ein
Verhältnis der 0-ten Verzögerungs-Autokorrelation, dividiert durch die P/2-
te Verzögerungs-Autokorrelation einen vorbestimmten Grenzwert
übersteigt.
20. Vorrichtung nach Anspruch 13, weiterhin umfassend:
eine Einrichtung (40) zum Halten der Auswahl der Harmoniesignale
ungeachtet von Schwankungen der Grundfrequenz des
Eingangs-Vokalsignals, so daß die Harmoniesignale sich nicht eher ändern, bis die
Grundfrequenzen des Eingangs-Vokalsignals sich um mehr als ein
vorbestimmtes Interval ändern.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/719,195 US5231671A (en) | 1991-06-21 | 1991-06-21 | Method and apparatus for generating vocal harmonies |
PCT/CA1992/000280 WO1994001858A1 (en) | 1991-06-21 | 1992-07-02 | Method and apparatus for generating vocal harmonies |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69222782D1 DE69222782D1 (de) | 1997-11-20 |
DE69222782T2 true DE69222782T2 (de) | 1998-02-12 |
Family
ID=24889126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69222782T Expired - Fee Related DE69222782T2 (de) | 1991-06-21 | 1992-07-02 | Verfahren und vorrichtung für die erzeugung von vokal-harmonien |
Country Status (6)
Country | Link |
---|---|
US (2) | US5231671A (de) |
EP (1) | EP0648365B1 (de) |
JP (1) | JPH08500452A (de) |
AU (1) | AU2242392A (de) |
DE (1) | DE69222782T2 (de) |
WO (1) | WO1994001858A1 (de) |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5428708A (en) * | 1991-06-21 | 1995-06-27 | Ivl Technologies Ltd. | Musical entertainment system |
US5231671A (en) * | 1991-06-21 | 1993-07-27 | Ivl Technologies, Ltd. | Method and apparatus for generating vocal harmonies |
DE4321352C2 (de) * | 1993-06-26 | 2001-09-13 | Mann & Hummel Filter | Verfahren zur Bestimmung eines Geräuschsignals aus einem Gesamtgeräusch zur Geräuschdämpfung |
JPH0816181A (ja) * | 1994-06-24 | 1996-01-19 | Roland Corp | 効果付加装置 |
US5567901A (en) * | 1995-01-18 | 1996-10-22 | Ivl Technologies Ltd. | Method and apparatus for changing the timbre and/or pitch of audio signals |
US6046395A (en) * | 1995-01-18 | 2000-04-04 | Ivl Technologies Ltd. | Method and apparatus for changing the timbre and/or pitch of audio signals |
US5712437A (en) * | 1995-02-13 | 1998-01-27 | Yamaha Corporation | Audio signal processor selectively deriving harmony part from polyphonic parts |
JP2921428B2 (ja) * | 1995-02-27 | 1999-07-19 | ヤマハ株式会社 | カラオケ装置 |
JP3246347B2 (ja) * | 1996-08-26 | 2002-01-15 | ヤマハ株式会社 | カラオケシステム |
US6081781A (en) * | 1996-09-11 | 2000-06-27 | Nippon Telegragh And Telephone Corporation | Method and apparatus for speech synthesis and program recorded medium |
JP3718919B2 (ja) * | 1996-09-26 | 2005-11-24 | ヤマハ株式会社 | カラオケ装置 |
US5860065A (en) * | 1996-10-21 | 1999-01-12 | United Microelectronics Corp. | Apparatus and method for automatically providing background music for a card message recording system |
US5897614A (en) * | 1996-12-20 | 1999-04-27 | International Business Machines Corporation | Method and apparatus for sibilant classification in a speech recognition system |
GB9627015D0 (en) * | 1996-12-28 | 1997-02-19 | Central Research Lab Ltd | Processing audio signals |
JP3910702B2 (ja) | 1997-01-20 | 2007-04-25 | ローランド株式会社 | 波形発生装置 |
JP3900580B2 (ja) * | 1997-03-24 | 2007-04-04 | ヤマハ株式会社 | カラオケ装置 |
JP3317181B2 (ja) * | 1997-03-25 | 2002-08-26 | ヤマハ株式会社 | カラオケ装置 |
US6336092B1 (en) * | 1997-04-28 | 2002-01-01 | Ivl Technologies Ltd | Targeted vocal transformation |
US6331864B1 (en) | 1997-09-23 | 2001-12-18 | Onadime, Inc. | Real-time multimedia visual programming system |
US5973252A (en) * | 1997-10-27 | 1999-10-26 | Auburn Audio Technologies, Inc. | Pitch detection and intonation correction apparatus and method |
EP0913808B1 (de) * | 1997-10-31 | 2004-09-29 | Yamaha Corporation | Audiosignalprozessor mit Ton- und Effektsteuerung |
US5969282A (en) * | 1998-07-28 | 1999-10-19 | Aureal Semiconductor, Inc. | Method and apparatus for adjusting the pitch and timbre of an input signal in a controlled manner |
US7096186B2 (en) * | 1998-09-01 | 2006-08-22 | Yamaha Corporation | Device and method for analyzing and representing sound signals in the musical notation |
US7003120B1 (en) | 1998-10-29 | 2006-02-21 | Paul Reed Smith Guitars, Inc. | Method of modifying harmonic content of a complex waveform |
JP3365354B2 (ja) | 1999-06-30 | 2003-01-08 | ヤマハ株式会社 | 音声信号または楽音信号の処理装置 |
AU2001211040A1 (en) * | 1999-10-29 | 2001-05-14 | Paul Reed Smith Guitars, Limited Partnership. (Maryland) | Method of signal shredding |
JP4416244B2 (ja) * | 1999-12-28 | 2010-02-17 | パナソニック株式会社 | 音程変換装置 |
WO2002077585A1 (en) | 2001-03-26 | 2002-10-03 | Sonic Network, Inc. | System and method for music creation and rearrangement |
JP4076887B2 (ja) * | 2003-03-24 | 2008-04-16 | ローランド株式会社 | ボコーダ装置 |
US7825321B2 (en) * | 2005-01-27 | 2010-11-02 | Synchro Arts Limited | Methods and apparatus for use in sound modification comparing time alignment data from sampled audio signals |
JP4645241B2 (ja) * | 2005-03-10 | 2011-03-09 | ヤマハ株式会社 | 音声処理装置およびプログラム |
US8168877B1 (en) * | 2006-10-02 | 2012-05-01 | Harman International Industries Canada Limited | Musical harmony generation from polyphonic audio signals |
WO2010041147A2 (en) * | 2008-10-09 | 2010-04-15 | Futureacoustic | A music or sound generation system |
US8507781B2 (en) * | 2009-06-11 | 2013-08-13 | Harman International Industries Canada Limited | Rhythm recognition from an audio signal |
US9058797B2 (en) | 2009-12-15 | 2015-06-16 | Smule, Inc. | Continuous pitch-corrected vocal capture device cooperative with content server for backing track mix |
EP2362378B1 (de) * | 2010-02-25 | 2016-06-08 | YAMAHA Corporation | Erzeugung eines harmonischen Tons |
US9601127B2 (en) | 2010-04-12 | 2017-03-21 | Smule, Inc. | Social music system and method with continuous, real-time pitch correction of vocal performance and dry vocal capture for subsequent re-rendering based on selectively applicable vocal effect(s) schedule(s) |
WO2011130325A1 (en) | 2010-04-12 | 2011-10-20 | Smule, Inc. | Continuous score-coded pitch correction and harmony generation techniques for geographically distributed glee club |
US10930256B2 (en) | 2010-04-12 | 2021-02-23 | Smule, Inc. | Social music system and method with continuous, real-time pitch correction of vocal performance and dry vocal capture for subsequent re-rendering based on selectively applicable vocal effect(s) schedule(s) |
US9866731B2 (en) | 2011-04-12 | 2018-01-09 | Smule, Inc. | Coordinating and mixing audiovisual content captured from geographically distributed performers |
US9159310B2 (en) | 2012-10-19 | 2015-10-13 | The Tc Group A/S | Musical modification effects |
US9123353B2 (en) * | 2012-12-21 | 2015-09-01 | Harman International Industries, Inc. | Dynamically adapted pitch correction based on audio input |
US9372925B2 (en) | 2013-09-19 | 2016-06-21 | Microsoft Technology Licensing, Llc | Combining audio samples by automatically adjusting sample characteristics |
US9798974B2 (en) | 2013-09-19 | 2017-10-24 | Microsoft Technology Licensing, Llc | Recommending audio sample combinations |
US9257954B2 (en) | 2013-09-19 | 2016-02-09 | Microsoft Technology Licensing, Llc | Automatic audio harmonization based on pitch distributions |
US9280313B2 (en) | 2013-09-19 | 2016-03-08 | Microsoft Technology Licensing, Llc | Automatically expanding sets of audio samples |
WO2016070080A1 (en) * | 2014-10-30 | 2016-05-06 | Godfrey Mark T | Coordinating and mixing audiovisual content captured from geographically distributed performers |
US11488569B2 (en) | 2015-06-03 | 2022-11-01 | Smule, Inc. | Audio-visual effects system for augmentation of captured performance based on content thereof |
US11032602B2 (en) | 2017-04-03 | 2021-06-08 | Smule, Inc. | Audiovisual collaboration method with latency management for wide-area broadcast |
US10275446B2 (en) * | 2015-08-26 | 2019-04-30 | International Business Machines Corporation | Linguistic based determination of text location origin |
US11310538B2 (en) | 2017-04-03 | 2022-04-19 | Smule, Inc. | Audiovisual collaboration system and method with latency management for wide-area broadcast and social media-type user interface mechanics |
JP7190284B2 (ja) * | 2018-08-28 | 2022-12-15 | ローランド株式会社 | ハーモニー生成装置およびそのプログラム |
CN117571184B (zh) * | 2024-01-17 | 2024-03-19 | 四川省公路规划勘察设计研究院有限公司 | 一种基于滑窗和聚类分析的桥梁结构索力识别方法及设备 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3539701A (en) * | 1967-07-07 | 1970-11-10 | Ursula A Milde | Electrical musical instrument |
US3929051A (en) * | 1973-10-23 | 1975-12-30 | Chicago Musical Instr Co | Multiplex harmony generator |
US3999456A (en) * | 1974-06-04 | 1976-12-28 | Matsushita Electric Industrial Co., Ltd. | Voice keying system for a voice controlled musical instrument |
US3986423A (en) * | 1974-12-11 | 1976-10-19 | Oberheim Electronics Inc. | Polyphonic music synthesizer |
CA1056504A (en) * | 1975-04-02 | 1979-06-12 | Visvaldis A. Vitols | Keyword detection in continuous speech using continuous asynchronous correlation |
US4076960A (en) * | 1976-10-27 | 1978-02-28 | Texas Instruments Incorporated | CCD speech processor |
US4279185A (en) * | 1977-06-07 | 1981-07-21 | Alonso Sydney A | Electronic music sampling techniques |
US4142066A (en) * | 1977-12-27 | 1979-02-27 | Bell Telephone Laboratories, Incorporated | Suppression of idle channel noise in delta modulation systems |
US4508002A (en) * | 1979-01-15 | 1985-04-02 | Norlin Industries | Method and apparatus for improved automatic harmonization |
US4311076A (en) * | 1980-01-07 | 1982-01-19 | Whirlpool Corporation | Electronic musical instrument with harmony generation |
US4387618A (en) * | 1980-06-11 | 1983-06-14 | Baldwin Piano & Organ Co. | Harmony generator for electronic organ |
CH657468A5 (de) * | 1981-02-25 | 1986-08-29 | Clayton Found Res | Bedienungsgeraet an einem mit wenigstens einem synthesizer versehenen elektronischen musikinstrument. |
US4464784A (en) * | 1981-04-30 | 1984-08-07 | Eventide Clockworks, Inc. | Pitch changer with glitch minimizer |
JPS58102298A (ja) * | 1981-12-14 | 1983-06-17 | キヤノン株式会社 | 電子機器 |
US4802223A (en) * | 1983-11-03 | 1989-01-31 | Texas Instruments Incorporated | Low data rate speech encoding employing syllable pitch patterns |
US5005204A (en) * | 1985-07-18 | 1991-04-02 | Raytheon Company | Digital sound synthesizer and method |
US4688464A (en) * | 1986-01-16 | 1987-08-25 | Ivl Technologies Ltd. | Pitch detection apparatus |
US4771671A (en) * | 1987-01-08 | 1988-09-20 | Breakaway Technologies, Inc. | Entertainment and creative expression device for easily playing along to background music |
US5048390A (en) * | 1987-09-03 | 1991-09-17 | Yamaha Corporation | Tone visualizing apparatus |
US4991218A (en) * | 1988-01-07 | 1991-02-05 | Yield Securities, Inc. | Digital signal processor for providing timbral change in arbitrary audio and dynamically controlled stored digital audio signals |
US4915001A (en) * | 1988-08-01 | 1990-04-10 | Homer Dillard | Voice to music converter |
US4998960A (en) * | 1988-09-30 | 1991-03-12 | Floyd Rose | Music synthesizer |
US5092216A (en) * | 1989-08-17 | 1992-03-03 | Wayne Wadhams | Method and apparatus for studying music |
US5056156A (en) * | 1989-11-30 | 1991-10-15 | United States Of America As Represented By The Administrator National Aeronautics And Space Administration | Helmet of a laminate construction of polycarbonate and polysulfone polymeric material |
US5054360A (en) * | 1990-11-01 | 1991-10-08 | International Business Machines Corporation | Method and apparatus for simultaneous output of digital audio and midi synthesized music |
US5231671A (en) * | 1991-06-21 | 1993-07-27 | Ivl Technologies, Ltd. | Method and apparatus for generating vocal harmonies |
-
1991
- 1991-06-21 US US07/719,195 patent/US5231671A/en not_active Expired - Fee Related
-
1992
- 1992-07-02 DE DE69222782T patent/DE69222782T2/de not_active Expired - Fee Related
- 1992-07-02 EP EP92914139A patent/EP0648365B1/de not_active Expired - Lifetime
- 1992-07-02 AU AU22423/92A patent/AU2242392A/en not_active Abandoned
- 1992-07-02 WO PCT/CA1992/000280 patent/WO1994001858A1/en active IP Right Grant
- 1992-07-02 JP JP6502785A patent/JPH08500452A/ja active Pending
-
1993
- 1993-03-22 US US08/034,526 patent/US5301259A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH08500452A (ja) | 1996-01-16 |
WO1994001858A1 (en) | 1994-01-20 |
EP0648365A1 (de) | 1995-04-19 |
EP0648365B1 (de) | 1997-10-15 |
US5231671A (en) | 1993-07-27 |
AU2242392A (en) | 1994-01-31 |
DE69222782D1 (de) | 1997-11-20 |
US5301259A (en) | 1994-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69222782T2 (de) | Verfahren und vorrichtung für die erzeugung von vokal-harmonien | |
DE69614938T2 (de) | Verfahren und vorrichtung zur änderung des klanges und/oder der tonhöhe von audiosignalen | |
DE69608826T2 (de) | Vorrichtung zur Verarbeitung von Audiosignalen, wobei eine harmonische Stimme von polyphonischen Stimmen abgeleitet wird | |
DE102008013172B4 (de) | Verfahren zur klangobjektorientierten Analyse und zur notenobjektorientierten Bearbeitung polyphoner Klangaufnahmen | |
DE69228211T2 (de) | Verfahren und Apparat zur Handhabung von Höhe und Dauer eines physikalischen Audiosignals | |
EP0379491B1 (de) | Tonhöhensteuerung | |
DE3788710T2 (de) | Tonsignalverarbeitungsvorrichtung mit einem digitalen Filter. | |
DE2431161C2 (de) | Tonerzeugungseinrichtung für ein elektronisches Musikinstrument | |
DE60313539T2 (de) | Vorrichtung und Verfahren zur Synthese einer singenden Stimme und Programm zur Realisierung des Verfahrens | |
DE3887809T2 (de) | Elektronisches Musikinstrument. | |
DE69129522T2 (de) | Taktsteuerung zum automatischen Spielen von Musik | |
DE60024157T2 (de) | Vorrichtung und Verfahren zur Eingabe eines Vortragstils | |
DE2711511C2 (de) | Polyphones elektronisches Musikinstrument | |
DE68925882T2 (de) | Vorrichtung und Verfahren zur Erzeugung von musikalischen Tonwellenformen | |
DE2500720C3 (de) | Elektronisches Musikinstrument | |
DE2513127C2 (de) | Verfahren zum künstlichen Erzeugen eines musikalischen Klangs | |
DE69312327T2 (de) | Vorrichtung zur musikalischen Unterhaltung | |
DE60305944T2 (de) | Verfahren zur synthese eines stationären klangsignals | |
DE3540314C2 (de) | ||
DE60218587T2 (de) | Stimmensynthetisiervorrichtung, welche dazu in der lage ist, vibratoeffekt zu synthetisierter stimme hinzuzufügen | |
DE102004033867B4 (de) | Verfahren und Vorrichtung zur rhythmischen Aufbereitung von Audiosignalen | |
DE2515524C3 (de) | Einrichtung zum elektronischen Erzeugen von Klangsignalen | |
DE29680173U1 (de) | Vorrichtung zur Änderung der Klangfarbe und/oder Tonhöhe von Tonsignalen | |
DE3249738C2 (de) | ||
DE10302448B4 (de) | Verfahren zur synchronisierten Veränderung der Tonhöhe und -länge eines Audiosignals |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |