-
Hintergrund
der Erfindung
-
Die
vorliegende Erfindung bezieht sich auf eine Speichervorrichtung,
wie zum Beispiel Speicherkarten, die mit einem MIDI-Sequenzer und
einem Tongenerator ausgerüstet
sind.
-
Bisher
ist eine Vielzahl von Vorrichtungen, wie zum Beispiel Computer,
Audioabspielgeräte
und Mobiltelefone bekannt, die verschiedene Speicherkarten als ihr
Speichermedium verwenden können. Derartige
Speicherkarten können
zum Beispiel eine SD-Speicherkarte (Secure Digital), welches der Name
einer Medienkarte ist, die in Zusammenarbeit von Toshiba, Matsushita
Denki und SANDISK USA entwickelt wurde) und ein Speicher-Stick (Memory Stick,
eine Marke von Sony) sein. Einige dieser Speicherkarten sind mit
einem sogenannten Copyright-Schutzmechanismus
zur Verhinderung eines unerlaubten Zugriffs, der kein Zugriff durch
eine autorisierte Vorrichtung ist, auf die in entsprechender Weise
auf der Speicherkarte gespeicherte Information ausgerüstet.
-
Auf
der anderen Seite benötigt
ein Computer oder seine anpassbaren Vorrichtungen einen MIDI-Sequenzer
(eine Sequenzer-Software) und eine Tongeneratorvorrichtung zum Spielen
bzw. Wiedergeben von MIDI-Musikspieldaten. Die Speicherkarte kann
lediglich Musikinformation speichern und kann deshalb keine MIDI-Musikspielfunktion
aufweisen, wenn sie alleine ist.
-
Wie
oben erwähnt,
kann eine Vielzahl von Speicherkarten als ein Speichermedium in
verschiedenen Vorrichtungen eingesetzt werden, brauchte jedoch bisher
ein zusätzliches
mit ihm verbindbares Gerät,
wie zum Beispiel einen MIDI-Sequenzer oder eine Tongeneratorvorrichtung,
um die MIDI-Musikspielfunktion auszuführen.
-
Zusammenfassung der Erfindung
-
Aufgabe
der vorliegenden Erfindung ist es, eine Speichervorrichtung, wie
zum Beispiel eine Speicherkarte, vorzusehen, die lediglich mit ihrer
sie aufnehmenden Vorrichtung verbunden zu werden braucht, um die
Funktion eines MIDI-Musikspiels hinzuzufügen.
-
Aspekte
der vorliegenden Erfindung sind in den unabhängigen Ansprüchen 1 und
4 dargelegt. Detaillierte Ausführungsformen
sind in den abhängigen
Ansprüchen
definiert.
-
Kurze Beschreibung der
Zeichnungen
-
Es
zeigt:
-
1 ein
Blockdiagramm, das eine Speicherkarte zeigt, die einen Tongenerator
gemäß einer Ausführungsform
der vorliegenden Erfindung aufweist,
-
die 2A–2C eine
Darstellung, die eine Konfiguration einer Steuerungsdatei, einer
Ausgabesteuerungsdatei und einer Einrichtungsdatei zeigt,
-
die 3A–3E eine
Darstellung, die Konfigurationsbeispiele zum Speichern von Verzeichnisinformation,
FAT-Information bzw. einen Datenbereich in einem Speicherkern zeigt,
-
4 ein
Fließdiagramm,
das die Funktionsweise eines Datencontrollers zeigt,
-
5 ein
Fließdiagramm,
das die Funktionsweise eines MIDI-Sequenzers zeigt,
-
6 ein
Fließdiagramm,
das die Funktionsweise eines Tongenerators zeigt,
-
7 eine
Darstellung, die ein Konfigurationsbeispiel verschiedener Vorrichtungen
zeigt, die eine Speicherkarte einsetzen, die mit einer MIDI-Spielfunktion versehen
ist.
-
Detaillierte
Beschreibung der Erfindung
-
Es
folgt eine Beschreibung von Ausführungsformen
der vorliegenden Erfindung anhand der Zeichnungen.
-
1 zeigt
eine Blockkonfiguration eines Speicherkarten-Tongenerators (einer
Speichervorrichtung, die mit einem Tongenerator ausgerüstet ist), die
sich auf eine Ausführungsform
der vorliegenden Erfindung bezieht. Dieser Speicherkarten-Tongenerator enthält eine
Verbindung 101, einen Schnittstellentreiber 102,
eine Datensteuerung 103, einen Speicherkern 104 und
einen Funktionschip 105. Die Verbindung 101 ist
ein Anschluss-Endstückabschnitt zum
Verbinden der Speicherkarte mit verschiedenen Vorrichtungen. Der
Schnittstellentreiber 102 ist ein Schnittstellenabschnitt
zum Übertragen
eines von außen über den
Stecker 101 in die Datensteuerung 103 eingegebenen
Befehls und zum Leiten von ein- und ausgegebenen Daten zwischen
diesem Tongenerator und einer externen Vorrichtung. Es wird darauf
hingewiesen, dass die vorliegende Speicherkarte zwischen dieser
Vorrichtung und einer externen Vorrichtung Daten im sogenannten
Block-Transfer überträgt. Das
bedeutet, dass die Datei in Blockeinheiten gelesen oder geschrieben
wird, wenn deren Dateiname zusammen mit einem Lese-/Schreibbefehl eingegeben
wird. Die Datensteuerung 103 steuert den Lese-/Schreibvorgang an
den Speicherkern 104 sowie die Übertragung von Daten und eines
Steuersignals zwischen dem Speicherkern 104 und dem Funktionschip 105.
-
Die
an diese Speicherkarte übergebenen Dateischreibbefehle
sind in Schreibbefehle mit Copyright-Schutz und Schreibbefehle ohne
Copyright-Schutz eingeteilt. Für
ein Schreiben mit Copyright-Schutz führt die Datensteuerung 103 auf
der Grundlage eines noch zu beschreibenden Verschlüsselungsschlüssels an
verschiedenen, den Schutz benötigenden
Dateien eine Verschlüsselungsverarbeitung
durch und speichert sie im Speicherkern 104. Wenn eine
der verschlüsselten
Dateien ausgelesen wird, führt
die Datensteuerung 103 auf der Geräteseite eine Authentifizierung
durch, und wenn bestätigt wird,
dass die Datei zu entschlüsseln
ist, entschlüsselt
die Speichervorrichtung die Datei und überträgt die Datei an das Gerät. Wenn
die Datei eine gewöhnliche
Datei ist und nicht verschlüsselt
ist, liest die Speichervorrichtung die Datei unverändert aus
und überträgt sie an
das Gerät.
Es wird darauf hingewiesen, dass das Copyright von der Speicherkarte
gemäß einem
schon bekannten Verfahren geschützt sein
kann.
-
Der
Speicherkern 104 ist ein Speicherabschnitt zum Speichern
verschiedener Typen von Information. Der Speicherkern 104 ist
in einen Benutzerdatenbereich 110 und einen Schutzbereich 130 aufgeteilt.
-
Der
Schutzbereich 130 kann üblicherweise weder
vom Benutzer referenziert noch auf ihn zugegriffen werden, und es
ist darin Kartenidentifizierungsinformation (CIS: Card Information
Structure) 131 gespeichert, die zum Erkennen eines Speicherkartentyps
und einer Betriebsart, eines Datenformats und einer Verschlüsselungschlüsselinformation
(ENCKEY) 132 verwendet, die zum Verschlüsseln von Daten eingesetzt
wird. Das System bezieht sich auf die Kartenidentifizierungsinformation 131,
um zu entscheiden, ob die betreffende Karte autorisiert ist, oder
verwendet die Verschlüsselungsschlüsselinformation 132 zum
Schützen
auf der Karte gespeicherter Daten.
-
Der
Benutzerdatenbereich 110 wird durch ein FAT-Dateisystem
(File Allocation Table/Dateizuordnungstabelle) verwaltet, das in
neueren PCs oder anderen Computersystemen eingesetzt wird. Das heißt, dass
der Benutzerdatenbereich 110 in mehrere Sektoren (Cluster)
eingeteilt ist, die jeweils eine vorbestimmte Anzahl von Bytes (z.B.
512 Bytes) haben, und ein Verzeichnisbereich 119 speichert
eine Liste von FAT-Referenzierungsbestimmungen (die FAT-Positionen
anzeigen, welche die obersten Clusternummern der Dateien speichern),
die den Dateinamen entsprechen. Um eine Datei auszulesen, wird deshalb
die FAT von einem dieser Datei im Verzeichnis entsprechenden Teil
referenziert, und dann wird die FAT bis zum Ende der Datei zurückverfolgt,
um die Cluster sequenziell auszulesen. Um Daten in eine Datei zu
schreiben, wird die FAT in gleicher Weise zurückverfolgt, um Daten sequenziell
in Cluster-Einheiten zu schreiben.
-
Der
Benutzerdatenbereich 110 speichert eine MIDI-Dateigruppe 111,
eine WAVE-Dateigruppe 112 und eine Audiodatengruppe 113.
Die MIDI-Dateigruppe 111 besteht aus MIDI-Dateien, von
denen jede aus mehreren MIDI-Ereignissen (MIDI-Nachrichten) besteht. Die WAVE-Datengruppe 112 besteht
aus WAVE- Datendateien,
von denen jede aus Wellenform-Abtastdaten verschiedener Klangfarben besteht,
die ausgelesen werden können,
wenn ein noch zu beschreibender Tongeneratorabschnitt 152 einen
Musikton erzeugt.
-
Der
Benutzerdatenbereich 110 reserviert einen Wellenpuffer 114 und
einen weiteren Wellenpuffer 115. Diese beiden Wellenpuffer
speichern Daten eines Musiktons, wenn er von dem noch zu beschreibenden
Funktionschip 105 erzeugt wird, der als ein Puffer zum Übertragen
erzeugter Musiktondaten zwischen dem System und einem externen Gerät dient. Außerdem speichert
der Benutzerdatenbereich 110 eine Einrichtungsdatei (SETUP
FILE) 116, eine Steuerungsdatei (CONTROL FILE) 17 sowie
eine Ausgabesteuerungsdatei (OUTCONT FILE) 118. Die Einrichtungsdatei 116 wird
verwendet, um Musikspielbedingungen (Lautstärke, Tempo und Melodie) und
ein zu spielendes Musikstück
(Dateiname) anzugeben, deren Inhalt durch Benutzereinstellung bzw.
-auswahl neu geladen wird. Die Steuerungsdatei 117 wird verwendet,
um das Musikspiel, wie zum Beispiel Start, Stopp, Vorlauf und Rücklauf des
Musikspiels zu steuern, deren Inhalt durch den Befehl bzw. den Betrieb
eines Benutzers überschrieben
werden kann. Die Ausgabesteuerungsdatei 118 wird dazu verwendet,
das Auslesen von Wellenformdaten eines gespielt werdenden Musikstücks zu steuern,
auf deren Inhalt von einem externen Gerät zugegriffen werden kann,
um die Wellenformdaten des Musikstücks zur Wiedergabe auszulesen
(Digital-Analog-Wandlung).
-
Der
Funktionschip 105 weist einen MIDI-Ablaufsteuerungsprozessor
(der hiernach als MIDI-Sequenzer bezeichnet wird) 115 und
einen Tonerzeugungsprozessor (der hiernach als Tongeneratorabschnitt
bezeichnet wird) 152 auf. Der Funktionschip 105 ist
in die Speicherkarte integriert. Der MIDI-Sequenzer 151 liest über die
Datensteuerung 103 den Inhalt der Einrichtungsdatei 116 und
der Steuerungsdatei 117 und auch der MIDI-Datei 111 und
die WAVE-Daten 112 aus, die eingegeben werden, wodurch
auf diese Weise der Tongeneratorabschnitt 152 gesteuert
wird. Der Tongeneratorabschnitt 152 empfängt nach
dem Start der Spielverarbeitung durch den MIDI-Sequenzer 151 ein
Spielereignis, um hierauf eine Musikton-Wellenformabtastung zu erzeugen,
und schreibt diese als eine Musikton-Wellenformdatei in einen Wellenpuffer
0 oder 1. Das externe Gerät
liest diese Musikton-Wellenformdateien gemäß dem Inhalt der Ausgabesteuerungsdatei 118 sequenziell
aus und führt
an den auf diese Weise gelesenen Daten zur Klangerzeugung eine Analog-Digital-Wandlung
durch.
-
Bei
der vorliegenden Ausführungsform
aktualisiert und erzeugt der Tongeneratorabschnitt 152 wechselweise
zwei Musikton-Wellenformdateien des Wellenpuffers 0 (WAVEBUF0) und
des Wellenpuffers 1 (WAVEBUF1) des Benutzerbereichs 110 des
Speicherkerns 104 in einer sogenannten Doppel-Puffer-Betriebsart. Das
heißt,
wenn der Tongeneratorabschnitt 152 im Wellenpuffer 0 eine
Musikton-Wellenform erzeugt, dass dann das externe Gerät aus dem Wellenpuffer
1 eine andere Musiktonwellenform ausliest und, umgekehrt, wenn der
Tongeneratorabschnitt 152 die Wellenform in den Wellenpuffer
1 schreibt, das externe Gerät
dann die Wellenform vom Wellenpuffer 0 liest. Dieser Vorgang wird
wiederholt, um Musikton-Wellenformen nacheinander auszugeben. Es
wird darauf hingewiesen, dass das System drei oder mehr Puffer oder
auch nur einen einzigen Puffer haben kann, wenn das System eine
ausreichend hohe Verarbeitungsrate aufweist.
-
2A zeigt
eine Konfiguration der Steuerdatei 117. Die Steuerdatei 117 hat
Flag-Speicherbereiche zum Speichern eines PLAY-Flags, eines PAUSE-Flags,
eines STOP-Flags und eines REW-Flags. Jeder dieser Flags ist eingeschaltet,
wenn er auf 1 gesetzt ist, und ausgeschaltet, wenn er auf 0 gesetzt ist.
Das externe Gerät
setzt diese Flags nach Wunsch und schreibt diese Einstellungen als
die Steuerungsdatei 117 auf die Speicherkarte. So kann das
externe Gerät
zum Beispiel durch Einschalten des PLAY-Flags, des PAUSE-Flags,
des STOP-Flags, des FF-Flags oder des REW-Flags diese Speicherkarte
mit einem Befehl beliefern, um entweder abzuspielen, zu pausieren,
zu stoppen, oder vorlaufen bzw. rücklaufen zu lassen. Es wird
darauf hingewiesen, dass die Steuerdatei 117 durch Indizieren
eines Dateinamens gemäß einer
vorbestimmten Regel gelesen und geschrieben wird.
-
2B zeigt
eine Konfiguration der Ausgabesteuerungsdatei 118. Die
Ausgabesteuerungsdatei 118 hat einen Bereit-Flag READYFLG
und einen Wellenpuffername anzeigenden Bereich WAVEFILE. Diese Ausgabesteuerungsdatei 118 (die
einen Dateinamen gemäß der Regel
haben soll) wird vom externen Gerät angesprochen, wenn das Gerät Musiktonwellenformdaten
von der vorliegenden Speicherkarte ausliest. Der BEREIT-Flag ist
eingeschaltet (READYFLG=1), wenn diese Ausgabesteuerungsdatei ausgelesen
wurde, was bedeutet, dass eine Musiktonwellenformdatei aus einem
Wellenpuffer ausgelesen werden kann, der vom Wellenpuffername anzeigenden
Bereich WAVEFILE angegeben ist.
-
2C zeigt
eine Konfiguration der Einrichtungsdatei 116. Die Einrichtungsdatei 116 wird
zum Speichern der Information einer Anordnung der Dateinamen der
MIDI-Dateigruppe 111 sowie der Information über die
Lautstärke,
das Tempo und die verwendete Melodie eingesetzt, wenn eine MIDI-Datei mit
einem spezifizierten MIDI-Dateinamen unter diesen Dateinamen wiedergegeben
wird.
-
Die 3A–3E zeigen
Speicherbeispiele im Kernspeicher 104, wie zum Beispiel
den Verzeichnisinformationsbereich, den FAT-Bereich und den Datenbereich. 3A zeigt
ein Beispiel des Inhalts der Verzeichnisinformation. In diesem Verzeichnisinformationsbereich
sind der Wellenpuffer 0 (mit einem Dateinamen WAVEBUF0) und die
oberste Clusternummer registriert, die auf "2" gesetzt
ist. Wie in 3D gezeigt, ist daher der erste
Cluster des WAVEBUF0 da angeordnet, wo die Clusternummer des Datenbereichs "2" ist. Da außerdem an einer referenzierten
Position, wo die Eintragsnummer in 3C "2" ist, "3" gesetzt
ist, hat der nächste
Cluster eine Clusterzahl "3". Hiernach kann der
FAT-Bereich von 3C derart zurückverfolgt
werden, dass die Cluster dieser Datei sequenziell beschafft werden können. Wenn
im FAT-Bereich das Ende einer Datei (EOF/End of File) erscheint,
dann endet diese Datei dort. Außerdem
ist ein Cluster leer, bei dem im FAT-Bereich "0" gesetzt
ist. Dies gilt auch für
den WAVEBUF1.
-
3B zeigt
ein Beispiel, bei dem zwei Wellenpuffer denselben Dateinamen, jedoch
unterschiedliche Erweiterungen haben. 3E zeigt
den entsprechenden Datenbereich.
-
4 ist
ein Fließdiagramm,
das einen Vorgang der Verarbeitung durch die Datensteuerung 103 zeigt.
Die Datensteuerung 103 empfängt einen Befehl vom externen
Gerät beim
Schritt 401, um dann bei Schritt 402 zu entscheiden,
ob der empfangene Befehl ein Dateischreibbefehl ist. Wenn es sich
um einen Dateischreibbefehl handelt, entscheidet die Datensteuerung 103 bei
Schritt 403, ob die Datei einen Copyright-Schutz benötigt. Wenn
die Datei einen Copyright-Schutz benötigt, verwendet die Datensteuerung 103 bei
Schritt 404 die Verschlüsselungsschlüsselinformation 132 zum
Verschlüsseln
und Schreiben von Daten in den Benutzerbereich 110 des Speicherkerns 104.
Wenn bei Schritt 403 festgestellt wird, dass kein Copyrightschutz
benötigt
wird, schreibt die Datensteuerung 103 bei Schritt 405 die Datei
unverändert.
Bei diesem Schreiben wird die FAT entsprechend editiert und aktualisiert,
so dass die FAT die aktuelle Situation der Dateien im Speicherkern 104 verwalten
kann. Nach den Schritten 404 und 405 endet der
Vorgang.
-
Wenn
bei Schritt 402 festgestellt wird, dass der betreffende
Befehl kein Dateischreibbefehl ist, entscheidet die Datensteuerung 103 bei
Schritt 406, ob der empfangene Befehl ein Dateilesebefehl
ist. Wenn festgestellt wird, dass es sich um einen Dateilesebefehl
handelt, entscheidet die Dateisteuerung 103 bei Schritt 406,
ob es sich um einen Lesebefehl einer copyrightgeschützten Datei
handelt. Wenn das der Fall ist, führt die Dateisteuerung 103 bei
Schritt 408 eine Authentifizierung zwischen der Speicherkarte
und dem extern angeschlossenen Gerät durch und entscheidet dann
bei Schritt 409, ob der Befehl authentifiziert ist. Wenn
er authentifiziert ist, entschlüsselt
die Datensteuerung bei Schritt 410 die Daten und überträgt bei Schritt 411 Daten
an das angeschlossene externe Gerät. Wenn bei Schritt 409 keine
Authentifizierung erfolgt, beendet die Datensteuerung 103 sofort
den Vorgang. Es wird darauf hingewiesen, dass es sein kann, das
der Entschlüsselungsvorgang
bei Schritt 410 auch nicht durchgeführt und stattdessen der Schlüssel mit
der entschlüsselten
Datei nach einer gegenseitigen Authentifizierung übertragen
wird. In diesem Fall kann die Datei auf Seiten des Systems des angeschlossenen
Geräts entschlüsselt werden,
welches die Datei ausgelesen hat. Wenn bei Schritt 407 festgestellt
wird, dass es sich nicht um einen Lesebefehl einer copyrightgeschützten Datei
handelt, liest die Datensteuerung 103 bei Schritt 412 die
Daten Block für
Block aus und überträgt die Datenblöcke bei
Schritt 413 an das angeschlossene externe Gerät.
-
Wenn
bei Schritt 406 festgestellt wird, dass es sich bei dem
empfangenen Befehl nicht um einen Dateilesebefehl handelt, führt die
Datensteuerung 103 bei Schritt 414 eine andere
Verarbeitung, wie zum Beispiel eine dem Befehl gemäße Datenlöschung,
durch und beendet den Vorgang.
-
5 ist
ein Fließdiagramm,
das einen Vorgang einer Verarbeitung durch den MIDI-Sequenzer 151 zeigt.
Diese Verarbeitung wird nach einem vorbestimmten Zeitintervall wiederholt,
wenn der MIDI-Sequenzer 151 gestartet wird.
-
Zuerst
liest der MIDI-Sequenzer 151 bei Schritt 501 die
Steuerungsdatei 117 aus. Bei Schritt 502 entscheidet
der Sequenzer, ob der PLAY-Flag der Steuerungsdatei eingeschaltet
ist. Wenn er eingeschaltet ist, geht der MIDI-Sequenzer 151 zu Schritt 503 weiter,
ansonsten zu Schritt 513. Bei Schritt 503 entscheidet
der Sequenzer, ob der FF-Flag ausgeschaltet ist. Wenn er ausgeschaltet
ist, geht der MIDI-Sequenzer 151 zu Schritt 504,
ansonsten zu Schritt 512 weiter. Bei Schritt 504 entscheidet der
Sequenzer, ob der REW-Flag ausgeschaltet ist. Wenn er ausgeschaltet
ist, geht der MIDI-Sequenzer 151 zu Schritt 505 und
sonst zu Schritt 511 weiter. Bei Schritt 505 entscheidet
der Sequenzer, ob der PAUSE-Flag ausgeschaltet ist. Wenn er ausgeschaltet
ist, geht der MIDI-Sequenzer 151 zu Schritt 506 und sonst
zu Schritt 510 weiter. Bei Schritt 506 entscheidet
der Sequenzer, ob der STOP-Flag ausgeschaltet ist. Wenn er ausgeschaltet
ist, geht der MIDI-Sequenzer 151 zu
Schritt 507 und sonst zu Schritt 508 weiter.
-
Bei
Schritt 507, bei dem die Reproduktion befohlen und alle
anderen Operationen des Vorlaufs, Rücklaufs, der Pause und des
Stopps nicht befohlen sind, führt
der Sequenzer auf der Grundlage des Inhalts der Einrichtungsdatei 116 eine
MIDI-Spielverarbeitung aus. In diesem Fall werden MIDI-Ereignisse einer
gemäß der Einrichtungsdatei
ausgelesenen MIDI-Datei an den Tongeneratorabschnitt 152 gesendet.
Nach Schritt 507 springt der MIDI-Sequenzer 151 zurück.
-
Wenn
bei Schritt 502 der PLAY-Flag ausgeschaltet ist, entscheidet
der Sequenzer bei Schritt 513, ob der FF-Flag ausgeschaltet
ist. Wenn der FF-Flag eingeschaltet ist, was bedeutet, dass ein Vorlaufvorgang
in einem nicht reproduzierenden Zustand spezifiziert ist, überspringt
der Sequenzer bei Schritt 518 eine Position eines gespielt
werdenden Musikstücks
und springt dann zurück.
Wenn bei Schritt 513 der FF-Flag ausgeschaltet ist, entscheidet
der Sequenzer bei Schritt 514, ob der REW-Flag ausgeschaltet
ist. Wenn der REW-Flag eingeschaltet ist, was bedeutet, dass in
einem nicht reproduzierenden Zustand ein Rücklaufzustand spezifiziert
ist, führt
der Sequenzer bei Schritt 519 an der Position des gespielt
werdenden Musikstücks
einen Rücklaufvorgang
durch und springt dann zurück.
-
Wenn
bei Schritt 514 der REW-Flag ausgeschaltet ist, stellt
der Sequenzer bei Schritt 515 fest, ob der STOP-Flag eingeschaltet
ist. Wenn der STOP-Flag ausgeschaltet ist, springt die Routine direkt
zurück.
Wenn der STOP-Flag eingeschaltet ist, was bedeutet, dass wieder
in einem nicht reproduzierenden Zustand ein Stopp-Befehl gegeben
wurde, stoppt der Sequenzer bei Schritt 516 die Aktualisierung
der Spielposition (d.h. er startet die Verarbeitung zum Initialisieren
der Spielposition erneut). Dann schaltet der Sequenzer bei Schritt 517 den STOP-Flag
aus und springt dann zurück.
-
Wenn
bei Schritt 503 der FF-Flag eingeschaltet ist, was bedeutet,
dass in einem Reproduktionszustand ein Vorlaufvorgang spezifiziert
ist, rückt der
Sequenzer bei Schritt 512 die Spielposition vor (beschleunigt
das Tempo) und springt dann zurück. Wenn
bei Schritt 504 der REW-Flag eingeschaltet ist, was bedeutet,
dass in einem Reproduktionszustand ein Rücklaufvorgang spezifiziert
ist, führt
der Sequenzer bei Schritt 511 einen Rücklaufvorgang für die Spielposition
durch und springt dann zurück. Wenn
bei Schritt 505 der Pause-Flag eingeschaltet ist, was bedeutet,
dass in einem Reproduktionszustand ein Pausenvorgang befohlen ist,
pausiert der Sequenzer bei Schritt 510 mit dem MIDI-Spiel
und springt dann zurück.
Wenn bei Schritt 506 der STOP-Flag eingeschaltet ist, was
bedeutet, dass in einem Reproduktionszustand ein Stopp-Vorgang spezifiziert
ist, stoppt der Sequenzer bei Schritt 508 das MIDI-Spiel
und kehrt bei Schritt 509 alle Flags um und springt dann
zurück.
-
6 ist
ein Fließdiagramm,
das einen Vorgang einer Verarbeitung durch den Tongeneratorabschnitt 152 zeigt.
Zuerst stellt der Tongeneratorabschnitt 152 bei Schritt 601 fest,
ob vom MIDI-Sequenzer 151 ein Spielstartbefehl empfangen
wurde. Wenn noch kein Spielstartbefehl empfangen wurde, wiederholt
der Tongenerator 152 die Entscheidung. Wenn ein Spielstartbefehl
empfangen wurde, initialisiert der Generator die Wellenpuffer 0
und 1 bei Schritt 602. Bei Schritt 603 registriert
der Generator den Wellenpuffer 1 in dem Wellenpuffernamen anzeigenden
Bereich WAVEFILE der Ausgabesteuerungsdatei 118. Bei Schritt 604 setzt
der Generator den BEREIT-Flag der Ausgabesteuerungsdatei 118 auf
1 und setzt bei Schritt 605 eine Variable j auf 0 und eine
Variable k auf 1.
-
Als
Nächstes
synthetisiert der Generator bei Schritt 606 eine Tonwellenformabtastung
auf der Grundlage eines vom MIDI-Sequenzer 151 gesendeten
Spielereignisses. Bei Schritt 607 schreibt der Generator
die auf diese Weise synthetisierten Tonwellenformabtastungen sequenziell
in den Wellenpuffer j. Bei Schritt 608 stellt der Generator
fest, ob das externe Gerät,
das mit dem System verbunden ist, den Wellenpuffer k vollständig ausgelesen
hat. Wenn die Entscheidung positiv ausfällt, setzt der Generator den
BEREIT-Flag auf 0 und geht zu Schritt 610 weiter. Wenn
die Entscheidung negativ ausfällt,
geht die Routine direkt zu Schritt 610 weiter.
-
Bei
Schritt 610 stellt der Generator fest, ob das Einschreiben
in den Wellenpuffer j abgeschlossen ist, d.h. ob der Wellenpuffer
j mit synthetisierten Tonwellenformabtastungen gefüllt ist.
Wenn das Einschreiben noch nicht abgeschlossen ist, springt die Routine
zu Schritt 606 zurück.
Wenn das Einschreiben schon abgeschlossen ist, stellt der Generator
bei Schritt 611 fest, ob der Bereit-Flag auf 0 ist. Wenn
der Flag auf 0 ist, was bedeutet, dass das externe Gerät den Wellenpuffer
k vollständig
ausgelesen hat, registriert der Generator den Wellenpuffer j bei
Schritt 612 erneut als eine WAVE-FILE in der Ausgabesteuerungsdatei 118 und
setzt dann bei Schritt 613 den BEREIT-Flag auf 1 und tauscht
dann bei Schritt 614 die Werte von j und k miteinander
aus und springt dann zu Schritt 606 zurück.
-
Wenn
bei Schritt 611 der BEREIT-Flag nicht auf 0 ist, was bedeutet,
dass der Wellenpuffer k noch nicht vollständig ausgelesen wurde, überprüft der Generator
bei Schritt 615 den Lesezeitablauf und entscheidet dann
bei Schritt 616, ob der Auslesevorgang abgelaufen ist.
Wenn der Auslesevorgang noch nicht abgelaufen ist, stellt der Generator
bei Schritt 618 fest, ob der Wellenpuffer k vollständig ausgelesen
wurde, und, wenn der Generator eine negative Entscheidung fällt, springt
die Routine zu Schritt 611 zurück. Wenn der Wellenpuffer k
vollständig
ausgelesen wurde, setzt der Generator bei Schritt 619 den BEREIT-Flag
auf 0 und springt dann zu Schritt 611 zurück. Wenn
bei Schritt 616 der Auslesevorgang abgelaufen ist, beendet
der Generator das Spiel bei Schritt 617 und springt zu
Schritt 601 zurück.
-
Wenn
während
der in 5 gezeigten Verarbeitung des MIDI-Sequenzers 151 ein
Befehl gegeben wird, bei Schritt 508 das MIDI-Spiel zu
beenden, stoppt der Tongeneratorabschnitt 152 das Spiel
und springt zu Schritt 601 zurück.
-
7 zeigt
ein Beispiel für
verschiedene elektronische Geräte,
die eine Speicherkarte 701 verwenden, die mit einer MIDI-Spielfunktion
gemäß der vorliegenden
Ausführungsform
ausgerüstet
sind. Die mit der MIDI-Spielfunktion ausgerüstete Speicherkarte 701 kann über eine
Verbindung an einen PC 711, einen Notebook-Computer 712,
ein Mobiltelefon 713, ein Fernsehgerät 714 oder einen beliebigen
Typ eines Karten-Audioabspielgeräts 715 verbunden
sein. Allgemein umfasst das elektronische Gerät einen Prozessor, der die
in der Speicherkarte gespeicherten Daten verarbeiten kann, einen
Umwandler, der die von der Speicherkarte eingespeisten Wellenformdaten
zusammen mit der Verarbeitung der Daten in Musiktöne umwandelt,
und eine Eingabevorrichtung, wie zum Beispiel eine Tastatur, die Steuerungsdaten
in eine in der Speicherkarte gespeicherte Steuerdatei schreiben
kann, um die Wiedergabe der Musikspieldaten zu steuern.
-
Da
die Speicherkarte 701 gemäß der vorliegenden Ausführungsform
mit einem eingebauten MIDI-Sequenzer und Tongenerator ausgerüstet ist, brauchen
die anschließbaren
elektronischen Geräte 711–715 nicht
mit dem Tongenerator oder dem MIDI-Sequenzer (Software) ausgerüstet zu
sein, um die MIDI-Spielfunktion zu nutzen, solange sie unter Verwendung
einer gewöhnlichen
Audiodatei zur Wiedergabe von Musikklängen fähig sind (d.h. solange sie eine
Analog-Digital-Wandlung
am digitalen Tonsignal durchführen
können,
das von der Speicherkarte ausgegeben wird, um dann ein Audiosignal
auszugeben). Außerdem
kann die Speicherkarte 701 durch entsprechendes Schreiben
in die Steuerungsdatei angewiesen werden, das MIDI-Spiel wiederzugeben, vorlaufen
bzw. rücklaufen
zu lassen und zu stoppen, so dass kein spezieller Befehl erforderlich
ist.
-
Es
wird darauf hingewiesen, dass die vorliegende Ausführungsform
eine beliebige Form, Betriebsart und auch beliebige Spezifikation
der Speicherkarte einsetzen kann. Auch wenn das Speichermedium (der
Speicherkern) der Speicherkarte einen nicht flüchtigen Speicher, wie zum Beispiel
einen Flash-Speicher
verwendet, der zu Lese/Schreib(Lösch)-Funktionen
fähig ist,
um die Daten des zu spielenden Musikstücks zu speichern, kann der
entsprechende Speicherabschnitt auch aus einem ROM (Read Only Memory/Nurlesespeicher)
bestehen. Wenn die Benutzerdaten flüchtig sein dürfen, kann
auch ein RAM (Random Access Memory/Speicher mit wahlfreiem Zugriff)
verwendet werden. Außerdem
ist es zur Verwendung eines Flash-Speichers notwendig, dessen Lebensdauer
zu berücksichtigen.
Ein hinsichtlich der Lebensdauer nicht eingeschränkter RAM kann als Speicher
zum Speicher von Dateien, wie zum Beispiel des Wellenpuffers oder
der Steuerdatei verwendet werden, auf die zum Lesen und Schreiben
häufig
zugegriffen wird.
-
Die
vorliegende Ausführungsform
schreibt einen Dateinamen (WAVEBUF0 oder WAVEBUF1) des Wellenpuffers
in die WAVEFILE der Ausgabesteuerungsdatei 118 wechselweise,
um es der Geräteseite
zu erschweren, den auf diese Weise geschriebenen Puffer auszulesen.
Wenn das Dateisystem eine FAT-Verwaltung einsetzt, kann der Dateiname
in einem Verzeichnisbereich (3A) zum
Definieren der Dateien WAVEBUF0 und WAVEBUF1 auf der Seite des Tongeneratorabschnitts
ausgetauscht werden. Alternativ hierzu kann die Verzeichnisinformation
von 3, d.h. die obersten Clusterinformationsstücke der
beiden Puffer, miteinander vertauscht werden (in 3A wird "2" mit "5" vertauscht),
um hierdurch den zu verwendenden Puffer auszutauschen. Eine andere
Ausführungsform
kann ferner die Information der Erweiterungen austauschen, die zum
Unterscheiden zwischen den beiden Wellenpuffern verwendet wird (3B).
Außerdem
kann die Geräteseite
immer Dateien mit demselben Namen auslesen, so dass die Speicherkartenseite
Puffer austauschen kann, auf die durch diesen Dateinamen zugegriffen
werden soll, indem, wie oben erwähnt,
das Verzeichnis neu geladen wird.
-
Es
wird darauf hingewiesen, dass sich bei der vorliegenden Beschreibung
zwar MIDI-Daten auf die Musikspieldaten beziehen und daher Spieldaten bedeuten,
die in einem auf dem MIDI-Standard (Musical Instrument Digital Interface)
beruhen, der durch eine Organisation wie AMEI (Association of Musical Electronics
Industry), die eine japanische Gesellschaft ist, reguliert und verwaltet
wird, doch brauchen sich die Musikspieldaten in der Ausführungsform
der vorliegenden Erfindung nicht immer auf ein Format zu beziehen,
das mit dem MIDI-Standard konform ist. Es muss lediglich in einem
derartigen Format sein, das vom Sequenzer verarbeitet werden kann.
In der vorliegenden Beschreibung sind Musikspieldaten aus Gründen der
einfacheren Darstellung als MIDI-Daten ausgedrückt.
-
Außerdem verwendet
die vorliegende Ausführungsform
als ein Beispiel eine Betriebsart mit einem doppelten Puffer beim
Puffern der Musiktonwellenformdaten, so dass die Dateinamen WAVEBUF0 und
WAVEBUF1 alternierend aktualisiert und ausgegeben werden. Die vorliegende
Erfindung ist jedoch auf diese Ausführungsform nicht eingeschränkt. Zum Beispiel
werden zwei (oder mehr) Pufterungsdateibereiche reserviert, um hierbei
Dateinamen, wie zum Beispiel WAVEBUF0, WAVEBUF1, WAVEBUF2, WAVEBUF3,
... jedes Mal dann zu verwenden, wenn die Daten aktualisiert werden,
so dass die Puffer hinsichtlich ihres zeitseriellen gegenseitigen
Verhältnisses
erkannt werden können,
wodurch es der extern anschließbaren
Geräteseite
ermöglicht
wird, die in Ausleseoperationen der Musikwellenformdaten auszulesenden
Dateien auf der Grundlage dieser Dateinamen zu erkennen.
-
Außerdem setzt
die vorliegende Ausführungsform
zwar den BEREIT-Flag, wenn Musikwellenformdaten oder eine WAVE-Datei
vorhanden sind, um zur Seite des externen Gerätes hin ausgelesen zu werden,
wenn Musikwellenformdaten in den Dateibereich (während der Erzeugung der Musikwellenformdaten)
geschrieben werden, doch kann der dem Bereich entsprechende Dateiname
geändert
oder virtuell gelöscht
werden, um einen Zustand zu schaffen, gemäß dem scheinbar keine Datei
von der externen Geräteseite
aus zu lesen ist, so dass nach Abschluss des Einschreibens der ursprüngliche
Dateiname gesetzt werden kann. Durch dieses Verfahren ist es unnötig, den
BEREIT-Flag vorzusehen, weil nur Musikwellenformdaten ausgelesen
zu werden brauchen, auch wenn das Einrichten einer Datei oder eines
Dateinamens erfasst wird.
-
Außerdem können auch
Spieloperationen, wie zum Beispiel der Start (Play) oder Stopp (Stop) des
Musikspiels durch die Verwendung der Steuerdatei gesteuert werden,
indem ein zusätzlicher
an die Speicherkarte zu liefernder Befehl eingegeben wird.
-
Die
in den Wellenpuffer geschriebenen Musikwellenformdaten können in
einem nicht komprimierten linearen Format oder in einem beliebigen
aus verschiedenen Datenkomprimierungsformaten, wie zum Beispiel
DPCM, ADPCM oder MPEG sein. Ferner kann zusätzlich zur Verschlüsselung
von Daten eine derartige Funktion vorgegeben sein, die eine Nutzung
(Wiedergabe, Kopie) außer
durch ein autorisiertes externes Gerät sperrt.
-
Die
Datensteuerung, der MIDI-Sequenzer und der Tongenerator können in
ihren entsprechenden LSI-Chipkonfigurationen unabhängig voneinander
sein oder auch in einen Mikroprozessor integriert sein. Wahrscheinlich
ist es auch möglich,
sie in einen einen Speicher enthaltenden Chip zu integrieren, indem
die heutzutage immer weiter fortschreitenden Verfahren integrierter
Schaltungen eingesetzt werden.
-
Der
Tongeneratorabschnitt kann eine beliebige Betriebsart haben. Er
kann eine FM-, Abtastungswellenformspeicher-(PCM-) oder eine physikalische Modellbetriebsart
sein, die gemäß den Spezifikationen
ausgewählt
werden kann.
-
Der
Tongeneratorabschnitt kann aus einem Mikroprozessor oder einem DSP
(Digital Signal Processor) sein, so dass ein betreffendes Tongeneratorverarbeitungsprogramm
von einem externen Gerät an
den Speicherblock geliefert und dann im System ausgeführt werden
kann. Der MIDI-Sequenzer
kann ebenfalls die gleiche Systemkonfiguration haben.
-
Ferner
kann die erfindungsgemäße Speichervorrichtung
neben der Form einer Karte ein beliebiges äußeres Erscheinungsbild haben,
wie zum Beispiel eine Box (Packung), eine Stange oder eine Scheibe
sein.
-
Wie
oben beschrieben, hat die vorliegende Erfindung den Effekt, eine
Tongenerator- und eine Sequenzfunktion in einem Speichermodul, wie
zum Beispiel einer Speicherkarte zu integrieren, um hierdurch auf
einfache Weise ein MIDI-Spiel lediglich durch Einführen dieser
Speichervorrichtung zu ermöglichen.
Außerdem
kann zum Beispiel eine MIDI-Steueroperation an dieser Speichervorrichtung durchgeführt werden,
indem ein Befehl in eine Steuerdatei geschrieben wird, die einen
vorbestimmten Dateinamen hat, so dass es unnötig ist, dem Standard der verschiedenen
Speichergeräte
einen Spezialbefehl hinzuzufügen
oder auch den Standard oder die Betriebsart zu ändern.