-
HINTERGRUND
DER ERFINDUNG
-
Die
vorliegende Erfindung betrifft Musiksoftware, und insbesondere ein
System, in dem musikalische Notenschrifttechnologie mit einem einzigartigen
Leistungsgenerierungscode und einem Synthesizer integriert ist,
um eine realistische Wiedergabe von Musikpartituren bereitzustellen.
-
Musikalische
Notenschrift (der schriftliche Ausdruck von Musik) ist eine fast
universelle Sprache, die sich über
mehrere Jahrhunderte entwickelt hat, bei der die Tonlagen, Rhythmen,
Harmonien, Klangfarben, Lautbildung und andere musikalische Attribute
einer bestimmten Gruppe von Instrumenten in einer Partitur oder
einem Gesamtplan für
eine Darbietung codiert sind. Musikalische Notenschrift entstand
als ein Mittel, um Musik auf genauere und beständigere Weise zu bewahren und
zu verbreiten, als es nur durch das Gedächtnis allein möglich war.
Tatsächlich
beruht die heutige Kenntnis von Musik aus der Frühzeit ausschließlich auf
Beispielen von niedergeschriebener Notenschrift, die erhalten geblieben
sind.
-
Die
heute bekannte westliche musikalische Notenschrift hat ihre Anfänge im neunten
Jahrhundert mit der Neumenschrift der gregorianischen Choralmelodien.
Neumen waren kleine Punkte und Schnörkel, die wahrscheinlich von
den Akzentzeichen der lateinischen Sprache abgeleitet waren. Sie waren
Gedächtnishilfen,
die Veränderungen
von Tonlage innerhalb einer Melodie vorschlugen. Guido von Arezzo
führte
im 11. Jahrhundert das Konzept eines Notensystems mit Linien und
Zwischenräumen
ein, die unterschiedliche Tonlagen darstellen, die durch Buchsta bennamen
identifiziert sind. Dadurch konnte eine Tonlage genauer dargestellt
werden.
-
Rhythmische
Notenschrift wurde zuerst im 13. Jahrhundert durch die Verwendung
von rhythmischen Schwingungen bei in Notenschrift aufgezeichneten
Melodien eingeführt.
Franziskus von Köln
führte
im 13. Jahrhundert die moderne Codierungsart des rhythmischen Werts
einer Note oder Pause in das Notenschriftzeichen selbst ein. Rhythmische
Unterteilung in Gruppen, außer
Zweier- oder Dreiergruppen, wurde ungefähr zur selben Zeit von Petrus
de Cruce eingeführt.
-
Die
moderne Praxis, offene Notenköpfe
zusammen mit vollen schwarzen Notenköpfen zu verwenden, wurde im
15. Jahrhundert eingeführt,
um so Papier (den neuen Ersatz für
Pergament) vor zu viel Tinte zu schützen. Schlüssel und Versetzungszeichen
werden seit dem 16. Jahrhundert verwendet. Die Notenschrift für Partituren
(im Gegensatz zu einzelnen Partien) und auch das Notensystem mit
fünf Linien
wurden im späteren
16. Jahrhundert allgemein gebräuchlich.
Auch Ligaturen, Bindebögen
und Taktstriche wurden im 16. Jahrhundert eingeführt.
-
Das
Aufkommen von Instrumentalmusik im 17. Jahrhundert war von weiteren
Verfeinerungen der Notenschrift begleitet. Notenköpfe wurden
runder und es wurden unterschiedliche Kennzeichnungen eingeführt, um
Tempo, Betonungsart, Dynamik, Darbietungstechniken (Trillern, Doppelschläge, usw.) und
weitere Ausdrucksaspekte der Musik darzustellen.
-
Während des
18, und 19. Jahrhunderts verließ die
Musik die Kirche und den Hof und bewegte sich in eine breitere öffentliche
Arena in Form von Orchesterkonzerten, Theater, Oper, Ballett und
Kammermusik. Instrumentalensembles wur den größer und komplexer und die Trennung
zwischen Komponist und Künstler
wurde größer. Aufgrund
dessen wurde musikalische Notenschrift immer weiter verfeinert.
Im 20. Jahrhundert ist musikalische Notenschrift eine höchst ausgeklügelte, standardisierte
Sprache geworden, um exakte Anforderungen für eine Darbietung festzulegen.
-
Das
Aufkommen von Funk- und Aufzeichnungstechnologie im frühen 20.
Jahrhundert brachte neue Mittel zum Verbreiten von Musik hervor.
Obwohl Teile der ursprünglichen
Technologie, wie beispielsweise das Tonbandgerät und die Langspielplatte nach
heutigen Standards als „wenig
klangtreu" angesehen
werden, brachten sie die Musik zu einer größeren Zuhörerschaft als jemals zuvor.
-
In
der Mitte der 1980er fing die musikalische Notenschrift, die Musikverlegung
und die professionelle Audioindustrie an, eine bedeutende und grundlegende
Veränderung
zu erfahren. Seitdem haben technologische Fortschritte sowohl bei
Computerhardware als auch bei Software die Entwicklung von mehreren
Softwareprodukten ermöglicht,
die ausgelegt sind, um digitale Musikproduktion zu automatisieren.
-
Beispielsweise
haben die kontinuierliche Verbesserung bei Computergeschwindigkeit,
Speichergröße und Speicherplatz,
als auch die Verfügbarkeit
von hochqualitativen Tonkarten zu der Entwicklung von Software-Synthesizern
geführt.
Heute sind sowohl FM- als auch Abtast-Synthesizer im Allgemeinen
als Software erhältlich.
Ein weiteres Beispiel ist die Entwicklung der Emulation von akustischen
Instrumenten. Durch Verwenden der modernsten Instrumente und Materialien,
die heute auf dem Markt sind, wie beispielsweise digitale Abtast-Synthesizer,
mehrspurige Misch- und Aufzeichnungstechniken hoher Klangtreue und
aufwendig aufgezeichneter Tonproben, ist es möglich, den Klang und Effekt
eines großen Ensembles,
das komplexe Musik spielt (wie beispielsweise Orchesterwerke) in
erstaunlichem Maße
zu emulieren. Eine solche Emulation ist allerdings durch eine Reihe
von MIDI-auferlegten Einschränkungen
begrenzt.
-
Die
digitale Schnittstelle für
Musikinstrumente (MIDI, Musical Instrument Digital Interface) ist
ein kompliziertes Steuerungssystem, das in der Lage ist, die meisten
der wichtigen Parameter einer musikalischen Livedarbietung zu spezifizieren.
Digitale Leistungsgenerierer, welche aufgezeichnete Töne verwenden,
die als „Tonproben" von live Musikinstrumenten
unter MIDI-Steuerung bezeichnet werden, sind theoretisch in der
Lage, den Effekt einer Livedarbietung zu duplizieren.
-
Effektiver
Einsatz von MIDI geschieht meistens in Form von Tonfolgespeichern,
die aus Computerprogrammen bestehen, welche die Digitalsteuerungen
aufzeichnen und wieder abspielen können, die bei einer Livedarbietung
auf einem digitalen Instrument erzeugt werden. Indem dieselben Steuerungen
an das digitale Instrument zurückgesendet werden,
kann die originale Darbietung dupliziert werden. Tonfolgespeicher
ermöglichen
es, mehrere „Spuren" solcher Informationen
einzeln aufzuzeichnen, zu synchronisieren, und anderweitig zu editieren,
und sie anschließend
als eine mehrspurige Ausführung
wieder abzuspielen. Weil Keyboard-Synthesizer jeweils nur ein „Instrument" gleichzeitig spielen, ist
eine solche mehrspurige Aufzeichnung notwendig, wenn MIDI-Code verwendet
wird, um ein komplexes vielschichtiges Musikensemble zu erzeugen.
-
Während es
theoretisch möglich
ist, digitale Ausführungen
zu erzeugen, die akustische Livedarbietungen unter Verwendung eines
Tonfolgespeichers zusammen mit einem hoch entwickelten, auf Tonproben
basierten digitalen Leistungsgenerierer imitieren, gibt es eine
Anzahl von Problemen, die seine Verwendung auf diese Art begrenzen.
-
Erstens
ist das am häufigsten
zum Erzeugen solcher Ausführungen
verwendete Instrument ein MIDI-Keyboard. Ähnlich wie andere Tasteninstrumente ist
ein MIDI-Keyboard in seiner Fähigkeit
beschränkt, die
Gesamtformen, Effekte und Nuancen eines musikalischen Tons zu steuern,
weil es vorrangig als ein Auslöser
funktioniert, um den Ton zu initiieren. Ein Keyboard kann beispielsweise
den Legatoeffekt von Tonlagenveränderungen
nicht einfach erreichen, ohne den Ton „nochmals anzusetzen". Noch schwieriger
ist es, ein anhaltendes crescendo oder diminuendo innerhalb einzelner
Töne zu
erhalten. Im Gegensatz dazu behalten Orchesterblas- und Streichinstrumente
während
seiner Dauer die Kontrolle über den
Ton, wodurch ausdrucksvolle innere Veränderungen der Dynamik und Klangfarbe
möglich
sind, von denen keine mit einer Keyboard-Ausführung einfach erreicht werden
kann. Die Tatsache, dass jede Instrumentenpartie als eine getrennte
Spur aufgezeichnet werden muss, verkompliziert zweitens von einem
Moment zum anderen das Problem der dynamischen Balance unter den
unterschiedlichen Instrumenten, wenn sie zusammen wieder abgespielt
werden, insbesondere da sich die Orchesterstrukturen ändern. Infolgedessen
ist es schwierig, eine Serie von einzelnen Spuren dergestalt aufzuzeichnen, dass
sie richtig miteinander synchronisiert sind. Tonfolgespeicher ermöglichen
es, dass Spuren durch ein Verfahren ausgerichtet werden, das sich
Quantisierung nennt, allerdings entfernt Quantisierung alle ausdrucksvollen
Temponuancen von den Spuren. Darüber
hinaus sind Techniken zum Editieren dynamischer Veränderung,
dynamischer Balance, Legato/Staccatobetonung und Temponuance, die
bei den meisten Tonfolgespeichern verfügbar sind, schwerfällig und
zeitaufwendig, und machen die feinfühlige Formung der Musik nicht
einfach.
-
Des
Weiteren gibt es keinen Standard für Töne, der von einem Leistungsgenerierer
zu dem nächsten
konsistent ist. Der allgemeine MIDI-Standard stellt eine Protokollliste
von Bezeichnungen für Töne zur Verfügung, aber
die Liste ist für
ernst hafte Orchesteremulation unzureichend und überhaupt nur eine Liste von
Bezeichnungen. Bei MIDI-Instrumenten können die eigentlichen Töne sowohl
in Klangfarbe als auch Dynamik weitgehend variieren. Schließlich ist
es bei allgemeinem MIDI schwierig, eine Darbietung von einem Ensemble
mit mehr als 16 Instrumenten zu emulieren, wie beispielsweise einem
Sinfonieorchester, es sei denn, es werden mehrere Synthesizer und
zusätzliche
Ausrüstung
verwendet, und zwar aufgrund der nachfolgenden Einschränkungen:
- – MIDI-Code
unterstützt
maximal sechzehn Kanäle.
Dies ermöglicht
diskrete Steuerung von nur sechzehn verschiedenen Instrumenten (oder
Instrumenten-/Tongruppen) pro Synthesizer. Um gleichzeitig auf mehr
als sechzehn Kanäle
zugreifen zu können,
erfordern die vorbekannten Systeme, die MIDI verwenden, den Einsatz
von mehr als einem Hardware-Synthesizer, und eine MIDI-Schnittstelle,
die mehrere MIDI-Ausgänge
unterstützt.
MIDI-Code unterstützt
nicht das Laden einer Instrumententondatei, ohne sie sofort mit
einem Kanal zu verbinden. Dies erfordert, dass alle in einer einzigen
Ausführung
zu verwendenden Töne
vor einer Ausführung
in den/die Synthesizer geladen werden müssen.
- – Bei
Software-Synthesizern können
viele Instrumentenklänge,
für den
möglichen
Einsatz in Kombinationen von bis zu sechzehn gleichzeitig, geladen
werden und verfügbar
sein, aber MIDI-Code unterstützt
kein dynamisches Löschen
und Ersetzen von Instrumentenklängen,
wie es erforderlich ist. Dies verursacht auch unnötigen Speicheraufwand.
- – MIDI-Code
unterstützt
nicht die Anwendung einer Modifikation des Einsatz- oder Abklinganteils einer
Tonprobe (d.h. des Anfangs oder des Endes), ohne die ursprüngliche
gespeicherte Tonprobe zu verändern.
Die Sys teme vom Stand der Technik, die MIDI verwenden, erfordern
die Erzeugung einer neuen Tonprobe mit eingebauter Einsatz- oder
Abklinghüllkurve,
und dann das Abrufen der gesamten Tonprobe, um den gewünschten
Effekt zu erzielen.
- – MIDI-Code
ermöglicht
maximal 127 skalierte Lautstärkeeinstellungen,
welche bei niedrigeren Lautstärkepegeln
häufig
zu einer „holperigen" Lautstärkeänderung
führen,
anstatt der erwünschten
weichen Lautstärkeänderung.
- – MIDI-Code
unterstützt
Tonhöhenbeugung
nur per Kanal und nicht auf einer Einzelnotenbasis. Es kann keine
algorithmische Tonhöhenbeugung mit
MIDI implementiert werden, sondern muss als ein Korrekturparameter
in dem Synthesizer eingestellt sein. Die vorbekannten Systeme, die
MIDI verwenden, schließen
außerdem
ein Tonhöhenbeugungsrad
ein, welches die Tonhöhe
basierend auf den Bewegungen des Rades durch den Benutzer in Echtzeit
beugt.
- – MIDI-Code
unterstützt
Schwenk- und Pedalbefehle nur per Kanal und nicht auf einer Einzelnotenbasis.
-
Des
Weiteren werden mehrere Systeme musikalischer Notenschrift in C.
Boehm et al.: „Music tagging
type definitions, systems for music representation and retrieval", Euromicro Conference,
5.–7. September
2000, A. Belkin: „Macintosh
notation software: present and future", 1994, und C. Grande et al.: „The development
of the Notation interchange File Format", 1996 diskutiert. Aus WO-A-0 101 296 ist ein System
für eine
kompakte Darstellung interaktiver Daten und Übertragung der Daten über ein
Computernetz bekannt. Dieses System beruht auf der Trennung der
Daten in grafische und Multimediadatenabschnitte.
-
Angesichts
des Vorausgehenden müssen Kunden,
die hoch qualitative digitale Audioausführungen von Musikpartituren
produzieren wollen, immer noch in kostspielige Ausrüstung investieren
und sich anschließend
mit den Problemen beschäftigen, die
einzelnen Produkte über
Schnittstellen zu verbinden. Weil diese Integration zu verschiedenen
Kombinationen von Notenschriftsoftware, Tonfolgespeichern, Tonprobenbibliotheken,
Software- und Hardware-Synthesizern führt, gibt es keine Standardisierung,
die sicherstellt, dass die Erzeugung digitaler Ausführungen
von einer Arbeitsstation zu der nächsten identisch sein wird.
Vorbekannte Programme, die musikalische Ausführungen von Notenschrift ableiten,
senden Ausführungsdaten
in Form von MIDI-Befehlen entweder an einen externen MIDI-Synthesizer oder
an eine allgemeine MIDI-Tonkarte in der laufenden Computerarbeitsstation
mit dem Ergebnis, dass keine Ausgabestandardisierung garantiert
werden kann. Deswegen müssen
Leute, die es wünschen, eine
digitale musikalische Ausführung
mit jemandem an einem anderen Ort zu teilen, eine Aufzeichnung erzeugen
und sie versenden.
-
Das
Senden einer digitalen Tonaufzeichnung über das Internet führt wegen
der Übertragung
von musikalischen Ausführungsdateien,
die notorisch groß sind,
zu einem weiteren Problem. Beim Stand der Technik gibt es nichts,
um die Übertragung
einer Ausführungsdatei
mit geringem Platzbedarf zu unterstützen, die ein hoch qualitatives
identisches Audio nur von musikalischen Notenschriftdaten erzeugt.
Es gibt keinen Mechanismus, um realistische digitale musikalische
Ausführungen
von komplexer, vielschichtiger Musik mit automatischer Interpretation der
Nuancen, die in musikalischer Notenschrift ausgedrückt sind,
auf der Ebene eines einzelnen Instruments mittels eines einzigen
Personalcomputers bereitzustellen.
-
Deswegen
besteht auf dem Gebiet ein Bedarf an einem Musikausführungssystem,
das auf dem universell verstandenen System musikalischer Notenschrift
beruht, das nicht durch MIDI-Codebeschränkungen gebunden ist, sodass
es eine realistische Wiedergabe von Partituren auf einer Einzelnotenbasis
bereitstellen kann, während
es der Bedienperson erlaubt, sich auf musikalische Kreation und nicht
auf das Editieren von Ton zu konzentrieren. Auf dem Gebiet besteht
ein weiterer Bedarf an einem musikalischen Ausführungssystem, in das spezielle Synthesizerfunktionen
einbezogen sind, um auf Steuerungsanforderungen außerhalb
der MIDI-Codebeschränkungen
zu reagieren, und das spezielle Editierungsfunktionen bereitstellt,
um der Bedienperson die Handhabung dieser Steuerungen zu ermöglichen.
Zusätzlich
besteht ein Bedarf auf dem Gebiet, all diese Funktionen in einer
einzelnen Softwareanwendung bereitzustellen, sodass die Notwendigkeit von
mehreren externen Hardwarekomponenten entfällt.
-
KURZE ZUSAMMENFASSUNG
DER VORLIEGENDEN ERFINDUNG
-
Die
vorliegende Erfindung stellt ein System zum Erzeugen und Ausführen einer
Musikpartitur bereit, das eine Benutzerschnittstelle einschließt, die
es einem Benutzer ermöglicht,
die Musikpartitur einzugeben und anzuzeigen, eine Datenbank, in
der eine Datenstruktur gespeichert ist, welche grafische Symbole
für musikalische
Zeichen in der Musikpartitur und Leistungsgenerierungsdaten unterstützt, die
aus den grafischen Symbolen abgeleitet sind, einen musikalischen
Zeichensatz, der ein Nummerierungssystem einschließt, das
den musikalischen Zeichen ent spricht, einen Kompilierer, der die
Leistungsgenerierungsdaten aus der Datenbank erzeugt, einen Leistungsgenerierer,
welcher die Leistungsgenerierungsdaten aus dem Kompilierer liest
und die Ausführung der
Musikpartitur synchronisiert, und einen Synthesizer, der auf Befehle
des Leistungsgenerierers antwortet und Daten für akustische Wiedergabe der
Musikpartitur erzeugt, die an eine Tonerzeugungsvorrichtung wie
beispielsweise eine Tonkarte ausgegeben werden. Der Synthesizer
erzeugt die Daten für akustische
Wiedergabe aus einer Bibliothek digitalisierter Tonproben.
-
Die
vorliegende Erfindung stellt des Weiteren Software zum Erzeugen
und Spielen musikalischer Notenschrift bereit. Die Software ist
konfiguriert, um einen Computer anzuweisen, dass er es einem Benutzer
ermöglicht,
die Musikpartitur in eine Schnittstelle einzugeben, welche die Musikpartitur
anzeigt, in einer Datenbank eine Datenstruktur zu speichern, welche
grafische Symbole für
musikalische Zeichen in der Musikpartitur und Leistungsgenerierungsdaten unterstützt, die
aus den grafischen Symbolen abgeleitet werden, Leistungsgenerierungsdaten
aus Daten in der Datenbank zu erzeugen, die Leistungsgenerierungsdaten
aus dem Kompilierer zu lesen und die Ausführung der Musikpartitur mit
der Schnittstelle zu synchronisieren, Daten für akustische Wiedergabe der
Musikpartitur aus einer Bibliothek digitaler Tonproben zu erzeugen
und die Daten für
akustische Wiedergabe an eine Tonerzeugungsvorrichtung auszugeben.
-
AUSFÜHRLICHE
BESCHREIBUNG DER ERFINDUNG
-
Die
vorliegende Erfindung schafft ein System, in dem musikalische Notenschrifttechnologie
mit einem einzigartigen Leistungsgenerierungscode und einem Synthesizer
mit zuvor geladenen Musikinstrumentendateien integriert ist, um
realistische Wiedergabe von Musikpartituren bereitzustellen. Durch
die Erfindung sind diese Merkmale in einer einzigen Softwareanwendung
integriert, was bis zum heutigen Tage nur durch den Einsatz getrennter
Synthesizer, Mischpulte und weiterer Ausrüstung erzielt worden ist. Die
vorliegende Erfindung automatisiert Leistungsgenerierung, sodass
es für
die Bedienperson nicht mehr nötig
ist, ein Experte der Verwendung mehrerer Ausrüstungsteile zu sein. Infolgedessen verlangt
die vorliegende Erfindung von der Bedienperson nur, dass sie Grundkenntnisse
von Computern und musikalischer Notenschrift hat.
-
Die
Software und das System der vorliegenden Erfindung umfassen sechs
allgemeine Komponenten: eine musikalische Eingabeschnittstelle zum Erzeugen
und Anzeigen von Musikpartiturdateien (der „Editor"), eine Datenstruktur, die zum Codieren musikalischer
Grafik- und Ausführungsdaten
optimiert ist (die „Datenbank"), einen musikalischen
Zeichensatz, der sowohl für
grafische Darstellung als auch zum Codieren der Musikausführung optimiert ist
(der „Zeichensatz"), einen Satz von
Routinen, welche Ausführungscodedaten
aus Daten in der Datenbank erzeugen (der „Kompilierer"), einen Leistungsgenerierer,
welcher die Ausführungscodedaten
liest und die Bildschirmanzeige der Ausführung mit dem Ton synchronisiert
(„Leistungsgenerierer"), und einen Software-Synthesizer
(der „Synthesizer").
-
Editor
-
Nun
ist unter Bezugnahme auf den Editor diese Komponente der Software
eine intuitive Benutzerschnittstelle zum Erzeugen und Anzeigen einer Musikpartitur.
Eine Musikpartitur ist in Seiten, Systeme, Notenlinien und Striche
(Takte) organisiert. Der Editor der vorliegenden Erfindung folgt
derselben logischen Organisation, außer dass die Partitur nur aus einem
einzigen kontinuierlichen System be steht, welches wie gewünscht vor
dem Druck in getrennte Systeme und Seiten formatiert werden kann.
-
Der
Editor organisiert eine Partitur vertikal in Notensystembereiche
und Notensystemtonstufen. Ein Notensystembereich ist eine vertikale
Einheit, welche normalerweise ein musikalisches Notensystem aus
einer oder mehreren musikalischen Linien einschließt. Eine
Notensystemtonstufe ist die besondere Linie oder der Zwischenraum
in einem Notensystem, wo eine Note oder ein anderes musikalisches
Zeichen platziert sein kann. Die horizontale Organisation des Editors
besteht aus Strichen und Spalten. Ein Strich ist eine rhythmische
Einheit, die üblicherweise
der Taktstruktur entspricht, die durch ein zeitliches Vorzeichen
angezeigt und zu beiden Seiten durch einen Taktstrich abgegrenzt
ist. Eine Spalte ist eine unsichtbare horizontale Einheit, die der
Höhe einer
Notensystemtonstufe entspricht. Spalten verlaufen vertikal durch
das ganze System und sind die Basis sowohl für die vertikale Ausrichtung
von musikalischen Zeichen als auch für die Festlegung von Zeitereignissen
in der Partitur.
-
In
den Editor sind standardmäßige textverarbeitungsartige
Blockfunktionen wie Ausschneiden, Kopieren, Einfügen, spezielles Einfügen, Löschen und
Entfernen als auch textverarbeitungsartige Formatierungsfunktionen
wie Blocksatz und Seitenumbruch einbezogen. Außerdem sind in den Editor musikspezifische
Blockfunktionen, wie Überlagern, Transponieren,
Hinzufügen
oder Entfernen von Balken, Umkehren oder Optimieren von Notenhalsrichtungen,
und Teilen oder Kombinieren von Stimmen, usw., einbezogen. Des Weiteren
sind musikspezifische Formatierungsoptionen bereitgestellt, wie
beispielsweise Tonlagenumschreiben, Akkordoptimierung, vertikale
Ausrichtung, Änderung
des rhythmischen Werts, Einfügen
von fehlenden Pausen und Zeitvorzeichen, Platzierung von Liedertexten
und intelligente Gewinnung einzelner Instrumenten- oder Singstimmenpartien.
Während
sich der Cursor in dem Kundenarbeitsbereich des Editors befindet, ändert er
sich, auf einer vom Kontext abhängigen
Basis zwischen einem blinkenden Musikzeichen, das auf logische Stellen
in dem Musiknotensystembereich („Spalten" und „Notensystemtonstufen") begrenzt ist, und
einem nicht begrenzten Zeigercursor.
-
Im
Gegensatz zu vorbekannten musikalischen Softwaresystemen ermöglicht der
Editor der vorliegenden Erfindung der Bedienperson, auf ein Zeichen
in einer Partitur doppelzuklicken, sodass dieses Zeichen veranlasst
wird, automatisch zu einem neuen Cursorzeichen zu werden. Dadurch
ist es möglich,
komplexe Cursorzeichen, wie beispielsweise Akkorde, Oktaven, und
Terzen in den Cursor auszuwählen,
was als Cursorzeichenmetamorphose bezeichnet wird. Infolgedessen
muss die Bedienperson nicht jede Note in dem Akkord einzeln eingeben
oder einen Akkord kopieren, einfügen
und verlagern, was beides mehrere Tastenanschläge verlangt.
-
Der
Editor der vorliegenden Erfindung stellt außerdem ein automatisches Berechnungsmerkmal für Zeitsteuerung
zur Verfügung,
das eine Eingabe der Bedienperson einer gewünschten verstrichenen Zeit
für eine
Musikpassage akzeptiert. Dies ist beispielsweise für die Filmindustrie
sehr wichtig, wenn es notwendig ist, die Geschwindigkeit von musikalischen
Darbietungen dergestalt zu berechnen, dass die Musik mit bestimmten „Höhepunkten" in Spielfilmen,
Fernsehen und Video koordiniert ist. Die vorbekannten Praktiken
involvieren, dass sich der Komponist den Geschwindigkeiten von verschiedenen
Musikabschnitten unter Verwendung von Metronomangaben in der Partitur
annähert.
Bei der Erzeugung von Tonspuren benutzen Musiker diese Angaben als Führung, um
zeitgenau bei „Höhepunkten" anzukommen. Häufig bedarf
es mehrerer Aufzeichnungen bis die richtigen Geschwindigkeiten erreicht
sind und eine zeitlich korrekte Aufzeichnung erstellt ist. Indem das
exakte benötigte
Tempo berechnet wird, besteht durch den Editor der vorliegenden
Erfindung keine Notwendigkeit, mehrere Aufzeichnungen zu erstellen.
Der bewegliche Wiedergabecursor für eine vorher berechnete Wie dergabesitzung
kann als eine Führung
für den
Dirigenten während
Aufzeichnungssitzungen mit Livemusikern verwendet werden. Dieses
Merkmal ermöglicht
es einem Dirigenten, die live dirigierte Darbietung richtig zu synchronisieren,
ohne dass herkömmliche
Metronomspuren, Klopfen oder Magnetbandgeräte notwendig sind.
-
Im
Gegensatz zum Stand der Technik werden Temponuancen sogar beibehalten,
wenn das Tempo insgesamt verändert
wird, weil das Tempo durch Einstellen der eigentlichen Notenwerte
gesteuert wird, anstatt durch die Taktgebergeschwindigkeit (wie
bei Standard – MIDI).
Der Editor verwendet vorzugsweise eine konstante Taktgebergeschwindigkeit, die
einer Metronomeinstellung von 140 gleich kommt. Die eigentlichen
Notenwerte werden dann gemäß dem notierten
Tempo angepasst (d.h. Viertelnoten bei einem andante sind länger als
bei einem allegro). Alle Tempobeziehungen werden so behandelt, einschließlich Haltezeichen,
gehaltenen Noten, Atembeistrichen und Pausenzeichen. Die Taktgebergeschwindigkeit
kann dann allgemein verändert
werden, wobei alle internen Tempobeziehungen beibehalten werden.
-
Nachdem
der Benutzer die gewünschte
verstrichene Zeit für
eine Musikpassage eingibt, werden allgemeine Berechnungen auf der
Basis der gespeicherten Zeitdauer von jedem zeitgesteuerten Ereignis
innerhalb einer ausgewählten
Passage durchgeführt,
wodurch variable Geschwindigkeiten innerhalb der Abschnitte (wie
Ritardandos, Accelerandos, a Tempi) beibehalten werden, falls vorhanden,
um die korrekte Zeitsteuerung des gesamten Abschnitts zu erreichen.
Abhängig
von Benutzerpräferenz
können Metronommarkierungen
entweder automatisch aktualisiert werden, um die korrigierten Tempi
widerzuspiegeln, oder sie können,
nur für
die Wiedergabe beibehalten und „versteckt" gehalten werden. Der Editor berechnet
und speichert die Zeitdauer von jedem musikalischen Ereignis vorzugsweise
in Einheiten von 1/44100 Sekunde. Jede gespeicherte Zeitdauer eines
zeitgesteuerten Ereignisses wird anschließend um einen Faktor (x = aktuelle
Zeitdauer einer Passage/gewünschte
Zeitdauer einer Passage) berichtigt, um eine berichtigte gesamte
Zeitdauer der ausgewählten
Passage zu erhalten. Eine Zeitorientierungsstatuszeile in der Schnittstelle
kann verstrichene Minuten, Sekunden und SMPTE-Rahmen oder verstrichene
Minuten, Sekunden und Hundertstelsekunden für den entsprechenden Notenschriftbereich
anzeigen.
-
Der
Editor der vorliegenden Erfindung stellt des Weiteren ein Verfahren
zum direkten Editieren bestimmter Ausführungsaspekte einer einzelnen
Note, eines Akkords oder einer musikalischen Passage, wie beispielsweise
dem Einsatz, der Lautstärkenhüllkurve,
dem Vibratoeinsatz, der Trillergeschwindigkeit, des staccato, der
Legatobindung, usw., bereit. Dies wird durch Bereitstellen einer
grafischen Darstellung erreicht, welche sowohl verstrichene Zeit
als auch Anwendungsgrade der Hüllkurve
zeigt. Das Editierfenster wird vorzugsweise für eine Anzahl von Mikro-Editierfunktionen
gemeinsam genutzt. Ein Beispiel der Anordnung für die Benutzerschnittstelle
ist in 1 gezeigt.
-
Der
Editor stellt außerdem
ein Verfahren zum direkten Editieren von Schwenkbewegung oder Ausrichtung
auf eine einzelne Note, einen Akkord oder eine Musikpassage bereit.
Der Editor unterstützt
das Schwenken auf zwei und vier Kanälen. Die Benutzerschnittstelle
kann die Zeitdauer in Notenwerteinheiten durch die eigentliche Benutzereingabezeile
anzeigen, wie in 2 gezeigt.
-
Vorbekannte
Musiksoftwaresysteme unterstützen
die Eingabe von MIDI-Code und automatische Übersetzung von MIDI-Code in
Musiknotenschrift in Echtzeit. Diese Systeme ermöglichen es dem Benutzer Eingabeparameter
(Impuls, Unterteilung, Geschwindigkeit, Anzahl von Taktstrichen,
Anfangs- und Endpunkte) zu definieren und anschließend Musik
zeitlich zu einer Serie von rhythmischen Metronom- schlägen, die
zu Synchronisierungszwecken gebraucht werden, zu spielen. Zuvor
eingegebene Musik kann auch während
der Eingabe wiedergegeben werden, wobei das Metronom in diesen Fall ausgestellt
sein kann, wenn es für
Synchronisierungszwecke unnötig
ist. Allerdings erschweren diese vorbekannten Systeme die Eingabe
von Tuplets (oder rhythmischen Unterteilungen des Impulses, die durch
Eingeklammern eines Bereichs gekennzeichnet sind, wodurch die Anzahl
der Teilungen des Impulses angezeigt ist). Insbesondere wandeln
die vorbekannten Systeme normalerweise Tuplets in technisch korrekte,
jedoch höchst
unlesbare Notenschrift um, wodurch auch häufig kleine Abweichungen im Rhythmus
notiert werden, die der Benutzer nicht beabsichtigte.
-
Der
Editor der vorliegenden Erfindung überwindet diesen Nachteil,
wobei er immer noch eingehendes MIDI in musikalische Notenschrift
in Echtzeit übersetzt
und MIDI-Standarddateien importiert und sie in Notenschrift umwandelt.
Speziell ermöglicht der
Editor die Eingabe von Musikdaten über ein MIDI-Instrument auf
einer Taktschlagbasis, wobei die Bedienperson jeden Taktschlagpunkt
durch Drücken eines
Markierungsschlüssels
oder eines Pedals bestimmt. Im Gegensatz zum Stand der Technik,
wo der Benutzer jede Noteneingabe gemäß einer externen Metronomspur
zeitlich steuern muss, ermöglicht
dieses Verfahren dem Benutzer, in Musiksegmenten mit irgendeinem
Tempo zu spielen, solange er dieses Tempo während dieses Eingabesegments
durchgängig
beibehält.
Dieses Verfahren weist den Vorteil auf, dass jede Anzahl von Unterteilungen,
Tuplets, usw., eingegeben und korrekt notiert werden kann.
-
Datenbank
-
Die
Datenbank ist die Kerndatenstruktur des Softwaresystems der vorliegenden
Erfindung, die in präziser
Form die Informationen zum Schreiben der Partitur auf einem Bildschirm
oder einem Drucker und/oder zum Erzeugen einer musikalischen Ausführung enthält. Insbesondere
stellt die Datenbank der vorliegenden Erfindung eine ausgeklügelte Datenstruktur
bereit, welche die grafischen Symbole und Informationen unterstützt, die
Bestandteil einer standardmäßigen Musikpartitur
sind, als auch die Leistungsgenerierungsinformationen, die durch
die grafischen Informationen impliziert sind und durch Livemusiker
im Verlauf des Interpretierens der grafischen Symbole und Informationen
in einer Partitur produziert werden.
-
Die
Codeeingaben der Datenstruktur haben die Form von 16-Bit-Worten,
im Allgemeinen in der Reihenfolge des niedrigstwertigen Bits (LSB)
zum höchstwertigen
Bit (MSB), wie folgt:
- – 0000h(0)-003Fh (63) sind
Spaltennotensystemmarkierer.
- – 0040h
(64)-00FFh (255) sind spezielle Markierer.
- – 0100h
(256)-0FEFFh (65279) sind Zeichenidentifizierungen mit Notensystemtonstufen.
- – 0FF00h
(65280)-0FFFFh (65535) sind Datenworte. Nur das LSB ist das Datum.
- – Zeichenidentifizierungen
sind zu jeweils 256 „seitenweise" angeordnet.
- – Zeichenidentifizierungen
sind die niedrigstwertigen 10 Bits des Zwei-Byte-Worts. Die höchstwertigen
6 Bits sind die Notensystemtonstufen.
- – einzelne
Zeichen bestehen aus: Zeichenidentifizierung und Notensystemtonstufe,
kombiniert zu einem einzigen 16-Bit-Wort.
-
In
der Datenbank werden spezielle Markierer verwendet, um logische
Spalten und Notensystembereiche, als auch besondere Bedingungen,
wie beispielsweise den Abschluss eines Grafik- oder Ausführungsobjektes,
abzugrenzen. Weitere Markierer können
verwendet werden, um Pakete zu identifizieren, die aus Datenstrukturen
bestehen, welche Grafik- und/oder Ausführungsinformationen enthalten, die
zu logischen Einheiten organisiert sind. Pakete ermöglichen,
dass musikalische Objekte definiert und beim Editieren einfach manipuliert
werden können,
und stellen Informationen sowohl zum Schreiben auf dem Bildschirm
als auch für
die musikalische Ausführung
bereit. Notwendige Trennspalten sind durch Breiten und spaltenmäßige Verschiebungen bestimmt
und werden verwendet, um Abstand zwi schen benachbarten Objekten
bereitzustellen. Ausrichtungssteuerung und Kollisionssteuerung sind Funktionen,
die geeignetes Positionieren von Objekten und Begleitzeichen im
Verhältnis
zueinander jeweils vertikal und horizontal bestimmen.
-
Im
Gegensatz zu vorbekannten Musiksoftwaresystemen benötigt die
Datenbank der vorliegenden Erfindung nur wenig Platz, sodass sie
einfach gespeichert und per E-Mail an andere Arbeitsstationen gesendet
werden kann, wo die Ausführungsdaten
in Echtzeit abgeleitet werden können,
um genau dieselben Ausführungen
wie auf der ursprünglichen Arbeitsstation
zu erzeugen. Daher geht diese Datenbank auf das Problem der Übertragung
ein, das bei den vorbekannten Musikdateiformaten, wie beispielsweise
.WAV und .MP3, besteht. Diese Dateitypen geben identische Ausführungen
auf jeder Arbeitsstation wieder, aber sie sind äußerst groß und schwierig zu speichern
und zu transportieren.
-
Zeichensatz
-
Der
Zeichensatz der vorliegenden Erfindung ist ein typengetreuer musikalischer
Unicode-Zeichensatz, der für
grafische musikalische Darstellung und musikalische Ausführungscodierung
optimal ist. Insbesondere besteht der Zeichensatz aus einem logischen
Nummerierungssystem, das musikalischen Zeichen und Glyphen entspricht,
die schnell zu zusammengesetzten musikalischen Zeichen dergestalt verbunden
werden können,
dass die Beziehungen zwischen den musikalischen Symbolen direkt
in dem Nummerierungssystem widergespiegelt werden. Der Zeichensatz
erleichtert außerdem
mathematische Berechnungen (wie beispielsweise für Transposition, Ausrichtung
oder Rhythmusänderungen),
welche Manipulation dieser Glyphen beinhalten: Hexadezimalcodes
werden jedem der Glyphen zugeordnet, die die mathematischen Berechnungen
unterstützen. Solch
ein Hexadezimalprotokoll kann gemäß der folgenden Beispiele strukturiert
sein:
- 0
- Rechteck (für Rasterkalibrierung)
- 1
- Vertikale Linie (für Notensystemlinienkalibrierung)
- 2
- Vertikale Taktstrichlinie
(nicht druckend)
- 3
- Linke nicht druckende
Klammer
- 4
- Rechte nicht druckende
Klammer
- 5
- Nicht druckendes MIDI-Korrektur
Symbol
- 6
- Nicht druckendes MIDI-Kanalsymbol
(7-folgende)
reserviert
- 100
- Einfacher Taktstrich
- 101
- Doppelter Taktstrich
- 102
- Vorderer Taktstrich
- 103
- Ende Taktstrich
- 104
- Notenhalsverlängerung
nach oben, 1 Tonlage
- 105
- Notenhalsverlängerung
nach oben, 2 Tonlagen
- 106
- Notenhalsverlängerung
nach oben, 3 Tonlagen
- 107
- Notenhalsverlängerung
nach oben, 4 Tonlagen
- 108
- Notenhalsverlängerung
nach oben, 5 Tonlagen
- 109
- Notenhalsverlängerung
nach oben, 6 Tonlagen
- 10A
- Notenhalsverlängerung
nach oben, 7 Tonlagen
- 10B
- Notenhalsverlängerung
nach oben, 8 Tonlagen
- 10C
- Notenhalsverlängerung
nach unten, 1 Tonlage
- 10D
- Notenhalsverlängerung
nach unten, 2 Tonlagen
- 10E
- Notenhalsverlängerung
nach unten, 3 Tonlagen
-
Kompilierer
-
Die
Kompiliererkomponente der vorliegenden Erfindung besteht aus einem
Satz von Routinen, der einen Ausführungscode aus den Daten in
der vorstehend beschriebenen Datenbank erzeugt. Ganz speziell interpretiert
der Kompilierer direkt die musikalischen Symbole, künstlerischen
Interpretationsanweisungen, „Mikro-Editierungs"-Anweisungen zum Notenformen
und weitere Angaben, die in der Datenbank codiert sind, wendet kontextsensitive
künstlerische
Interpretationen an, die nicht durch Symbole und/oder Anweisungen
angezeigt sind, und erzeugt einen Leistungsgenerierungscode für den Synthesizer,
der nachstehend beschrieben wird.
-
Das
Codeformat zur Leistungsgenerierung ist ähnlich dem MIDI-Codeprotokoll,
schließt
aber die folgenden Verbesserungen ein, um die Einschränkungen
bei MIDI-Standard anzusprechen:
- – Der Code
hat die Form einer einspurigen Ereignissequenz. Alle Befehle, die
gleichzeitig erfolgen sollen, werden miteinander gruppiert, und
einer jeden solchen Gruppe folgt ein einziger Zeitsteuerungswert.
- – Programmänderungsbefehle
haben drei Bytes. Das Befehl-Byte ist 0C0h. Das erste Datenbyte
ist die Kanalnummer (0–127),
das das zweite und dritte Datenbyte bilden eine 14-Bit Programmnummer.
Diese Verbesserung stellt bis zu 128 Kanäle und bis zu 16384 Programmnummern
bereit.
- – Programmvorladungsbefehle
werden wie Programmänderungsbefehle
formatiert, außer
dass das Befehl-Byte 0C1h, anstatt 0C0h ist. Diese Verbesserung
ermöglicht,
dass Programme in den Speicher geladen werden, kurz bevor sie benötigt werden.
- – Programmannullierungsbefehle
sind genau dieselben wie Programmänderungsbefehle, außer dass
das Befehl-Byte 0C2h anstatt 0C0h ist. Diese Verbesserung ermöglicht,
dass Programme aus dem Speicher freigegeben werden, wenn sie nicht
mehr benötigt
werden.
- – Note-Ein
Befehle haben vier Bytes. Das Befehl-Byte ist 90h. Das erste Datenbyte
ist die Kanalnummer. Das zweite Datenbyte ist die Tonlagennummer.
Das dritte Datenbyte spezifiziert Tonumfangsparameter, einschließlich Betonungsart und
gesamte dynamische Form. Diese Verbesserung unterstützt Tonumfangsformen
von einzelnen Noten.
- – Note-Aus
Befehle haben vier Bytes. Das Befehl-Byte ist 91h. Das erste Datenbyte
ist die Kanalnummer. Das zweite Datenbyte ist die Tonlagen nummer.
Das dritte Datenbyte spezifiziert die Abklingform. Diese Verbesserung
unterstützt
Tonumfangsformen beim Freigeben der Note, einschließlich Überblenden
zu der nächsten
Note für Legatoverbindung.
- – Kanallautstärkebefehle
haben vier Bytes. Das Befehl-Byte ist 0B0h. Das erste Datenbyte
ist die Kanalnummer. Das zweite und dritte Datenbyte bilden einen
14-Bit Lautstärkewert.
Diese Verbesserung stellt einen viel breiteren Bereich zur Lautstärkesteuerung
als MIDI bereit, wodurch „holprige" Veränderungen
insbesondere bei niedrigeren Lautstärken beseitigt werden.
- – Einzelne
Lautstärkebefehle
haben fünf
Bytes. Das Befehl-Byte ist 0A0h. Das erste Datenbyte ist der Kanal.
Das zweite und dritte Datenbyte bilden einen 14-Bit Lautstärkewert.
Das vierte Datenbyte ist die einzelne Tonlagennummer. Dies ersetzt den
Geschwindigkeitsbefehl in der MIDI-Spezifikation, um die Lautstärkesteuerung
einzelner Noten zu ermöglichen.
- – Kanal-Tonhöhenbeugungsbefehle
haben vier Bytes. Das Befehl-Byte ist 0B1h. Das erste Datenbyte
ist die Kanalnummer. Das zweite Datenbyte bestimmt, ob es sich um
ein einfaches Wiederabstimmen der Tonlage (0) handelt oder um einen vorbestimmten
algorithmischen Vorgang wie beispielsweise ein Hinüberziehen,
Abfallen oder eine Legato-Tonlagenverbindung.
Das dritte Datenbyte ist der Abstimmwert, als eine 7-Bit-Nummer mit Vorzeichen.
Diese Verbesserung unterstützt algorithmisches
Tonhöhenbeugungsformen.
- – Einzelne
Tonhöhenbeugungsbefehle
haben fünf Bytes.
Das Befehl-Byte ist 0A1h. Das erste Datenbyte ist die Kanalnummer.
Das zweite Datenbyte be stimmt, ob es sich um ein einfaches Wiederabstimmen
der Tonlage (0) handelt oder um einen algorithmischen Vorgang wie
beispielsweise ein Hinüberziehen,
Abfallen oder eine Legato-Tonlagenverbindung. Das dritte Datenbyte
ist der Abstimmwert, als eine 7-Bit-Nummer mit Vorzeichen. Das vierte
Datenbyte ist die Tonlagennummer. Dies ermöglicht Unterstützung von
algorithmischem Tonhöhenbeugungsformen
einzelner Noten.
- – Kanalschwenkbefehle
haben vier Bytes. Das Befehl-Byte ist 0B2h. Das erste Datenbyte
ist die Kanalnummer. Das zweite Datenbyte bestimmt die rechts/links
Position, und das dritte Datenbyte bestimmt die vorne/hinten Position
des Tons. Diese Verbesserung unterstützt algorithmisches Raumklangeffektschwenken
(feststehend und in Bewegung).
- – Einzelne
Schwenkbefehle haben fünf
Bytes. Das Befehl-Byte ist 0A2h. Das erste Datenbyte ist die Kanalnummer.
Das zweite Datenbyte bestimmt die rechts/links Position, und das
dritte Datenbyte bestimmt die vorne/hinten Position des Tons. Das
vierte Datenbyte ist die Tonlagennummer. Diese Verbesserung wendet
Raumklangeffektschwenken auf einzelne Noten an.
- – Kanalpedalbefehle
haben drei Bytes. Das Befehl-Byte ist 0B3h. Das erste Datenbyte
ist die Kanalnummer. Das zweite Datenbyte hat entweder den Wert
von 0 (Pedal aus) oder 1 (Pedal ein).
- – Einzelne
Pedalbefehle haben drei Bytes. Das Befehl-Byte ist 0A3h. Das erste
Datenbyte ist die Kanalnummer. Das zweite Datenbyte hat entweder
den Wert von 0 (Pedal aus) oder 1 (Pedal ein). Das dritte Datenbyte
wählt die
einzelne Tonlage aus, auf die das Pedal angewendet werden soll. Diese
Verbesserung wendet Pedalfähigkeit
für einzelne
Noten an.
- – Spezielle
Mikro-Editierungskanalbefehle haben drei Bytes. Das Befehl-Byte ist 0B4h. Das
erste Datenbyte ist die Kanalnummer. Das zweite Datenbyte bestimmt
das spezifische Mikro-Editierungsformat. Diese Verbesserung ermöglicht es, eine
Anzahl von digitalen Verarbeitungstechniken anzuwenden.
- – Einzelne
Mikro-Editierungsbefehle haben vier Bytes. Das Befehl-Byte ist 0B4h.
Das erste Datenbyte ist die Kanalnummer. Das zweite Datenbyte bestimmt
das spezifische Mikro-Editierungsformat. Das dritte Datenbyte ist
die Tonlagennummer. Diese Verbesserung ermöglicht es, digitale Verarbeitungstechniken
auf einer Einzelnotenbasis anzuwenden.
- – Zeitsteuerungsbefehle
sind folgendermaßen: 0F0h,
gefolgt von drei Datenbytes, die verkettet sind, um einen 21-Bit
Zeitsteuerungswert zu bilden (bis zu 2097151 = die Anzahl von digitalen Tonproben
in 47,5 Sekunden bei 44100 Hz). Es wird angemerkt, dass ein Zeitsteuerungsbefehl tatsächlich die
Anzahl von digitalen Tonproben ist, die bei 44,1 kHz verarbeitet
werden. Diese Verbesserung ermöglicht
Präzisionszeitsteuerung unabhängig von
dem Computertaktgeber und unterstützt direkt die Erzeugung von
WAVE-Dateien.
- – Die
Wiedergabezeitsteuerung wird durch Einstellen der eigentlichen Notenwerte
bestimmt, anstatt der Taktgebergeschwindigkeit (wie bei MIDI-Standard). Die Erfindung
verwendet eine konstante Geschwindigkeit gleichwertig der Anzahl von
digitalen Tonproben, die bei 44,1 kHz verarbeitet werden sollen.
Infolgedessen entspricht eine Zeitdauer von einer Sekunde einem
Wert von 44.100. Die Erfindung passt einzelne Notenwerte gemäß dem notierten
Tempo an (d.h. Viertelnoten sind bei einer langsamen Geschwindigkeit
länger als
Viertelnoten bei einer schnellen Geschwindigkeit). Alle Tempobeziehungen
werden auf diese Weise behandelt, einschließlich der Haltezeichen, getragenen
Noten, Atembeistriche und Pausenzeichen. Diese Verbesserung ermöglicht,
dass die Wiedergabegeschwindigkeit allgemein verändert werden kann, während alle
internen Tempobe- ziehungen beibehalten werden.
- – Es
gibt auch einen Fünf-Byte
Zeitsteuerungsbefehl (0F1h), der bei Berechnungen für SMPTE und
sonstiger Funktionssynchronisierung der Zeitsteuerung verwendet
wird.
- – Die
Erfindung interpretiert arpeggio, fingerfertiges tremolando, Hinüberziehen,
glissando, Gruppen von getragenem accelerando und ritardando, Portamentosymbole,
Trillern, Mordents, umgekehrte Mordents, staccato und andere Betonungen,
und Atemzeichensymbole in einen Leistungsgenerierungscode, einschließlich automatischer
Auswahl von MIDI-Korrekturänderungen, falls
erforderlich.
- – Automatische
Auswahl von instrumentenspezifischen Korrekturänderungen, unter Verwendung der
Instrumentennamen, Ausführungsrichtungen (wie
beispielsweise pizzicato, Saite mit dem Holz des Bogens streichen,
usw.) und Notenschriftsymbole, die staccato, marcato, Betonung oder legato
angeben.
-
Während vorbekannte
Softwareprogramme für
Musiknotierung eine begrenzte MIDI-Wiedergabe der Musikpartitur
erzeugen, ist infolgedessen das Übertragen
der Partitur durch die vorliegende Erfindung in einen Ausführungscode
einzigartig in Bezug auf Anzahl und Verschiedenartigkeit der Musiksymbole,
die sie übersetzt,
und in Bezug auf die Qualität der
Ausführung,
die dadurch erzeugt wird.
-
Leistungsgenerierer
-
Der
Leistungsgenerierer liest die proprietäre Ausführungscodedatei, die durch
den Kompilierer erzeugt wird, und sendet Befehle an den Software-Synthesizer
und die Komponente des Editors zum Schreiben auf dem Bildschirm
in geeigneten Zeitsteuerungsintervallen, sodass die Partitur und
ein Bewegungscursor mit der Wiedergabe synchronisiert angezeigt
werden können.
Im Allgemeinen kann die Zeitsteuerung der Ausführungen aus vier möglichen Quellen
stammen: (1) dem internen Zeitsteuerungscode, (2) dem externen MIDI-Zeitcode
(SMPTE), (3) der Benutzereingabe über die Computertastatur oder über ein
MIDI-Keyboard und (4) den Zeitsteuerungsinformationen, die während einer
vorhergehenden benutzergesteuerten Sitzung aufgenommen wurden. Der
Leistungsgenerierer schließt
außerdem
Steuerungen ein, welche es dem Benutzer ermöglichen, zu irgendeiner Stelle
in der Partitur zu springen und von dort aus die Wiedergabe zu starten,
und/oder beliebige Instrumente aus der Wiedergabe auszuschließen, um
gewünschte
Instrumentenkombinationen auszuwählen.
-
Wenn
externer SMPTE-Code verwendet wird um die Zeitsteuerung zu steuern,
bestimmt der Leistungsgenerierer die genaue Position der Musik im
Verhältnis
zu dem Video, wenn das Video innerhalb der musikalischen Einsatzangabe
beginnt, oder er wartet auf den Anfang der Einsatzangabe, wenn das
Video früher
beginnt.
-
Wie
vorstehend erwähnt,
ermöglicht
der Leistungsgenerierer dem Benutzer außerdem, die, Zeitsteuerung
einer Ausführung
in Echtzeit zu steuern. Dies kann erreicht werden, indem der Benutzer speziell
dazu vorgesehene Tasten in Verbindung mit einem speziellen Musikbereich
in der Partitur drückt, der
die Rhythmen enthält,
die zum Steuern der Ausführung
benötigt
werden. Benutzer können
den speziellen Musikbereich erzeugen oder editieren, damit er ihren
eigenen Bedürfnissen
entspricht. Infolgedessen ermöglicht
dieses Merkmal jedem trainierten Musiker intuitive Kontrolle über das
Tempo in Echtzeit, ohne dass er notwendigerweise das Keyboard gut beherrschen
oder Erfahrung mit Tonfolgespeichergeräten haben muss.
-
Es
gibt zwei Betriebsarten, in denen dieses Merkmal betrieben werden
kann. Bei der normalen Betriebsart initiiert jeder Tastendruck sofort
das nächste „Ereignis". Wenn ein Tastendruck
früh erfolgt, übergeht
die Ausführung
alle dazwischenliegenden musikalischen Ereignisse; wenn ein Tastendruck
spät erfolgt,
wartet die Ausführung
auf das nächste
Ereignis, wobei beliebige Noten eingeschaltet sind. Dies ermöglicht absolute
Benutzersteuerung über
des Tempos auf einer Ereignisbasis. Bei der „vorsichtigen" Betriebsart stören gedrückte Tasten den
laufenden Musikfluss nicht, sondern haben eine kumulierte Auswirkung
auf das Tempo über
eine Aufeinanderfolge von mehreren Ereignissen. Spezielle Steuerungen
unterstützen
außerdem
wiederholte Passagen und „Improvisieren
bis bereit", und
stellen während
einer Wiedergabe eine einfache Umstellung von Benutzersteuerung
auf automatische interne Taktgebersteuerung (und umgekehrt) bereit.
-
Einige
zusätzliche
Merkmale des Leistungsgenerierers schließen die Integration aller Interpretationen
von rubato ein, die in die Musikpartitur innerhalb der Tempofluktuationen
eingebaut sind, die durch vom Benutzer gedrückte Tasten erzeugt werden,
und einen Musiksteuerungs-Notensystembereich, der es dem Benutzer
erlaubt, die exakte Steuerung von Rhythmen im Voraus einzustellen.
Dies erlaubt bei Bedarf Variationen zwischen Taktschlägen und
Unterteilungen von Taktschlägen.
-
Wie
vorstehend aufgeführt,
können
die Zeitsteuerungsinformationen aus Daten stammen, die während einer
vorhergehenden benutzergesteuerten Sitzung aufgezeichnet wurden.
Dabei ist die Zeitsteuerung von allen Benutzer-Tastenanschlägen aus
der ursprünglichen
Sitzung zur späteren
Benutzung als eine automatische Auslösungssteuerung gespeichert,
die eine identisch zeitgesteuerte Ausführung wiedergibt.
-
Synthesizer
-
Der
Softwaresynthesizer antwortet auf Befehle des Leistungsgenerierers.
Er erzeugt zuerst digitale Daten für die akustische Wiedergabe,
indem er sie aus einer Bibliothek von digitalen Tonproben herauszieht.
Die Tonprobenbibliothek ist eine umfassende Sammlung von digitalen
Aufzeichnungen einzelner Tonlagen (Einzelnoten), die von orchestralen
und anderen akustischen Instrumenten gespielt werden. Diese Klänge sind
aufgezeichnet und stellen das „Rohmaterial" dar, das verwendet
wird um die musikalischen Ausführungen
zu erzeugen. Das Protokoll für
diese vorkonfigurierten abgetasteten musikalischen Klänge wird
automatisch von der Notierung selbst abgeleitet und schließt, abhängig von
dem musikalischen Kontext; die Verwendung von verschiedenen Einsätzen, Loslassen,
Ausführungstechniken und
dynamischem Formen einzelner Noten ein.
-
Der
Synthesizer sendet dann die digitalen Daten zu einem direkten Speicherzugriffspuffer,
der gemeinsam mit der Computertonkarte benutzt wird. Die Tonkarte
wandelt die digitalen Informationen in analogen Ton um, der im Stereo-
oder Quadrophonie- oder im Orchesterplatzmodus wiedergegeben werden
kann. Allerdings erfordert die vorliegende Erfindung, im Gegensatz
zu vorbekannten Softwaresystemen, keine Audiowiedergabe, um eine
WAVE- oder MP3-Tondatei zu erzeugen. Stattdessen können WAVE-
oder MP3-Tondateien direkt auf die Platte gespeichert werden.
-
Bei
der vorliegenden Erfindung wird außerdem ein Satz von Verarbeitungsfiltern
und Mischern auf die digital aufgezeichneten musikalischen Tonproben
angewendet, die als Instrumentendateien als Reaktion auf Befehle
in dem Leistungsgenerierungscode gespeichert sind. Dies führt zu Steuerungen von
einzelner Tonlage, Lautstärke,
Schwenkung, Tonhöhenbeugung,
Pedal und Hüllkurve, über einen Verarbeitungs-„Zyklus", der bis zu drei
16-Bit digitale Tonproben in Stereo abhängig von dem gewählten Ausgabemodus
produziert. Einzelne Tonproben und feststehende Tonlagenparameter
werden durch Empfang von Note-Ein Befehlen „aktiviert" und durch Note-Aus Befehle „deaktiviert", oder durch Vervollständigen des
digitalen Inhalts von nicht schleifenförmigen Tonproben. Während des
Verarbeitungszyklus wird jede aktive Tonprobe zuerst durch ein Tonlagenfilter
und anschließend
durch ein Lautstärkefilter
verarbeitet. Die Filterparameter sind für jede aktive Tonprobe einzigartig
und schließen
feste Korrekturparameter und variable Tonhöhenbeugungs- und Lautstärkeänderungen
ein, die von eingehenden Kanal- und
Einzelnotenbefehlen stammen und von der Anwendung spezieller voreingestellter
algorithmischer Parametersteuerungen. Der Ausgang des Lautstärkefilters
wird dann an Schwenkmischer gesendet, wo er für Schwenken verarbeitet und
mit dem Ausgang anderer aktiver Tonproben gemischt wird. Bei Abschluss
des Verarbeitungszyklus wird die daraus resultierende Mischung an
maximal drei Hilfspuffer geschickt und dann an die Tonkarte weitergeleitet.
-
Der
Synthesizer der vorliegenden Erfindung kann, im Gegensatz zu vorbekannten
Systemen, vier getrennte Kanäle
zur Erzeugung eines Raumklangeffektformats und sechs getrennte Kanalausgänge zum
Emulieren von Instrumentenplatzierung in speziellen Sitzanordnungen
für große Ensembles
unterstützen.
Der Synthesizer unterstützt
auch einen „aktiven" Partiturwiedergabemodus,
in welchem ein Hilfspuffer aufrechterhalten wird und der Synthesizer weit
im voraus vor jedem Ereignis Zeitsteuerungsinformationen für jedes
Ereignis empfängt.
Die Instrumentenpuffer werden dynamisch als Antwort auf Instrumentenänderungsbefehle
in dem Leistungsgenerierungscode erzeugt. Dieses Merkmal ermöglicht, dass
der Puffer weit im voraus bereit ist und deswegen die Latenzzeit
reduziert. Der Synthesizer schließt auch ein automatisches Überblendungsmerkmal
ein, das verwendet wird, um eine Legato-Verbindung zwischen aufeinander
folgenden Noten in derselben Stimme zu erreichen. Legato-Überblendung
wird durch den Kompilierer aus Informationen in der Partitur bestimmt.
-
Dementsprechend
ist in der vorliegenden Erfindung musikalische Notenschrifttechnologie
mit einem einzigartigen Leistungsgenerierungscode und einem Synthesizer
integriert, der mit musikalischen Instrumentendateien vorgeladen
ist, um eine realistische Wiedergabe von Musikpartituren bereitzustellen.
Der Benutzer ist in der Lage, Partituren zu erzeugen und wiederzugeben,
ohne dass separate Synthesizer, Mischpulte und weitere Ausrüstung notwendig
sind.
-
Bestimmte
Veränderungen
und Verbesserungen werden den Fachleuten beim Lesen der vorhergehenden
Beschreibung einfallen. Beispielsweise ist der Leistungsgenerierungscode
nicht auf die aufgelisteten Beispiele beschränkt. Stattdessen kann eine
unbegrenzte Anzahl von Codes entwickelt werden, um viele verschiedene
Klangarten darzustellen.