[go: up one dir, main page]

DE69632696T2 - Digitales Musikinstrument mit Wellenformbearbeitung zur Erzeugung eines Klangeffektes - Google Patents

Digitales Musikinstrument mit Wellenformbearbeitung zur Erzeugung eines Klangeffektes Download PDF

Info

Publication number
DE69632696T2
DE69632696T2 DE69632696T DE69632696T DE69632696T2 DE 69632696 T2 DE69632696 T2 DE 69632696T2 DE 69632696 T DE69632696 T DE 69632696T DE 69632696 T DE69632696 T DE 69632696T DE 69632696 T2 DE69632696 T2 DE 69632696T2
Authority
DE
Germany
Prior art keywords
waveform
touch operation
read address
scratch
musical tone
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69632696T
Other languages
English (en)
Other versions
DE69632696D1 (de
Inventor
Hirofumi Hamamatsu-shi Shizuoka-ken Mukaino
Takeshi Hamamatsu-shi Shizuoka-ken Mori
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP7266252A external-priority patent/JP2933204B2/ja
Priority claimed from JP7266253A external-priority patent/JP2956550B2/ja
Application filed by Yamaha Corp filed Critical Yamaha Corp
Application granted granted Critical
Publication of DE69632696D1 publication Critical patent/DE69632696D1/de
Publication of DE69632696T2 publication Critical patent/DE69632696T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/002Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof
    • G10H7/006Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof using two or more algorithms of different types to generate tones, e.g. according to tone color or to processor workload
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0091Means for obtaining special acoustic effects
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/02Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/002Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/02Instruments in which the tones are synthesised from a data store, e.g. computer organs in which amplitudes at successive sample points of a tone waveform are stored in one or more memories
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/155Musical effects
    • G10H2210/195Modulation effects, i.e. smooth non-discontinuous variations over a time interval, e.g. within a note, melody or musical transition, of any sound parameter, e.g. amplitude, pitch, spectral response or playback speed
    • G10H2210/241Scratch effects, i.e. emulating playback velocity or pitch manipulation effects normally obtained by a disc-jockey manually rotating a LP record forward and backward
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/541Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
    • G10H2250/571Waveform compression, adapted for music synthesisers, sound banks or wavetables
    • G10H2250/591DPCM [delta pulse code modulation]
    • G10H2250/595ADPCM [adaptive differential pulse code modulation]
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/541Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
    • G10H2250/641Waveform sampler, i.e. music samplers; Sampled music loop processing, wherein a loop is a sample of a performance that has been edited to repeat seamlessly without clicks or artifacts

Landscapes

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

Description

  • HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich auf eine Musiktonerzeugungs-Vorrichtung zum Auslesen von Wellenformdaten, die in einem digitalen Speicher gespeichert sind, um unter Verwenden von Software einen Musikton zu erzeugen. Die vorliegende Erfindung bezieht sich auch auf eine Musiktonerzeugungs-Vorrichtung zum Verarbeiten von Wellenformdaten, die in Echtzeit unter Verwenden der Software eingegeben werden. Insbesondere bezieht sich die Erfindung auf eine Vorrichtung zum Erzeugen von Musiktönen, die in der Lage ist, einen Filter-Prozess, einen Tonhöhen-Prozess oder einen Scatch-Prozess an den erzeugten Musiktönen anzuwenden, während die Anzahl der Musiktöne im Vergleich zu einer normalen Erzeugung oder Wiedergabe der Musiktöne reduziert wird. Ferner bezieht sich die Erfindung auf eine Vorrichtung zum Erzeugen von Musiktönen, die in der Lage ist, einen pseudoartigen Scratch-Effekt zu erreichen.
  • Es ist eine Software-Tonquelle bekannt, bei der Wellenformabtastwerte, die von Originalmusiktönen abgetastet werden, in einer Speichervorrichtung vorab gespeichert werden. Die gespeicherten Wellenformdaten werden von einer Software oder einem Programm im Ansprechen auf Betätigen eines manuellen Zubehörs ausgelesen. Die herkömmliche Software-Tonquelle ist jedoch funktionell festgelegt und weist daher ziemlich eingeschränkte Anwendungen und schlechte Leistung auf. In den letzten Jahren entstand der Bedarf an Hochleistungs-Tonquellen, die einen Musikton mit verschiedenen Effekten, wie beispielsweise einem digitalen Klangfarben-Filterprozess, und einem Scratch-Effekt belegen können. US 5 350 882 beschreibt zum Beispiel eine Vorrichtung für automatisches Spiel mit angetriebenen Rotationsmitteln zur Temposteuerung. Wenn eine Scratch-Scheibe betrieben wird, wird ein Sequenz-Zähler in Entsprechung zu Geschwindigkeit und Ausmaß der Drehung der Scheibe geändert.
  • Dabei wird beim Auslesen von Ereignisdaten und Ereigniszeitpunktdaten aus einem Seuqenzerspeicher der Zeittakt gesteuert, um das Tempo des automatischen Spiels des verwendeten Musikinstruments wirksam zu ändern. Scratch ist ursprünglich eine Technik zum Erzeugen eines Tons mit Spezialeffekt durch zwangsweises Bewegen einer analogen Schallplatte mit der Hand, während die Schallplatte auf einen Plattenteller angetrieben wird, so dass die Abspielgeschwindigkeit unregelmäßig verändert wird. Das Scratch ist ursprünglich die Spezialtechnik, bei der die analoge Schallplatte verwendet wird. Es gibt keine digitale Vorrichtung zum Erzeugen von Musiktönen, die einen Scratch-Effekt realisiert.
  • KERN DER ERFINDUNG
  • Bei einer Vorrichtung zum Erzeugen von Musiktönen, die in einem digitalen Speicher gespeicherten Wellenformdaten ausliest, um unter Verwenden einer Software Musiktöne zu erzeugen, ist ein Ziel der vorliegenden Erfindung, eine erweiterte Leistung zu erreichen, die nicht mit der herkömmlichen Software-Tonquelle realisiert werden kann, so dass verschiedene Prozesse und Effekte den Musiktönen beigegeben werden, während die Anzahl der erzeugten Musiktöne gewährleistet werden kann. Ferner ist es bei einer Vorrichtung zum Erzeugen von Musiktönen, welche in Echtzeit eingegebene Wellenformdaten direkt ausgibt, ein Ziel der vorliegenden Erfindung, eine Hochleistung zu erreichen, die nicht von einer herkömmlichen Software-Tonquelle realisiert werden könnte, so dass verschiedene Prozesse und Effekte den extern eingegebenen Wellenformdaten beigegeben werden. Zudem ist es ein Ziel der vorliegenden Erfindung, einen pseudoartigen Scratch-Effekt bei der Vorrichtung zum Erzeugen von Musiktönen zu realisieren, welche in einem digitalen Speicher gespeicherte Wellenformdaten ausliest oder in Echtzeit eingegebene Wellenformdaten direkt ausgibt.
  • Gemäß der Erfindung werden die vorhergehenden Probleme gelöst durch Bereitstellen einer Vorrichtung zum Wiedergeben eines Musiktons durch Auslesen einer entsprechenden Wellenform in Entsprechung zu einer variablen Leseadresse, so dass ein Scratcheffekt in dem wiedergegebenen Musikton im Ansprechen auf einen Berührvorgang eingeführt wird. Die Musikvorrichtung weist folgendes auf: Speichermittel zum Speichern einer Wellenform in Form einer Sequenz von Amplitudenwertdaten, die in einer vorgegebenen Abtastperiode angeordnet sind, um einen entsprechenden Musikton zu repräsentieren, ein Detektionsimplement mit einer Länge zum Empfangen des Berührvorgangs, um eine Stelle des Berührvorgangs über die Länge zu detektieren und einen Positionswert auszugeben, der der detektierten Stelle des Berührsvorgangs entspricht, Wiederauffindemittel zum periodischen Wiederauffinden des vom dem Detektionsimplement ausgegebenen Positionswertes, um den Berührvorgang zu überwachen und Wiedergabemittel zum variablen Ermitteln jeder Leseadresse in Entsprechung zu den wiedergefundenen der Positionswerte und zum sukzessiven Auslesen der Wellenform aus den Speichermitteln in Entsprechung zu jeder ermittelten Leseadresse, so dass der entsprechende Musikton mit dem Scratcheffekt wiedergegeben wird. Kennzeichnenderweise weisen die Wiedergabemittel Mittel auf, die wirksam sind, wenn der Berührvorgang initiiert ist, um das Auslesen der Wellenform aus einer vorgegebenen Start-Leseadresse zu starten, und wobei sie während des Verlaufs des Berührvorgangs wirksam sind, um ein sukzessives Auslesen der Wellenform in Entsprechung zu jeder ermittelten Leseadresse fortzusetzen.
  • Ferner können die Wiederauffindemittel Mittel zum differentiellen Verarbeiten der periodisch wiedergefundenen Positionswerte aufweisen, um eine Geschwindigkeit des Berührvorgangs zu berechnen, und die Wiedergabemittel können Mittel aufweisen zum Ermitteln einer variablen Zahl in Entsprechung zu der Geschwindigkeit des Berührvorgangs und zum Akkumulieren der variablen Zahl zu einer vorangegangenen Leseadresse, um eine nachfolgende Leseadresse zu ermitteln.
  • Gemäß der Erfindung ist außerdem eine Musikvorrichtung vorgesehen, wie es in Anspruch 3 dargelegt ist.
  • Zudem können die Speichermittel Mittel zum Speichern einer Wellenform aufweisen, die von einer externen Quelle auf Echtzeitbasis eingeben wurde, und die Wiedergabemittel können Mittel aufweisen, die wirksam sind, wenn der Berührvorgang nicht begonnen ist, zum Ausgeben der eingegebenen Wellenform wie sie ist, um den entsprechenden Musikton ohne den Scratch-Effekt wiederzugeben, und wobei sie wirksam sind, wenn der Berührvorgang begonnen hat, zum Stoppen des Speicherns und Ausgebens der Wellenform und an Stelle dessen zum sukzessiven Auslesen der Wellenform aus den Speichermitteln in Entsprechung zu variablen Leseadressen, um den entsprechenden Musikton mit einem Scratch-Effekt wiederzugeben. Vorzugsweise weisen die Speichermittel eine Speicherkapazität auf, die ausreichend ist, um ein vollständiges Datenvolumen einer unverbrauchten Wellenform zu speichern, die neu von der externen Quelle auf Echtzeitbasis eingeben wurde.
  • Die Erfindung bezieht sich auch auf ein Verfahren zum Betreiben einer Musikvorrichtung zum Wiedergeben eines Musiktons durch Auslesen einer entsprechenden Wellenform in Entsprechung zu einer variablen Leseadresse, so dass ein Scratcheffekt in dem wiedergegebenen Musikton im Ansprechen auf einen Berührvorgang eingeführt wird. Das Verfahren weist die folgenden Schritte auf: Speichern einer Wellenform in einen Speicher in Form einer Sequenz von Amplitudenwertdaten, die in einer vorgegebenen Abtastperiode angeordnet sind, um einen entsprechenden Musikton zu repräsentieren, Betreiben eines Detektionsimplements mit einer Länge zum Empfangen des Berührvorgangs, um eine Stelle des Berührvorgangs über die Länge zu detektieren und einen Positionswert auszugeben, der der detektierten Stelle des Berührsvorgangs entspricht, periodisches Wiederauffinden des vom dem Detektionsimplement ausgegebenen Positionswertes, um den Berührvorgang zu überwachen, variables Ermitteln jeder Leseadresse in Entsprechung zu den wiedergefundenen der Positionswerte und Durchführen einer Wiedergabe zum sukzessiven Auslesen der Wellenform aus dem Speicher in Entsprechung zu jeder ermittelten Leseadresse, so dass der entsprechende Musikton mit dem Scratcheffekt wiedergegeben wird. Die Wiedergabe wird durchgeführt, wenn der Berührvorgang initiiert ist, um das Auslesen der Wellenform aus einer vorgegebenen Start-Leseadresse zu starten, und die Wiedergabe wird während des Verlaufs des Berührvorgangs durchgeführt, um ein sukzessives Auslesen der Wellenform in Entsprechung zu jeder ermittelten Leseadresse fortzusetzen.
  • Zusätzlich kann der Wiederauffindeschritt ein differentielles Verarbeiten der periodisch wiedergefundenen Positionswerte aufweisen, um eine Geschwindigkeit des Berührvorgangs zu berechnen, und wobei der Schritt des Durchführens einer Wiedergabe ein Ermitteln einer variablen Zahl in Entsprechung zu der Geschwindigkeit des Berührvorgangs und Akkumulieren der variablen Zahl zu einer vorangegangenen Leseadresse, um eine nachfolgende Leseadresse zu ermitteln, aufweist.
  • Nach einer weiteren Ausführungsform weist das Verfahren zum Betreiben einer Musikvorrichtung zum Wiedergeben eines Musiktons durch Auslesen einer entsprechenden Wellenform in Entsprechung zu einer variablen Leseadresse, so dass ein Scratcheffekt in dem wiedergegebenen Musikton im Ansprechen auf einen Berührvorgang eingeführt wird, die folgenden Schritte auf: Speichern einer Wellenform in einen Speicher in Form einer Sequenz von Amplitudenwertdaten, die in einer vorgegebenen Abtastperiode angeordnet sind, um einen entsprechenden Musikton zu repräsentieren, Betreiben eines Detektionsimplements mit einer Länge zum Empfangen des Berührvorgangs, um eine Stelle des Berührvorgangs über die Länge zu detektieren und einen Positionswert auszugeben, der der detektierten Stelle des Berührsvorgangs entspricht, periodisches Wiederauffinden des vom dem Detektionsimplement (106) ausgegebenen Positionswertes, um den Berührvorgang zu überwachen, variables Ermitteln jeder Leseadresse in Entsprechung zu den wiedergefundenen der Positionswerte und Durchführen einer Wiedergabe zum sukzessiven Auslesen der Wellenform aus dem Speicher (103) in Entsprechung zu jeder ermittelten Leseadresse, so dass der entsprechende Musikton mit dem Scratcheffekt wiedergegeben wird. Der Speicherschritt weist ein Speichern einer Wellenform auf, welche von einer externen Quelle in Echtzeitbasis eingegeben wird. Die Wiedergabe wird durchgeführt, wenn der Berührvorgang nicht zum Ausgeben der eingegebenen Wellenform, so wie sie ist, begonnen wird, um den entsprechenden Musikton ohne Scratcheffekt wiederzugeben, und die Wiedergabe wird durchgeführt, wenn der Berührvorgang zum Stoppen des Speicherns und Ausgebens der Wellenform und zum sukzessiven Auslesen der Wellenform aus dem Speicher in Entsprechung zu den variablen Leseadressen begonnen wird, so dass der entsprechende Musikton mit dem Scratcheffekt wiedergegeben wird.
  • Ferner bezieht sich die Erfindung auf ein maschinenlesbares Medium mit Befehlen, eine Musikvorrichtung zum Durchführen eines Verfahrens zum Wiedergeben eines Musiktons zu veranlassen, wenn die Befehle mittels der Vorrichtung ausgeführt werden, durch Auslesen einer entsprechenden Wellenform in Entsprechung zu einer variablen Leseadresse, so dass ein Scratcheffekt in dem wiedergegebenen Musikton im Ansprechen auf einen Berührvorgang eingeführt wird. Das Verfahren weist die folgenden Schritte auf: Speichern einer Wellenform in einen Speicher in Form einer Sequenz von Amplitudenwertdaten, die in einer vorgegebenen Abtastperiode angeordnet sind, um einen entsprechenden Musikton zu repräsentieren, Betreiben eines Detektionsimplements mit einer Länge zum Empfangen des Berührvorgangs, um eine Stelle des Berührvorgangs über die Länge zu detektieren und einen Positionswert auszugeben, der der detektierten Stelle des Berührsvorgangs entspricht, periodisches Wiederauffinden des vom dem Detektionsimplement ausgegebenen Positionswertes, um den Berührvorgang zu überwachen, variables Ermitteln jeder Leseadresse in Entsprechung zu den wiedergefundenen der Positionswerte und Durchführen einer Wiedergabe zum sukzessivem Auslesen der Wellenform aus dem Speicher in Entsprechung zu jeder ermittelten Leseadresse, so dass der entsprechende Musikton mit dem Scratcheffekt wiedergegeben wird. Dabei wird die Wiedergabe durchgeführt, wenn der Berührvorgang initiiert ist, um ein Auslesen der Wellenform aus einer vorgegebenen Start-Leseadresse zu starten, und die Wiedergabe wird während des Verlaufs des Berührvorgangs durchgeführt, um ein sukzessives Auslesen der Wellenform in Entsprechung zu jeder ermittelten Leseadresse fortzusetzen.
  • Der Wiederauffindeschritt kann ferner differentielles Verarbeiten der periodisch wiedergefundenen Positionswerte aufweisen, um eine Geschwindigkeit des Berührvorgangs zu berechnen, und wobei der Schritt des Durchführens einer Wiedergabe Ermitteln einer variablen Zahl in Entsprechung zu der Geschwindigkeit des Berührvorgangs und Akkumulieren der variablen Zahl zu einer vorangegangenen Leseadresse aufweist, um eine nachfolgende Leseadresse zu ermitteln.
  • Nach einer weiteren Ausführungsform enthält das maschinenlesbare Medium Befehle, um eine Musikvorrichtung zum Durchführen eines Verfahrens zum Wiedergeben eines Musiktons zu veranlassen, wenn die Befehle mittels der Vorrichtung ausgeführt werden, durch Auslesen einer entsprechenden Wellenform in Entsprechung zu einer variablen Leseadresse, so dass ein Scratcheffekt in dem wiedergegebenen Musikton im Ansprechen auf einen Berührvorgang eingeführt wird. Das Verfahren weist die folgenden Schritte auf: Speichern einer Wellenform in einen Speicher in Form einer Sequenz von Amplitudenwertdaten, die in einer vorgegebenen Abtastperiode angeordnet sind, um einen entsprechenden Musikton zu repräsentieren, Betreiben eines Detektionsimplements mit einer Länge zum Empfangen des Berührvorgangs, um eine Stelle des Berührvorgangs über. die Länge zu detektieren und einen Positionswert auszugeben, der der detektierten Stelle des Berührsvorgangs entspricht, periodisches Wiederauffinden des vom dem Detektionsimplement ausgegebenen Positionswertes, um den Berührvorgang zu überwachen, variables Ermitteln jeder Leseadresse in Entsprechung zu den wiedergefundenen der Positionswerte und Durchführen einer Wiedergabe zum sukzessiven Auslesen der Wellenform aus dem Speicher in Entsprechung zu jeder ermittelten Leseadresse, so dass der entsprechende Musikton mit dem Scratcheffekt wiedergegeben wird. Der Speicherschritt weist ein Speichern einer Wellenform auf, welche von einer externen Quelle auf Echtzeitbasis eingegeben wird. Dabei wird die Wiedergabe durchgeführt, wenn der Berührvorgang zum Ausgeben der eingegebenen Wellenform, so wie sie ist, nicht begonnen wird, um den entsprechenden Musikton ohne den Scratcheffekt wiederzugeben, und die Wiedergabe durchgeführt wird, wenn der Berührvorgang zum Stoppen des Speicherns und Ausgebens der Wellenform und zum sukzessiven Auslesen der Wellenform aus dem Speicher in Entsprechung zu dem variablen Leseadressen begonnen wird, so dass der entsprechende Musikton mit dem Scratcheffekt wiedergegeben wird.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein strukturelles Blockschaltbild eines Abtasters als eine Ausführungsform einer Vorrichtung zum Erzeugen von Musiktönen gemäß der vorliegenden Erfindung.
  • 2(a)2(e) sind Diagramme, die verschiedene Arbeitsbereiche im Abtaster aus 1 zeigen.
  • 3 ist ein Flussdiagramm einer Hauptroutine.
  • 4 ist ein Flussdiagramm einer Modus-SW-Ereignis-Routine.
  • 5 ist ein Flussdiagramm eines Startprozesses MS(1) für einen Abtastmodus.
  • 6 ist ein Flussdiagramm eines Startprozesses MS(4) für einen Scratchmodus.
  • 7 ist ein Flussdiagramm einer Ereignis-EIN-Routine (Modus m = 0, 2, 4).
  • 8 ist ein Flussdiagramm einer anderen Ereignis-EIN-Routine (Modus m = 3).
  • 9 ist ein Flussdiagramm einer Routine zum Zurückholen eines Detektionswertes eines Bandreglers RC(m) (m = 2, 5).
  • 10 ist ein Flussdiagramm einer weiteren Routine zum Zurückholen eines Detektionswertes eines Bandreglers RC(m) (m = 4, 6).
  • 11(a)11(c) sind Flussdiagramme von Routinen zur Wellenformverarbeitung HS(m) (Modus m = 0, 2, 3).
  • 12(a)12(c) sind Flussdiagramme von Routinen zur Wellenformverarbeitung HS(m) (Modus m = 4, 5, 6).
  • 13(a) und 13(b) sind Flussdiagramme von Unterroutinen "normal n" und "Tonhöhe 2".
  • 14 ist ein Flussdiagramm eines Scratch-Prozesses und eines EX-Scratch-Prozesses.
  • 15 ist ein Flussdiagramm einer DR(m)-Routine (Modus m = 1, 5, 6).
  • 16 ist ein Flussdiagramm einer DP-Routine.
  • 17(a) und 17(b) sind Diagramme, die die Zeittakte von Wiedergabe und Aufnahme von Wellenformdaten zeigen.
  • 18(a) und 18(b) sind Diagramme, die Beispiele einer Umwandlung von Geschwindigkeit VEL zur Scratch-F-Zahl SFN zeigen.
  • 19 ist ein schematisches Blockschaltbild, das eine weitere Ausführungsform der Erfindung zeigt.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Nachfolgend werden Ausführungsformen der vorliegenden Erfindung unter Bezugnahme auf die Zeichnungen beschrieben. 1 ist ein strukturelles Blockschaltbild eines Abtasters, welcher eine Ausführungsform einer Vorrichtung zum Erzeugen eines Musiktons gemäß der vorliegenden Erfindung ist. Der Abtaster enthält eine zentrale Verarbeitungseinheit (CPU) 101, einen Nur-Lesespeicher (ROM) 102, einen Flash-Speicher 103, einen Direktzugriffsspeicher (RAM) 104, einen Zeitgeber 105, einen Bandregler 106, einen Satz von Bedienfeldern 107, eine Anzeige 108, eine Schaltfläche 109, einen Abtasttaktgenerator (Fs) 110, eine Ton-Eingabe/Ausgabeeinheit (Ton-I/O) 112, einen (DMA) Direktspeicherzugriffsregler 113 und eine Busleitung 115.
  • Die CPU 101 regelt den Betrieb des gesamten Systems des Abtasters. Der ROM 102 speichert Programme, die durch die CPU 101 ausgeführt werden. Der RAM 104 ist mit Arbeitsbereichen, wie zum Beispiel verschiedenen Registern und Zwischenspeichern, versehen. Der Flash-Speicher 103 ist ein Speicher zum Speichern von Wellenformdaten, die von diesem Abtaster abgetastet und aufgezeichnet werden. Die aufgezeichneten Wellenformdaten werden zeitweilig ein einem Aufzeichnungszwischenspeicher im RAM 104 gespeichert. Wenn der Aufzeichnungszwischenspeicher aufgefüllt ist, werden die Wellenformdaten im Aufzeichnungszwischenspeicher zum Flash-Speicher 103 übertragen. Sogar wenn der Abtaster ausgeschaltet ist, werden die Wellenformdaten im Flash-Speicher 103 gehalten. Damit weist der Abtaster Speichermittel zum Speichern von Wellenformen entsprechend den verschiedenen Musiktönen auf. Jede Wellenform wird zur Darstellung des entsprechenden Musiktons in Form einer Folge von Amplitudenwertdaten gespeichert, welche mit einer vorgegebenen Abtastzeit angeordnet sind.
  • Der Zeitgeber 105 erzeugt ein Zeitgebertaktsignal zum Verursachen einer Zeitgeberunterbrechung zu einem gegebenen Zeitintervall an die CPU 101. Mittels der Zeitgeberunterbrechung führt die CPU 101 verschiedene Prozesse aus, wie zum Beispiel das Zurückholen eines Detektionswerts des Bandreglers 106 mit einem gegebenen Zeitintervall.
  • Der Bandregler 106 ist ein Betriebsgerät, welches durch einen Benutzer manipuliert wird, um eine Scratch-Operation oder sonstiges durchzuführen. Der Bandregler 106 ist eine Vorrichtung zur Detektion einer Koordinate, welche ein lineares Glied endlicher Länge aufweist, und welche eine Koordinate einer Position ausgibt, an der ein Finger oder eine Stange das lineare Glied berührt. Der Bandregler 106 sieht vor, daß dessen Betrieb an einer beliebigen Position begonnen werden kann. Der Bandregler 106 gibt einen Standardwert aus, während keine Berührungsaktion mit dem Finger oder der Stange auftritt, und gibt ansonsten einen Koordinatenpositionswert aus, wenn die Berührungsaktion erfolgt. So kann aus dem Detektionswert bestimmt werden, ob die Berührungsaktion mit dem Finger oder der Stange erfolgt oder nicht. Das Detektionsgerät hat nämlich eine Länge, um die Berührungsaktion zur Detektion eines Punktes der Berührungsaktion entlang der Länge und zum Ausgeben eines Positionswertes entsprechend dem detektierten Punkt der Berührungsaktion zu empfangen.
  • Die Felder 107 bilden ein weiteres Betriebsgerät, welches durch den Benutzer manipuliert wird, um die Tonerzeugung zu regeln. Speziell ist ein Satz von zehn Feldern 107 vorgesehen. Das Aufzeichnen oder Abtasten eines ursprünglichen Musiktons kann durch Bestimmen von einem der zehn Felder 107 erreicht werden. Bei der Wiedergabe der aufgezeichneten Töne wird ein spezielles der zehn Felder 107 durch den Benutzer angetippt, so daß die Wellenformdaten, die diesem Feld entsprechen, ausgelesen und wiedergegeben werden. Anstatt des Antippens oder Einstellens auf dem Feld, kann es so angeordnet sein, dass die Tonwiedergabe durch Empfangen von Ton-Ein-Daten eines MIDI (Musical Instrument Digital Interface)-Signals durchgeführt wird. Die Felder 107 bilden Bezeichnungsmittel zum Bezeichnen wenigstens einer der gespeicherten Wellenformen, um die Wiedergabe eines entsprechenden der Musiktöne anzuweisen.
  • Die Anzeige 108 ist zum Anzeigen von verschiedenen Einstellinformationen vorgesehen. Die Schaltfläche (SW) 109 ist eine Schaltgruppe, die auf einer Fläche des Abtasters für den Benutzer vorgesehen ist, um verschiedene Einstelloperationen durchzuführen. Die Schaltfläche 109 enthält verschiedene Schalter, wie zum Beispiel einen Modusänderungsschalter, welcher ein Schaltmittel zum Umschalten der Tonwiedergabe zwischen einem Normalmodus und einem von verschiedenen Wahlmodi bildet.
  • Der Fs-Takt-Generator 110 erzeugt einen Äbtasttakt mit einer Frequenz Fs, die der Ton-I/O 112 zugeführt wird. Die Ton-I/O 112 wird durch ein LSI gebildet, welcher CODEC genannt wird. Die Ton-I/O 112 weist eine Analog/Digital(A/D)-Wandlungsfunktion und eine Digital/Analog(D/A)-Wandlungsfunktion auf. Die Ton-I/O 112 weist eine Funktion des Komprimierens von Wellenformdaten auf, die man durch Umwandeln des empfangenen analogen Musiktonsignals von der externen Quelle 111 in digitale Daten durch die A/D-Umwandlungsfunktion erhält. Die Wellenformdaten werden entsprechend der ADPCM (adaptive differential pulse code modulation = dadaptive differentielle Pulscode-Modulation) komprimiert. Ferner weist die Ton-I/O 112 eine weitere Funktion des Ausführens der ADPCM-Expansion in Vellenformdaten, welche D/A-gewandelt und in das Tonsystem 114 durch den D/A-Ausgabeanschluss ausgegeben werden, auf. In der hier erläuterten Ausführungsform der Erfindung wird tatsächlich nur die ADPCM-Komprimierung bei der Ton-I/O 112 durchgeführt, und die ADPCM-Expansion wird durch Ausführen einer gegebenen Software durch die CPU durchgeführt.
  • Die Ton-I/O ist darin mit zwei FIFO (first in first out) Stapelbereichen vorgesehen. Einer davon ist ein Eingabe-FIFO-Stapelbereich (Eingabe-FIFO) zum Halten von digitalen Wellenformdaten, die über den A/D-Eingabeanschluss eingegeben werden, und der andere ist ein Ausgabe-FIFO-Stapelbereich (Ausgabe-FIFO) zum Halten der digitalen Wellenformdaten, die über den D/A-Ausgabeanschluss ausgegeben werden. Die Ton-I/O 112 bildet Empfangsmittel zum Empfangen einer frischen Wellenform auf Echtzeitbasis, wenn die frische Wellenform von der externen Quelle 111 eingegeben wird.
  • Nachfolgend werden kurz die Eingabe/Ausgabe-Operationen der Ton-I/O 112 erklärt, die den Eingabe-FIFO und den Ausgabe-FIFO verwenden. Ein analoges Musiktonsignal, welches in den A/D-Eingabeanschluss der Ton-I/O 112 von der externen Quelle 111 eingegeben wird, wird im Ansprechen auf den Abtasttakt mit der Frequenz Fs A/D-gewandelt, und wird dann in den Eingabe-FIFO (ADPCM-komprimiert, wenn nötig) geschrieben. Wenn die Wellenformdaten im Eingabe-FIFO vorhanden sind, gibt die Ton-I/O 112 eine Anforderung aus, um die Wellenformdaten zur DMA-Steuereinheit 113 weiterzuverarbeiten. Im Ansprechen auf die Verarbeitungsaufforderung überträgt die DMA-Steuereinheit 113 die Daten des Eingabe-FIFO zu einem Aufzeichnungsspeicherbereich, der im RAM 104 bereitgehalten wird. Diese Datenübertragung durch die DMA-Steuereinheit 113 wird so durchgeführt, dass die DMA-Steuereinheit 113 eine Unterbrechungsoperation bezüglich der CPU 101 in jedem Abtasttakt Fs ausführt, so dass die Busleitung 115 offen gehalten wird. Der CPU 101 ist das Offenhalten der Busleitung 115 durch die DMA-Steuereinheit 113 nicht bewusst. Der obige Übertragungsprozess für die Wellenformdaten durch die DMA-Steuereinheit 113 während der Aufzeichnung eines Musiktons wird später detailliert mit Bezug auf 15 beschrieben.
  • Wenn die Wellenformdaten im Ausgabe-FIFO der Ton-I/O 112 vorhanden sind, werden die Wellenformdaten im Ausgabe-FIFO andererseits in jedem Abtasttakt Fs D/A-gewandelt und an das Tonsystem 114 über den D/A-Ausgabeanschluss gesendet, so dass der Musikton ausgegeben wird. Wenn die Wellenformdaten des Ausgabe-FIFO ausgegeben werden, gibt es einen Platz im Ausgabe-FIFO, so dass die Ton-I/O 112 eine Anforderung zum Erhalten weiterer Wellenformdaten für die DMA-Steuereinheit 113 ausgibt. Die CPU 101 erzeugt vorab auszugebende Wellenformdaten, speichert dann die erzeugten Wellenformdaten in einem Wiedergabezwischenspeicher im RAM 104 und gibt vorab eine Anforderung zur Wiedergabe der Wellenformdaten an die DMA-Steuereinheit 113 aus. Die DMA-Steuereinheit 113 führt jeden Abtasttakt Fs eine Unterbrechungsoperation für die CPU 101 aus, um die Busleitung 115 offen zu halten und überträgt die im Wiedergabezwischenspeicher des RAM 104 gespeicherten Wellenformdaten zur Ton-I/O 112. Der CPU 101 ist das Übertragen der Wellenformdaten durch die DMA-Steuereinheit 113 nicht bewusst. Die in den Ausgabe-FIFO geschriebenen Wellenformdaten werden, wie oben beschrieben, in jedem Abtasttakt Fs zum Tonsystem 114 gesendet, so dass der Musikton ausgegeben wird. Der vorstehende Übertragungsprozess der Wellenformdaten durch die DMA-Steuereinheit 113 während der Tonwiedergabe wird später im Detail mit Bezug auf 16 beschrieben.
  • Weiterhin hat die Ton-I/O 112 eine Funktion zum direkten Übertragen der am A/D-Eingabeanschluss eingegebenen Wellenformdaten an den D/A-Ausgabeanschluss, so dass das Musiktonsignal von der externen Quelle 111 direkt unverändert an das Tonsystem 114 ausgegeben wird. Eine Verbindung zwischen der A/D-Eingabe und der D/A-Ausgabe wird auf der Grundlage einer Anweisung von der CPU 101 durchgeführt. Ferner ist die CPU 101 in der Lage, die direkte Verbindung zwischen der A/D-Eingabe und der D/A-Ausgabe abzuschneiden.
  • Als nächstes wird die grundlegende Betriebsweise des Abtasters von 1 kurz erläutert. Der Abtaster hat sieben Betriebsmodi, das heißt einen Normalmodus, einen Abtastmodus und fünf Wahlmodi, einschließlich eines Filtermodus, eines Tonhöhenmodus, eines Scratchmodus, eines Filtermodus für eine externe Eingabe (EX) und eines Scratchmodus für eine externe Eingabe (EX). Diese Modi können mittels eines Moduswechselumschalters umgeschaltet werden, der in der Schaltfläche 109 vorgesehen ist. Nachfolgend wird jeder Modus erläutert.
  • Der Normalmodus wird zum Abspielen des aufgezeichneten Musiktons ausgewählt. In einem Anfangszustand wird der Abtaster in den Normalmodus eingestellt. Wenn im Normalmodus der Benutzer eine der zehn Felder 107 antippt, werden die entsprechend diesem Feld gespeicherten Wellenformdaten aus dem Speicher durch Wiedergabemittel ausgelesen, welche aus der CPU 101 nach einem installierten Programm gebildet werden. Bis zu vier Töne können im Normalmodus parallel wiedergegeben werden. Genauer gesagt werden vier Wellenformdaten, die entsprechend der angetippten vier Felder gespeichert sind, gleichzeitig wiedergegeben. Wenn das fünfte Feld angetippt wird, wird der dem zuerst angetippten Feld entsprechende wiedergegebene Ton angehalten, und die Wellenformdaten werden wiedergegeben, welche dem neu angetippten fünften Feld entsprechen.
  • Der Abtastmodus wird zum Aufzeichnen einer frischen Wellenform ausgewählt. Wenn der Abtastmodus durch Verwenden des Moduswechselumschalters bestimmt wird, bestimmt der Benutzer gleichzeitig ein Feld zum Aufzeichnen. Dadurch kann der von der externen Quelle 111 eingegebene Musikton entsprechend dem bestimmten Feld aufgezeichnet werden.
  • Im Filterwahlmodus können im Gegensatz zum Normalmodus nur zwei Töne nach Feld-Ein parallel wiedergegeben werden. Die Wiedergabemittel sind nämlich mit hoher Leistung im Normalmodus zum gleichzeitigen Auslesen von höchstens vier Wellenformen versehen, und sie sind mit niedriger Leistung im Wahlmodus, wie zum Beispiel dem Filterwahlmodus, zum gleichzeitigen Auslesen von höchstens zwei Wellenformen versehen. Des weiteren wird eine Digitalfilterverarbeitung, speziell, eine Tiefpassfilterverarbeitung, auf die wiedergegebenen Töne angewendet. Durch Betreiben des Bandreglers 106 kann der Benutzer eine Grenzfrequenz in der Tiefpassfilterverarbeitung ändern. Die Wiedergabemittel sind nämlich mit zusätzlicher Leistung im Filtermodus zur digitalen Verarbeitung der Wellenform durch Filtern zum Beimischen eines speziellen Klangeffektes zum Musikton versehen, um das Timbre des wiedergegebenen Tons zu modifizieren.
  • Der Tonhöhenmodus wird zum Wiedergeben des aufgezeichneten Tons mit einer gewünschten Phasenverschiebung ausgewählt. Bei den anderen Betriebsmodi außer dem Tonhöhenmodus wird der Musikton unverändert mit seiner ursprünglichen Tonhöhe wiedergegeben. Wenn der Tonhöhenmodus durch Verwenden des Moduswechselumschatters durch gleichzeitiges Bedienen eines der Felder bestimmt wird, spezifiziert der Benutzer gewünschte Wellenformdaten, die im Tonhöhenmodus abgespielt werden sollen. Wenn anschließend das spezifizierte von den zehn Feldern eingeschaltet wird, werden die bestimmten Wellenformdaten mit einer speziellen, dem Feld entsprechenden Tonhöhe abgespielt. Nur zwei Töne können gleichzeitig in diesem Modus wiedergegeben werden. Obwohl das Feld zur Bestimmung der wiederzugebenden Wellenformen auch als Tönhöheneingabemittel verwendet wird, können auch von dem Feld getrennte Tonhöheneingabemittel vorgesehen sein. Die Wellenform wird im Tonhöhenmodus digital dadurch verarbeitet, dass die Datenlesegeschwindigkeit geändert wird, um so die Original-Tonhöhe des entsprechenden Musiktons zu verschieben oder zu modifizieren.
  • Der Scratchmodus wird zur Realisierung der Scratch-Operation durch den Benutzer ausgewählt. Wenn der Scratchmodus durch Verwenden des Moduswechselumschalters bestimmt wird, bestimmt der Benutzer zur gleichen Zeit eines der Felder. Diesem Feld entsprechende Wellenformdaten werden der Scratch-Operation ausgesetzt. Anschließend beginnt das Abspielen der Wellenformdaten durch Berühren des Bandreglers 106. Durch Bewegen der Berührungsposition auf dem Bandregler 106, wird der Ton scratchend abgespielt. Ferner können in diesem Modus neben der Scratch-Wiedergabe nur zwei Töne parallel im Normalmodus unter Verwendung der zehn Felder wiedergegeben werden. Die Wellenform wird digital im Scratchmodus durch unregelmäßiges Verändern der Ausleseadressen der Daten verarbeitet, so dass der wiedergegebene Musikton gescratcht wird.
  • Der EX-Filter-Modus wird zum Filtern von frischen Wellenformdaten, die von der externen Quelle 111 zugeführt werden, und zum Ausgeben der gefilterten Wellenformdaten an des Tonsystem 114 ausgewählt. Eine Grenzfrequenz des Filterns kann durch den Benutzer mittels des Bandreglers 106 verändert werden. Im EX-Filter-Modus wird dafür gesorgt, dass die Wiedergabe der gespeicherten Wellenform aufgehalten wird, sogar wenn die Felder vom Benutzer bedient werden.
  • Der EX-Scratch-Modus wird zum Anwenden einer Scratch-Operation auf die frische Wellenform auswählt, die von der externen Quelle 111 zugeführt wurden. Wenn der Bandregler 106 im EX-Scratch-Modus nicht berührt wird, wird die Wellenform von der externen Quelle 111 unverändert an das Tonsystem 114 ausgegeben. Im Augenblick des Berührens des Bandreglers 106 wird die direkte Ausgabe von der externen Quelle 111 an das Tonsystem 114 angehalten, und die Scratch-Wiedergabe durch den Bandregler 106 wird für die in diesem Augenblick empfangene externe Eingabe durchgeführt. Im EX-Scratch-Modus wird dafür gesorgt, dass das Abspielen der gespeicherten Wellenform, die jedem einzelnen Feld entspricht, sogar nach einem Feld-Ein aufgehalten wird.
  • Als nächstes werden die im RAM 104 vorgesehenen Register, Zwischenspeicher und dergleichen erläutert. 2(a) zeigt ein Tonquellenregister, das im RAM 104 vorgesehen ist. Das Tonquellenregister besteht aus 4-Kanal-Bereichen (1ch–4ch) für den Betrieb der Felder und einem Tonquellenregister sch für die Scratch-Wiedergabe. Das Register für jeden Kanal speichert verschiedene Daten, wie zum Beispiel Adressen zum Auslesen von Wellenformdaten und Ton-Ein-Daten.
  • 2(b) zeigt einen Aufzeichnungszwischenspeicher, der im RAM 104 vorgesehen ist. Der Aufzeichnungszwischenspeicher ist mit zwei Zwischenspeichern versehen, das heißt, RB0 und RB1, von denen jeder Wellenformdaten mit 128 Abtastwerten speichern kann. Nach dem Aufzeichnen werden Wellenformdaten in einem der Aufzeichnungszwischenspeicher gespeichert. Die von der externen Quelle 111 zugeführten Wellenformdaten werden nämlich zu dem einen Aufzeichnungszwischenspeicher über den Eingabe-FIFO der Ton-I/O 112 durch die DMA-Steuereinheit 113 übertragen. Wenn der eine Aufzeichnungszwischenspeicher voll ist, werden die Abtastwerte der Wellenform des einen Aufzeichnungszwischenspeichers durch die CPU 101 in den Flashspeicher 1O3 geschrieben. Zusammen hiermit wird das Speichern der Abtastwerte der Wellenform in den anderen Aufzeichnungszwischenspeicher fortgesetzt. In dieser Weise werden die beiden Aufzeichnungszwischenspeicher abwechselnd zum kontinuierlichen Aufzeichnen der Wellenform verwendet. RBk (k = 0 oder 1) steht für den Aufzeichnungszwischenspeicher, der gerade das Aufzeichnen oder Speichern von Wellenformdaten durchführt, während RBk für den anderen Aufzeichnungszwischenspeicher steht. steht für eine Invertierung von k (wenn k = 0, k = 1, wenn k = 1, k= 0).
  • 2(c) zeigt einen Wiedergabezwischenspeicher im RAM 104. Der Wiedergabezwischenspeicher ist mit zwei Zwischenspeichern versehen, das heißt, PB0 und PB1, von denen jeder Wellenformdaten, mit 128 Abtastwerten speichern kann. Einer der Wiedergabezwischenspeicher wird für die Tonwiedergabe verwendet. Die Wellenformdaten in dem einen Wiedergabezwischenspeicher werden nämlich an die Ton-I/O 112 durch die DMA-Steuereinheit 113 übertragen und über den Ausgabe-FIFO ausgegeben. Der andere Wiedergabezwischenspeicher ist vorgesehen, um die durch die CPU 101 als nächstes auszugebenden Wellenformdaten zu speichern. In dieser Weise werden die beiden Wiedergabezwischenspeicher abwechselnd zur Tonwiedergabe verwendet. PBr (r = 0 oder 1) steht für den Wiedergabezwischenspeicher, der gerade die Wellenformdaten an die Ton-I/O 112 zur Wiedergabe überträgt, während PBr für den anderen Aufzeichnungszwischenspeicher steht. steht für eine Invertierung von r (wenn r = 0, r = 1, wenn r = 1, r = 0).
  • 2(d) zeigt einen Scratch-Bereich SR, der im RAM 104 vorgesehen ist. Der Scratch-Bereich SR wird bereitgestellt, wenn der Scratchmodus bestimmt wird. Wenn der Scratchmodus eingestellt wird, werden die dem bestimmten Feld entsprechenden Wellenformdaten mit linearen 16 Bit ADPCM-expandiert, und in einem Bereich des RAM 104 entwickelt. Es wird vorab bestimmt, welcher Teil der Wellenformdaten auf den Scratch-Bereich SR eingestellt wird. Eine bestimmte Adresse im Scratch-Bereich SR wird in einem Scratch-Zeiger SP als Scratch-Startadresse eingestellt. Ein Wert des Scratch-Zeigers SP kann durch den Benutzer verändert werden. Wenn der Benutzer den Bandregler 106 im Scratchmodus bedient, wird die Scratch-Wiedergabe durchgeführt. Wenn in diesem Fall eine Anfangsberührung auf dem Bandregler 106 an irgendeiner Position erfolgt, beginnt die Scratch-Wiedergabe von der Startadresse, die durch den Scratch-Zeiger SP bestimmt ist.
  • 2(e) zeigt einen Scratch-Bereich, der im EX-Scratchmodus bereitgestellt wird. Im EX-Scratchmodus werden die Wellenformdaten von der externen Quelle 111 in den Aufzeichnungszwischenspeichern SRB0 und SRB1 gespeichert. Die Aufzeichnungszwischenspeicher SRB0 und SRB1 entsprechen den Aufzeichnungszwischenspeichern RB0 und RB1, die mit Bezug auf 2(b) erläutert wurden, und sie werden abwechselnd genauso wie RB0 und RB1 verwendet. Sowohl SRB0 als auch SRB1 haben hinreichende Speicherkapazität zur Durchführung des Scratchens. Wenn zum Beispiel der Abtasttakt 40 kHz beträgt, kann die Speicherkapazität nicht weniger als 40 k Abtastwerte speichern. Einer von SRB0 und SRB1, welcher im Augenblick nicht verwendet wird, wenn die Bedienung des Bandreglers 106 begonnen wird, wird als Scratch-Bereich eingerichtet. Da es einen Aufzeichnungszeiger RP gibt, der eine Schreibadresse im Aufzeichnungszwischenspeicher SRB0 angibt, erfolgt das Schreiben der Daten momentan in SRB0. Entsprechend wird ein Teil des anderen Aufzeichnungszwischenspeichers SRB1, in den das Schreiben der Daten nicht erfolgt, als Scratch-Bereich SR eingerichtet. Weiter wird eine bestimmte Adresse im Scratch-Bereich SR im Scratch-Zeiger SP als Scratch-Startausleseadresse eingestellt.
  • Als nächstes werden unten andere als die in den 2(a)2(e) gezeigten Register aufgeführt:
    • (1) m: ein Operationsmodusregister. 0 steht für den Normalmodus, 1 für den Abtastmodus, 2 für den Filtermodus, 3 für den Tonhöhenmodus, 4 für den Scratchmodus, 5 für den EX-Filtermodus und 6 für den EX-Scratchmodus.
    • (2) PN: ein Register zum Speichern von Feldnummern zur Identifikation der Felder.
    • (3) i: ein Register zum Speichern von Kanalnummern der Kanäle zum Zuweisen oder Zuordnen der Tonerzeugung.
    • (4) FNi: ein Register zum Speichern einer F-Zahl des i-ten Kanals, zu dem die Tonerzeugung zugeordnet wird.
    • (5) TMP: ein Register zum Speichern eines Detektionswerts des Bandreglers 106.
    • (6) RD: ein Register, welches, wenn ein Detektionswert vom Bandregler 106 verändert wird, zum Einstellen dieses Detektionswerts verwendet wird.
    • (7) RS: ein Signal zum Anzeigen eines Zustands des Bandreglers 106. Wenn der Bandregler 106 in einer Weise bedient wird, so dass ein Finger oder dergleichen mit dem Bandregler in Berührung ist, wird das Signal auf 1 gesetzt. Wenn ein Finger oder dergleichen mit dem Bandregler 106 nicht in Berührung ist, wird das Signal auf 0 gesetzt.
    • (8) VEL: ein Register zum Einstellen der Geschwindigkeit einer Berührungshandlung längs des Bandreglers 106, speziell, der Geschwindigkeit der Bewegung des Fingers oder dergleichen, der den Bandregler 106 berührt.
    • (9) OLD: ein Register zum Halten eines letzten Detektionswerts des Bandreglers 106.
    • (10) SAD: ein Register zum Speichern einer Scratch-Ausleseadresse.
    • (11) ADi: ein Register zum Speichern einer Ausleseadresse im i-ten Kanal (i = 1 – 4).
    • (12) SFN: ein Register zum Speichern einer F-Zahl, die beim Auslesen der Wellenformdaten aus dem Scratch-Kanal sch verwendet wird.
    • (13) RP: ein Aufzeichnungszeiger zum Anzeigen einer Schreibadresse der Wellenformdaten in den Aufzeichnungszwischenspeicher.
    • (14) PP: ein Wiedergabezeiger zum Anzeigen einer Ausleseadresse der Wellenformdaten vom Wiedergabezwischenspeicher.
  • Die vorstehenden Symbole, die die Register und dergleichen zeigen, stehen auch für Speicherbereiche der Register und dergleichen, und sie stehen weiter für Daten, die in diesen Speicherbereichen gespeichert sind. m steht zum Beispiel nicht nur für das Operationsmodusregister, sondern auch für die Daten, die einen in diesem Register gespeicherten Operationsmodus anzeigen.
  • 3 bis 16 sind Flussdiagramme zur Erläuterung der CPU 101 und der DMA-Steuereinheit 113 im Abtaster der 1. Nachfolgend wird die hierarchische Struktur der Software als erstes erläutert, und dann wird eine Verarbeitungsprozedur jedes Softwaremoduls anhand der Flussdiagramme der 3 bis 16 erläutert. Anschließend wird die Beschreibung angegeben, zu welchen Takten die Softwaremodule ausgeführt werden, um die Funktion jedes Moduls zu erreichen.
  • Zuerst wird die hierarchische Struktur der Software erläutert. Die in den 3 bis 16 gezeigten Programme sind wie folgt eingeteilt:
    • Ebene 1: eine DR(m)-Routine von 15, die die DMA-Steuereinheit 113 beim Auslesen der Wellenformen betreibt, und eine DP-Routine der 16, die die DMA-Steuereinheit bei der Wiedergabe der Wellenformen betreibt.
    • Ebene 2: Routinen zur Erzeugung von Wellenformen HS(m) der 11(a) bis 12(c), die die Bereitstellung der Wellenformen durch die CPU 101 durchführen, und Routinen zum. Auslesen eines Bandwertes RC(m) der 9 und 10, die den Detektionswert des Bandreglers 106 durch die CPU 101 auslesen. Prozessroutinen der 13(a), 13(b) und 14 sind hier als Unterroutinen der Routinen zur Erzeugung der Wellenformen HS(m) enthalten.
    • Ebene 3: eine allgemeine Routine der 3, die durch die CPU 101 ausgeführt wird. Eine Feldscan-Routine, eine SW-Scanroutine und verschiedene Ereignisroutinen der 4 bis 8 sind hier als Unterroutinen der allgemeinen Routine enthalten.
  • Die Prozessroutinen der Ebene 1 haben die höchste Priorität. Speziell wenn eine Unterbrechung zum Ausführen der Prozessroutine der Ebene 1 stattfindet, während der Prozess der Ebene 2 oder 3 ausgeführt wird, wird die Prozessroutine der Ebene 1 mit der höchsten Priorität ausgeführt. Die Prozesse DR(m) und DP der Ebene 1 werden nicht von der CPU 101, sondern durch die DMA-Steuereinheit 113 ausgeführt. Wenn eine Unterbrechung für den Prozess der Ebene 1 stattfindet, wird so die Operation der CPU 101 angehalten, während die DMA-Steuereinheit 113 die Busleitung 115 hält, um den Prozess der Ebene 1 mit höchster Priorität auszuführen. Die Unterbrechung für den Prozess der Ebene 1 wird durch den Abtasttakt Fs getaktet. Das heißt die Unterbrechung erfolgt in jedem Abtasttakt Fs, so dass die DMA-Steuereinheit 113 DP bei der Wellenformwiedergabe und DR(m) bei der Wellenformaufzeichnung ausführt. Ob DP oder DR(m) nach der Unterbrechung bei jedem Abtasttakt Fs ausgeführt wird oder nicht, wird der DMA-Steuereinheit 113 von der CPU 101 vorab zugewiesen.
  • Der Prozess von Ebene 2 hat eine Priorität, die niedriger ist als die des Prozesses von Ebene 1, aber höher ist, als die des Prozesses der Ebene 3. Wenn eine Unterbrechung zum Ausführen des Prozesses der Ebene 2 stattfindet, während die allgemeine Routine der Ebene 3 ausgeführt wird, wird der Prozess der Ebene 2 mit Priorität ausgeführt. Die DP-Routine der DMA-Steuereinheit 113 gibt die Wellenformdaten aus dem Wiedergabezwischenspeicher wieder oder liest sie aus und unterbricht die CPU 101, wenn der Wiedergabezwischenspeicher frei wird. Im Ansprechen auf diese Unterbrechung führt die CPU 101 die Routine zur Erzeugung der Wellenformen HS(m) aus und stellt die nächsten Abtastwerte der Wellenform dem Wiedergabezwischenspeicher zur Verfügung. Die Routine zum Auslesen des Bandwertes RC(m) wird durch eine Zeitgeberunterbrechung gestartet. Die Zeitgeberunterbrechung erfolgt in jedem vom Zeitgeber 105 zu einem vorgegebenen Intervall ausgegebenen Takt, so daß die CPU 101 die Routine zum Auslesen des Bandwertes RC(m) ausführt, um den Detektionswert des Bandreglers 106 einzuholen.
  • Die Ebene 3 repräsentiert die Prozessroutine mit der niedrigsten Priorität. Die CPU führt wiederholt die allgemeine Routine von 3 aus, und führt weiter die gegebenen Unterprogramme beim Auftreten eines Ein-Ereignisses des Feldes 107 oder eines Operationsereignisses des Schaltfelds 109 aus.
  • Als nächstes wird die Betriebsprozedur der entsprechenden Softwaremodule entsprechend der Flussdiagramme der 3 bis 16 erläutert. 3 zeigt die allgemeine Routine der Ebene 3. Wenn der Abtaster eingeschaltet wird, führt die CPU 101 diese allgemeine Routine aus. Als erstes werden in Schritt 301 verschiedene Einstellungen durchgeführt. Insbesondere wird der Betriebsmodus m in den Normalmodus eingestellt, wie es durch m = 0 angegeben ist, eine Ton-Aus-Anweisung wird für alle Kanäle des Tonquellenregisters der 2(a) eingestellt, und alle Abtastbereiche der Wiedergabezwischenspeicher PB0 und PB1 werden auf Null gesetzt. Während der Initialisierung weist die CPU 101 der DMA-Steuereinheit 113 den Wiedergabeprozess zu. Im Ansprechen darauf unterbricht die DMA-Steuereinheit 113 die CPU 101 in jedem Abtasttakt Fs vom Fs-Taktgenerator 110 und führt die DP-Routine der 16 bei jeder Unterbrechung aus, um die Operation der Wiedergabe der Wellenformdaten zu starten, die im Wiedergabezwischenspeicher gehalten werden. Weiter wird der Zeitgeber 105 während der Initialisierung gestartet. Dadurch führt die CPU 101 die RC-Auslese-Routine RC(m) bei jeder Zeitgeberunterbrechung auf der Grundlage des Taktes vom Zeitgeber 105 aus, um den Prozess des Auslesens des Detektionswerts vom Bandregler 106 zu starten.
  • Als nächstes wird der Feldscan-Prozess in Schritt 302 ausgeführt, dann wird ein SW-Scan-Prozess in Schritt 303 ausgeführt und anschließend kehrt die Routine zu Schritt 302 zurück, um dieselben Prozesse zu wiederholen. Der Feldscan-Prozess von Schritt 302 wird ausgeführt, um zu detektieren, ob es irgendein Ton-Ein-Ereignis bei den zehn Feldern 107 gibt, und führt die in den 7 und 8 gezeigten Ton-Ein-Routinen aus, wenn es das Ton-Ein-Ereignis gibt. Der SW-Scan-Prozess von Schritt 303 wird ausgeführt, um zu detektieren, ob eine Bedienung der Schaltfläche SW 109 durchgeführt wird oder nicht, und führt die Prozessroutine aus, die dieser Bedienung entspricht, wenn die Bedienung durchgeführt wird.
  • 4 zeigt eine Modus-SW-Ereignis-Routine, die bei Detektion der Aktivierung des Moduswechselumschalters im SW-Scan-Prozess des Schritts 303 in 3 aufgerufen wird. In der Modus-SW-Ereignis-Routine wird ein Wert im Register m bei Schritt 401 eingestellt, weicher den abhängig von dem Betrieb des Moduswechselumschalters bestimmten Betriebsmodus anzeigt, und die Anzeige 108 wird entsprechend dem bestimmten Modus m in Schritt 402 geregelt. Dann wird ein Startprozess MS(m) entsprechend dem bestimmten Modus m in Schritt 403 ausgeführt, und anschließend wird der Prozess beendet.
  • 5 ist ein Flussdiagramm eines Startprozesses des Abtastmodus MS(1), der in Schritt 403 in 4 aufgerufen wird, wenn der Benutzer den Abtastmodus (m = 1) unter Verwendung des Moduswechselumschalters bestimmt. Im MS(1)-Prozess wird in Schritt 501 zuerst bestimmt, ob die Bestimmung eines Feldes durchgeführt wird. Wenn die Bestimmung irgendeines Feldes nicht durchgeführt wird, bestimmt Schritt 502, ob die Bestimmung des Abtastmodus beendet wird oder nicht. Wird die Bestimmung des Abtastmodus fortgesetzt, kehrt die Routine zum Schritt 501 zurück, um die Bestimmung des Feldes zu erzwingen.
  • Wenn die Bestimmung irgendeines Feldes in Schritt 501 bewirkt wird, wird eine Nummer des bestimmten Feldes im Register PN in Schritt 503 gespeichert oder vorgemerkt, und eine Aufzeichnungsvorbereitung wird in Schritt 504 durchgeführt. Die Aufzeichnungsvorbereitung wird durchgeführt, um die Aufzeichnungszwischenspeicher RB0 und RB1, den Aufzeichnungsbereich auf dem Flash-Speicher 103 und anderen Bereichen sicherzustellen. Weiter wird die DMA-Steuereinheit 113 angewiesen, die Ausführung der DP-Routine anzuhalten, welche durch Unterbrechen der CPU in jedem Abtasttakt Fs ausgeführt wird. Als nächstes wird in Schritt 505 bestimmt, ob eine Bedingung (Auslöser) zum Starten der Aufzeichnung erfüllt ist oder nicht. Die Bedingung für den Start der Aufzeichnung ist zum Beispiel so, daß die Aufzeichnung gestartet wird, wenn das Eingabeniveau nicht geringer als ein gegebener Wert wird. Wenn die Bedingung zum Start der Aufzeichnung nicht erfüllt ist, bestimmt Schritt 506, ob die Aufzeichnung zu stoppen ist. Wenn die Aufzeichnung fortgesetzt wird, kehrt die Routine zu Schritt 505 zurück.
  • Wenn die Bedingung zum Start der Aufzeichnung in Schritt 505 erfüllt wird, wird die Aufzeichnung in der Tat in Schritt 507 gestartet. Der Start der Aufzeichnung wird speziell durch Anweisen des Starts der Aufzeichnung an die DMA-Steuereinheit 113 von der CPU 101 bewirkt. Dadurch unterbricht die DMA-Steuereinheit 113 die CPU 101 in jedem Abtasttakt Fs vom Fs-Takt-Generator 110 und führt die DR(1)-Routine von 15 bei jeder Unterbrechung aus, um einen Prozess des Einstellens der Wellenformdaten zu starten, die von der externen Quelle 111 in den Aufzeichnungszwischenspeicher RBk über den Eingabe-FIFO in die Ton-I/O 112 eingegeben wurden.
  • Als nächstes wird in Schritt 508 bestimmt, ob der Aufzeichnungszwischenspeicher voll ist. Wie im Detail mit Bezug auf die 15 erklärt werden wird, werden in der DR(1)-Routine die Abtastwerte der Wellenform der externen Quelle 111 an den Aufzeichnungszwischenspeicher RBk überfragen. Wenn der RBk voll ist, wird k invertiert, so daß die Unterbrechung verursacht wird. Schritt 508 erwartet diese Unterbrechung und bestimmt, ob der Aufzeichnungszwischenspeicher voll ist. Wenn die Unterbrechung erfolgt, bedeutet das, dass der Aufzeichnungszwischenspeicher RBk mit Abtastwerten der Wellenformen gefüllt ist. So werden die Abtastwerte der Wellenformen des Aufzeichnungszwischenspeichers RBr in einen vorbestimmten Bereich des Flash-Speichers 103 in Schritt 509 geschrieben, und anschließend kehrt die Routine zu Schritt 508 zurück.
  • Wenn der Aufzeichnungszwischenspeicher nicht in Schritt 508 aufgefüllt wird (keine Unterbrechung von der DR(1)-Routine), bestimmt Schritt 510, ob der Aufzeichnungsprozess zu beenden ist. Der Aufzeichnungsprozess wird bei einem Ein-Ereignis eines Aufzeichnungsanhalteumschalters der Schaltfläche SW 109 oder dann beendet, wenn der im Flash-Speicher 103 gesicherte Aufzeichnungsbereich voll ist. Wenn entschieden wird, dass der Aufzeichnungsprozess nicht in Schritt 510 zu Ende gehen sollte, kehrt die Routine zu Schritt 508 zum Fortsetzen des Aufzeichnens zurück. Wenn entschieden wird, dass der Aufzeichnungsprozess in Schritt 510 zu Ende gehen sollte, wird der Aufzeichnungsbeendigungsprozess in Schritt 511 durch Anweisen der DMA-Steuereinheit 113, die Ausführung der DR(1)-Routine anzuhalten, ausgeführt. Dann wird in Schritt 512 das Register m auf 0 gesetzt, um zum Normalmodus zurückzukehren, und der Prozess wird beendet. Bei der Rückkehr zum Normalmodus wird die DMA-Steuereinheit 113 angewiesen, die Ausführung der DP-Routine durch Unterbrechen der CPU pro Abtasttakt Fs zu beginnen. In ähnlicher Weise wird das Register m auf 0 gesetzt, wenn der Prozess zum Starten des Abtastmodus in Schritt 502 beendet wird, um dadurch in Schritt 513 zum Normalmodus zurückzukehren, und anschließend wird der Prozess beendet. Wenn des weiteren der Aufzeichnungsprozess in Schritt 506 beendet wird, wird das Register m auf 0 gesetzt, um dadurch in Schritt 514 zum Normalmodus zurückzukehren, und anschließend wird der Prozess beendet. Der Prozess in den Schritten 513, 514 ist derselbe wie der von Schritt 512.
  • 6 ist ein Flussdiagramm des Prozesses zum Starten des Scratchmodus MS(4), der in Schritt 403 in 4 aufgerufen wird, wenn der Benutzer den Scratchmodus (m = 4) unter Verwendung des Moduswechselumschalters bestimmt. Im MS(4)-Prozess, wird in Schritt 601 zuerst bestimmt, ob die Bestimmung eines Feldes durchgeführt wird oder nicht. Wenn die Bestimmung irgendeines Feldes erfolgt, so bestimmt Schritt 602, ob die Bestimmung des Scratchmodus beendet werden soll. Wenn der Bestimmungsprozess des Scratchmodus fortgeführt werden soll, kehrt die Routine zu Schritt 601 zurück, um die Bestimmung eines Feldes zu erzwingen.
  • Wenn die Bestimmung irgendeines Feldes in Schritt 601 durchgeführt wird, wird eine Nummer oder ein Code des bestimmten Feldes im Register PN in Schritt 603 vorgemerkt. Dann wird das Ausführen des Scratchens in Schritt 604 vorbereitet. Dies ist ein Prozess zum Auslesen der Wellenfarmdaten, die entsprechend der Feldnummer PN vom Flash-Speicher 103 aufgezeichnet wurden, wobei die ausgelesenen Wellenformdaten ADPCM-expandiert und die expandierten Wellenformdaten in einem gegebenen Bereich des RAM 104 entwickelt werden.
  • Dann wird in Schritt 605 ein gewünschter Teil der in dem gegebenen Bereich des RAM 104 entwickelten Wellenformdaten als der Scratch-Bereich DR (2(d)) eingestellt, und der Scratch-Zeiger SP, der eine Adresse zum Starten des Scratchens darstellt, wird auf einen vorbestimmten Wert gesetzt. Wenn der Bestimmungsprozess für den Scratchmodus in Schritt 602 beendet wird, wird das Register m auf 0 gesetzt, um dadurch in Schritt 606 zum Normalmodus zurückzukehren, und der Prozess wird beendet.
  • 7 zeigt ein Flussdiagramm der Feld-Ein-Ereignis-Routine, welche bei Detektion des Ein-Ereignisses der Felder 107 in Schritt 302 in 3 aufgerufen wird, wenn der Modus m auf den Normalmodus, den Filtermodus oder den Scratchmodus (m = 0, 2, 4) eingestellt wird. In dieser Ein-Ereignis-Routine wird zuerst in Schritt 701 eine Feldnummer des Feldes 107, bei dem das Ein-Ereignis auftritt, im Register PN eingestellt. Dann bestimmt Schritt 702, ob die Wellenformdaten, die der Feldnummer PN entsprechen, im Flash-Speicher 103 bereitgestellt sind. Wenn dort keine Wellenformdaten entsprechend der Feldnummer PN vorhanden sind, wird der Prozess beendet. Werden Wellenformdaten entsprechend der Feldnummer PN in Schritt 702 gefunden, wird eine Zuordnung oder Zuweisung des Tonerzeugungskanals in Schritt 703 durchgeführt. Diese Kanalzuordnung wird innerhalb der vom Modus m abhängenden Maximalzahl von Tonerzeugungen durchgeführt. Da im Normalmodus höchstens vier Töne gleichzeitig erzeugt werden können, wird, wenn es einen freien Kanal im ersten bis vierten Kanal gibt, jede Tonerzeugung dem freien Kanal zugeordnet. Wenn andererseits alle vier Kanäle zür Tonerzeugung verwendet werden, wird die Tonerzeugung im ältesten Kanal beendet, in dem die Tonerzeugung zum ältesten Zeitpunkt gestartet wurde, und eine weitere Tonerzeugung wird erneut diesem Kanal zugeordnet. Da im Filtermodus oder Scratchmodus höchstens zwei Töne gleichzeitig erzeugt werden können, wird jede Tonerzeugung in ähnlicher Weise dem ersten oder zweiten Kanal zugeordnet. Eine Nummer des zugeordneten Kanals wird im Register i gesetzt. Nachfolgend werden in Schritt 704 verschiedene Daten zum Durchführen der Tonerzeugung, einschließlich einer Kopfadresse ADi der wiederzugebenden Wellenformdaten, im Tonquellenregister ich des i-ten Kanals eingestellt. Weiter wird die Ton-Ein-Anweisung eingestellt, und der Prozess wird beendet.
  • 8 zeigt ein Flussdiagramm der Feld-Ein-Ereignis-Routine, welche bei Detektion des Ein-Ereignisses der Felder 107 in Schritt 302 in 3 aufgerufen wird. wenn der Modus m in den Tonhöhenmodus (m = 3) eingestellt ist. In der Feld-Ein-Ereignis-Routine wird zuerst in Schritt 801 eine Feldnummer des Feldes 107, bei dem das Ein-Ereignis auftritt, im Register PN eingestellt. Dann wird die Zuordnung des Tonerzeugungskanals in Schritt 802 durchgeführt. Da im Tonhöhenmodus höchstens zwei Töne gleichzeitig erzeugt werden können, wird die Kanalzuordnung innerhalb der maximalen Tonerzeugungszahl 2 durchgeführt. Dann wird in Schritt 803 die Feldnummer PN in eine entsprechende F-Zahl umgewandelt, welche in dem Register FNi eingestellt wird. Nachfolgend werden in Schritt 804 verschiedene Daten, einschließlich einer Startadresse der wiederzugebenden Auslesewellenformdaten und einer F-Zahl FNi, eingestellt, um die Wiedergabe des Musiktons mit einer Tonhöhenverschiebung im Tonquellenregister ich des i-ten Kanals zu erreichen. Weiter wird die Ton-Ein-Anweisung eingestellt, und danach wird der Prozess beendet. In diesem Prozess wird ein Feld 107 gedrückt, um eine gewünschte Wellenform zu bestimmen, und um gleichzeitig eine entsprechende F-Zahl festzulegen, welche im Tonquellenregister ch eingestellt wird, um eine auf den wiedergegebenen Ton angewandte Tonhöhe zu bestimmmen.
  • 9 ist ein Flussdiagramm der RC-Auslese-Routine RC(m) zum Einholen des Detektionswerts des Bandreglers 106, wenn der Modus m auf den Filtermodus oder den EX-Filtermodus (m = 2 oder 5) eingestellt ist. Dies ist ein Prozess zum Einholen des Detektionswerts zum Durchführen der Filtersteuerung durch den Bandregler 106. 10 ist ein Flussdiagramm der RC-Auslese-Routine RC(m) zum Einholen des Detektionswerts des Bandreglers 106, wenn der Modus m auf den Scratchmodus oder den EX-Scratchmodus (m = 4 oder 6) eingestellt ist. Dies ist ein Prozess zum Einholen des Detektionswerts zum Durchführen der Scratchsteuerung durch den Bandregler 106. Der Zeitgeber 105 wird während der Initialisierung in Schritt 301 in 3 gestartet. Die CPU 101 führt eine Zeitgeberunterbrechung zu einem gegebnen Zeitintervall aus. Die RC-Auslese-Routine RC(m) der 9 wird durch die Zeitgeberunterbrechung ausgeführt, wenn der Modus m auf 2 oder 5 eingestellt ist. Auf der anderen Seite wird die RC-Auslese-Routine RC(m) der 10 wird die Zeitgeberunterbrechung ausgeführt, wenn der Modus m auf 4 oder 6 eingestellt ist.
  • Die RC-Auslese-Routine RC(m)(m = 2, 5) der 9 wird zuerst erläutert. Zuerst wird in Schritt 901 der Detektionswert des Bandreglers 106 im Register TMP eingestellt. Nachfolgend wird in Schritt 902 bestimmt, ob sich ein nachfolgender Detektionswert verglichen mit einem bei der letzten Zeitgeberunterbrechung ausgelesenen vorhergehenden Detektionswert ändert. Gibt es keine Änderung, wird der Prozess beendet. Gibt es eine Änderung, wird der Detektionswert TMP in Schritt 903 im Register RD eingestellt, und der Prozess wird beendet. Als Ergebnis wird der Detektionswert des Bandreglers 106 im Register RD eingestellt. Wenn ein Finger oder dergleichen vom Bandregler 106 entfernt wird, können der Detektionswert TMP und RD wieder auf einen Standartwert gesetzt werden, oder der Wert unmittelbar vor dem Entfernen des Fingers oder dergleichen kann gehalten werden.
  • Die RC-Auslese-Routine RC(m) (m = 4, 6) der 10 wird erklärt. 10 ist ein Flussdiagramm zur Erläuterung sowohl der RC-Auslase-Routine RC(4), welche aufgerufen wird, wenn der Betriebsmodus auf den Scratchmodus (m = 4) eingestellt wird, als auch der RC-Auslese-Routine RC(6), die aufgerufen wird, wenn der Betriebsmodus auf den EX-Scratchmodus (m = 6) eingestellt wird. Da die Schritte 1006, 1009, 1015 und 1016 nur Prozesse für den RC(6) darstellen, wird die Operationsprozedur für den RC(4) zuerst erklärt und dann wird weiter unten die Operationsprozedur des RC(6) erklärt.
  • In der Auslese-Routine RC(4) des Detektionswerts des Bandreglers wird zuerst in Schritt 1001 der Detektionswert des Bandreglers 106 im Register TMP eingestellt. Dann wird in Schritt 1002 bestimmt, ob der Bandregler 106 bedient wird. Der Bandregler 106 gibt einen Koordinatendetektionswert aus, der eine Koordinatenposition anzeigt, bei der ein Finger, eine Stange oder dergleichen in Berührung kommt, während der Bandregler 106 einen Standardwert ausgibt, wenn es keine Berührung mit dem Finger, der Stange oder dergleichen gibt, so dass die Nicht-Berührung (die Nicht-Bedienung) erkannt werden kann. Wenn der Bandregler 106 nicht bedient wird, fährt die Routine mit Schritt 1003 fort. Wenn der Bandregler 106 bedient wird, fährt die Routine mit Schritt 1004 fort.
  • In Schritt 1003 wird bestimmt, ob das Statusregister RS für die Berührungshandlung 0 ist. Wenn das Register RS 0 ist, bedeutet dies, dass der Bandregler 106 weder während der letzten noch während der momentanen Unterbrechung bedient wird. Daher wird der Prozess beendet. Wenn RS in Schritt 1003 nicht 0 ist, bedeutet dies, dass der Bandregler 106 während der letzten Unterbrechung bedient wurde, während der Bandregler 106 während der momentanen Unterbrechung nicht bedient wird (der Finger, die Stange oder dergleichen sind entfernt). Daher wird das Register in Schritt 1013 auf 0 gesetzt, die Ton-Aus-Anweisung wird in Schritt 1014 in das Tonquellenregister sch des Scratchkanals geschrieben, und der Prozess wird beendet.
  • In Schritt 1004 wird bestimmt, ob das Register RS 1 ist oder nicht. Wenn das Register nicht 1 ist, bedeutet dies, dass der Bandregler 106 während der letzten Unterbrechung nicht bedient wurde, während der Bandregler 106 während der momentanen Unterbrechung bedient wird. Daher wird das Register RS in Schritt 1005 auf 1 gesetzt, und die Geschwindigkeit VEL wird auf 0 gesetzt. Dann wird in Schritt 1007 eine Leseadresse SAD auf einen vorbestimmten Wert des Scratch-Zeigers SP gesetzt. Als nächstes werden in Schritt 1008 verschiedene Daten für die Scratch-Wiedergabe, einschließlich einer Leseadresse der wiederzugebenden Wellenformdaten und einem Geschwindigkeitswert VEL, eingestellt, und die Ton-Ein-Anweistung wird in das Tonquellenregister sch des Scratch-Kanals geschrieben. Nachfolgend wird in Schritt 1010 der momentane Detektionswert TMP des Bandreglers 106 im Register OLD eingestellt, und der Prozess wird beendet.
  • Wenn das Prüfergebnis in Schritt 1004 JA ist, bedeutet dies, dass RS = 1 während der letzten Unterbrechung war und auch, dass RS = 1 während der momentanen Unterbrechung (die Bedienung des Bandreglers 106 dauert an) ist. Daher wird die Geschwindigkeit der Berührungsaktion auf dem Bandregler 106 detektiert und im Register VEL in Schritt 1011 eingestellt. Die Geschwindigkeit VEL wird durch Differentialrechung durch Subtrahieren des Detektionswerts OLD während der letzten Unterbrechung von dem momentanen Detektionswert TMP abgeleitet. So ist es möglich, dass die Geschwindigkeit VEL einen negativen Wert annimmt. Weiter wird die Geschwindigkeit VEL im Tonquellenregister sch des Scratch-Kanals eingestellt. Dann wird in Schritt 1012 der momentane Detektionswert TMP im Register OLD eingestellt, und der Prozess wird beendet.
  • Es wurde die RC-Auslese- oder Einhol-Routine RC(4) erklärt, wenn der Modus auf den Scratchmodus (m = 4) eingestellt ist. In der RC-Einhol-Rotuine RC(6) wird, wenn der Modus auf den EX-Scratchmodus (m = 6) eingestellt ist, ein Schritt 1006 nach Schritt 1005 angefügt, ein Schritt 1009 wird nach Schritt 1008 angefügt, und die Schritte 1015 und 1016 werden nach Schritt 1014 angefügt. Wieder sind die Prozesse in den Schritten 1008 und 1014 etwas anders. Nachfolgend wird dafür eine Erklärung gegeben. Zum Zeitpunkt des Startens der Bedienung des Bandreglers 106 fährt die Routine von Schritt 1004 über Schritt 1005 zu Schrift 1006 fort. In Schritt 1006 weist die CPU 101 die DMA-Steuereinheit 11 an, die Ausführung der RD(6)-Routine durch Unterbrechen der CPU in jedem Abtasttakt Fs anzuhalten, und der Scratch-Bereich SR wird im Aufzeichnungszwischenspeicher SRBk eingestellt, welcher einer der beiden Zwischenspeicher SRB0 und SRB1 ist, der gerade nicht verwendet wird, wie es mit Bezug auf 2(e) erklärt wurde. Dann fahrt die Routine über Schritt 1007 zu Schritt 1008 fort. In Schritt 1008 werden verschiedene Daten für die Scratch-Wiedergabe, einschließlich einer Leseadresse SAD der mit Scratchen wiederzugebenden Wellenformdaten und eines Geschwindigkeitswertes VEL, eingestellt, und die Ton-Ein-Anweisung wird in das Tonquellenregister sch des Scratch-Kanals geschrieben. Ferner wird in Schritt 1008 vor dem vorangegangenen Prozess auch der folgende Prozess durchgeführt. Zuerst werden 128 Abtastwerte im Wiedergabezwischenspeicher PBr vorgesehen. In diesem Prozess kann nach dem Löschen des Wiedergebezwischenspeichers PBr auf 0 der später beschriebene EX-Scratch-Prozess der 14 relativ zum Wiedergabezwischenspeicher PBr durchgeführt werden (PBr wird anstelle von PBr in 14 verwendet). Ferner weist die CPU 101 die DMA-Steuereinheit 113 an, die Ausführung der DP-Routine durch Unterbrechen der CPU 101 in jedem Abtasttakt Fs erneut zu starten. Weiter wird eine Unterbrechung derselben Signifikanz wie eine später beschriebene, im Schritt 1605 der DP-Routine in 16 verursachte Unterbrechung erzeugt. Durch diese Unterbrechung wird die HS(6) ausgeführt, so dass die nächsten 128 durch Scratchen wiederzugebenden Abtastwerte im PBr bereitgestellt werden. Danach wird in Schritt 1009 unter der Anweisung der CPU 101 die direkte Verbindung vom A/D-Eingang zum D/A-Ausgang der Ton-I/O 112 ausgeschaltet, um die Tonaussendung des direkten Zuführens des Musiktonsignals von der externen Quelle 111 zum Tonsystem 114 anzuhalten.
  • Zum Zeitpunkt des Anhaltens der Bedienung des Bandreglers 106 fährt die Routine von Schritt 1002 über die Schritte 1003 und 1013 zu Schritt 1014 fort. In Schritt 1014 wird das Ton-Aus-Ereignis in das Tonquellenregister sch des Scratch-Kanals geschrieben, und dann wird auch der folgende Prozess durchgeführt. Die CPU 101 weist die DMA-Steuereinheit 113 an, die Ausführung der DP-Routine, nämlich des Unterbrechens der CPU 101 in jedem Abtasttakt Fs, anzuhalten. Andererseits wird in Schritt 1015 unter der Anweisung der CPU 101 die direkte Verbindung vom A/D-Eingang zum D/A-Ausgang der Ton-I/O 112 wiederhergestellt, um eine Tonaussendung durch direktes Zuführen des Musiktonsignals von der externen Quelle 111 zum Tonsystem 114 zu erreichen. In Schritt 1016 weist die CPU 101 die DMA-Steuereinheit 113 an, die Ausführung der DP(6)-Routine durch Unterbrechen der CPU 101 in jedem Abtasttakt Fs wieder zu starten.
  • Die 11(a) bis 11(c) sind Flussdiagramme der Wellenformerzeugungsroutine HS(m), die durch die CPU 101 zum Bereitstellen aufeinanderfolgender Abtastwerte der Wellenform für den Wiedergabezwischenspeicher in den entsprechenden Modi m ausgeführt werden. Die Wellenformerzeugungsroutine HS(m) wird durch die CPU 101 im Ansprechen auf eine später beschriebene Unterbrechungsanforderung in Schritt 1606 in 16 ausgeführt. In der DP-Routine wird ein im Wiedergabezwischenspeicher gehaltener Abtastwert der Wellenform in jedem Abtasttakt an die Ton-I/O 112 übertragen, um die Wiedergabe des Musiktons durchzuführen. Wenn der Satz von 128 Abtastwerten im Wiedergabezwischenspeicher PBr vollständig wiedergegeben ist, invertiert die DP-Routine k, um eine Unterbrechung herbeizuführen. Mit dieser Unterbrechung als Auslöser, führt die CPU 101 die Wellenformerzeugungsroutine HS(m) abhängend vom Modus m aus und erzeugt erneut einen weiteren Satz von 128 Abtastwerten, die einem Rahmens des Wiedergabezwischenspeichers PBr entsprechen, welcher gerade die Wiedergabe beendet hat und frei geworden ist.
  • 11(a) ist ein Flussdiagramm der Wellenformerzeugungsroutine HS(0) zur Erzeugung der Abtastwerte der Wellenform im Wiedergabezwischenspeicher im Normalmodus. In HS(0) wird eine mit „normal 4" bezeichnete Unterroutine in Schritt 1101 aufgerufen, und der Prozess wird beendet. Diese Unterroutine wird später mit Bezug auf 13(a) beschrieben.
  • 11(b) ist ein Flussdiagramm der Wellenformerzeugungsroutine HS(2) zur Erzeugung der Abtastwerte der Wellenform im Wiedergabezwischenspeicher im Filtermodus. In HS(2) wird eine Unterroutine „normal 2" in Schritt 1111 aufgerufen, und ein Filterkoeffizient (Grenzfrequenz) wird entsprechend einem Detektionswert RD des Bandreglers 106 in Schritt 1112 erzeugt. Dann wird in Schritt 1113 der Filterprozess (Tiefpassfilterprozess) durchgeführt, und der Prozess wird beendet. Die „normal 2" in Schritt 1111 wird später mit Bezug auf 13(a) beschrieben.
  • 11(c) ist ein Flussdiagramm der Wellenformerzeugungsroutine HS(3) zur Erzeugung der Abtastwerte der Wellenform im Wiedergabezwischenspeicher im Tonhöhenmodus. In HS(3) wird in Schritt 1121 eine Unterroutine „Tonhöhe 2" aufgerufen, und der Prozess wird beendet. Die „Tonhöhe 2" wird später mit Bezug auf 13(b) beschrieben.
  • 12(a) ist ein Flussdiagramm der Wellenformerzeugungsroutine HS(4) zur Erzeugung der Abtastwerte der Wellenform im Wiedergabezwischenspeicher im Scratchmodus. In HS(4) wird die Unterroutine „Normal 2" in Schritt 1201 aufgerufen, dann wird eine Scratch-Prozess-Unterroutine in Schritt 1202 aufgerufen, und der Prozess wird beendet. Die „normal 2" wird später mit Bezug auf 13(a) beschrieben. Die Scratch-Prozess-Unterroutine wird später mit Bezug auf die 14 beschrieben.
  • 12(b) ist ein Flussdiagramm der Wellenformerzeugungsroutine HS(5) zur Erzeugung der Abtastwerte der Wellenform im Wiedergabezwischenspeicher im EX-Filtermodus. Wenn HS(5) aufgerufen wird, wird der Satz der 128 Abtastwerte (lineare Abtastwerte) der Wellenformdaten, die von der externen Quelle 111 zugeführt wurden, in den Aufzeichnungszwischenspeicher RBk geschrieben, während der Wiedergabezwischenspeicher PBr frei ist. Entsprechend wird in HS(5) zuerst in Schritt 1211 ein Filterkoeffizient entsprechend dem Detektionswert RD des Bandreglers 106 erzeugt, und ein EX-Filterprozess wird in Schritt 1212 durchgeführt. Dieser EX-Filterprozess wird aufgerufen, um den Filterprozess unter Verwendung des in Schritt 1211 abgeleiteten Filterkoeffizienten auf den Satz der 128 Wellenformabtastwerte anzuwenden, die im Aufzeichnungszwischenspeicher RBk gehalten werden, und um die resultierenden 128 Wellenformabtastwerte im Wiedergabezwischenspeicher PBr einzustellen. Nach dem Schritt 1212 wird der Prozess beendet.
  • 12(c) ist ein Flussdiagramm der Wellenformerzeugungsroutine HS(6) zur Erzeugung der Abtastwerte der Wellenform im Wiedergabezwischenspeicher im EX-Scratchmodus. In HS(6) bestimmt Schritt 1221, ob das Register RS 1 ist oder nicht. Wenn das Register RS nicht 1 ist, bedeutet dies, dass der Bandregler 106 nicht bedient wird. Somit wird der Prozess beendet. Wenn das Register in Schritt 1221 1 ist, bedeutet dies, dass der Bandregler 106 bedient wird. Somit wird der EX-Scratch-Prozess in Schritt 1222 durchgeführt, und der Prozess wird beendet. Der EX-Scratch-Prozess wird später mit Bezug auf 14 beschrieben.
  • 13(a) zeigt ein Flussdiagramm von Normal n. Normal 4 wird im vorhergehenden Schritt 1101 aufgerufen, während Normal 2 in den vorhergehenden Schritten 1111 und 1201 aufgerufen wird. Zuerst wird in Schritt 1301 ein Arbeitsregister i zum Zählen der Kanäle auf 1 gesetzt, ein Arbeitsregister j zum Zählen der Abtastwerte wird auf 0 gesetzt, und der gesamte Abtastbereich des Wiedergabezwischenspeichers PBr, der im Moment nicht der DP-Routine unterworfen ist, wird auf 0 gesetzt. Dann wird in Schritt 1302 bestimmt, ob das Ton-Ein in das Tonquellenregister ich des i-ten Kanals geschrieben wird. Wenn das Ton-Ein nicht geschrieben wird, ist es nicht nötig, die Wellenformerzeugung des i-ten Kanals durchzuführen. Somit fährt die Routine mit Schritt 1308 fort. Wenn der I-te Kanal einem Ton-Ein-Ereignis in Schritt 1302 unterworfen wird, fährt die Routine mit Schritt 1303 fort.
  • In Schritt 1303 wird die Leseadresse ADi des i-ten Kanals (ADi wird im Tonquellenregister ich des i-ten Kanals eingestellt) inkrementiert. In Schritt 1304 wird der Wellenformabtastwert aus der Adresse ADi über den i-ten Kanal ausgelesen, und der gelesene Wellenformabtastwert wird ADPCM-expandiert, um einen linearen Wellenformabtastwert abzuleiten, welcher dann im Arbeitsregister TMP eingestellt wird. Nachfolgend wird in Schritt 1305 der Wert des Registers TMP im Wiedergabezwischenspeicher PBr(j), dargestellt durch PBr(j) + TMP → PBr(j), angesammelt (Kanalansammlung).
  • Dann wird in Schritt 1306 bestimmt, ob die Zählung des Registers j 127 erreicht. Wenn das Register j nicht 127 erreicht, wird das Register j in Schritt 1307 inkrementiert, und die Routine kehrt zu Schritt 1303 zurück, um das Lesen des nächsten Wellenformabtastwertes, die Expansion und die Ansammlung zu wiederholen. Wenn die Zählung des Registers j in Schritt 1306 127 erreicht, was bedeutet, dass die Ansammlung oder Aufsummierung von 128 Abtastwerten des i-ten Kanals in dem den 128 Abtastwerten zugewiesenen Bereich des Weitergabezwischenspeichers PBr beendet ist, fährt die Routine mit Schritt 1308 fort.
  • In Schritt 1308 wird bestimmt, ob das Register i n erreicht. Wenn das Register i nicht n erreicht, wird das Register i inkrementiert, und das Register j wird in Schritt 1309 auf 0 gesetzt, um mit der Verarbeitung der Wellenform im nächsten Kanal zu beginnen. Dann kehrt die Routine zu Schritt 1302 zurück und wiederholt die Prozesse für den i-ten Kanal. Wenn das Register i in Schritt 1308 n erreicht, was bedeutet, dass die Aufsummierungsberechnung im letzten Kanal beendet ist und 128 Abtastwerte im Wiedergabezwischenspeicher PBr erzeugt sind, wird der Prozess beendet.
  • 13(b) ist ein Fiussdiagramm der „Tonhöhe 2"-Unterroutine, die in Schritt 1121 in 11(c) aufgerufen wird. In Schritt 1311 wird das Arbeitsregister i zum Zählen der Kanäle auf 1 gesetzt, das Arbeitsregister j zum Zählen der Abtastwerte wird auf 0 gesetzt, und alle Abtastabereiche des Wiedergabezwischenspeichers PBr, die gerade nicht der DP-Routine unterworfen sind, werden auf 0 gesetzt. Dann wird in Schritt 1312 bestimmt, ob das Ton-Ein in das Tonquellenregister ich des i-ten Kanals geschrieben wird. Wenn das Ton-Ein nicht geschrieben wird, ist es nicht nötig, die Tonhöhen-verschobene Wellenformerzeugung des i-ten Kanals durchzuführen. Somit fährt die Routine mit Schrift 1319 fort. Wenn der i-te Kanal einem Ton-Ein-Ereignis in Schritt 1312 unterworfen ist, fährt die Routine mit Schritt 1313 fort.
  • In Schritt 1313 wird die Leseadresse der Abtastwerte ADi zur F-Zahl FNi addiert, um eine neue Adresse ADi einzustellen. ADi und FNi werden im Tonquellenregister ich des i-ten Kanals eingestellt. Dann wird in Schritt 1314 der Wellenformabtastwert aus der Adresse ADi über den i-ten Kanal ausgelesen und wird ADPCM-expandiert, um einen linearen Wellenformabtastwert abzuleiten, welcher dann im Arbeitsregister TMP eingestellt wird. Da die ausgelesenen Wellenformdaten ADPCM-komprimiert sind, werden, wenn ein ganzzahliger Teil der Adresse ADi als Ergebnis der Addition der F-Zahl um nicht weniger als 2 vorrückt, alle Abtastwerte von der letzen Leseadresse bis zur momentanen Leseadresse ADi ausgelesen und für die lineare Expansion verwendet. Nachfolgend wird in Schritt 1315 die Interpolation unter den gelesenen Abtastwerten abhängend von einem Dezimalteil der Adresse ADi durchgeführt, und der interpolierte Wellenformabtastwert wird im Register TMP eingestellt. Dann wird in Schrit 1316 der abgeleitete Wellenformabtastwert TMP im j-ten Abtastbereich PBr(j) des Wiedergabezwischenspeichers angesammelt.
  • Dann wird in Schritt 1317 bestimmt, ob das Register j 127 erreicht. Wenn nicht, wird das Register in Schritt 1318 inkrementiert, und die Routine kehrt zu Schritt 1313 zurück, um die Prozesse bezüglich des nächsten Abtastwertes durchzuführen. Wenn das Register in Schritt 1317 die 127 erreicht, was bedeutet, dass der Prozess für den i-ten Kanal beendet ist, bestimmt Schritt 1319, ob das Register i 2 erreicht. Wenn das Register i nicht 2 erreicht, wird das Register i inkrementiert, und das Register j wird in Schritt 1320 auf 0 gesetzt, und dann kehrt die Routine zu Schritt 1312 zurück, um die Prozesse bezüglich des nächsten Kanals durchzuführen. Wenn der Wert des Registers i in Schritt 1319 2 erreicht, wird der Prozess beendet.
  • 14 ist ein Flussdiagramm des Scratch-Prozesses, welcher in Schritt 1202 in 12(a) aufgerufen wird, und des EX-Scratch-Prozesses, welcher in Schritt 1222 in 12(c) aufgerufen wird. Als erstes wird in Schritt 1401 die detektierte Geschwindigkeit VEL der Berührungsaktion (VEL ist im Tanquellenregister sch des Scratch-Kanals bereitgestellt) des Bandreglers 106 in eine veränderliche F-Zahl SFN für die Scratch-Operation umgewandelt. Da die F-Zahl SFN abhängend von der Geschwindigkeit VEL bestimmt wird, welche entweder einen positiven Wert oder negativen Wert annehmen kann, verändert sich auch die F-Zahl in positiver oder negativer Richtung. Als nächstes wird das Register j in Schritt 1402 auf 0 gesetzt, und die Routine fährt mit Schritt 1403 fort.
  • In Schritt 1403 wird die Scratch-F-Zahl SFN zur Scratch-Leseadresse SAD addiert, die im Tonquellenregister sch des Scratch-Kanals bereitgestellt ist. In Schritt 1404, wird der Wellenformabtastwert aus der Adresse SAD ausgelesen und im Register TMP eingestellt. Im Scratch-Prozess, der in Schritt 1202 in 12(a) aufgerufen wird, werden die gelesenen Wellenfarmdaten ADPCM-expandiert und in einem gegebenen Bereich vorab entwickelt, und der Scratch-Bereich SR wird auf den gegebenen Bereich eingerichtet, in dem die Wellenformdaten entwickelt werden (Schritte 604 und 605 in 6). Andererseits werden im in Schritt 1222 in 12(c) aufgerufenen EX-Scratch-Prozess die aus einer Folge von linearen Abtastwerten zusammengesetzten Wellenformdaten von der externen Quelle 111 eingegeben und abwechselnd in die Aufzeichnungszwischenspeicher SRB0 und SRB1 geschrieben, und der Scratch-Bereich SR wird in einem der Aufzeichnungszwischenspeicher SRB0 und SRB1 eingerichtet, welcher nicht dem Schreiben der Wellenformdaten zu dem Zeitpunkt ausgesetzt ist, in dem die Bedienung des Bandreglers 106 beginnt (Schritt 1007 in 19). In jedem Fall wird nur die Zahl der Abtastwerte, die zur Interpolation erforderlich ist, in Schritt 1404 ausgelesen.
  • Als nächstes wird in Schritt 1405 die Interpolation mit den gelesenen Abtastwerten abhängend von einem Dezimalteil der Adresse SAD durchgeführt, und der interpolierte Abtastwert wird im Register TMP eingestellt. Dann wird in Schritt 1406 der Wellenformabtastwert TMP im j-ten Abtastwertbereich PBr(j) des Wiedergabezwischenspeichers PBr angesammelt, um den absoluten Abtastwert zu erzeugen, der durch PBr+ TMP dargestellt wird. Als nächstes wird in Schritt 1407 bestimmt, ob das Register j 127 erreicht. Wenn das Register j 127 nicht erreicht, wird das Register in Schritt 1408 inkrementiert, und die Routine kehrt zu Schritt 1403 zurück, um die Prozesse bezüglich des nächsten Abtastwertes durchzuführen. Wenn das Register j in Schritt 1407 die 127 erreicht, wird der Prozess beendet.
  • 15 ist ein Flussdiagramm der DR(m)-Routine, die durch die DMA-Steuereinheit 113 in jedem durch den Fs-Taktgenerator 110 erzeugten Abtasttakt Fs ausgeführt wird. Das Aufzeichnen wird durchgeführt, wenn Modus m = 1,5 oder 6 ist. Zuerst wird in Schritt 1501 der Wellenformabtastwert vom Eingabe-FIFO der Ton-I/O 112 zum Abtastwertbereich PBk(RP) des Aufzeichnungszwischenspeichers PBk übertragen, der durch den Aufzeichnungszeiger RP bestimmt ist. Das ursprüngliche Musiktonsignal, das in den A/D-Eingabeanschluss von der externen Quelle eingegeben wurde, wird A/D-gewandelt und in den Eingabe-FIFO geladen. Wenn der Modus m der Abtastmodus (m = 1) ist, wird der lineare, durch den A/D-Wandler umgewandelte Wellenformabtastwert durch Verwendung der ADPCM-Kompressionsfunktion der Ton-I/O 112 ADPCM-komprimiert, und der komprimierte Wellenformabtastwert wird an den Aufzeichnungszwischenspeicher RBk(RP) über den Eingabe-FIFO übertragen. Wenn auf der anderen Seite der Modus der EX-Filtermodus (m = 5) oder der EX-Scratchmodus (m = 6) ist, wird der lineare Wellenformabtastwert, der nicht A/D-gewandelt und nicht der ADPCM-Kompression unterworfen wird, an den Aufzeichnungszwischenspeicher PBk(RP) über den Eingabe-FIFO übertragen. Wenn m = 6 ist, wird der Aufzeichnungszwischenspeicher SRBk(RP) anstelle des Aufzeichnungszwischenspeichers RBk(RP) verwendet.
  • Nachfolgend wird der Aufzeichnungszeiger RP in Schritt 1502 inkrementiert. Schritt 1503 bestimmt, ob der Aufzeichnugszwischenspeicher RBk (wenn m= 6 ist, SRBk, der auch im folgenden angewandt wird) voll ist. Wenn er nicht voll ist, wird der Prozess beendet. Wenn der Aufzeichnungszwischenspeicher RBk voll ist, wird k in Schritt 1504 invertiert (wenn 0, dann in 1 umgewandelt, und wenn 1, dann in 0 umgewandelt). Die Unterbrechung wird in Schritt 1505 erzeugt, und der Prozess wird beendet. Diese Unterbrechung wird verursacht, um die CPU 101 anzuweisen, einen Prozess des Schreibens des Satzes von Wellenformabtastwerten des aufgefüllten Aufzeichnungszwischenspeichers (RBk zu diesem Zeitpunkt) in den Flash-Speicher 103 durchzuführen, um den Aufzeichnungszwischenspeicher frei zu machen.
  • 16 ist ein Flussdiagramm der DP-Routine, die durch die DMA-Steuereinheit 113 in jedem durch den Fs-Taktgenerator erzeugten Abtasttakt Fs ausgeführt wird. Zuerst wird in Schritt 1601 der durch den Wiedergabezeiger PP angezeigten Wellenformabtastwert PBr(PP) im Wiedergabezwischenspeicher zum Ausgabe-FIFO der Ton-I/O 112 übertragen. Wie mit Bezug auf 1 erklärt, wird der in dem Ausgabe-FIFO gespeicherte Wellenformabtastwert D/A-gewandelt und wird dann an das Tonsystem 114 gesendet, um den Musikton erklingen zu lassen. Als nächstes wird der Wiedergabezeiger RP in Schritt 1602 inkrementiert. Schritt 1603 bestimmt, ob der letzte der Abtastwerte des Wiedergabezwischenspeicher PBr ausgesendet wurde.
  • Wenn alle Wellenformabtastwerte des Wiedergabezwischenspeichers PBr in Schritt 1603 wiedergegeben werden, wird r invertiert (wenn 0, dann in 1 umgewandelt, und wenn 1, dann in 0 umgewandelt) und der andere Wiedergabezwischenspeicher wird ausgewählt, um als nächstes in Schritt 1604 ausgelesen zu werden. Dann wird in Schritt 1605 eine Unterbrechung erzeugt, um die nächste Bereitstellung von Wellenformabtastwerten für die CPU 101 zu erbitten, und der Prozess wird beendet. Wenn in Schritt 1603 der noch nicht wiedergegebene Wellenformabtastwert im Wiedergabezwischenspeicher PBr verbleibt, wird der Prozess einmal beendet.
  • Als nächstes wird beschrieben, zu welchen Takten die vorhergehenden Flussdiagramme im entsprechenden Modus ausgeführt werden. Zuerst wird die Arbeitsweise des Normalmodus (m = 0) erläutert. Wenn der Normalmodus durch den Benutzer unter Verwendung des Moduswechselumschalters bestimmt wird, wird das Register m in der vorangehenden in 4 gezeigten SW-Ereignis-Routine auf 0 gesetzt. Da der Startprozess des Normalmodus MS(0) keinen besonders ausführlich zu erklärenden Prozess durchführt, wird sein Flussdiagramm fortgelassen. Wenn andererseits die Operation des Ausführens der DP-Routine in jedem Abtasttakt Fs durch den EX-Scratchmodus oder dergleichen angehalten wird, beginnt MS(0) seinen Betrieb.
  • Während der Initialisierung in Schritt 301 in 3 oder im Startprozess der Wiedergebeoperation mittels des vorhergehenden MS(0) versetzt die CPU 101 die Tonquellenregister aller Kanäle in 2(a) in den Ton-Aus-Zustand, setzt alle Abtastwertbereiche der Wiedergabezwischenspeicher PB0 und PB1 der 2(c) auf 0, weist die Ton-I/O 112 und die DMA-Steuereinheit 113 an, die Wiedergabeoperation durchzuführen und startet dann die Erzeugung des Abtasttaktes Fs durch den Fs-Taktgenerator 110. Dadurch unterbricht die DMA-Steuereinheit 113 die CPU 101 in jedem Abtasttakt Fs vom Fs-Taktgenerator 110 und führt die DP-Routine von 16 bei jeder Unterbrechung aus, so dass die Operation der Wiedergabe der Wellenformdaten im Wiedergabezwischenspeicher gestartet wird.
  • Nun wird das Takten des Prozesses bei der Wiedergabe erklärt. 17(a) zeigt ein Taktdiagramm bei der Wiedergabe. Jeder der Abschnitte S1 bis S5 steht für einen Rahmen zur Ausführung der Wiedergabe von einem Satz der 128 Abtastwerte. In der Figur steht „Wellenformerzeugung durch CPU" für einen Abschnitt, in dem die CPU 101 eine Routine HS(0) zur Wellenformerzeugung von 11(a) ausführt, um den Prozess der Erzeugens von 128 Abtastwerten durchzuführen, die als nächstes im Wiedergabezwischenspeicher PB0 oder PB1 wiedergegeben werde sollen. „DP-Routine von DMAC" steht andererseits für einen Abschnitt zum Durchführen des Prozesses des Ausführens der DP-Routine, um die Wellenformdaten im Wiedergabezwischenspeicher wiederzugeben. Die DP-Routine wird durch Unterbrechung abhängend vom Abtasttakt Fs ausgeführt, und eine Unterbrechung findet innerhalb des Rahmens 128 mal in gleichmäßigen Intervallen statt. Die Zeichen 0 bis 4, die sowohl „Wellenformerzeugung durch CPU" als auch „DP-Routine von DMAC" zugewiesen sind, sind Zeichen, die zum Vorteil des Anzeigens der Reihenfolgen der Wellenformerzeugung und der Wiedergabe zugewiesen sind.
  • In 17(a) führt die CPU 101 zuerst im Abschnitt S1 HS(0) aus und erzeugt oder produziert die Wellenformdaten (128 Wellenformabtastwerte) für den Wiedergabezwischenspeicher PB0. Im nachfolgenden Abschnitt S2 führt die DMA-Steuereinheit 113 die DP-Routine auf der Grundlage der Unterbrechung pro Abtasttakt Fs aus. Dadurch werden die in Abschnitt S1 erzeugten 128 Wellenformabtastwerte des Wiedergabezwischenspeichers PB0 an den Ausgabe-FIFO der Ton-I/O 112 übertragen und in Abschnitt S2 nacheinander wiedergegeben. Zu dem Zeitpunkt, an welchem alle 128 Wellenformabtastwerte des Wiedergabezwischenspeichers PB0 zum Ausgabe-FIFO der Ton-I/O 112 (am Ende des Abschnitts S2) übertragen werden, findet die Unterbrechung statt (Schritt 1605). Mit der Unterbrechung als Auslöser führt die CPU 101 die Wellenformerzeugungsroutine HS(0) im Abschnitt S3 aus und erzeugt neue Wellenformdaten (128 Wellenformabtastwerte) für den Wiedergabezwischenspeicher PB0.
  • Die vorangegangene Erklärung wurde nur bezüglich des Wiedergabezwischenspeicher PB0 angegeben. PB1 wir auch abwechselnd mit PB0 verwendet. Um es zusammenzufassen: die DP-Routine wird auf der Grundlage der Unterbrechung pro Abtasttakt Fs ausgeführt, um die Wiedergabe der Wellenformabtastwerte von PB0 und PB1 abwechselnd miteinander in folgender Weise durchzuführen: Wiedergeben der Wellenformabtastwerte von PB1 im Abschnitt S1, Wiedergeben der Wellenformabtastwerte von PB0 im Abschnitt S2, Wiedergeben der Wellenformabtastwerte von PB1 in Abschnitt S3, Wiedergeben der Wellenformabtastwerte von PB0 im Abschnitt S4 und so weiter. HS(0) wird auf der Grundlage der Unterbrechung ausgeführt, die zu dem Zeitpunkt verursacht wird, an dem 128 Abtastwerte in jedem Abschnitt wiedergegeben werden, und die nächsten 128 entweder für PB0 oder PB1 erzeugt, welcher gerade im Leerlauf ist. Mit Hinsicht auf die hierarchische Struktur der Software gehört die DP-Routine zur Ebene 1, während HS(0) zur Ebene 2 gehört. Wenn eine Unterbrechung im Nachgang eines Abtasttaktes Fs verursacht wird, während HS(0) ausgeführt wird, wird somit die DP-Routine mit Priorität ausgeführt. Dadurch können die Wiedergabe mittels der DP-Routine und die Wellenformerzeugung mittels der Wellenformerzeugungsroutine HS(0) parallel zueinander durchgeführt werden.
  • Wenn das Feld nicht im Normalmodus (m = 0) gedrückt wird, werden nur 0-Abtastwerte im Wiedergabezwischenspeicher PB0, PB1 wiederholt mit der Taktung wiedergegeben, die mit Bezug auf 17(a) erklärt wurden. Wegen der Wiedergabe von nur 0-Abtastwerten ist es tatsächlich dasselbe wie der Fall, bei dem kein Musikton erzeugt wird. Es wird der Prozess erläutert, bei dem das Feld in diesem Zustand angetippt wird. Wie durch die Pfeile des „Feld" in 17(a) gezeigt, wird angenommen, dass das Feld in Abschnitt S1 auf Ein eingestellt wird. Wenn das Feld-Ein in der allgemeinen Routine detektiert wird, wird das Ton-Ein der Wellenformdaten, die dem auf Ein eingestellten Feld entsprechen, in das Tonquellenregister der 2(a) durch die Ein-Ereignis-Routine von 7 geschrieben. Die allgemeine Routine oder die Ein-Ereignis-Routine gehören zur Ebene 3, um parallel zur Wellenformerzeugungsroutine HS(0) und zur DP-Routine betrieben zu werden. Das Ton-Ein, welches in das Tonquellenregister geschrieben ist, wird für den Wiedergabezwischenspeicher in der nächsten Ausführung des HS(0) behandelt.
  • Als nächstes wird der Betrieb im Abtastmodus (m = 1) erläutert. Wenn der Abtastmodus durch den Benutzer unter Verwendung des Moduswechselumschalters bestimmt wird, wird das Register m auf 1 in der vorherigen Modus-SW-Ereignis-Routine von 4 gesetzt. Ferner wird der Abstastmodusstartprozess MS(1) wie in 5 gezeigt ausgeführt. Im MS(1) wird die DP-Routine angehalten und die Ton-I/O 112 und die DMA-Steuereinheit 113 werden angewiesen, die Aufzeichnungsoperation durchzuführen. Dadurch unterbricht die DMA-Steuereinheit 113 die CPU 101 in jedem von dem Fs-Taktgenerator 110 zugeführten Abtasttakt Fs und führt die DR(1)-Routine von 15 bei jeder Unterbrechung aus, um die Operation des Aufzeichnens des Wellenformabtastwerts von der externen Quelle in den Wiedergabezwischenspeicher zu beginnen.
  • Nun wird das Takten des Prozesses beim Aufzeichnen erklärt. 17(b) zeigt ein Taktungsdiagramm bei der Aufzeichnung. Jeder der Abschnitte S1 bis S5 steht für einen Rahmen zur Ausführung des Aufzeichnens eines Satzes von 128 Abtastwerten. In der Figur steht „DR-Routine von DMAC" für einen Abschnitt zum Ausführen des DR(1), um die Wellenformdaten des Eingabe-FIFO der Ton-I/O 112 in den Wiedergabezwischenspeicher zu schreiben. Der Wellenformabtastwert wird durch A/D-Wandeln des externen Eingangssignals erhalten und wird ADPCM-komprimiert. Die DR(1)-Routine wird auf der Grundlage der Unterbrechung in jedem Abtasttakt Fs ausgeführt, und diese Unterbrechung wird 128 mal in gleichmäßigen Intervallen innerhalb eines Rahmens erzeugt. In der Figur steht „Schreiben in Flash-Speicher durch CPU" für einen Abschnitt zur Durchführung eines Prozesses, bei dem die CPU 101 die Wellenformabtastwerte des Aufzeichnungszwischenspeichers RB0 oder RB1 in den Flash-Speicher 103 schreibt, um den Aufzeichnungszwischenspeicher in Schritt 509 von 5 frei zu machen. Die Zeichen 0 bis 4, die jedem Abschnitt zugewiesen sind, sind Zeichen, die zum Vorteil des Anzeigens der Reihenfolgen der Aufzeichnung und des Schreibens in den Flash-Speicher zugewiesen sind.
  • In 17(b) wird zuerst in Abschnitt S1 eine Unterbrechung in jedem Abstattakt Fs verursacht, und die DMA-Steuereinheit 113 führt die DR(1)-Routine bei jeder Unterbrechung aus. Dadurch werden die Wellenformabtastwerte des Eingabe-FIFO der Ton-I/O 112 in den Aufzeichnungszwischenspeicher RB0 in Reihenfolge geschrieben. Zu dem Zeitpunkt, an dem die 128 Wellenformabtastwerte in den Aufzeichnungszwischenspeicher RB0 am Ende des Abschnitts S1 geschrieben sind, findet eine Unterbrechung statt (Schritt 1505). Mit dieser Unterbrechung als Auslöser schreibt die CPU 101 die Wellenformabtastwerte des Aufzeichnungszwischenspeichers RB0 im Abschnitt S2 (Schritt 509) in den Flash-Speicher 103, um den Aufzeichnungszwischenspeicher RB0 frei zu machen.
  • Die vorangegangene Erklärung erfolgte nur bezüglich des Aufzeichnungszwischenspeichers RB0. RB1 wird auch abwechselnd mit RB0 verwendet. Um es zusammenzufassen: die DR(1)-Routine wird auf der Grundlage der Unterbrechung pro Abtasttakt Fs ausgeführt, um Aufzeichnen oder das Schreiben der Wellenformabtastwerte in RB0 und RB1 abwechselnd miteinander entsprechend dem Abtasttakt in folgender Weise durchzuführen: Aufzeichnen der Wellenformabtastwerte in RB0 im Abschnitt S1, Aufzeichnen der Wellenformabtastwerte in RB1 im Abschnitt S2, Aufzeichnen der Wellenformabtastwerte in RB0 in Abschnitt S3 und so weiter. Auf der Grundlage der Unterbrechung, die zu dem Zeitpunkt verursacht wird, an dem in jedem Abschnitt 128 Abtastwerte aufgezeichnet sind, werden die Wellenformabtastwerte des Aufzeichnungszwischenspeichers, der das Aufzeichnen vervollständigt, in den Flash-Speicher 103 geschrieben. Im Hinblick auf die hierarchische Struktur der Software gehört die DR(1)-Routine zur Ebene 1, während die MS(1) zur Ebene 3 gehört. Wenn eine Unterbrechung nach einem Abtasttakt Fs verursacht wird, während MS(1) ausgeführt wird, so wird die DR(1)-Routine mit Priorität ausgeführt. Dadurch können das Aufzeichnen mittels der DR(1)-Routine und das Schreiben in den Flash-Speicher 103 mittels MS(1) parallel zueinander durchgeführt werden.
  • Als nächstes wird die Operation im Filtermodus (m = 2) erklärt. Wenn der Filtermodus durch den Benutzer unter Verwendung des Moduswechselumschalters bestimmt wird, wird das Register m in der vorangehenden, in 4 gezeigten Modus-SW-Ereignis-Routine auf 2 gesetzt. Da der Filtermodusstartprozess MS(2) keinen signifikanten, besonders erklärungsbedürftigen Prozess durchführt, wird sein Flussdiagramm fortgelassen. Wenn andererseits die Operation des Ausführens der DP-Routine in jedem Abtasttakt durch den EX-Scratchmodus oder dergleichen angehalten wird, startet MS(2) seine Wiedergabeoperation genauso von neuem wie der Startprozess des Normalmodus MS(0).
  • Der Filtermodus führt die Wiedergabe in einer Weise durch, die im wesentlichen dieselbe ist wie die des Normalmodus. Die DP-Routine wird in jedem Abtasttakt Fs ausgeführt und alle 0-Abtastwerte im Vdiedergabezwischenspeicher PB0, PB1 werden wiederholt wiedergegeben, während ein Feld-Ein nicht erreicht wird. Die Abtastwerte sind dieselben wie im Normalmodus, und die Verarbeitungsprozedur bei einem Feld-Ein ist auch dieselbe. Weiter ist auch die Taktung bei der Wiedergabe dieselbe wie in 17(a). Im Filtermodus wird jedoch die RC-Einhol-Routine RC(2) der 9 bei jedem gegebenen Takt auf der Grundlage der Zeitgeberunterbrechung ausgeführt, um den Detektionswert des Bandreglers 106 einzuholen, und HS(2) von 11(b) wird anstelle von HS(0) als Wellenformerzeugungsprozess der CPU 101 in 17(a) eingestellt. In der Wellenformerzeugungsroutine werden die Wellenformabtastwerte von höchstens zwei Tönen auf der Grundlage des Feld-Ein im Wiedergabezwischenspeicher angesammelt, und der Filterprozess wird mit dem Filterkoeffizienten durchgeführt, der vom Detektionswert RD des Bandreglers 106 bezüglich der Wellenformabtastwerte des Wiedergabezwischenspeichers (Schritte 1112 und 1113) abhängt. Fn der obigen Weise wird die Filtersteuerung des reproduzierten Tons durch den Bandregler 106 durchgeführt.
  • Im Filtermodus wird die Zahl der Tonerzeugungen von vier des Normalmodus auf zwei reduziert. Anstelle der Reduzierung der Zahl der erzeugten Musiktöne wird der Filterprozess auf die wiedergegebene Wellenform angewandt. Da eine gegebene Zahl von Tonerzeugungen innerhalb einer Ein-Rahmen-Zeit durchgeführt werden sollten, wird eine Prozesszeit, obwohl die vier Töne im Normalmodus erzeugt werden können, unzureichend, wenn der Filterprozess auf die erzeugten Töne angewandt wird. In dieser Hinsicht wird die Zahl der Tonerzeugungen auf zwei reduziert, um die Prozesszeit für die Wellenformerzeugung zu verkürzen, während der zusätzliche Filterprozess in der verbleibenden Zeit durchgeführt wird.
  • Als nächstes wird die Arbeitsweise im Tonhöhenmodus (m = 3) erklärt. Wenn der Tonhöhenmodus durch den Benutzer unter Verwendung des Moduswechselumschalters bestimmt wird, wird das Register m in der vorangehenden, in 4 gezeigten Modus-SW-Ereignis-Routine auf 3 gesetzt. Da der Startprozess für den Tonhöhenmodus MS(3) keinen besonderen, erklärungswürdigen Prozess durchführt, wird sein Flussdiagramm fortgelassen. Wenn andererseits die Operation des Ausführens der DP-Routine in jedem Abtasttakt Fs durch den EX-Scratchmodus oder dergleichen angehalten wird, startet MS(3) seine Wiedergabeoperation genauso von neuem wie die Startprozess für den Normalmodus MS(0).
  • Der Tonhöhenmodus führt die Tonwiedergabe in einer Weise durch, die im wesentlichen dieselbe ist wie die des Normalmodus. Die DP-Routine wird in jedem Abtasttakt Fs ausgeführt, und es werden alle 0-Abtastwerte wiederholt im Wiedergabezwischenspeicher PB0, PB1 wiedergegeben, während das Feld-Ein nicht erreicht wird. Die Abtastwerte sind dieselben wie im Normalmodus, und die Verarbeitungsprozedur bei der Wiedergabe ist auch dieselbe wie in 17(a). Im Tonhöhenmodus wird jedoch die Feld-Ein-Routine aus 8 anstelle der aus 7 verwendet, und die Wellenformerzeugungsroutine HS(3) der 11(c) wird anstelle der von HS(0) von 11(a) verwendet. In der Feld-Ein-Ereignis-Routine der 8 wird eine F-Zahl FNi erzeugt, die der Feldnummer PN entspricht. In der Wellenformerzeugungsroutine HS(3) von 11(c) wird der Wellenformabtastwert unter Verwendung der Adresse ausgelesen, die die Summe der F-Zahl FNi und der Adresse ADi ist, um die Auslesegeschwindigkeit zu ändern. Dadurch kann man eine Wiedergabe mit einer gewünschten Tonhöhe erreichen.
  • Im Tonhöhenmodus wird die Zahl der Tonerzeugungen von vier des Normalmodus auf zwei reduziert. Anstelle der Reduktion in der Zahl der erzeugten Musiktöne, wird der Tonhöhenverschiebeprozess auf die erzeugte Wellenform angewandt. Da eine gegebene Zahl von Tonerzeugungen innerhalb einer Ein-Rahmen-Zeit durchgeführt werden sollte, wird eine Prozesszeit, obwohl vier Töne im Normalmodus erzeugt werden können, unzureichend, wenn der Tonhöhenverschiebeprozess auf die erzeugten Töne angewandt wird. In dieser Hinsicht wird die Zahl der Tonerzeugungen auf zwei reduziert, um die Prozesszeit für die Wellenformerzeugung zu verkürzen, und der Tonhöhenverschiebeprozess wird in der übrigen Zeit durchgeführt.
  • Als nächstes wird der Betrieb im Scratchmodus (m = 4) erklärt. Wenn der Scratchmodus durch den Benutzer unter Verwendung des Moduswechselumschalters bestimmt wird, wird das Register m in der vorangehenden, in 4 gezeigten Modus-SW-Ereignis-Routine auf 4 gesetzt. Im Scratchmodusstartprozess MS(4) werden die durch Scratchen wiederzugebenden Wellenformdaten in einem gegebenen Bereich entwickelt, und der Scratch-Bereich SR und der Scratch-Zeiger SP werden vorab eingestellt. Obwohl in 6 nicht gezeigt, startet MS(4) seine Operation genauso von neuem wie der Startprozess für den Normalmodus MS(0), wenn die Operation des Ausführens der DP-Routine in jedem Abtasttakt Fs durch den EX-Scratchmodus oder dergleichen angehalten wird.
  • Im Scratchmodus wird die Wiedergabe von zwei Tönen durch das Feld-Ein in einer Prozedur durchgeführt, die im wesentlichen dieselbe ist wie die des Normalmodus. Die DP-Routine wird in jedem Abtasttakt Fs ausgeführt, und es werden alle 0-Abtastwerte wiederholt im Wiedergabezwischenspeicher PB0, PB1 wiedergegeben, während das Feld-Ein nicht erreicht wird, auch die Verarbeitungsprozedur bei Feld-Ein ist dieselbe. Ferner ist die Taktung bei der Weidergabe auch dieselbe wie in 17(a). Im Scratchmodus wird jedoch die RC-Einhol-Routine RC(4) der 10 durch die Zeitgeberunterbrechung ausgeführt, um den Detektionswert des Bandreglers 106 aufzunehmen. Das Ton-Ein wird in das Tonquellenregister sch des Scratch-Kanals zu Beginn der Operation geschrieben. Ferner wird die Geschwindigkeit VEL des Bandreglers 106 detektiert und in das Tonquellenregister sch geschrieben. Der Wellenformerzeugungsprozess der CPU 101 wird auf HS(4) der 12(a) anstelle von HS(0) eingestellt. In der Wellenformerzeugungsroutine HS(4) wird die Erzeugung von Wellenformabtastwerten für die zwei Töne, die durch ein Feld-Ein verursacht werden, durch die Normal 2-Unterroutine genauso wie im Normalmodus durchgeführt. Durch die Verwendung der Scratch-Unterroutine (14) wird der Wellenformabtastwert im Scratch-Bereich SR unter Verwendung der Adresse SAD ausgelesen, die durch Addieren der F-Zahl SFN zur Adresse SAD abgeleitet wurde.
  • Der gelesene Wellenformabtastwert wird im Wiedergabezwischenspeicher PBr angesammelt. Dadurch kann die Scratch-Wiedergabe unter Verwendung der bestimmten Wellenformdaten zusätzlich zu den zwei durch das Feld-Ein verursachten Tönen erreicht werden.
  • Im Scratchmodus wird die Zahl der Tonerzeugungen von den vier des Normalmodus auf zwei reduziert. Anstelle der zahlenmäßigen Reduktion der erzeugten Musiktöne werden die Scratch-Töne erzeugt. Da eine gegebene Zahl von Tonerzeugungen innerhalb einer Ein-Rahmen-Zeit durchgeführt werden sollte, wird eine Prozesszeit, obwohl vier Töne im Normalmodus erzeugt werden können, unzureichend, wenn die Scratch-Töne zusätzlich erzeugt werden. In dieser Hinsicht wird die Zahl der Tonerzeugungen auf zwei reduziert, um die Prozesszeit für die Wellenformerzeugung zu verkürzen, und die Scratch-Töne werden durch die Verwendung der übrigen Zeit erzeugt.
  • Als nächstes wird der Betrieb des EX-Filtermodus (m = 5) erläutert. Wenn der EX-Filtermodus durch den Benutzer unter Verwendung des Moduswechselumschalters bestimmt wird, wird das Register m in der vorangehenden, in 4 gezeigten Modus-SW-Ereignis-Routine auf 5 gesetzt. Obwohl ein Flussdiagramm des EX-Filtermodusstartprozesses MS(5) fortgelassen ist, führt M5(5) den Startprozess der DR(5)-Routine aus. Speziell weist die CPU 101 die Ton-I/O 112 und die DMA-Steuereinheit 113 an, die CPU 101 in jeder von Fs-Taktgenerator 110 zugeführten Abtasteinheit Fs zu unterbrechen und die DR(5)-Routine von 15 bei jeder Unterbrechung auszuführen, um die Schreiboperation der Wellenformabtastwerte von der externen Quelle in den Aufzeichnungszwischenspeicher RBk zu starten. Zu diesem Zeitpunkt wird die Operation des Unterbrechens der CPU 101 in jedem vom Fs-Taktgenerator 110 zugeführten Abtasttakt Fs und des Ausführens der DP-Routine der 16 bei jeder Unterbrechung zur Wiedergabe der Wellenformdaten im Wiedergabezwischenspeicher nicht angehalten. Wenn die Operation des Ausführens der DP-Routine in jedem Abtasttakt Fs durch den EX-Scratchmodus oder dergleichen angehalten wird, startet MS(5) ihre Operation genauso von neuem wie der Startprozess des Normalmodus MS(0). DP und DR(5) werden in jedem Abtasttakt Fs ausgeführt. Da in diesem Fall DP und DR(5) demselben Abtasttakt Fs folgend betreiben werden, arbeiten sie synchron, so dass die Unterbrechung der DP-Routine in Schritt 1605 und die der DR(5)-Routine in Schritt 1505 mit identischer Taktung stattfinden. Mit den mit derselben Taktung verursachten Unterbrechungen als Auslöser wird die Wellenformerzeugungsroutine HS(5) von 12(b) ausgeführt.
  • Im EX-Filtermodus wird das externe Eingangssignal im wesentlichen nicht aufgezeichnet. Das externe Eingangssignal wird in der DR(5)-Routine eingeholt, dies geschieht aber zum Filtern der eingeholten Wellenformdaten. Somit wird kein Schreiben des Signals in den Flash-Speicher 103 durchgeführt.
  • Wenn die Unterbrechungen gemäß DP und DR(5) wie oben beschrieben mit derselben Taktung stattfinden, werden 128 lineare Abtastwerte der Wellenformdaten von der externen Quelle 111 in den Aufzeichnungszwischenspeicher RBk geschrieben, während der Wiedergabezwischenspeicher PBr frei ist. Die Wellenformerzeugungsroutine HS(5) führt den Filterprozess für die 128 Wellenformabtastwerte des Aufzeichnungszwischenspeichers RBk durch und stellt die resultierenden 128 Wellenformabtastwerte im Wiedergabezwischenspeicher PBr ein. Die RC-Einhol-Routine RC(5) der 9 wird durch die Zeitgeberunterbrechung ausgeführt, um den Detektionswert RD des Bandreglers 106 einzuholen. Der Filterkoeffizient des Filterprozesses wird abhängend vom Detektionswert RD bestimmt. In der vorangehenden Weise wird durch den Bandregler 106 das externe Eingangssignal durch Filtern gesteuert, so dass ein modifizierter Musikton mit der gewünschten Timbreänderung ausgegeben wird.
  • Als nächstes wird die Arbeitsweise im EX-Sctratchmodus (m=6) erläutert. Wenn der EX-Scratchmodus durch den Benutzer unter Verwendung des Moduswechselumschalters bestimmt wird, wird das Register m in der vorangehenden, in 4 gezeigten Modus-SW-Ereignis-Routine auf 6 gesetzt. Obwohl ein Flussdiagramm des EX-Scratchmodusstartprozesses MS(6) fortgelassen ist, führt MS(6) den folgenden Prozess aus. Speziell weist die CPU 101 die Ton-I/O 112 und die DMA-Steuereinheit 113 an, die CPU 101 in jeder von Fs-Taktgenerator 110 zugeführten Abtasteinheit Fs zu unterbrechen und die DP-Routine von 16 bei jeder Unterbrechung auszuführen, um die Operation der Wiedergabe der Wellenformabtastwerte im Wiedergabezwischenspeicher PBr anzuhalten. Weiter weist die CPU die Ton-I/O 112 an, eine direkte Verbindung zwischen dem A/D-Eingang und dem D/A-Ausgang herzustellen und das Musiktonsignal von der externen Quelle dem Tonsystem 114 zuzuführen, um einen Ton auszusenden. Ferner weist die CPU 101 die Ton-I/O 112 und die DMA-Steuereinheit 113 an, die CPU 101 in jedem Abasttakt Fs vom Fs-Taktgenerator 110 zu unterbrechen und die DR(6)-Routine von 15 bei jeder Unterbrechung auszuführen, um die Operation des Schreibens des Wellenformabtastwerts von der externen Quelle in den Aufzeichnungszwischenspeicher SRBk zu beginnen. Im EX-Scratchmodus wird das externe Eingangssignal im wesentlichen nicht aufgezeichnet. Das externe Eingangssignal wird von der DR(6)-Routine eingeholt, aber die eingeholten Wellenformdaten werden für die Scratch-Wiedergabe verwendet. Somit wird kein Schreiben der Daten in den Flash-Speicher 103 durchgeführt. Da die Zeitgeberunterbrechung während des Initialisierungsschritts in Schritt 301 als wirksam eingestellt wird, wird die RC-Einhol-Routine RC(6) von 10 durch eine gegebene Taktung auf der Grundlage der Zeitgeberunterbrechung durch den Zeitgeber 105 ausgeführt.
  • Während der Bandregler 106 nicht bedient wird, wird der Prozess durch die Schritte 1001 → 1002 → 1003 → ENDE in RC(6) in 10 beendet, so dass der Prozess des direkten Zuführens des externen Eingangssignals an des Tonsystem 114 fortgesetzt wird. Da weiter die DR(6)-Routine auf der Grundlage der Unterbrechung in jedem Abtasttakt Fs ausgeführt wird, werden die durch A/D-Wandeln des externen Eingangssignals erhaltenen linearen Wellenformabtastwerte in die Aufzeichnungszwischenspeicher SRB0 und SRB1 abwechselnd über den Eingabe-FIFO geschrieben.
  • Wenn die Bedienung des Bandreglers 106 beginnt, zum Beispiel durch Berührung des Bandreglers 106 mit einem Finger oder dergleichen, fährt die Routine durch die Schritte 1001 → 1002 → 1004 → 1005 in RC(6) fort. Im nächsten Schritt 1006 weist die CPU 101 die DMA-Steuereinheit 113 an, die Ausführung der DR(6)-Routine durch Unterbrechen der CPU 101 in jedem Abtasttakt Fs anzuhalten und stellt den Scratch-Bereich SR im Aufzeichnungszwischenspeicher SRBk ein, der einer der beiden Aufzeichnungszwischenspeicher SRB0 oder SRB1 ist, der momentan nicht dem Schreiben unterworfen wird, wie es mit Bezug auf 2(e) beschrieben wurde. Als nächstes wird der vorbestimmte Wert des Scratch-Zeigers SP als Anfangsleseadresse SAD in Schritt 1007 eingestellt. Weiter werden in Schritt 1008 128 zuerst wiederzugebende Abtastwerte für den Wiedergabezwischenspeicher PBr erzeugt, und die CPU weist die DMA-Steuereinheit 113 an, die Ausführung der DR-Routine durch Unterbrechen der CPU in jedem Abtasttakt Fs erneut zu starten. Weiter wird eine Unterbrechung von der selben Signifikanz erzeugt wie die Unterbrechung, die in Schritt 1605 der DP-Routine in 16 verursacht wird. Durch diese Unterbrechung wird HS(6) ausgeführt und 128 als nächstes zu scratchende Abtastwerte werden in PBr erzeugt. Ferner wird unter der Anweisung von der CPU 101 die direkte Verbindung vom A/D-Eingang der Ton-I/O 112 zum D/A-Ausgang abgeschnitten, um die Zuführung des Musiktonsignals direkt von der externen Quelle 111 zum Tonsystem 114 anzuhalten.
  • Wenn weiter der Finger oder dergleichen sich während seines Kontakts mit dem Bandregler 106 bewegt, fährt die Routine von Schritt 1004 zum Schrift 1011 fort, so dass die Geschwindigkeit VEL detektiert und im Tonquellenregister sch eingestellt wird: In der DP-Routine, die auf der Grundlage der Unterbrechung in jedem Abtasttakt Fs ausgeführt wird, wird andererseits auf die Wiedergabezwischenspeicher PB0 und PB1 abwechselnd nacheinander zugegriffen. Entsprechend wird die Wiedergabe des Scratch-Tons auf der Grundlage des Tonquellenregisters sch von dem Zeitpunkt an gestartet, an dem die Bedienung des Bandreglers 106 begonnen wird. In der Wellenformerzeugungsroutine HS(6) von 12(c), die durch die Unterbrechung in Schritt 1605 der DP-Routine ausgelöst wird, fährt die Routine von Schritt 1221 zu Schritt 1222 fort, so dass der EX-Scratch-Prozess von 14 ausgeführt wird, da RS = 1 gehalten wird, während die Bedienung des Bandreglers 106 durchgeführt wird. Im EX-Scratch-Prozess der 14 wird der Wellenformabtastwert im Scratch-Bereich SR unter Verwendung der Adresse SAD ausgelesen, die durch Addieren der F-Zahl SFN, die von der detektierten Geschwindigkeit abhängt, zur Adresse SAD abgeleitet wird und im Wiedergabezwischenspeicher PBr eingestellt wird. Obwohl es scheint, dass die Ansammlung der gelesenen Daten in Schritt 1406 durchgeührt wird, werden, da alle 0-Abtastwerte in PBr eingestellt werden, die zu scratchenden Wellenformabtastwerte TMP im wesentlichen in PBr eingestellt. Bei der vorangehenden Anordnung wird die Scratch-Wiedergabe unter Verwendung der Wellenformdaten erreicht, die von der externen Quelle eingegeben werden.
  • 18(a) und 18(b) zeigen Beispiele der Umwandlung von der Geschwindigkeit VEL zur Scratch-F-Zahl SFN, die in Schritt 1401 in 14 durchgeführt wird. Diese Umwandlung kann durch Berechnung oder mittels einer Tabelle erreicht werden. 18(a) zeigt ein Beispiel, bei dem eine Veränderung der F-Zahl SFN ansteigt, während ein Absolutwert der Geschwindigkeit VEL abnimmt. Dies realisiert den Scratch-Effekt derart, dass eine Tönhöhenänderung sogar dann signifikant ist, wenn die Länge des Bandreglers 106 klein ist.
  • Da die genaue Tonhöhensteuerung bei der Scratch-Wiedergabe nicht erforderlich ist, kann die Zahl der Bits beim Dezimalteil der Scratch-Adresse SAD, wenn nötig, reduziert werden. Die Zahl der Bits beim Dezimalteil der Adresse SAD, die in Schritt 1403 in 14 abgeleitet wird, kann reduziert werden. Dies kann den Rechenaufwand der Interpolation, die in Schritt 1405 durchgeführt wird, reduzieren. Bei Verwendung einer Tabelle, die in 18(b) gezeigt ist, bei der Umwandlung von der Geschwindigkeit VEL in die Scratch-F-Zahl SFN kann die Zahl der Bits beim Dezimalteil der F-Zahl SFN gesenkt werden, um den Rechenaufwand der Interpolation zu reduzieren.
  • Im obigen EX-Scratchmodus werden die von der externen Quelle zugeführten Wellenformabtastwerte abwechselnd in die Wiedergabezwischenspeicher SRB0 und SRB1 gespeichert, und der Scratch-Bereich wird in dem Wiedergabezwischenspeicher eingestellt, der zum Zeitpunkt des Startens der Bedienung des Bandreglers nicht dem Schreiben unterworfen wird. Andererseits kann man es so handhaben, dass nicht weniger als drei Wiedergabezwischenspeicher vorgesehen sind, in denen die Wellenformdaten reihum gespeichert werden, und die Scratch-Bereiche werden in mehreren Wiedergabezwischenspeichern eingestellt, die zum Zeitpunkt des Startens der Bedienung des Bandreglers nicht dem Schreiben unterworfen werden. Mit dieser Anordnung kann, da die Scratch-Bereiche in mehreren Wiedergabezwischenspeichern eingestellt sind, die Kapazität des Scratch-Bereichs hinreichend zum Scratchen sichergestellt werden. Da ferner die Kapazität jedes Wiedergabezwischenspeichers klein eingestellt werden kann, wird die Datenmenge in den Wiedergabezwischenspeichern abgesenkt, die zum Zeitpunkt des Startens der Bedienung des Bandreglers dem Schreiben unterworfen sind. Somit können die zum Scratchen nicht verwendeten Daten reduziert werden. Anders ausgedrückt kann der Restteil der Daten gesichert werden.
  • In 17(a) ist gezeigt, wie die Kopftaktungen des Feld-Ein-Detektionsbereichs, der Abschnitt der Wellenformerzeugung durch die CPU und der Ausführungsabschnitt der DP-Routine des DMAC miteinander zusammenfallen. Dies ist jedoch nicht unbedingt erforderlich, und die entsprechenden Abschnitte können gegeneinander versetzt sein. Dies gilt auch für die Taktungen beim Aufzeichnen, die in 17(b) gezeigt sind. In 17(a) führt die CPU die Wellenformerzeugung zu dem Zeitpunkt durch, an dem die Wiedergabe der Abtastwerte in einem der Wiedergabezwischenspeicher in der DP-Routine beendet ist. Andererseits kann man es so halten, dass die Zahl der verbleibenden, nicht wiedergegebnen Abtastwerte im Wiedergabezwischenspeicher detektiert wird. Wenn die detektierte Zahl nicht größer als ein gegebener Wert wird, werden neue Abtastwerte in freien Bereichen erzeugt. Entsprechend kann durch Einstellen der Taktungen der Wiedergabe und der Erzeugung der Abtastwerte die Zahl der Wiedergabezwischenspeicher eins oder nicht weniger als drei sein.
  • 19 zeigt eine zusätzliche Ausführungsform der erfindungsgemäßen Vorrichtung zur Musiktonerzeugung. Diese Ausführungsform weist im Grunde dieselbe Zusammensetzung wie die in 1 gezeigt erste Ausführungsform auf. Die selben Komponenten sind durch die selben Bezugszeichen wie die der ersten Ausführungsform bezeichnet, um das bessere Verständnis der, zusätzlichen Ausführungsformen zu erleichtern. Der Speicher, wie zum Beispiel der ROM 102, RAM 104 und eine Festplatte (nicht gezeigt), kann verschiedene Daten, wie zum Beispiel Wellenformdaten, und verschiedene Programme, einschließlich des Systemsteuerprogramms oder Grundprogramms, des Wellenformlese- oder Wellenformerzeugungsprogramms und anderer Anwendungsprogramme, speichern. Normalerweise speichert der ROM 102 diese Programme vorsorglich. Wenn nicht kann jedoch jedes Programm in die Vorrichtung geladen werden. Das geladene Programm wird an den RAM 104 übertragen, um die CPU 101 in die Lage zu versetzen, das erfindungsgemäße System der Vorrichtung zur Musiktonerzeugung zu betreiben. Auf diese Weise können neue Programme oder Nachfolgeversionen leicht im System installiert werden. Zu diesem Zweck wird ein maschinenlesbares Medium, wie zum Beispiel eine CD-ROM (Compact Disc Read Only Memory) 151, zum Installieren des Programms verwendet. Die CD-ROM 151 wird in ein CD-ROM-Laufwerk 152 eingelegt, um das Programm auszulesen und von der CD-ROM 151 in den RAM 104 durch den Bus 115 herunterzuladen. Das maschinenlesbare Medium kann statt einer CD-ROM 151 aus einer magnetischen Scheibe oder einer optischen Scheibe bestehen.
  • Eine Kommunikationsschnittstelle 153 ist mit einem externen Servercomputer 154 durch ein Kommunikationsnetzwerk 155, wie zum Beispiel ein LAN (Local Area Network), ein öffentliches Telefonnetz und das INTERNET verbunden. Wenn der interne Speicher die benötigten Daten oder das benötigte Programm nicht bereitstellt, wird die Kommunikationsschnittstelle 153 aktiviert, um die Daten oder das Programm vom Servercomputer 154 zu empfangen. Die CPU 101 übermittelt eine Anfrage an den Servercomputer 154 durch die Schnittstelle 153 und das Netzwerk 155. Im Ansprechen auf die Anfrage übermittelt der Servercomputer die angeforderten Daten oder das Programm an die Vorrichtung. Die übermittelten Daten werden im Speicher gespeichert und vervollständigen dadurch das Herunterladen.
  • Die erfindungsgemäße Vorrichtung zur Musiktonerzeugung kann durch einen Personalcomputer umgesetzt werden, welcher mit den benötigten Daten und Programmen eingerichtet ist. In so einem Fall werden die Daten und Programme dem Benutzer mittels des maschinenlesbaren Mediums, wie zum Beispiel der CD-ROM 151 oder einer Floppydisk, zur Verfügung gestellt. Das maschinenlesbare Medium enthält Anweisungen, die den Personalcomputer veranlassen, das erfindungsgemäße Tonerzeugungsverfahren durchzuführen, wie es in Verbindung mit den vorangehenden Ausführungsformen beschrieben wurde. Andernfalls kann der Personalcomputer die Daten und Programme durch das Kommunikationsnetzwerk 155 empfangen.
  • Wie oben beschrieben wird gemäß der vorliegenden Erfindung, obwohl die Zahl der durch die Softwaretonquelle gleichzeitig erzeugten Musiktöne reduziert wird, der Wahlmodus zur Durchführung des digitalen Filterprozesses für die Tonqualität, der Prozess zur Beigabe der Tonhöhe und der Prozess zur Beigabe des Scratch-Effektes zur Verfügung gestellt. So kann die Funktion, die durch die herkömmliche Softwaretonquelle nicht erreicht worden ist, so realisiert werden, dass die Musiktonerzeugung erreicht werden kann, die verschiedenen Absichten des Benutzers entgegenkommt.
  • Gemäß der Erfindung ist ferner in der Tonerzeugungsvorrichtung zum Lesen von digitalen Wellenformdaten zur Widergabe eines entsprechenden Musiktons die Detektionseinrichtung vorgesehen, um die Berührungsaktion des Benutzers zu detektieren. Die Wellenformdaten werden entsprechend den modifizierten Leseadressen ausgelesen, welche abhängend von der detektierten Berührungsaktion bestimmt werden. Auf diese Weise kann die erfindungsgemäße digitale Musikvorrichtung im Ansprechen auf die Berührungsaktion des Benutzers den natürlichen Scratch-Effekt erzeugen, welcher bisher nur durch die herkömmliche analoge Musikvorrichtung erhalten wurde. Ferner werden die Wellenformdaten aus einer vorbestimmten obersten Adresse ausgelesen, wenn die Berührungsaktion eingeleitet wird. So werden die Wellenformdaten immer von der vorbestimmten obersten Adresse angeholt, wo auch immer der Benutzer die Scratch-Detektionseinrichtung berührt. So wird durch die Erfindung dieselbe wiederholte Scratch-Operation realisiert, wie sie bei Verwendung einer analogen Schallplattenscheibe durchgeführt wird, bei der ein bestimmter Abschnitt der Schallplattenscheibe wiederholt in Synchronisation mit einem Musikrhythmus wiedergegeben wird. Die Ausgaben von der Detektionseinrichtung werden zudem unterschiedlich verarbeitet, um eine Geschwindigkeit der Berührungsaktion zu detektieren. Dann wird eine veränderliche F-Zahl entsprechend der Berührungsaktion bestimmt. Die F-Zahl wird an der Leseadresse zu Verwendung beim Lesen der Wellenformdaten angesammelt. Auf diese Weise kann der Änderungsbereich der F-Zahl bei einer beschränkten Länge der linearen Detektionseinrichtung ausgedehnt werden, wodurch eine breite Scratch-Steuerung realisiert wird. Zusätzlich kann gemäß der Erfindung der Scratch-Effekt auf eine frische Wellenform angewandt werden, die von einer externen Quelle auf Echtzeitbasis eingegeben wird. So kann der Benutzer einen gewünschten Abschnitt des wiedergegebenen Musiktons während des Spielens der Musik scratchen.

Claims (10)

  1. Musikvorrichtung zum Wiedergeben eines Musiktons durch Auslesen einer entsprechenden Wellenform in Entsprechung zu einer variablen Leseadresse, so dass ein Scratcheffekt in dem wiedergegebenen Musikton im Ansprechen auf einen Berührvorgang eingeführt wird, wobei die Musikvorrichtung folgendes aufweist: Speichermittel (103) zum Speichern einer Wellenform in Form einer Sequenz von Amplitudenwertdaten, die in einer vorgegebenen Abtastperiode angeordnet sind, um einen entsprechenden Musikton zu repräsentieren; ein Detektionsimplement (106) mit einer Länge zum Empfangen des Berührvorgangs, um eine Stelle des Berührvorgangs über die Länge zu detektieren und einen Positionswert auszugeben, der der detektierten Stelle des Berührsvorgangs entspricht; Wiederauffindemittel (101) zum periodischen Wiederauffinden des vom dem Detektionsimplement (106) ausgegebenen Positionswertes, um den Berührvorgang zu überwachen; und Wiedergabemittel (101) zum variablen Ermitteln jeder Leseadresse in Entsprechung zu den wiedergefundenen der Positionswerte und zum sukzessiven Auslesen der Wellenform aus den Speichermitteln (103) in Entsprechung zu jeder ermittelten Leseadresse, so dass der entsprechende Musikton mit dem Scratcheffekt wiedergegeben wird, wobei die Wiedergabemittel (101) Mittel aufweisen, die wirksam sind, wenn der Berührvorgang initiiert ist, um das Auslesen der Wellenform aus einer vorgegebenen Start-Leseadresse zu starten, und wobei sie während des Verlaufs des Berührvorgangs wirksam sind, um ein sukzessives Auslesen der Wellenform in Entsprechung zu jeder ermittelten Leseadresse fortzusetzen.
  2. Musikvorrichtung nach Anspruch 1, bei der die Wiederauffindemittel (101) Mittel zum differentiellen Verarbeiten der periodisch wiedergefundenen Positionswerte aufweisen, um eine Geschwindigkeit des Berührvorgangs zu berechnen, und bei der die Wiedergabemittel (101) Mittel aufweisen zum Ermitteln einer variablen Zahl in Entsprechung zu der Geschwindigkeit des Berührvorgangs und zum Akkumulieren der variablen Zahl zu einer vorangegangenen Leseadresse, um eine nachfolgende Leseadresse zu ermitteln.
  3. Musikvorrichtung zum Wiedergeben eines Musiktons durch Auslesen einer entsprechenden Wellenform in Entsprechung zu einer variablen Leseadresse, so dass ein Scratcheffekt in dem wiedergegebenen Musikton im Ansprechen auf einen Berührvorgang eingeführt wird, wobei die Musikvorrichtung folgendes aufweist: Eingabemittel (112) zum dauernden Eingeben einer Wellenform von einer externen Quelle (111); Speichermittel (113) zum Speichern einer Wellenform in Form einer Sequenz von Amplitudenwertdaten, die in einer vorgegebenen Abtastperiode angeordnet sind, um einen entsprechenden Musikton zu repräsentieren, in Speichermittel (113); ein Detektionsimplement (106) mit einer Länge zum Empfangen des Berührvorgangs, um eine Stelle des Berührvorgangs über die Länge zu detektieren und einen Positionswert auszugeben, der der detektierten Stelle des Berührsvorgangs entspricht; Wiederauffindemittel (101) zum periodischen Wiederauffinden des vom dem Detektionsimplement (106) ausgegebenen Positionswertes, um den Berührvorgang zu überwachen; Lesemittel (101) zum Erzeugen einer Adresse in Entsprechung zu dem wiedergefundenen Positionswert und zum sukzessiven Auslesen der Wellenform aus den Speichermitteln (103) in Entsprechung zu der Adresse; und Wiedergabemittel (101) zum Wiedergeben eines Musiktons in Entsprechung zu der Wellenform, wobei, wenn der Berührvorgang nicht durch das Detektionsimplement (106) detektiert wird, die Speichermittel (113) wirksam sind, das Speichern der eingegebenen Wellenform fortzusetzen, und die Wiedergabemittel (101) wirksam sind, um den der eingegebenen Wellenform entsprechenden Musikton ohne den Scratcheffekt wiederzugeben, und wenn der Berührvorgang durch das Detektionsimplement (106) detektiert wird, die Speichermittel (113) wirksam sind, um ein Speichern der Wellenform einzustellen, und die Wiedergabemittel (101) wirksam sind, um den Musikton, der der durch die Auslesemittel (101) ausgelesenen Wellenform entspricht, mit dem Scratcheffekt wiederzugeben.
  4. Musikvorrichtung nach Anspruch 3, bei der die Speichermittel (103) eine Speicherkapazität aufweisen, die ausreichend ist, um ein vollständiges Datenvolumen einer unverbrauchten Wellenform, die neu von der externen Quelle (111) eingeben wurde, auf Echtzeitbasis zu speichern.
  5. Verfahren zum Betreiben einer Musikvorrichtung zum Wiedergeben eines Musiktons durch Auslesen einer entsprechenden Wellenform in Entsprechung zu einer variablen Leseadresse, so dass ein Scratcheffekt in dem wiedergegebenen Musikton im Ansprechen auf einen Berührvorgang eingeführt wird, wobei das Verfahren die folgenden Schritte aufweist: Speichern einer Wellenform in einen Speicher (103) in Form einer Sequenz von Amplitudenwertdaten, die in einer vorgegebenen Abtastperiode angeordnet sind, um einen entsprechenden Musikton zu repräsentieren; Betreiben eines Detektionsimplements (106) mit einer Länge zum Empfangen des Berührvorgangs, um eine Stelle des Berührvorgangs über die Länge zu detektieren und einen Positionswert auszugeben, der der detektierten Stelle des Berührsvorgangs entspricht; periodisches Wiederauffinden des vom dem Detektionsimplement (106) ausgegebenen Positionswertes, um den Berühr-vorgang zu überwachen; und variables Ermitteln jeder Leseadresse in Entsprechung zu den wiedergefundenen der Positionswerte; und Durchführen einer Wiedergabe zum sukzessivem Auslesen der Wellenform aus dem Speicher (103) in Entsprechung zu jeder ermittelten Leseadresse, so dass der entsprechende Musikton mit dem Scratcheffekt wiedergegeben wird, wobei die Wiedergabe durchgeführt wird, wenn der Berührvorgang initiiert ist, um das Auslesen der Wellenform aus einer vorgegebenen Start-Leseadresse zu starten, und wobei die Wiedergabe während des Verlaufs des Berührvorgangs durchgeführt wird, um ein sukzessives Auslesen der Wellenform in Entsprechung zu jeder ermittelten Leseadresse fortzusetzen.
  6. Verfahren zum Betreiben einer Musikvorrichtung nach Anspruch 5, bei dem der Wiederauffindeschritt differentielles Verarbeiten der periodisch wiedergefundenen Positionswerte, um eine Geschwindigkeit des Berührvorgangs zu berechnen, aufweist und bei dem der Schritt des Durchführens einer Wiedergabe Ermitteln einer variablen Zahl in Entsprechung zu der Geschwindigkeit des Berührvorgangs und Akkumulieren der variablen Zahl zu einer vorangegangenen Leseadresse, um eine nachfolgende Leseadresse zu ermitteln, aufweist.
  7. Verfahren zum Betreiben einer Musikvorrichtung zum Wiedergeben eines Musiktons durch Auslesen einer entsprechenden Wellenform in Entsprechung zu einer variablen Leseadresse, so dass ein Scratcheffekt in dem wiedergegebenen Musikton im Ansprechen auf einen Berührvorgang eingeführt wird, wobei das Verfahren die folgenden Schritte aufweist: Speichern einer Wellenform in einen Speicher (103) in Form einer Sequenz von Amplitudenwertdaten, die in einer vorgegebenen Abtastperiode angeordnet sind, um einen entsprechenden Musikton zu repräsentieren; Betreiben eines Detektionsimplements (106) mit einer Länge zum Empfangen des Berührvorgangs, um eine Stelle des Berührvorgangs über die Länge zu detektieren und einen Positionswert auszugeben, der der detektierten Stelle des Berührsvorgangs entspricht; periodisches Wiederauffinden des vom dem Detektionsimplement (106) ausgegebenen Positionswertes, um den Berühr-vorgang zu überwachen; variables Ermitteln jeder Leseadresse in Entsprechung zu den wiedergefundenen der Positionswerte; und Durchführen einer Wiedergabe zum sukzessivem Auslesen der Wellenform aus dem Speicher (103) in Entsprechung zu jeder ermittelten Leseadresse, so dass der entsprechende Musikton mit dem Scratcheffekt wiedergegeben wird, wobei der Speicherschritt ein Speichern einer Wellenform aufweist, welche von einer externen Quelle (111) in Echtzeitbasis eingegeben wird, und wobei die Wiedergabe durchgeführt wird, wenn der Berührvorgang nicht zum Ausgeben der eingegebenen Wellenform, so wie sie ist, begonnen wird, um den entsprechenden Musikton ohne Scratcheffekt wiederzugeben, und die Wiedergabe durchgeführt wird, wenn der Berührvorgang zum Stoppen des Speicherns und Ausgebens der Wellenform und zum sukzessiven Auslesen der Wellenform aus dem Speicher (103) in Entsprechung zu dem variablen Leseadressen begonnen wird, so dass der entsprechende Musikton mit dem Scratcheffekt wiedergegeben wird.
  8. Maschinenlesbares Medium mit Befehlen, eine Musikvorrichtung zum Durchführen eines Verfahrens zum Wiedergeben eines Musiktons zu veranlassen, wenn die Befehle mittels der Vorrichtung ausgeführt werden, durch Auslesen einer entsprechenden Wellenform in Entsprechung zu einer variablen Leseadresse, so dass ein Scratcheffekt in dem wiedergegebenen Musikton im Ansprechen auf einen Berührvorgang eingeführt wird, wobei das Verfahren die folgenden Schritte aufweist: Speichern einer Wellenform in einen Speicher (103) in Form einer Sequenz von Amplitudenwertdaten, die in einer vorgegebenen Abtastperiode angeordnet sind, um einen entsprechenden Musikton zu repräsentieren; Betreiben eines Detektionsimplements (106) mit einer Länge zum Empfangen des Berührvorgangs, um eine Stelle des Berührvorgangs über die Länge zu detektieren und einen Positionswert auszugeben, der der detektierten Stelle des Berührsvorgangs entspricht; periodisches Wiederauffinden des vom dem Detektionsimplement (106) ausgegebenen Positionswertes, um den Berühr-vorgang zu überwachen; variables Ermitteln jeder Leseadresse in Entsprechung zu den wiedergefundenen der Positionswerte; und Durchführen einer Wiedergabe zum sukzessivem Auslesen der Wellenform aus dem Speicher (103) in Entsprechung zu jeder ermittelten Leseadresse, so dass der entsprechende Musikton mit dem Scratcheffekt wiedergegeben wird wobei die Wiedergabe durchgeführt wird, wenn der Berührvorgang initiiert ist, um das Auslesen der Wellenform aus einer vorgegebenen Start-Leseadresse zu starten, und wobei die Wiedergabe während des Verlaufs des Berührvorgangs durchgeführt wird, um ein sukzessives Auslesen der Wellenform in Entsprechung zu jeder ermittelten Leseadresse fortzusetzen.
  9. Maschinenlesbares Medium nach Anspruch 8, bei dem der Wiederauffindeschritt differentielles Verarbeiten der periodisch wieder-gefundenen Positionswerte, um eine Geschwindigkeit des Berühr-vorgangs zu berechnen, aufweist und bei dem der Schritt des Durchführens einer Wiedergabe Ermitteln einer variablen Zahl in Entsprechung zu der Geschwindigkeit des Berührvorgangs und Akkumulieren der variablen Zahl zu einer vorangegangenen Leseadresse, um eine nachfolgende Leseadresse zu ermitteln, aufweist.
  10. Maschinenlesbares Medium mit Befehlen, eine Musikvorrichtung zum Durchführen eines Verfahrens zum Wiedergeben eines Musiktons zu veranlassen, wenn die Befehle mittels der Vorrichtung ausgeführt werden, durch Auslesen einer entsprechenden Wellenform in Entsprechung zu einer variablen Leseadresse, so dass ein Scratcheffekt in dem wiedergegebenen Musikton im Ansprechen auf einen Berührvorgang eingeführt wird, wobei das Verfahren die folgnden Schritte aufweist: Speichern einer Wellenform in einen Speicher (103) in Form einer Sequenz von Amplitudenwertdaten, die in einer vorgegebenen Abtastperiode angeordnet sind, um einen entsprechenden Musikton zu repräsentieren; Betreiben eines Detektionsimplements (106) mit einer Länge zum Empfangen des Berührvorgangs, um eine Stelle des Berührvorgangs über die Länge zu detektieren und einen Positionswert auszugeben, der der detektierten Stelle des Berührsvorgangs entspricht; periodisches Wiederauffinden des vom dem Detektionsimplement (106) ausgegebenen Positionswertes, um den Berühr-vorgang zu überwachen; variables Ermitteln jeder Leseadresse in Entsprechung zu den wiedergefundenen der Positionswerte; und Durchführen einer Wiedergabe zum sukzessivem Auslesen der Wellenform aus dem Speicher (103) in Entsprechung zu jeder ermittelten Leseadresse, um so den entsprechenden Musikton mit dem Scratcheffekt wiederzugeben, wobei der Speicherschritt ein Speichern einer Wellenform aufweist, welche von einer externen Quelle (111) in Echtzeitbasis eingegeben wird, und wobei die Wiedergabe durchgeführt wird, wenn der Berührvorgang nicht zum Ausgeben der eingegebenen Wellenform, so wie sie ist, begonnen wird, um den entsprechenden Musikton ohne den Scratcheffekt wiederzugeben, und die Wiedergabe durchgeführt wird, wenn der Berührvorgang zum Stoppen des Speicherns und Ausgebens der Wellenform und zum sukzessiven Auslesen der Wellenform aus dem Speicher (103) in Entsprechung zu dem variablen Leseadressen begonnen wird, so dass der entsprechende Musikton mit dem Scratcheffekt wiedergegeben wird.
DE69632696T 1995-09-20 1996-09-19 Digitales Musikinstrument mit Wellenformbearbeitung zur Erzeugung eines Klangeffektes Expired - Lifetime DE69632696T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP26625295 1995-09-20
JP7266252A JP2933204B2 (ja) 1995-09-20 1995-09-20 スクラッチ動作可能な楽音発生装置
JP7266253A JP2956550B2 (ja) 1995-09-20 1995-09-20 楽音発生装置および楽音発生方法
JP26625395 1995-09-20

Publications (2)

Publication Number Publication Date
DE69632696D1 DE69632696D1 (de) 2004-07-15
DE69632696T2 true DE69632696T2 (de) 2005-06-16

Family

ID=26547362

Family Applications (2)

Application Number Title Priority Date Filing Date
DE69632696T Expired - Lifetime DE69632696T2 (de) 1995-09-20 1996-09-19 Digitales Musikinstrument mit Wellenformbearbeitung zur Erzeugung eines Klangeffektes
DE69613068T Expired - Lifetime DE69613068T2 (de) 1995-09-20 1996-09-19 Digitales Musikinstrument mit Wellenformbearbeitung zur Erzeugung eines Klangeffektes

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE69613068T Expired - Lifetime DE69613068T2 (de) 1995-09-20 1996-09-19 Digitales Musikinstrument mit Wellenformbearbeitung zur Erzeugung eines Klangeffektes

Country Status (6)

Country Link
US (1) US6025552A (de)
EP (2) EP1018724B1 (de)
KR (1) KR100386404B1 (de)
DE (2) DE69632696T2 (de)
HK (1) HK1010763A1 (de)
SG (1) SG47179A1 (de)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2922509B2 (ja) * 1997-09-17 1999-07-26 コナミ株式会社 音楽演出ゲーム機、音楽演出ゲーム用の演出操作指示システムおよびゲーム用のプログラムが記録されたコンピュータ読み取り可能な記憶媒体
SG73470A1 (en) * 1997-09-23 2000-06-20 Inst Of Systems Science Nat Un Interactive sound effects system and method of producing model-based sound effects
KR100325489B1 (ko) * 1998-09-23 2002-03-06 이문기 컴퓨터와 연결하여 사용하는 전자악기
EP2365482A3 (de) * 1999-07-07 2011-10-05 Gibson Guitar Corp. Musikinstrument-Digitalaufzeichnungsvorrichtung mit Kommunikationsschnittstelle
JP2001154670A (ja) * 1999-11-25 2001-06-08 Yamaha Corp 曲データ再生装置、方法及び記録媒体
CN1232945C (zh) * 2000-04-03 2005-12-21 雅马哈株式会社 便携机、该便携机的节电方法和音量补偿方法
US7041892B2 (en) * 2001-06-18 2006-05-09 Native Instruments Software Synthesis Gmbh Automatic generation of musical scratching effects
AU2002326553B2 (en) * 2001-08-07 2007-07-26 Justin A Kent System for converting turntable motion to midi data
US6541690B1 (en) 2001-12-18 2003-04-01 Jerry W. Segers, Jr. Scratch effect controller
US20050052981A1 (en) * 2003-09-09 2005-03-10 Brian Shim Record controlled sound playback device
EP1580644A3 (de) * 2004-03-15 2005-11-09 Yamaha Corporation Gerät zur Aufnahme und Wiedergabe von musikalischen Inhalten
JP4400363B2 (ja) * 2004-08-05 2010-01-20 ヤマハ株式会社 音源システム、楽曲ファイルを記録したコンピュータ読み取り可能な記録媒体及び楽曲ファイル作成ツール
USD518814S1 (en) 2004-09-07 2006-04-11 Numark Industries, Llc Record controlled sound playback device
US20070079315A1 (en) * 2005-10-05 2007-04-05 Gregor Mittersinker Hybrid turntable
JP2007163845A (ja) * 2005-12-14 2007-06-28 Oki Electric Ind Co Ltd 音源システム
US8311656B2 (en) 2006-07-13 2012-11-13 Inmusic Brands, Inc. Music and audio playback system
US8314321B2 (en) * 2007-09-19 2012-11-20 Agency For Science, Technology And Research Apparatus and method for transforming an input sound signal
JP2009157272A (ja) * 2007-12-27 2009-07-16 Roland Corp 音声再生装置
US20100217922A1 (en) * 2008-07-24 2010-08-26 Masahiro Nakanishi Access module, storage module, musical sound generating system and data writing module
FR3095070B1 (fr) * 2019-04-15 2021-04-16 Pa Cotte Sa Système d’émission d’un effet sonore

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4373416A (en) * 1976-12-29 1983-02-15 Nippon Gakki Seizo Kabushiki Kaisha Wave generator for electronic musical instrument
JPS55500959A (de) * 1978-12-11 1980-11-13
JPH0690622B2 (ja) * 1987-05-22 1994-11-14 ヤマハ株式会社 楽音信号処理装置
JPH0734155B2 (ja) * 1988-03-08 1995-04-12 ヤマハ株式会社 電子楽器用制御装置
US5319151A (en) * 1988-12-29 1994-06-07 Casio Computer Co., Ltd. Data processing apparatus outputting waveform data in a certain interval
US5239123A (en) * 1989-01-17 1993-08-24 Yamaha Corporation Electronic musical instrument
JP3092808B2 (ja) * 1989-12-20 2000-09-25 カシオ計算機株式会社 電子弦楽器
US5278350A (en) * 1990-01-19 1994-01-11 Yamaha Corporation Electronic musical instrument for generating musical tone approximate to acoustic instrument for generating a sustaining tone, and musical tone control apparatus used in this electronic musical instrument
JPH0451196A (ja) * 1990-06-19 1992-02-19 Matsushita Electric Ind Co Ltd 電子楽器
US5200564A (en) * 1990-06-29 1993-04-06 Casio Computer Co., Ltd. Digital information processing apparatus with multiple CPUs
JP2606456B2 (ja) * 1991-01-17 1997-05-07 ヤマハ株式会社 電子楽器
US5283386A (en) * 1991-08-30 1994-02-01 Casio Computer Co., Ltd. Musical-tone signal generating apparatus and musical-tone controlling apparatus including delay means and automatic reset means
US5350882A (en) * 1991-12-04 1994-09-27 Casio Computer Co., Ltd. Automatic performance apparatus with operated rotation means for tempo control
JP2722907B2 (ja) * 1991-12-13 1998-03-09 ヤマハ株式会社 波形発生装置
JPH05313667A (ja) * 1992-05-13 1993-11-26 Roland Corp 楽音信号の出力装置
JPH0752344B2 (ja) * 1992-09-09 1995-06-05 ヤマハ株式会社 効果音発生装置
JP2734909B2 (ja) * 1992-10-12 1998-04-02 ヤマハ株式会社 波形データ読み出し装置
JP3516470B2 (ja) * 1993-12-17 2004-04-05 株式会社ソニー・コンピュータエンタテインメント 信号処理装置
JP2812222B2 (ja) * 1994-10-31 1998-10-22 ヤマハ株式会社 電子楽器および音源手段の置き換え方法
US5596159A (en) * 1995-11-22 1997-01-21 Invision Interactive, Inc. Software sound synthesis system

Also Published As

Publication number Publication date
SG47179A1 (en) 1998-03-20
KR970017163A (ko) 1997-04-30
KR100386404B1 (ko) 2003-08-27
EP1018724B1 (de) 2004-06-09
EP0764934A1 (de) 1997-03-26
HK1010763A1 (en) 1999-06-25
DE69613068T2 (de) 2002-03-07
EP1018724A1 (de) 2000-07-12
US6025552A (en) 2000-02-15
EP0764934B1 (de) 2001-05-30
DE69632696D1 (de) 2004-07-15
DE69613068D1 (de) 2001-07-05

Similar Documents

Publication Publication Date Title
DE69632696T2 (de) Digitales Musikinstrument mit Wellenformbearbeitung zur Erzeugung eines Klangeffektes
DE69804518T2 (de) Vorrichtung und Verfahren zur Erzeugung von Tönen durch Zeitstrecken- und Kompressionstechnik
DE3546774C2 (de)
DE69724919T2 (de) Verfahren zur Erzeugung von Musiktönen
EP1415297B1 (de) Automatische erzeugung von musikalischen sratch-effekten
DE69730873T2 (de) Software-Tonerzeuger
DE60024157T2 (de) Vorrichtung und Verfahren zur Eingabe eines Vortragstils
DE3528719A1 (de) Tonverarbeitungsvorrichtung fuer ein elektronisches musikinstrument
DE3936693A1 (de) Vorrichtung zum erzeugen digitaler audiosignale
DE3023581C2 (de) Verfahren zur digitalen Hüllkurvensteuerung eines polyphonen Musiksyntheseinstruments und Schaltungsanordnung zur Durchführung des Verfahrens
DE69611874T2 (de) Verfahren und Vorrichtung zur Musiktonerzeugung
DE69625625T2 (de) Verfahren und Vorrichtung zur auf Software basierten Tonwellenformerzeugung
DE602005004685T2 (de) Tonwellenform Synthesizer
DE10009082A1 (de) Gerät zur Wiedergabe einer Wellenform
DE19882539B3 (de) Verfahren und System zum Speichern von Daten in einem verteilten Speichersystem und Bereitstellen der Wiedergabe von Effekten die durch die Daten beschrieben werden
DE69732797T2 (de) Verfahren und vorrichtung zur speicherung von tonfolgen in cyclischen schleifen
DE2513127C2 (de) Verfahren zum künstlichen Erzeugen eines musikalischen Klangs
DE69625942T2 (de) Verfahren und Vorrichtung zur Tonerzeugung
DE69615268T2 (de) Elektronisches Musikinstrument
DE3100934A1 (de) Verfahren zur erzeugung einer seriellen tastenimpulsinformation mit einer ersten abtastwiederholfrequenz in abhaengigkeit von einer asynchron mit einer zweiten abtastwiederholfrequenz erzeugten seriellen multiplex-tasten-impulsformation sowie schnittstelleneinrichtung zur durchfuehrung des verfahrens
DE69226720T2 (de) Digitales Aufzeichnungsgerät
DE2657430A1 (de) Einrichtung zum synthetisieren der menschlichen sprache
DE10304098B4 (de) Verfahren und Vorrichtung zur Steuerung eines Tonfolge gekoppelten Bildfolgeablaufs sowie zugehöriges Programm
DE69702336T2 (de) Audiosystem für pc mit frequenzkompensierten wellenformdaten
DE3943797B4 (de) Vorrichtung zum Verarbeiten von Quelltondaten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition