-
Querverweise auf verwandte Anmeldungen
-
Diese Anmeldung beansprucht die Priorität der US-Patentanmeldung mit der Seriennummer 12/881,061 mit dem Titel ”GRAPHICAL USER INTERFACE FOR MUSIC SEQUENCE PROGRAMMING” (Grafische Benutzerschnittstelle für die Programmierung von Musiksequenzen), eingereicht am 13. September 2010, welche hiermit durch Verweis in ihrer Gesamtheit einbezogen wird.
-
Gebiet
-
Das Folgende bezieht sich auf eine grafische Benutzerschnittstelle für die Programmierung von musikalischen Sequenzen.
-
Hintergrund
-
Wenn ein Nutzer einer Digital Audio Workstation (DAW) ein musikalisches Muster, wie beispielsweise ein komplexes Schlagzeugmuster kreieren möchte, kann er die MIDI-Programmierung verwenden und/oder Audioschleifen arrangieren. Allerdings erfordert die Verwendung der MIDI-Programmierung und/oder das Arrangieren von Audioschleifen sowohl fundiertes Fachwissen in der MIDI- und Audiobearbeitung, als auch einen gewissenmusikalischen Hintergrund einschließlich Kenntnissen über komplexe Rhythmen, um musikalisch zufriedenstellende Ergebnisse, in denen alle Elemente einer Sequenz zusammenpassen, zu erzielen.
-
Daher können Nutzer, insbesondere Anfänger, von einem Verfahren und einem System zum Präsentieren einer grafischen Benutzerschnittstelle profitieren, die es einem Nutzer ermöglicht, schnell eine musikalische Sequenz, in der alle Elemente der Sequenz musikalisch zusammenpassen, zu programmieren, ohne eine Expertise in der Programmierung von Musiksequenzen zu haben. Darüber hinaus können erfahrene Sequenzprogrammierer von einem schnellen und effizienten Arbeitsablauf zum Kreieren von Musiksequenzen profitieren.
-
Zusammenfassung
-
Offenbart sind Systeme, Verfahren, und nichtflüchtige computerlesbare Speichermedien zum Präsentieren einer grafischen Benutzerschnittstelle, die es einem Nutzer erlaubt, Symbole innerhalb eines Rasters zu arrangieren, um musikalische Sequenzen zu programmieren.
-
Ein Beispiel eines grafischen Programmierungsschnittstellensystems umfasst einen Prozessor. Eine gerasterte Matrix, festgelegt durch eine Vielzahl von Koordinatenachsen, mit auswählbaren Matrixpositionen, wird auf einem Anzeigegerät angezeigt. Mehrere bewegliche Objektsymbole, wobei jede ein Objekt mit einem vorbestimmten Ausgangssound repräsentiert, werden auch auf dem Anzeigegerät angezeigt. In einem Aspekt ist eine einzelne Objektdatei verknüpft mit jeder Matrixposition auf der gerasterten Matrix. Sobald ein Nutzer in diesem Aspekt ein Objektsymbol auf eine Matrixposition platziert, löst der Prozessor den vorbestimmten Ausgangssound aus, der mit dem Objektsymbol verknüpft ist, entsprechend der Objektdatei, die mit der Matrixposition verknüpft ist, auf der das Objektsymbol platziert ist und gibt den verarbeiteten Sound an ein Ausgangsgerät aus. Dies ermöglicht es einem Nutzer, musikalische Sequenzen zu programmieren, indem er ein oder mehrere Objektsymbole jeweils auf die auswählbaren Matrixpositionen platziert.
-
In einem weiteren Aspekt ist eine Vielzahl von Objektdateien mit jeder Matrixposition verknüpft. In diesem Aspekt ist jede der Vielzahl von Objektdateien, die mit jeder Matrixposition verknüpft sind, mit einem Symbol verknüpft. Sobald ein Nutzer in diesem Aspekt ein Objektsymbol auf einer Matrixposition platziert, löst der Prozessor den vorbestimmten Ausgangssound aus, der mit dem Objektsymbol verknüpft ist, entsprechend der Objektdatei, die mit der Matrixposition und dem Objektsymbol verknüpft ist, und gibt den verarbeiteten Sound an ein Ausgangsgerät aus.
-
Die Vielzahl von Objektdateien ist organisiert oder klassifiziert, so dass verschiedene Positionen entlang einer Koordinatenachse mit verschiedenen Eigenschaften der Objektdateien korrespondieren. Die Objektdateien sind in einem Speichergerät gespeichert.
-
In einem Aspekt sind die Objektdateien MIDI-Muster oder Audioschleifenmuster. In einem anderen Aspekt repräsentiert jedes Objektsymbol eine Komponente eines Schlagzeugs. In einem anderen Aspekt ist eine Eigenschaft der Objektdatei ein rhythmisches Muster von der Objektdatei. In einem anderen Aspekt wird das rhythmische Muster entlang einer Richtung einer ersten Koordinatenachse der gerasterten Matrix zunehmend komplexer. In einem anderen Aspekt ist eine Eigenschaft der Objektdatei für jedes Objekt die Intensität der Noten in der Objektdatei. In einem anderen Aspekt nimmt die Intensität der Objektdatei entlang einer Richtung einer zweiten Koordinatenachse der gerasterten Matrix immer mehr zu. In einem anderen Aspekt ist die Vielzahl von Objektdateien Schallwellendateien.
-
Viele andere Aspekte und Beispiele werden deutlicher mit der folgenden Offenbarung.
-
Kurze Beschreibung der Zeichnungen
-
Es wird jetzt Bezug auf die beigefügten Zeichnungen genommen, um ein umfangreicheres Verständnis der beispielhaften Ausführungsformen zu ermöglichen. Diese Zeichnungen sollten nicht als begrenzend ausgelegt werden, sondern sollen ausschließlich als Beispiel dienen.
-
1 stellt Hardwarekomponenten dar, die mit einer Ausführungsform eines Systems verknüpft sind;
-
2A stellt eine grafische Benutzerschnittstelle zum Programmieren einer musikalischen Sequenz in einer ersten Konfiguration dar;
-
2B stellt die grafische Benutzerschnittstelle zum Programmieren einer musikalischen Sequenz in einer zweiten Konfiguration dar;
-
2C stellt die grafische Benutzerschnittstelle zum Programmieren einer musikalischen Sequenz in einer dritten Konfiguration dar;
-
2D stellt die grafische Benutzerschnittstelle zum Programmieren einer musikalischen Sequenz in einer vierten Konfiguration dar;
-
3 ist ein Flussdiagramm zum Bereitstellen eines grafischen Programmierungsschnittstellensystems für einen Nutzer, in dem ein einzelnes MIDI-Muster mit einer Rasterposition auf einer Matrix verknüpft ist; und
-
4 ist ein Flussdiagramm zum Bereitstellen eines grafischen Programmierungsschnittstellensystems für einen Nutzer, in dem mehrere MIDI-Muster mit einer Rasterposition auf einer Matrix verknüpft sind.
-
Detaillierte Beschreibung
-
Das Verfahren, System und computerlesbares Medium zum Bereitstellen einer grafischen Benutzerschnittstelle zum Programmieren von Sequenzen kann auf einem Computer implementiert sein. Der Computer kann ein datenverarbeitendes System sein, das zum Speichern und/oder Ausführen von Programmcodes geeignet ist. Der Computer kann mindestens einen Prozessor beinhalten, der direkt oder indirekt mit den Speicherelementen über einen Systembus gekoppelt ist. Die Speicherelemente können lokalen Speicher, der während der tatsächlichen Ausführung des Programmcodes eingesetzt wird, Massenspeicher und Zwischenspeicher, der temporären Speicher von mindestens einigen Programmcodes bietet, um die Häufigkeit, mit der Codes vom Massenspeicher während der Ausführung abgerufen werden müssen, zu reduzieren, umfassen. Eingabe-/Ausgabe- oder I/O-Geräte (einschließlich aber nicht begrenzt auf Tastatur, Display, Zeigegeräte etc.) können entweder direkt oder über dazwischenliegende I/O-Steuerungen an das System gekoppelt sein. Netzwerkadapter können auch an das System gekoppelt sein, um es dem datenverarbeitenden System zu ermöglichen, mit anderen datenverarbeitenden Systemen oder entfernten Druckern oder Speichervorrichtungen durch dazwischenliegende private oder öffentliche Netzwerke gekoppelt zu werden. Modems, Kabelmodems und Ethernet-Karten sind nur wenige der derzeit verfügbaren Typen von Netzwerkadaptern. In einer oder mehreren Ausführungsformen kann der Computer ein Desktopcomputer, Laptopcomputer oder ein dediziertes Gerät sein.
-
1 stellt die Basishardwarekomponenten dar, die mit der Systemausführungsform der offenbarten Technologie verknüpft sind. Wie in 1 gezeigt umfasst ein beispielhaftes System ein Universalcomputergerät 100, umfassend einen Prozessor oder eine Prozessoreinheit (CPU) 120 und einen Systembus 110, der verschiedene Systemkomponenten einschließlich des Systemspeichers, wie beispielsweise den Nur-Lese-Speicher (Read-Only-Memory, ROM) 140 und Speicher mit wahlfreiem Zugriff (Speicher mit wahlfreiem Zugriff, RAM) 150 mit der Prozessoreinheit 120 koppelt. Andere Systemspeicher 130 können auch zur Verwendung verfügbar sein. Es wird darauf hingewiesen, dass die Erfindung auf einem Computergerät mit mehr als einer CPU 120 oder auf einer Gruppe oder einem Cluster von Computergeräten, die miteinander vernetzt sind, um eine größere verarbeitende Kapazität zu bieten, betrieben werden kann. Das Systembus 110 kann jedes von mehreren Typen von Busstrukturen sein, einschließlich einem Speicherbus oder Speichersteuerung, einem peripheren Bus und einem lokalen Bus unter Verwendung irgendeiner der Vielzahl von Busarchitekturen. Ein Basis-Eingabe/Ausgabe-System (BIOS) gespeichert im ROM 140 oder Ähnlichem, kann die Basisroutine zur Verfügung stellen, die dabei hilft Information zwischen den Elementen innerhalb des Computergeräts 100, wie beispielsweise während des Hochfahrens, zur Verfügung zu stellen. Das Computergerät 100 umfasst außerdem Speichergeräte, wie beispielsweise ein Festplattenlaufwerk 160, ein Magnetplattenlaufwerk, ein optisches Laufwerk, ein Magnetbandlaufwerk oder Ähnliches. Das Speichergerät 160 ist mit dem Systembus 110 durch eine Laufwerkschnittstelle verbunden. Laufwerke und die assoziierten computerlesbaren Medien bieten die nichtflüchtige Speicherung von computerlesbaren Anweisungen, Datenstrukturen, Programmmodulen und anderen Daten für das Computergerät 100. Die Basiskomponenten sind dem Fachmann bekannt und geeignete Variationen sind vorgesehen, abhängig von der Art des Geräts, wie beispielsweise ob das Gerät ein kleines, handgehaltenes Computergerät, ein Desktopcomputer oder ein Computerserver ist.
-
Obwohl die hier beschriebene beispielhafte Umgebung Festplatten einsetzt, ist darauf hinzuweisen, dass es dem Fachmann bewusst ist, dass jede andere Art von computerlesbaren Medien, die Daten speichern können, die durch einen Computer zugänglich sind, wie beispielsweise magnetische Kassetten, Flash-Memory-Karten, digitale flüchtige Diskette, Kartuschen, Speicher mit wahlfreiem Zugriff (RAMs), Nur-Lese-Speicher (ROM), ein Kabel oder kabelloses Signal umfassend einen Bitstrom oder Ähnliches ebenfalls in der beispielhaften operierenden Umgebung verwendet werden können.
-
Um dem Nutzer die Interaktion mit dem Computergerät 100 zu ermöglichen, repräsentiert ein Eingabegerät 190 beliebig viele Eingabemechanismen, wie beispielsweise einen berührungssensitiven Bildschirm für Gesten oder grafische Eingaben, Beschleunigungsmesser, Tastatur, Maus, Bewegungseingabe, Sprache usw. Das Ausgabegerät 170 kann auch ein oder mehrere einer Anzahl von Ausgabemechanismen sein, die dem Fachmann bekannt sind, wie beispielsweise ein Display oder Lautsprecher. In manchen Fällen ermöglichen es multimediale Systeme einem Nutzer, mehrere Arten von Eingaben bereitzustellen, um mit dem Computergerät 100 zu kommunizieren. Die Kommunikationsschnittstelle 180 leitet und verwaltet im Allgemeinen die Nutzereingabe und die Systemausgabe. Es gibt keine Beschränkung der offenbarten Technologie dahingehend, dass sie auf einer bestimmten Hardware-Anordnung betrieben werden muss und daher können die Basismerkmale hier einfach ausgewechselt werden durch verbesserte Hardware oder Firmware-Anordnung wie sie entwickelt werden.
-
Zur deutlicheren Erklärung wird die illustrative Systemausführungsform als individuelle funktionale Blöcke (einschließlich funktionale Blöcke bezeichnet als ein ”Prozessor”) umfassend präsentiert. Die Funktionen, die diese Blöcke repräsentieren, können durch die Verwendung von entweder gemeinsamer oder dedizierter Hardware zur Verfügung gestellt werden, einschließlich aber nicht begrenzt auf Hardware, die in der Lage ist, Software auszuführen. Zum Beispiel können die Funktionen von einem oder mehreren Prozessoren, die in 1 gezeigt sind, durch einen einzelnen gemeinsamen Prozessor oder mehrere Prozessoren zur Verfügung gestellt werden. (Die Verwendung des Begriffs ”Prozessor” sollte nicht derart ausgelegt werden, dass es sich ausschließlich auf Hardware bezieht, die in der Lage ist, Software auszuführen.) Illustrative Ausführungsformen können Mikroprozessor- und/oder Digitalsignalprozessor(DSP)-Hardware, Nur-Lese-Speicher (ROM) zum Speichern von Software, die die unten beschriebenen Operationen durchführt, und Speicher mit wahlfreiem Zugriff (RAM) zum Speichern von Ergebnissen umfassen. Ausführungsformen von Hardware mit sehr hohem Integrationsgrad (Very large scale integration, VLSI) können genauso wie benutzerdefinierte VLSI-Schaltung in Kombination mit einer Universal-DSP-Schaltung zur Verfügung gestellt werden.
-
Die Technologie kann die Form von einer vollständig hardwarebasierten Ausführungsform, einer vollständig softwarebasierten Ausführungsform, oder einer Ausführungsform annehmen, die sowohl Hardware- als auch Softwareelemente enthält. In einer Ausführungsform kann die offenbarte Technologie in Software implementiert sein, welche Firmware, residente Software, Mikrocode, etc. umfasst, aber nicht darauf beschränkt ist. Darüber hinaus kann die offenbarte Technologie die Form eines Computerprogrammprodukts annehmen, das zugänglich ist von einem computernutzbaren oder computerlesbaren Medium, das Programmcode zur Verwendung durch oder in Verbindung mit einem Computer oder irgendein Anweisungsausführungssystem zur Verfügung stellt. Zum Zwecke dieser Beschreibung kann ein computernutzbares oder computerlesbares Medium jede Vorrichtung sein, die das Programm zur Verwendung durch oder in Verbindung mit dem Anweisungsausführungssystem, Vorrichtung oder Gerät, enthalten, speichern, kommunizieren, propagieren oder transportieren kann. Das Medium kann ein elektronisches, magnetisches, optisches, elektromagnetisches, infrarotes oder halbleitendes System (oder Vorrichtung oder Gerät) oder ein Ausbreitungsmedium sein (obwohl Ausbreitungsmedien in und von sich selbst als Signalträger nicht in der Definition von physikalischen computerlesbaren Medien eingeschlossen sein darf). Beispiele von einem physikalischen computerlesbaren Medium umfassen einen halbleitenden oder einen Festkörperspeicher, Magnetband, eine entfernbare Computerdiskette, ein Speicher mit wahlfreiem Zugriff (RAM), ein Nur-Lese-Speicher (ROM), eine magnetische Festplatte und eine optische Platte. Aktuelle Beispiele von optischen Disketten umfassen Compact-Disk-Nur-Lese-Speicher (CD-ROM), Compact-Disk-Lese/Schreibe-(CD-R/W), und DVD. Sowohl die Prozessoren als auch der Programmcode zum Implementieren von jedem als Aspekte der Technologie können zentralisiert und/oder verteilt sein, wie es dem Fachmann bekannt ist.
-
MIDI (Musical Instrument Digital Interface) ist ein Industriestandardprotokoll, das es elektronischen musikalischen Instrumenten, wie beispielsweise Tastatursteuerungen, Computer und anderem elektronischem Ausrüstung ermöglicht, miteinander zu kommunizieren, zu steuern und synchronisieren. MIDI überträgt kein Audiosignal oder Medien, aber überträgt ”Ereignisnachrichten”, wie beispielsweise die Tonstufe und Intensität von zu spielenden musikalischen Noten, Steuerungssignale für Parameter wie beispielsweise Lautstärke, Vibrato und Schwenken, Einsatzzeichen und Taktsignale, um das Tempo einzustellen. Das MIDI, als ein elektronisches Protokoll, zeichnet sich insbesondere durch seine verbreitete Nutzung innerhalb der Industrie aus.
-
2A stellt eine grafische Benutzerschnittstelle zum Programmieren einer musikalischen Sequenz in einer ersten Konfiguration dar. Eine Matrix 202 ist gezeigt. Die Matrix 202 umfasst 8 × 8 Rasterpunkte. Es können auch andere Matrixgrößen verwendet werden. In dieser Ausführungsform ist ein einzelnes MIDI-Muster mit jedem Rasterpunkt assoziiert, für insgesamt 64 MIDI-Muster in diesem Beispiel. Die MIDI-Muster sind durch die Komplexität von links nach rechts entlang einer x-Achse 224 und in der Intensität von unten nach oben entlang einer y-Achse 226 organisiert. Komplexität kann beispielsweise in diesem Beispiel mehr Noten pro Takt bedeuten und Intensität kann Lautstärke der Noten bedeuten. Zusätzlich werden die MIDI-Muster derart ausgewählt, dass sie auf musikalische Weise miteinander kombinieren, wenn sie zusammen gespielt werden.
-
In einer anderen Ausführungsform kann die Organisation von MIDI-Muster entsprechend der Komplexität bedeuten, dass die Anzahl der Noten erhöht wird und die rhythmischen Beziehungen der Noten komplizierter sind und die Muster mehr Ornamente wie Ghost Notes enthalten.
-
In einer anderen Ausführungsform könnte die Organisation von MIDI-Muster entsprechend der Intensität bedeuten, dass die MIDI-Noten in den MIDI-Mustern eine höhere Geschwindigkeit haben. Zusätzlich könnten in dieser Ausführungsform Schlagzeugstücke, gespielt durch die MIDI-Noten, zu intensiver klingenden Stücken wechseln, wie das Bewegen von einem geschlossenen Hi-Hat zu einem halboffenen oder sogar das Spielen des Hi-Hat-Musters auf einem anderen Soundgenerator wie beispielsweise einem Ride oder Crash. Beim Wechseln der Instrumente kann dieses Beispiel eine dramatische Auswirkung auf die wahrgenommene Intensität eines Musters haben.
-
Als ein anderes Beispiel können MIDI-Muster eines vollständigen Rhythmusabschnitts, bestehend aus Trommeln, Bass, Rhythmusgitarre, Perkussion usw. entsprechend der ”Dichte” und der ”Straffheit” organisiert sein. Die MIDI-Muster, die entsprechend einer ”Straffheits”-Achse organisiert sind, können das ”Gefühl” des Musters in zahlreichen Aspekten ändern, die von einem ”lockeren, spontanen Art von Gefühl” zu etwas reichen, das als ”straff, in-the-pocket”-Spielen durch alle Instrumente wahrgenommen wird. Diese ”Straffheit” kann dazu korrespondieren, wie eng die MIDI-Noten in einem MIDI-Muster bei einem bestimmten Raster sind. Die MIDI-Muster, die entsprechend einer ”Dichte”-Achse organisiert sind, können steuern, wie viele Instrumente des Rhythmusabschnitts zusammen die gleichen Akkorde spielen oder wie ”beschäftigt” die Noten sind. Beschäftigt kann definiert werden als mehr Noten in einem gegebenen Zeitrahmen.
-
Eine Gruppe von Symbolen 230 wird angezeigt. Die Symbole 230 repräsentieren jedes Instrument, das zum Platzieren auf der Matrix 202 verfügbar ist. In einem Aspekt repräsentiert die Gruppe von Symbolen 230 jedes Stück von einem Schlagzeugsoftwareinstrument. Jedes Symbol hat einen vorbestimmten Ausgabesound. Die Symbole umfassen Instr 1, 204, Instr 2, 206, Instr 3, 208, Instr 4, 210, Instr 5, 212, Instr 6, 214, Instr 7, 216, Instr 8, 218, Instr 9, 220 und Instr 10, 222.
-
In einem Beispiel für die Programmierung von Trommeln repräsentiert das Symbol 204 einen Kick-Drum-Sound, repräsentiert das Symbol 206 einen Snare-Sound, repräsentiert das Symbol 208 einen Rimshot-Sound, repräsentiert das Symbol 210 einen Klatsch-Sound, repräsentiert das Symbol 212 einen Schüttel-Sound, repräsentiert das Symbol 214 ein Hi-Hat-Sound, repräsentiert das Symbol 216 einen Conga-Sound, repräsentiert das Symbol 218 einen zweiten Kick-Drum-Sound, repräsentiert das Symbol 220 einen Becken-Sound und repräsentiert das Symbol 222 einen Kuhglocken-Sound.
-
Wenn die Symbole 230 sich nicht auf der Matrix 202 befinden, sind die vorbestimmten Sounds, die jedem Symbol entsprechen, stumm geschaltet. Ein Nutzer kann ein Symbol zu einem Auswahlrasterpunkt auf der Matrix 202 ziehen. Das hebt die Stummschaltung für die vorbestimmten Sounds für das Symbol auf und veranlasst die vorbestimmten Sounds, wie beispielsweise ein Hi-Hat, das Muster, das auf diesem Rasterpunkt angeordnet ist zu spielen. Das Muster für den Sound des Symbols wird sich jetzt wiederholen. Die Eigenschaften der vorbestimmten Sounds, die das Muster spielen, werden eine Komplexität und eine Intensität haben, die mit der Position des ausgewählten Rasterpunkts auf der Matrix 202 korrespondieren. Der Nutzer kann damit fortfahren Symbole auf die Matrix 202 zu ziehen. Jedes Mal, wenn ein Symbol auf die Matrix 202 bewegt wird und die vorbestimmten Sounds, die dem Symbol entsprechen, nicht mehr stumm geschaltet sind, werden die Rhythmen der Muster, die durch die vorbestimmten Sounds gespielt werden, gemixt mit jedem bereits schleifenausführenden Instrument, und dadurch Soundausgaben von mehr und mehr Symbolen aufbauen und schichten. In ähnlicher Weise wird das Entfernen eines Symbols von dem Raster für einen jeweiligen vorbestimmten Ausgabesound wieder stumm schalten. In diesem Beispiel kann jedes Symbol nur einmal auf der Matrix 202 platziert werden. In diesem Beispiel könnte der Nutzer zu jedem Zeitpunkt in dem Prozess ein bereits platziertes Symbol zu einer anderen Rasterposition ziehen. Wenn ein Nutzer ein bereits platziertes Symbol zu einer anderen Rasterposition zieht, wird der vorbestimmte Ausgabesound aufhören, das Muster, das auf dem ersten Rasterpunkt angeordnet ist, zu spielen und wird anfangen das Muster, das auf dem zweiten Rasterpunkt angeordnet ist, zu spielen.
-
Ein Vorteil dieser Programmiermöglichkeit in diesem Beispiel ist, eine intuitive und einfach zu visualisierende Weise für Anfänger, Trommelmuster zu programmieren, da das Bewegen der Rasterposition eine Änderung in der Rhythmuskomplexität und/oder Intensität bedeutet. Zusätzlich kann ein Nutzer musikalische Sequenzen außer Trommelmuster programmieren, indem er die offenbarte Technologie verwendet.
-
2B stellt die grafische Benutzerschnittstelle zum Programmieren einer musikalischen Sequenz in einer zweiten Konfiguration dar. In dem in 2B gezeigten Beispiel hat ein Nutzer das Symbol 218 zur Position (2,7) auf der Matrix 202 gezogen. Dies veranlasst den vorbestimmten zweiten Kick-Drum-Sound, der mit dem Symbol 218 assoziiert ist, das Muster zu spielen, das mit dieser Position (2,7) assoziiert ist. Dieses Muster hat eine Komplexität, die mit seiner Position entlang der x-Achse 224 in Bezug steht und eine Intensität, die mit seiner Position entlang der y-Achse 226 in Bezug steht. In einem Beispiel korrespondiert ein vorbestimmter Sound mit einer Note von einem Softwareinstrument.
-
In dem in 2B gezeigten Beispiel hat der Nutzer auch das Symbol 206 zu Position (3,2) auf der Matrix 202 gezogen. Dies veranlasst den vorbestimmten Snare-Sound, der mit dem Symbol 206 assoziiert ist, das Muster zu spielen, das mit Position (3,2) assoziiert ist. Der Nutzer hat auch das Symbol 212 zu Position (5,5) auf der Matrix 202 gezogen. Dies veranlasst den vorbestimmten Schüttelsound, der mit dem Symbol 212 assoziiert ist, das Muster zu spielen, das mit Position (5,5) assoziiert ist. Der Nutzer hat auch das Symbol 214 zu Position (6,4) auf der Matrix 202 gezogen. Dies veranlasst den vorbestimmten Hi-Hat-Sound, der mit dem Symbol 214 assoziiert ist, das Muster zu spielen, das mit Position (6,4) assoziiert ist.
-
Der vorbestimmte zweite Kick-Drum-Sound, der mit dem Symbol 218 assoziiert ist und das Muster, das mit der Position (2,7) assoziiert ist, spielt, der vorbestimmte Snare-Sound, der mit dem Symbol 206 assoziiert ist, und das Muster, das mit der Position (3,2) assoziiert ist, spielt, der vorbestimmte Schüttelsound, der mit dem Symbol 212 assoziiert ist und das Muster, das mit der Position (5,5) assoziiert ist, spielt und der vorbestimmte Hi-Hat-Sound, der mit dem Symbol 214 assoziiert ist und das Muster, das mit der Position (6,4) assoziiert ist spielt, überlagern sich, um ein musikalisches Trommelmuster mit vier Elementen zu bilden. Somit kann ein Nutzer ein Trommelmuster oder andere Musiksequenzen kreieren, indem er Symbole innerhalb der Matrix 202 zieht, wobei alle Elemente der Sequenz musikalisch zusammenpassen.
-
2C stellt die grafische Benutzerschnittstelle für das Programmieren einer musikalischen Sequenz in einer dritten Konfiguration dar. In dem in 2C gezeigten Beispiel hat der Nutzer das Symbol 212 von der Position (5,5) zur Position (8,5) auf der Matrix 202 gezogen. Dies veranlasst, den vorbestimmten Schüttelsound, der mit dem Symbol 212 assoziiert ist, dazu aufzuhören das Muster zu spielen, das mit der Position (5,5) assoziiert ist und damit zu beginnen das Muster zu spielen, das mit der Position (8,5) assoziiert ist. Dieses Muster hat eine Komplexität, die mit seiner Position entlang der x-Achse 224 in Bezug steht und eine Intensität, die mit seiner Position entlang der y-Achse 226 in Bezug steht. Insbesondere hat das Muster in der Position (8,5) eine größere Komplexität, aber die gleiche Intensität aufgrund seiner Position auf der Matrix 202.
-
Der vorbestimmte zweite Kick-Drum-Sound, der mit dem Symbol 218 assoziiert ist und der das Muster spielt, das mit der Position (2,7) assoziiert ist, der vorbestimmte Snare-Sound, der mit dem Symbol 206 assoziiert ist, und der das Muster spielt, das mit der Position (3,2) assoziiert ist, der vorbestimmte Schüttelsound, der mit dem Symbol 212 assoziiert ist und das Muster spielt, das mit der Position (8,5) assoziiert ist, und der vorbestimmte Hi-Hat-Sound, der mit dem Symbol 214 assoziiert ist und das Muster spielt, das mit der Position (7,7) assoziiert ist, überlagern sich, um ein neues modifiziertes musikalisches Trommelmuster mit den vier Elementen zu bilden. Alle Elemente des neuen modifizierten musikalischen Trommelmusters passen auch musikalisch zusammen.
-
2D stellt die grafische Benutzerschnittstelle für das Programmieren einer musikalischen Sequenz in einer vierten Konfiguration dar. In dem in 2D gezeigten Beispiel hat der Nutzer das Symbol 214 von der Position (6,4) zur Position (7,7) auf der Matrix 202 gezogen. Dies veranlasst, den vorbestimmten Hi-Hat-Sound, der mit dem Symbol 214 assoziiert ist, dazu aufzuhören das Muster zu spielen, das mit der Position (6,4) assoziiert ist und damit zu beginnen das Muster zu spielen, das mit der Position (7,7) assoziiert ist. Dieses Muster hat eine Komplexität, die mit seiner Position entlang der x-Achse 224 in Bezug steht und eine Intensität, die mit seiner Position entlang der y-Achse 226 in Bezug steht. Insbesondere hat das Muster in der Position (7,7) eine größere Komplexität, und eine größere Intensität aufgrund seiner Position auf der Matrix 202, im Vergleich zu dem Muster bei Position (6,4).
-
Der vorbestimmte zweite Kick-Drum-Sound, der mit dem Symbol 218 assoziiert ist und der das Muster spielt, das mit der Position (2,7) assoziiert ist, der vorbestimmte Snare-Sound, der mit dem Symbol 206 assoziiert ist, und der das Muster spielt, das mit der Position (3,2) assoziiert ist, der vorbestimmte Schüttelsound, der mit dem Symbol 212 assoziiert ist und das Muster spielt, das mit der Position (8,5) assoziiert ist, und der vorbestimmte Hi-Hat-Sound, der mit dem Symbol 214 assoziiert ist und das Muster spielt, das mit der Position (7,7) assoziiert ist, überlagern sich, um ein neues modifiziertes musikalisches Trommelmuster mit den vier Elementen zu bilden. Alle Elemente des neuen modifizierten musikalischen Trommelmusters passen auch musikalisch zusammen.
-
Obwohl in den 2A bis 2D nur ein Muster mit jedem Rasterpunkt auf der Matrix 202 assoziiert ist, können in einer anderen Ausführungsform mehrere Muster mit jedem Rasterpunkt auf der Matrix 202 assoziiert sein. Zum Beispiel wenn es 10 Instrumentensymbole gibt, kann ein Matrixrasterpunkt 10 MIDI-Muster haben, wobei jedes MIDI-Muster mit seinem eigenen Instrumentensymbol assoziiert ist. Wenn ein Nutzer ein Symbol zu einem Rasterpunkt in diesem Beispiel zieht, werden die vorbestimmten Sounds, die mit diesem Symbol assoziiert sind, das Muster, das damit assoziiert ist, spielen.
-
In einer anderen Ausführungsform werden anstelle der Assoziierung von MIDI-Mustern mit Rasterpunkten auf einer Matrix, Audioschleifen oder Wavedateien mit jedem Rasterpunkt assoziiert. In dieser Ausführungsform hat jede Audioschleife eine bestimmte Länge. Darüber hinaus wird in dieser Ausführungsform die festgelegte Länge von jeder Audioschleife auf eine gleiche Länge gesetzt. In dieser Ausführungsform wurden die Audioschleifen so gewählt, dass sie musikalisch zusammenpassen. In dieser Ausführungsform können alle Audioschleifen zeitlich gedehnt sein, um zu einem bestimmten Tempo zu passen. Der Nutzer kann ein Objektsymbol auf jede Matrixposition platzieren und dabei den Prozessor dazu veranlassen, den vorbestimmten Ausgabesound zu verarbeiten, der mit dem Objekt assoziiert ist entsprechend einem Audioschleifenmuster, das mit der Matrixposition assoziiert ist, bei der das Objektsymbol platziert ist, und den verarbeiteten Sound an ein Ausgabegerät auszugeben.
-
3 ist ein Flussdiagramm zum Bereitstellen eines grafischen Programmierschnittstellensystems für einen Nutzer, in dem ein einzelnes MIDI-Muster mit einer Rasterposition auf einer Matrix assoziiert ist. Bei Block 302 umfasst das Verfahren das Bereitstellen einer gerasterten Matrix, die durch mehrere Koordinatenachsen bestimmt ist. Jede auswahlbare Matrixposition ist durch Koordinatenwerte gekennzeichnet. Die gerasterte Matrix wird auf einem Anzeigegerät angezeigt.
-
Bei Block 304 umfasst das Verfahren das Bereitstellen von mehreren beweglichen Objektsymbolen, wobei jedes eine Komponente von einem Schlagzeug mit einem vorbestimmten Ausgabesound repräsentiert.
-
Bei Block 306 umfasst das Verfahren das Bereitstellen von mehreren MIDI-Mustern, wobei jedes MIDI-Muster mit einer bestimmten Matrixposition auf der gerasterten Matrix assoziiert ist, so dass verschiedene Positionen entlang einer Koordinatenachse mit verschiedenen Eigenschaften des MIDI-Musters korrespondieren. Die MIDI-Muster sind in einem Speichergerät gespeichert.
-
Bei Block 308 umfasst das Verfahren das Empfangen einer Nutzereingabe, um ein Objektsymbol auf irgendeiner Matrixposition zu platzieren, und dabei den Prozessor dazu zu veranlassen, den vorbestimmten Ausgabesound, der mit dem Objekt assoziiert ist, zu verarbeiten, entsprechend dem MIDI-Muster, das mit der Matrixposition assoziiert ist, bei dem das Objektsymbol platziert ist, und den verarbeiteten Sound an ein Ausgabegerät auszugeben.
-
In einer anderen Ausführungsform umfasst das Verfahren das Bereitstellen mehrerer Audioschleifenmuster, wobei jedes Audioschleifenmuster mit einer bestimmten Matrixposition auf der gerasterten Matrix assoziiert ist, so dass verschiedene Positionen entlang einer Koordinatenachse mit verschiedenen Eigenschaften der Audioschleifenmuster korrespondieren. Die Audioschleifenmuster werden in einer Speichervorrichtung gespeichert. Diese Ausführungsform umfasst das Empfangen einer Nutzereingabe zum Platzieren eines Objektsymbols auf irgendeine Matrixposition, wodurch der Prozessor dazu veranlasst wird, den vorbestimmten Ausgabesound zu verarbeiten, der mit dem Objekt assoziiert ist, entsprechend dem Audioschleifenmuster, das mit der Matrixposition assoziiert ist, auf dem das Objektsymbol platziert ist, und den verarbeiteten Sound an ein Ausgabegerät auszugeben.
-
In einem Beispiel ist eine Eigenschaft der MIDI/Audioschleifenmuster ein rhythmisches Muster der MIDI/Audioschleifenmuster. In einer Ausführungsform nimmt die Komplexität des rhythmischen Musters entlang einer Richtung einer ersten Koordinatenachse der gerasterten Matrix zu.
-
In einem Beispiel ist eine Eigenschaft der MIDI/Audioschleifenmuster die Intensität der MIDI/Audioschleifenmuster. In einer Ausführungsform nimmt die Intensität der MIDI/Audioschleifenmuster entlang einer Richtung einer zweiten Koordinatenachse der gerasterten Matrix zu.
-
4 ist ein Flussdiagramm zum Bereitstellen eines grafischen Programmierungsschnittstellensystems für einen Nutzer, in dem mehrere MIDI-Muster mit einer gerasterten Position auf einer Matrix assoziiert sind.
-
Bei Block 402 umfasst das Verfahren das Bereitstellen einer gerasterten Matrix, die durch mehrere Koordinatenachsen festgelegt ist, mit auswählbaren Matrixpositionen, die durch Koordinatenwerte entlang der Achsen gekennzeichnet sind. Die gerasterte Matrix wird auf einem Anzeigegerät angezeigt.
-
Bei Block 404 umfasst das Verfahren das Bereitstellen mehrerer beweglicher Objektsymbole, wobei jedes Symbol eine Komponente des Schlagzeugs mit einem vorbestimmten Ausgabesound repräsentiert.
-
Bei Block 406 umfasst das Verfahren das Bereitstellen mehrerer MIDI-Muster, die mit jedem Objektsymbol assoziiert sind, wobei jedes MIDI-Muster auch mit einer bestimmten Matrixposition auf der gerasterten Matrix assoziiert ist, so dass verschiedene Positionen entlang einer Koordinatenachse mit verschiedenen Eigenschaften des vorbestimmten Sounds für jedes Objekt, das durch die Objektsymbole repräsentiert ist, korrespondieren. Die MIDI-Muster werden in einem Speichergerät gespeichert.
-
Bei Block 408 umfasst das Verfahren das Empfangen einer Nutzereingabe, um ein Objektsymbol auf irgendeine Matrixposition zu platzieren, wodurch der Prozessor dazu veranlasst wird, den vorbestimmten Ausgabesound, der mit dem Objekt assoziiert ist, zu verarbeiten, entsprechend dem MIDI-Muster, das mit der Matrixposition assoziiert ist, bei der das Objektsymbol platziert ist, und den verarbeiteten Sound an ein Ausgabegerät auszugeben.
-
Eine andere Ausführungsform umfasst das Bereitstellen mehrerer Audioschleifenmuster, die mit jedem Objektsymbol assoziiert sind, wobei jedes Audioschleifenmuster auch mit einer bestimmten Matrixposition auf der gerasterten Matrix assoziiert ist, so dass verschiedene Positionen entlang einer Koordinatenachse mit verschiedenen Eigenschaften des vorbestimmten Sounds für jedes Objekt, das durch die Objektsymbole repräsentiert ist, korrespondieren. Die Audioschleifenmuster werden in einem Speichergerät gespeichert. Diese Ausführungsform umfasst das Empfangen einer Nutzereingabe, um ein Objektsymbol bei irgendeiner Matrixposition zu platzieren, wodurch der Prozessor dazu veranlasst wird, den vorbestimmten Ausgabesound zu verarbeiten, der mit dem Objekt assoziiert ist, entsprechend dem Audioschleifenmuster, das mit der Matrixposition assoziiert ist, bei dem das Objektsymbol platziert ist, und den verarbeiteten Sound an ein Ausgabegerät auszugeben.
-
Eine Ausführungsform für ein grafisches Programmierungsschnittstellensystem umfasst einen Prozessor. Das System umfasst ferner eine gerasterte Matrix, die durch mehrere Koordinatenachsen festgelegt ist, mit auswählbaren Matrixpositionen, die durch Koordinatenwerte entlang der Achsen gekennzeichnet sind. In dieser Ausführungsform wird die gerasterte Matrix auf einem Anzeigegerät angezeigt.
-
Die Systemausführungsform umfasst ferner mehrere bewegliche Objektsymbole, wobei jedes Symbol ein Objekt mit einem vorbestimmten Ausgabesound repräsentiert.
-
Die Systemausführungsform umfasst ferner mehrere Objektdateien, die mit jedem Objektsymbol assoziiert sind, wobei jede Objektdatei auch mit einer bestimmten Matrixposition auf der gerasterten Matrix assoziiert ist, so dass verschiedene Positionen entlang einer Koordinatenachse mit verschiedenen Eigenschaften des vorbestimmten Sounds für jedes Objekt, das durch die Objektsymbole repräsentiert ist, korrespondieren. Die mehreren Objektdateien werden in einer Speichervorrichtung gespeichert.
-
Des Weiteren veranlasst in dieser Systemausführungsform die Platzierung von einem Objektsymbol bei irgendeiner Matrixposition den Prozessor dazu, den vorbestimmten Ausgabesound, der mit dem Objekt assoziiert ist, zu verarbeiten, entsprechend der Objektdatei, die mit der Matrixposition assoziiert ist, bei der das Objektsymbol platziert ist, und den verarbeiteten Sound an ein Ausgabegerät auszugeben.
-
In einem weiteren Beispiel sind die Objektdateien MIDI-Muster. In anderen Beispielen sind die Objektdateien Audioschleifenmuster. In anderen Beispielen repräsentiert jedes Objektsymbol eine Komponente eines Schlagzeugs. In einem anderen Beispiel ist eine Eigenschaft des vorbestimmten Sounds für jede Objektdatei ein rhythmisches Muster der Schlagzeugkomponente. In diesem Beispiel kann die Komplexität des rhythmischen Musters entlang einer Richtung von einer ersten Koordinatenachse der gerasterten Matrix zunehmen. In einem anderen Beispiel ist eine Eigenschaft des vorbestimmten Sounds für jede Objektdatei die Intensität oder die Lautstärke des vorbestimmten Sounds der Schlagzeugkomponente.
-
In einem anderen Beispiel nimmt die Intensität des vorbestimmten Sounds entlang einer Richtung von einer zweiten Koordinatenachse der gerasterten Matrix zu. In einem anderen Beispiel ist die Vielzahl von Objektdateien Schallwellendateien. In einem anderen Beispiel können die Objektsymbole auf dem Anzeigegerät durch einen Nutzer bewegt werden, der ein Gerät, wie beispielsweise eine Tastatur, Maus, oder einen berührungsempfindlichen Mechanismus auf dem Anzeigegerät verwendet. In einem anderen Beispiel ist die gerasterte Matrix eine zweidimensionale Matrix.
-
Ausführungsformen im Rahmen der vorliegenden Offenbarung können auch greifbare und/oder nichtflüchtige computerlesbare Speichermedien zum Übertragen oder Aufweisen von computerausführbaren Anweisungen oder Datenstrukturen, die darauf gespeichert sind, umfassen. Solche nichtflüchtigen computerlesbaren Speichermedien können irgendwelche verfügbare Medien sein, auf die durch ein Universal- oder spezifischen Computer zugegriffen werden kann, der das funktionale Design von irgendeinem spezifischen Prozessor, wie oben diskutiert, aufweist. Beispielhaft und nicht als Beschränkung können solche nichtflüchtigen computerlesbare Medien umfassen RAM, ROM, EEPROM, CD-ROM oder andere optische Plattenspeicher, Magnetplattenspeicher oder andere Magnetspeichergeräte oder jedes andere Medium, das dazu verwendet werden kann, gewünschte Programmcodemittel in Form von computerausführbaren Anweisungen, Datenstrukturen oder Prozessorchipdesign zu übertragen oder zu speichern. Wenn Information über ein Netzwerk oder eine andere Kommunikationsverbindung (entweder kabelgebunden, kabellos, oder eine Kombination davon) an einen Computer übertragen oder bereitgestellt wird, sieht der Computer die Verbindung in richtiger Weise als ein computerlesbares Medium an. Somit wird eine solche Verbindung in angemessener Weise als ein computerlesbares Medium bezeichnet. Kombinationen des obenstehenden sollten ebenfalls im Rahmen des computerlesbaren Mediums eingeschlossen sein.
-
Computerausführbare Anweisungen umfassen beispielsweise Anweisungen und Daten, welche einen Universalcomputer, spezifischen Computer oder spezifisches verarbeitendes Gerät dazu veranlassen eine bestimmte Funktion oder Gruppen von Funktionen durchzuführen. Computerausführbare Anweisungen umfassen auch Programmmodule, die durch Computer in Stand-Alone- oder Netzwerkumgebungen ausgeführt werden. Im Allgemeinen umfassen die Programmmodule Routinen, Programme, Komponenten, Datenstrukturen, Objekte und die Funktion, die in dem Design von spezifischen Prozessoren, etc. die bestimmte Tasks durchführen oder bestimmte abstrakte Datentypen implementieren inhärent sind. Computerausführbare Anweisungen, die mit Datenstrukturen assoziiert sind und Programmmodule repräsentieren Beispiele der Programmcodemittel zum Ausführen von Schritten der hier offenbarten Verfahren. Die bestimmte Sequenz von solchen ausführbaren Anweisungen oder assoziierten Datenstrukturen repräsentiert Beispiele von korrespondierenden Handlungen zum Implementieren der Funktionen, die in solchen Schritten beschrieben sind.
-
Der Fachmann wird feststellen, dass andere Ausführungsformen der Offenbarung in Netzwerk-EDV-Umgebungen mit vielen Typen von Computersystemkonfigurationen, einschließlich Personal Computer, handgehaltene Geräte, Multiprozessorsysteme, mikroprozessorbasierte oder programmierbare Verbraucherelektronik, Netzwerk-PCs, Minicomputer, Zentralrechner und Ähnliches praktiziert werden können. Ausführungsformen können auch in verteilten Computerumgebungen praktiziert werden, wo Tasks durch lokale und entfernt verarbeitende Geräte durchgeführt werden, die durch ein Kommunikationsnetzwerk verlinkt sind (entweder durch kabelgebundene Links, kabellose Links, oder durch eine Kombination davon). In einer verteilten EDV-Umgebung können Programmmodule sowohl in lokalen als auch in entfernten Speichergeräten angeordnet sein.
-
Die obige Offenbarung stellt Beispiele im Rahmen der Ansprüche zur Verfügung, die hier beigefügt sind oder später gemäß anwendbarem Recht hinzugefügt werden. Allerdings sind diese Beispiele nicht beschränkend dahingehend, wie irgendeine offenbarte Ausführungsform zu implementieren ist, da der Fachmann diese Offenbarungen auf vielfältige Weise auf bestimmte Situationen anwenden kann.