JP3219150B2 - Performance information compression method - Google Patents

Performance information compression method

Info

Publication number
JP3219150B2
JP3219150B2 JP2000127578A JP2000127578A JP3219150B2 JP 3219150 B2 JP3219150 B2 JP 3219150B2 JP 2000127578 A JP2000127578 A JP 2000127578A JP 2000127578 A JP2000127578 A JP 2000127578A JP 3219150 B2 JP3219150 B2 JP 3219150B2
Authority
JP
Japan
Prior art keywords
file
pointer
variable
part number
tag
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2000127578A
Other languages
Japanese (ja)
Other versions
JP2000338973A (en
Inventor
俊夫 黒岩
和生 飛河
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.)
Victor Company of Japan Ltd
Original Assignee
Victor Company of Japan Ltd
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
Application filed by Victor Company of Japan Ltd filed Critical Victor Company of Japan Ltd
Priority to JP2000127578A priority Critical patent/JP3219150B2/en
Publication of JP2000338973A publication Critical patent/JP2000338973A/en
Application granted granted Critical
Publication of JP3219150B2 publication Critical patent/JP3219150B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Reverberation, Karaoke And Other Acoustics (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は演奏情報の圧縮に関し、
特に楽音を構成する音の音程と発音時間を指定する演奏
情報のデータ量を少なくするための圧縮方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to compression of performance information.
In particular, the present invention relates to a compression method for reducing the data amount of performance information for designating a pitch and a sounding time of a sound constituting a musical tone.

【0002】[0002]

【従来の技術】楽音を構成する音の音程と発音時間を指
定する演奏情報として例えばMIDI信号がある。MI
DI信号はSMF(スタンダードMIDIファイル)と
いう形式でメモリ等に蓄積されたり、伝送されたりす
る。かかるMIDI信号は従来の光ディスク等の記憶媒
体に記録されたデータを読み出す方式のカラオケ装置に
代って通信カラオケといわれているシステムに用いられ
ている。
2. Description of the Related Art There is, for example, a MIDI signal as performance information for designating a pitch and a sounding time of a sound constituting a musical tone. MI
The DI signal is stored in a memory or the like or transmitted in the form of an SMF (Standard MIDI File). Such a MIDI signal is used in a system called a communication karaoke instead of a conventional karaoke apparatus of a system for reading data recorded on a storage medium such as an optical disk.

【0003】この通信カラオケはカラオケの音楽、歌
詞、関連する画像(動画又は静止画)等を光ディスク等
から出力された信号の情報の形態でそのまま送信する
と、データ量が膨大であることから、楽音情報について
はMIDI信号としてステーションから各ユーザーの使
用場所に設けた端末へ送信し、歌詞については文字コー
ドとして送信するもので、必要に応じて所望の曲のデー
タを配信するものである。かかる例として株式会社エク
シング製の「JOYSOUND」システムが知られてい
る。なお、音符、信号よりなるメロディの楽譜データに
ついて繰り返し部分を効率よく処理する技術が特公昭6
1−91697号公報に示されているが、これはMID
I信号を前提とするものではなく、繰り返し等の記号を
用いた楽譜が存在することを前提としたものであり、S
MFで表現されるような既にある演奏情報を圧縮する技
術ではない。さらに特開平4−147192号公報には
楽譜の繰り返し部分をパターン化する技術が示されてい
るが、十分なデータの圧縮は期待できない。
In this communication karaoke, if karaoke music, lyrics, related images (moving images or still images), etc. are transmitted as they are in the form of signal information output from an optical disk or the like, the amount of data is enormous. The information is transmitted as a MIDI signal from the station to a terminal provided at the place of use of each user, and the lyrics are transmitted as character codes, and data of desired music is distributed as needed. As such an example, a “JOYSOUND” system manufactured by Exing Co., Ltd. is known. A technique for efficiently processing the repetition portion of the melody score data composed of notes and signals is disclosed in
No. 1-91697, which is referred to as MID
It is not based on the I signal, but on the assumption that there is a score using symbols such as repetition.
It is not a technique for compressing existing performance information represented by MF. Further, Japanese Patent Application Laid-Open No. 4-147192 discloses a technique for patterning a repetition portion of a musical score. However, sufficient data compression cannot be expected.

【0004】上記従来の通信カラオケシステムをはじ
め、これまでに提案されたシステムは次の表1のように
分類される。
[0004] The systems proposed so far, including the above-mentioned conventional communication karaoke system, are classified as shown in Table 1 below.

【0005】[0005]

【表1】 [Table 1]

【0006】[0006]

【発明が解決しようとする課題】表1からわかるよう
に、MIDI信号を用いた場合、CD、LD等から再生
された音の品質とは同一ではないが、品質を向上させよ
うとすればデータ量が増大することがわかる。データ量
が多いと、ISDNのような高速デジタル回線を用いな
ければリアルタイム通信が不可能となり、またデータの
蓄積、保存の上でも必要メモリー容量が大きくなりコス
トの上昇につながってしまう。かかる問題は、通信カラ
オケシステムが一般家庭へ普及していくための障害とな
っている。また、通信上の問題とは別に、ハードディス
ク等の大容量メモリに多数の曲の演奏情報を蓄積してお
く、所謂パッケージカラオケシステムにおいても、デー
タ量の圧縮が求められている。
As can be seen from Table 1, when a MIDI signal is used, the quality of the sound reproduced from a CD, an LD or the like is not the same, but if the quality is to be improved, the data is not good. It can be seen that the amount increases. If the amount of data is large, real-time communication becomes impossible unless a high-speed digital line such as ISDN is used, and the required memory capacity is large even for data storage and storage, leading to an increase in cost. Such a problem is an obstacle to the spread of the communication karaoke system to ordinary households. In addition to communication problems, a so-called package karaoke system, in which performance information of a large number of music pieces is stored in a large-capacity memory such as a hard disk, is required to reduce the data amount.

【0007】音楽は繰り返しの芸術であると言われるよ
うに、演奏が一定のパターンで繰り返されることが多
い。ところがMIDI信号のような演奏情報では時間軸
上に発生する次々のイベントの順列をそのままの形で扱
っているので、一般的なデジタル信号の圧縮技術による
データ量の圧縮を行うにとどまっていた。このため演奏
情報を配信する通信カラオケやメモリに多数曲のデータ
を蓄積したパッケージ形式のカラオケシステム等では、
データ量の圧縮・削減によるコスト低減、通信時間の短
縮等が求められている。
As music is said to be a repetitive art, performance is often repeated in a fixed pattern. However, in the performance information such as the MIDI signal, the permutation of successive events occurring on the time axis is handled as it is, so that the data amount is compressed only by a general digital signal compression technique. For this reason, in a communication karaoke system that distributes performance information or a karaoke system in a package format in which data of many songs are stored in a memory, etc.
There is a need for cost reduction and reduction in communication time by compressing and reducing the amount of data.

【0008】したがって、本発明は楽音を構成する音の
音程と発音時間が一定の時間単位で繰り返され、重複部
分があることに着目し、かかる繰り返し部分を検出し、
これを削除するとともに、再生時に圧縮情報を正しく再
現できるよう、削除された繰り返し部分の位置などを示
す信号を挿入するようにしたものである。
Therefore, the present invention focuses on the fact that the pitch and the sounding time of the sound constituting the musical tone are repeated in a fixed time unit and there is an overlapping portion, and the repetitive portion is detected.
In addition to deleting the signal, a signal indicating the position of the deleted repetition portion is inserted so that the compressed information can be correctly reproduced at the time of reproduction.

【0009】[0009]

【課題を解決するための手段】上記目的を達成するため
に本発明では、演奏情報が一定の時間単位で繰り返さ
れ、重複部分があることに着目し、かかる繰り返し部分
を検出し、これを削除するとともに、再生時に圧縮情報
を正しく再現できるよう、削除された繰り返し部分の位
置等を示す信号を挿入するようにし、再生時には、この
信号を用いて圧縮された演奏情報を伸張して、元の演奏
情報を得るようにしたものである。
SUMMARY OF THE INVENTION In order to achieve the above object, the present invention focuses on the fact that performance information is repeated in a fixed time unit and there is an overlap, detects such a repeat, and deletes it. At the same time, a signal indicating the position or the like of the deleted repeated portion is inserted so that the compressed information can be correctly reproduced at the time of reproduction. At the time of reproduction, the compressed performance information is decompressed using this signal, and the original information is expanded. This is to obtain performance information.

【0010】すなわち本発明によれば、楽音を構成する
音の音程と発音時間を指定する演奏情報が複数のパート
に分割されてなるパート列の先頭パートからパート単位
で順次データの比較を行い、前記パート列において実質
的に同一のデータのパートに同一のパート番号を付与し
たファイルAを作成する第1のステップと、前記ファイ
ルAにおいて、先頭からパート番号を調べ、重複する番
号が出現したときは、その重複するパート及びそのパー
トに付与されたパート番号を削除して新たなファイルB
を作成する第2のステップと、前記ファイルAと前記フ
ァイルBとを先頭パートからパート単位でパート番号の
比較を行い、互いに相違するパート番号が出現したとき
には、前記ファイルB中の相違するパート番号の直前に
パートを移動することを示す第1のジャンプマークを挿
入し、かつ前記ファイルA中の相違するパート番号と同
一の前記ファイルB中のパート番号の直前に前記第1の
ジャンプマークからの移動先である第1のタグを挿入す
る第3のステップと、前記ファイルA中の前記相違する
パート番号以降のパートと前記ファイルBの前記第1の
タグの挿入された以降のパートとを引き続きパート単位
でパート番号の比較を行い、互いに相違するパート番号
が出現したときには、前記ファイルB中の相違するパー
ト番号の直前にパートを移動することを示す第2のジャ
ンプマークを挿入し、かつ前記ファイルA中の相違する
パート番号と同一の前記ファイルB中のパート番号の直
前に前記第2のジャンプマークの移動先である第2のタ
グを挿入する第4のステップとを有する演奏情報圧縮方
法を提供する。
That is, according to the present invention, the performance information for designating the pitch of the sound constituting the musical tone and the sounding time is sequentially compared in the unit of a part from the head part of the part string divided into a plurality of parts. A first step of creating a file A in which the same part number is assigned to a part of substantially the same data in the part column, and when a part number is checked from the beginning of the file A and a duplicate number appears Deletes the duplicate part and the part number assigned to the part, and deletes the new file B
And comparing part numbers of the file A and the file B from the head part in part units. When a part number different from each other appears, a different part number in the file B is used. , A first jump mark indicating that a part is to be moved is inserted, and a part number in the file B that is identical to a different part number in the file A is immediately before the first jump mark. The third step of inserting the first tag as the movement destination, the part after the different part number in the file A and the part of the file B after the first tag is inserted are continuously performed. The part numbers are compared on a part-by-part basis, and when a part number different from each other appears, the part A second jump mark indicating that the second jump mark is to be moved is inserted, and the destination of the second jump mark is immediately before the same part number in the file B as a different part number in the file A. And a fourth step of inserting a second tag.

【0011】また、楽音を構成する音の音程と発音時間
を指定する演奏情報が複数のパートに分割されてなるパ
ート列の先頭パートからパート単位で順次データの比較
を行い、実質的に同一のデータのパートに同一のパート
番号を付与してファイルAを作成する第1のステップ
と、当初内容のないファイルCを作成する第2のステッ
プと、前記ファイルC内での位置を示すファイルCのポ
インタを前記ファイルCの末尾に設定する第3のステッ
プと、当初内容のないパートリストを作成する第4のス
テップと、変数iに前記ファイルAの最初のパート番号
を設定する第5のステップと、前記変数iが前記パート
リストにあるか否かを判断するパート番号確認ステップ
と、前記パート番号確認ステップにて前記変数iで示さ
れるパート番号が存在しないときには、前記ポインタが
前記ファイルCの末尾にあるか否かを判断するポインタ
位置第1判断ステップと、前記ポインタ位置第1判断ス
テップにて前記ポインタが前記ファイルCの末尾以外に
あると判断されたときには、前記ポインタが現在ある位
置にジャンプマークJUMP(n)を挿入し、前記ポイ
ンタを前記ファイルCの末尾へ移動させ、その後前記ポ
インタの位置に前記ジャンプマークJUMP(n)の移
動先であるタグTAG(n)を挿入し、前記変数nを1
つインクリメントする第6のステップと、前記ポインタ
位置第1判断ステップにて前記ポインタが前記ファイル
Cの末尾にあると判断されたときには、前記ファイルC
に前記ファイルAの前記変数iで示されるパートの演奏
情報を付加し、前記パートリストに前記変数iを付加
し、前記ポインタを前記ファイルCの末尾に移動させる
第7のステップと、前記パート番号確認ステップにて前
記変数iで示されるパート番号があると判断されたとき
には、前記ポインタが前記ファイルCの変数iで示され
るパートの先頭にあるか否かを判断するポインタ位置第
2判断ステップと、前記ポインタ位置第2判断ステップ
にて前記ポインタが前記ファイルCの変数iで示される
パートの先頭以外にあると判断されたときには、前記ポ
インタが現在存在する位置にジャンプマークJUMP
(n)を挿入し、前記ポインタを前記ファイルCの変数
iで示されるパートの先頭位置へ移動させ、その後前記
ポインタの位置にタグTAG(n)を挿入し、前記変数
nを1つインクリメントする第8のステップと、前記ポ
インタ位置第2判断ステップにて前記ポインタが前記フ
ァイルCの変数iで示されるパートの先頭にあると判断
されたときには、前記ポインタを次のパートの先頭位置
へ移動させる第9のステップと、前記第7のステップ及
び前記第9のステップの後に、前記ファイルAの中の次
のパートを検索し、存在する場合は前記変数iに前記フ
ァイルAの次のパート番号を設定する次パート番号設定
ステップとを有し、以後前記ファイルAの次のパートが
存在しなくなるまで、前記パート番号確認ステップから
前記次パート番号設定ステップまでを繰り返し実行する
ようにしたことを特徴とする演奏情報圧縮方法を提供す
る。
[0011] Also, data is sequentially compared in units of parts from the first part of a part sequence in which performance information for designating a pitch and a sounding time of a sound constituting a musical tone is divided into a plurality of parts, and substantially the same data is obtained. A first step of creating a file A by assigning the same part number to a data part, a second step of creating a file C having no initial contents, and a file C indicating a position in the file C. A third step of setting a pointer at the end of the file C, a fourth step of creating a part list having no initial contents, and a fifth step of setting a first part number of the file A to a variable i. A part number confirmation step of determining whether or not the variable i is in the part list; and a part number indicated by the variable i in the part number confirmation step. If not, the pointer position first determination step for determining whether the pointer is at the end of the file C, and the pointer position first determination step determines that the pointer is not at the end of the file C. Then, the jump mark JUMP (n) is inserted at the current position of the pointer, the pointer is moved to the end of the file C, and then the jump mark JUMP (n) is moved to the position of the pointer. Insert a tag TAG (n) and set the variable n to 1
When the pointer is determined to be at the end of the file C in the sixth step of incrementing by one and the pointer position first determining step, the file C
A seventh step of adding performance information of a part indicated by the variable i of the file A to the file A, adding the variable i to the part list, and moving the pointer to the end of the file C; A pointer position second determining step of determining whether the pointer is at the head of the part of the file C indicated by the variable i when it is determined in the confirmation step that the part number indicated by the variable i is present; If it is determined in the pointer position second determination step that the pointer is not at the beginning of the part indicated by the variable i of the file C, the jump mark JUMP is set to the position where the pointer is currently located.
(N) is inserted, the pointer is moved to the head position of the part indicated by the variable i of the file C, and then a tag TAG (n) is inserted at the position of the pointer, and the variable n is incremented by one. In the eighth step and the pointer position second determining step, when it is determined that the pointer is at the head of the part indicated by the variable i of the file C, the pointer is moved to the head position of the next part. After the ninth step, the seventh step and the ninth step, the next part in the file A is searched, and if it exists, the next part number of the file A is stored in the variable i. A next part number setting step of setting the part number from the part number confirmation step until the next part of the file A no longer exists. Providing performance information compression method which is characterized in that so as to repeatedly execute until constant step.

【0012】[0012]

【0013】[0013]

【0014】[0014]

【発明の実施の形態】以下図面と共に本発明の好ましい
実施例について説明する。図1は本発明の演奏情報圧縮
方法の第1実施例を示すフローチャートである。図1の
フローチャートについて説明する前に、本発明の適用さ
れる例として通信カラオケシステムについて図2、図3
を用いて説明する。図2は本発明の演奏情報圧縮方法に
より、カラオケ情報としてのMIDI情報を圧縮してス
テーション(ホスト)から各端末へ送信する通信カラオ
ケシステムの一例を示す模式ブロック図である。図3は
ステーションが圧縮しないデータと、本発明の演奏情報
圧縮方法により事前に圧縮してあるデータの双方を送信
/蓄積ファイルA、Bの2種類用意しておき、端末や回
線の能力に応じて2つのファイルを使い分ける構成例を
示す模式ブロック図である。どちらのファイルから読み
出して送信するかの判断は、通信回線(ネットワーク)
がISDN等の高速回線か一般公衆回線かを判断した
り、端末側の伸張能力を検出することにより行う。な
お、図2、図3いずれのシステムにおいても、端末側の
ハードディスク等のメモリにパッケージとして予め数千
曲分のカラオケ情報を本発明の演奏情報圧縮方法により
圧縮したMIDI情報として蓄積しておくことができ
る。この場合、新譜やリクエスト頻度の低い曲で端末の
メモリに蓄積されていない曲の情報を通信回線を用いて
ステーションから端末へ送信することができる。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Preferred embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a flowchart showing a first embodiment of a performance information compression method according to the present invention. Before describing the flowchart of FIG. 1, a communication karaoke system as an example to which the present invention is applied will be described with reference to FIGS.
This will be described with reference to FIG. FIG. 2 is a schematic block diagram showing an example of a communication karaoke system in which MIDI information as karaoke information is compressed by a performance information compression method of the present invention and transmitted from a station (host) to each terminal. FIG. 3 shows two types of transmission / storage files A and B in which both data not compressed by the station and data compressed in advance by the performance information compression method of the present invention are prepared according to the capabilities of the terminal and the line. FIG. 6 is a schematic block diagram showing a configuration example in which two files are used properly. The communication line (network) determines which file is read and transmitted.
Is determined by determining whether the line is a high-speed line such as ISDN or a general public line, or by detecting the extension capability of the terminal. In each of the systems shown in FIGS. 2 and 3, karaoke information for several thousand songs is stored in advance in a memory such as a hard disk on the terminal side as MIDI information compressed by the performance information compression method of the present invention. Can be. In this case, information on a new music or a music with a low request frequency that is not stored in the memory of the terminal can be transmitted from the station to the terminal using the communication line.

【0015】図4は1つの曲の演奏情報を記述したSM
Fを圧縮して圧縮ファイルを作成する手順の全体概念を
示すブロック図である。多数曲分のSMFは例えばハー
ドディスク等のメモリに記憶されており、この内、図示
しない制御系により指定された1曲分のSMF1がMI
DI CH (チャンネル)分離ブロック2にてチャン
ネル毎に分離される。すなわち演奏すべき楽器(音源)
に対応するチャンネル毎に以下の処理は行われる。ブロ
ック3は(△t+event)ブロックリピートを検出
するものである。すなわち、後述する演奏情報のパター
ンに繰り返し(リピート)があるとき、これを検出する
ものである。次のブロック4はR(リピート)符号化処
理を行うもので、ブロック3で検出された重複部分につ
いて重複しないよう削除して、かつ必要な信号を付加す
る処理が行われる。次のマージ処理ブロック5は多チャ
ンネル分のR符号化処理の行われた信号を元のSMF形
式のように合体するものであり、その結果△t(デルタ
タイム)が一本化されて、圧縮ファイル6が作られる。
FIG. 4 shows an SM describing performance information of one piece of music.
FIG. 4 is a block diagram showing the general concept of a procedure for creating a compressed file by compressing F. The SMFs for a large number of music pieces are stored in a memory such as a hard disk, and among them, the SMF 1 for one music piece specified by a control system (not shown)
The signal is separated for each channel in a DI CH (channel) separation block 2. In other words, the instrument to be played (sound source)
The following processing is performed for each channel corresponding to. Block 3 detects (@ t + event) block repeat. That is, when there is a repetition (repeat) in a performance information pattern described later, this is detected. The next block 4 performs an R (repeat) encoding process, in which a process of deleting a duplicated portion detected in the block 3 so as not to be duplicated and adding a necessary signal is performed. The next merge processing block 5 combines the signals on which multi-channel R encoding processing has been performed as in the original SMF format. As a result, Δt (delta time) is unified and compressed. File 6 is created.

【0016】図5はSMFによる記述から繰り返し部分
を検出し、重複部分を削除して、圧縮した結果得られる
圧縮ファイルを作成する場合のデータ列の変化態様を示
す図である。図5中"EVENT"はMIDI信号の"イ
ベント"を示し、"T"は"△t"と同様の時間情報を、"
R"は"リピート(繰り返し)"を示している。図6は図
5に示した情報"T"又は"R"のフォーマットを示してい
る。このデータは図示のように8ビット構成であり、各
ビットは図示の内容を示す。図7は1つの例として、繰
り返し部分のある楽譜を示している。この例では第2小
節と第3小節が同一のパターンとなっている。
FIG. 5 is a diagram showing the manner of change of the data sequence when a repeated file is detected from the description in the SMF, the duplicated portion is deleted, and a compressed file obtained as a result of compression is created. In FIG. 5, "EVENT" indicates the "event" of the MIDI signal, "T" indicates time information similar to "@t",
Fig. 6 shows the format of the information "T" or "R" shown in Fig. 5. This data has an 8-bit configuration as shown in the figure. 7 shows, as an example, a musical score having a repeated portion, in which the second bar and the third bar have the same pattern.

【0017】ここで図1のフローチャートに戻って本発
明の演奏情報圧縮方法の第1実施例について説明する。
このフローは図4で示したブロック3とブロック4に相
当する。ステップS1にてチャンネル単位で先頭から△
tで表記し、ステップS2で△t(e)の累計であるΣ
△t(e)と個々のイベントを示す変数eをそれぞれ0
にイニシャライズする。ステップS3では△t(e)を
読み込み、ステップS4では△t(e)だけインクリメ
ントし、ステップS5ではΣ△t(e)が1920を超
えたか否かを判断する。この数値1920は4分音符1
個あたりのティクス(Ticks)数を480とし、1
小節が4分音符4個分の長さ(すなわち拍子記号が4/
4)とした場合の1小節の長さに相当する。なおTic
kはSMFにおける最小時間単位である。このステップ
S5は演奏情報であるSMFを所定時間単位のパート
(この例では1小節)毎に分割するものである。ステッ
プS5で1小節が経過するまでの間にステップS6を繰
り返し実行し、イベントマップ(EVENT MAP)
iを作成する。イベントマップiはパート毎のイベント
の集合である。ステップS7ではeを1つインクリメン
トする。1小節が終了するとステップS8で△tの累計
から1920を減じ、次のステップS9で前の小節(i
−1)のイベントマップ(i−1)と、現在の小節iの
イベントマップiの内容が一致するか否かを判断する。
一致しないときはステップS11でiを1つインクリメ
ントする、一致するときはステップS10で重複データ
の後ろの方を削除し、リピートイベント(Repeat
Event)を作成する。リピートイベントは図5に
示す"R"に相当し、図6のデータフォーマットを有す
る。図6で(ID1,ID0)=(0,0)及び(ID
1,ID0)=(0,1)の場合がT、(ID1,ID
0)=(1,0)及び(ID1,ID0)=(1,1)
の場合がRである。単純リピート及び区間指定リピート
はチャンネル単位で行い、チャンネルはリピートバイト
の直前のイベントに基づいて決定される。図6の−△t
sはマイナス△t−start、−△teはマイナス△
t−endの意味であり、−△ts及び−△teはマイ
ナスを取って絶対値で表現している。なお、ステップS
10では、リピート検出回数を計数し、図6中のリピー
トイベント中のリピート回数として記述する。ステップ
S10の後はステップS11が実行される。ステップS
11の後にはステップS12にてeを0としてステップ
S6へ行く。なお、ステップS13では全データについ
てイベントマップが作成されたか否かを判断し、YES
ならこのフローを終了する。
Returning to the flowchart of FIG. 1, a first embodiment of the performance information compression method of the present invention will be described.
This flow corresponds to blocks 3 and 4 shown in FIG. In step S1, △
t, and at step S2, {t (e) is the sum total}.
Δt (e) and the variable e indicating each event are set to 0
Initialize to At step S3, Δt (e) is read, at step S4, Δt (e) is incremented, and at step S5, it is determined whether Δt (e) has exceeded 1920. This number 1920 is the quarter note 1
The number of ticks (Ticks) per piece is 480, and 1
Measures are four quarter notes long (ie, the time signature is 4 /
This corresponds to the length of one measure in the case of 4). Tic
k is the minimum time unit in SMF. This step S5 divides the SMF, which is performance information, into parts (one bar in this example) in predetermined time units. Step S6 is repeatedly executed until one bar elapses in step S5, and an event map (EVENT MAP)
Create i. The event map i is a set of events for each part. In step S7, e is incremented by one. When one measure ends, 1920 is subtracted from the total of Δt in step S8, and the next measure (i
It is determined whether or not the content of the event map (i-1) of the current bar i matches the content of the event map i of the current bar i.
If they do not match, i is incremented by one in step S11. If they match, the last part of the duplicate data is deleted in step S10, and a repeat event (Repeat
Event). The repeat event corresponds to "R" shown in FIG. 5, and has the data format of FIG. In FIG. 6, (ID1, ID0) = (0, 0) and (ID1, ID0)
(1, ID0) = (0, 1) when T, (ID1, ID
0) = (1,0) and (ID1, ID0) = (1,1)
Is R. The simple repeat and the section designation repeat are performed on a channel basis, and the channel is determined based on an event immediately before the repeat byte. -Δt in FIG.
s is minus △ t-start,-△ te is minus △
This is the meaning of t-end, and-△ ts and-マ イ ナ ス te are represented by absolute values while taking minus. Step S
In step 10, the number of repeat detections is counted and described as the number of repeats during the repeat event in FIG. After step S10, step S11 is executed. Step S
After step 11, e is set to 0 in step S12, and the process proceeds to step S6. In step S13, it is determined whether or not an event map has been created for all data.
If so, the flow ends.

【0018】図1のフローによって図7の譜例に示され
る曲の演奏情報を処理すると、イベントマップ同志の比
較から、同一の音程、同一の発音時間を示すパートの繰
り返しとして、第2小節と第3小節が検出される。図1
の実施例では演奏情報の時間軸方向の変化のパターンが
2パート以上連続したとき、すなわちイベントマップの
内容が完全に一致したとき、繰り返しがあると判断して
いるが、他の例として、部分的な一致を検出したとき
も、繰り返しとみなし、異なる部分はそのまま記述する
ようにすることもできる。
When the performance information of the music piece shown in the staff example of FIG. 7 is processed according to the flow of FIG. 1, a comparison of the event maps indicates that the repeat of the part having the same pitch and the same sounding time is repeated in the second bar. The third bar is detected. FIG.
In the embodiment of the present invention, when the change pattern of the performance information in the time axis direction continues for two or more parts, that is, when the contents of the event map completely match, it is determined that there is a repetition. Even when a natural match is detected, it is regarded as repetition, and different parts can be described as they are.

【0019】さらに、パート同志の一致の有無の検出精
度を粗くし、すなわち音程と発音時間の照合において所
定の誤差許容範囲を設けるようにしてもよい。このよう
にすることにより、わずかなノイズや演奏ミスにより、
本来繰り返し部分であるのに、非同一パターンと認識さ
れてしまうことを防止でき、結果として繰り返しと認識
されるパート数を増加させることができ、圧縮効率を高
めることができる。さらに、演奏上の時間軸のゆらぎ、
あるいは演奏の強さのゆらぎなどの許容範囲を演奏再現
時(再生時)にあまり影響を与えない程度に広げること
により、圧縮効率を高めることもできる。また、パート
同志の比較の他に、同一パート内で所定の音程が繰り返
し出現するような場合、例えばドラムなどの打楽器の演
奏情報の場合、これを検出して重複しないよう削除し、
図1で示した処理と同様の処理にて音程単位で記述する
こともできる。本発明では所定時間単位のパート毎の検
出が行われるが、この1パートは必ずしも1小節と同一
である必要はなく、その数分の1としたり、数倍とする
こともできる。さらに、パートの時間を2種類以上設
け、例えば1小節単位の検出を行いつつ、その2分の1
の時間単位でも繰り返しの検出を行うようにすることも
できる。
Further, the accuracy of detecting the presence / absence of matching between parts may be made coarse, that is, a predetermined error tolerance may be provided in the comparison between the pitch and the sounding time. By doing so, slight noise or misplay may cause
Although it is originally a repeated portion, it can be prevented from being recognized as a non-identical pattern. As a result, the number of parts recognized as repeated can be increased, and the compression efficiency can be increased. Furthermore, the fluctuation of the time axis during the performance,
Alternatively, the compression efficiency can be increased by widening an allowable range such as fluctuations in performance intensity so as not to affect the performance reproduction (at the time of reproduction). In addition to the comparison between parts, when a predetermined pitch repeatedly appears in the same part, for example, in the case of performance information of a percussion instrument such as a drum, this is detected and deleted so as not to be duplicated,
The same processing as the processing shown in FIG. 1 can also be described for each pitch. In the present invention, the detection is performed for each part in a predetermined time unit. However, this one part does not necessarily have to be the same as one bar, and may be a fraction or a multiple thereof. Furthermore, two or more types of part time are provided, and for example, while detecting one bar unit, one-half
It is also possible to detect repetition even in the unit of time.

【0020】図1に示した第1実施例は、連続するパー
トの内容が一致している場合に繰り返しであると判断し
ているが、いくつかの小節にわたったメロディーが繰り
返される場合も多い。このような場合にも圧縮可能な手
法について第2実施例と第3実施例で説明する。 図2
3は圧縮前のSMFで8つのパートからなるものを模式
的に示した図である。図23において、第2番目乃至第
4番目のパートと第5番目乃至第7番目のパートが重複
している。したがって冗長性を除くために、考えられる
1つの手法として、重複する3つのパートを削除すると
図24に示すように5つのパートのみとなる。この場
合、「先頭から(t1+t2+t3+t4)の時間だけ
再生したら、先頭からt1経過時点までジャンプする」
という内容を記述しておくことになる。すなわち各パー
トの△tの総和をそれぞれ計算しておき、再生開始時点
からの経過時間によって再生位置を再設定するような記
述を設けている。しかし、この方法によると、パートの
再編集の必要性が生じた場合、記述部を同様に編集しな
くてはならない。また記述が複雑であるほど時間の再計
算も複雑化してしまう。
In the first embodiment shown in FIG. 1, it is determined that the repetition is performed when the contents of the continuous parts match, but the melody over several measures is often repeated. . A method that can be compressed even in such a case will be described in a second embodiment and a third embodiment. FIG.
FIG. 3 is a diagram schematically showing an SMF before compression consisting of eight parts. In FIG. 23, the second to fourth parts and the fifth to seventh parts overlap. Therefore, in order to eliminate redundancy, as one possible method, if three overlapping parts are deleted, only five parts are obtained as shown in FIG. In this case, "if the playback is performed for the time of (t1 + t2 + t3 + t4) from the beginning, jump to the point of time lapse of t1 from the beginning"
Will be described. That is, a description is provided in which the sum of Δt of each part is calculated in advance, and the reproduction position is reset according to the elapsed time from the reproduction start time. However, according to this method, when it becomes necessary to re-edit the part, the description section must be edited similarly. Also, the more complicated the description, the more complicated the recalculation of time becomes.

【0021】前述の特開昭61−91697号公報で
は、楽譜の省略記号をコード化し、音符情報と共に記憶
し、再生時に省略記号に従って制御を行うようにしてい
る。これによれば冗長性の問題と再編集の問題は解決す
るものの、現代の楽曲は構成が複雑化しており、省略記
号を単にコード化しただけでは楽曲構成を正しく表記で
きない場合が生じてくる。図25に示した例のように、
D.S.(ダルセーニョ)によって戻って再度演奏する
場合に繰り返しを省くことがよく行われるが、このよう
に注釈によって指示される選択的な演奏情報を表記する
ことは上記公報の技術では不可能である。また、上記公
報の技術は前述のように繰り返し等の記号を用いた楽譜
を前提としいる。
In the above-mentioned Japanese Patent Application Laid-Open No. 61-91697, the abbreviations of a musical score are coded and stored together with note information, and control is performed in accordance with the abbreviations during reproduction. According to this, although the problem of redundancy and the problem of reediting are solved, the composition of modern music is complicated, and there is a case where the music composition cannot be correctly expressed by simply coding the abbreviations. As in the example shown in FIG.
D. S. (Darseño) It is common to skip repetition when returning and performing again, but it is impossible with the technique of the above publication to describe selective performance information indicated by annotations. Further, the technique of the above publication presupposes a musical score using symbols such as repetition as described above.

【0022】したがって本発明の演奏情報圧縮方法の第
2実施例及び第3実施例では、複数回重複して記述され
る同一パートを含み直列状に記述されている演奏情報に
対して、演奏情報と識別可能なジャンプマークとタグを
設け、楽曲の繰り返しを示すことによって、少ない情報
量で記述するようにしている。また、ジャンプマークに
条件値(レベル)を含めることによって複雑な演奏情報
を記述することができる。
Therefore, in the performance information compressing method according to the second and third embodiments of the present invention, the performance information described in a serial manner including the same part which is described a plurality of times is compared with the performance information. By providing a jump mark and a tag that can be distinguished from each other, the repetition of the music is indicated, so that the description is made with a small amount of information. In addition, complicated performance information can be described by including a condition value (level) in the jump mark.

【0023】図13はジャンプマークとタグの構成を示
す図である。いずれも、非演奏情報ID、チャンネルI
D、レベルIDを有している。レベルIDは同一マーク
の相互間の識別を行うか、又は順序を示すものである。
なお第2実施例と第3実施例は、共に複数のパート(各
実施例では小節)にわたる演奏情報が繰り返されるとき
に、繰り返しを削除してジャンプマークとタグを挿入
し、結果として同じ圧縮ファイルを作るものである。第
2実施例は元のファイルAの他に重複のないファイルB
を一旦作成する必要がある点で後述する第3実施例より
手順が多い。しかし、圧縮の手順を理解するためには適
当であるので、まず第2実施例について説明し、その
後、より利用価値の高い第3実施例について説明する。
図14と図15は同一パートの検出と削除の概念を示す
図である。図14の1部の楽譜に示すように7小節と省
略記号で記述された曲を展開すると図14の下部に示す
ようなものとなる。なお丸印の中の数字は便宜的に記入
したものであって、どの小節とどの小節の演奏情報が同
一であるのかは、この時点ではわかっていない。
FIG. 13 is a diagram showing the configuration of a jump mark and a tag. Both are non-performance information ID, channel I
D and a level ID. The level ID identifies the same mark or indicates the order.
In both the second embodiment and the third embodiment, when performance information over a plurality of parts (measures in each embodiment) is repeated, the repetition is deleted and jump marks and tags are inserted. Is to make In the second embodiment, in addition to the original file A, a non-duplicate file B
Is required to be created once, and the number of procedures is larger than that of the third embodiment described later. However, since it is appropriate for understanding the procedure of compression, the second embodiment will be described first, and then the third embodiment having higher utility will be described.
14 and 15 are diagrams showing the concept of detecting and deleting the same part. When a song described by seven measures and abbreviations is developed as shown in a part of the score in FIG. 14, the result is as shown in the lower part of FIG. The numbers in the circles are written for convenience, and it is not known at this point which measure and which measure have the same performance information.

【0024】図15は図14の下部に示されたような演
奏情報があるとき、このデータ列から重複部分を検出す
る手法を示す図である。演奏情報は小節単位で時間軸上
に図15の上段に示すように並んでいる。ここで先頭の
小節xから以降の小節に対してデータの比較を行う。一
致したなら若い順にパート番号(この場合1)をふる。
演奏情報の作成がパートのコピーによって行われない場
合は時間軸方向の揺らぎ等が含まれるため、データのフ
ァイリングやクォンタイズ、認識的手法が用いられる。
このようにしてパート番号のふられた情報を納めたファ
イルをA、重複したパートを削除した情報を納めたファ
イルをBとする。図16はこの2つのファイルA、Bと
本発明の演奏情報圧縮方法の第2実施例により最終的に
作成される圧縮ファイルを示している。両方のファイル
A、Bを読み進め、異なるパートが出現したら、レベル
nをインクリメントしファイルBにおいて、ジャンプマ
ークJ(n)を挿入しファイルAの次に出現するパート
に戻ってタグT(n)を挿入する。
FIG. 15 is a diagram showing a method of detecting an overlapping portion from this data string when there is performance information as shown in the lower part of FIG. The performance information is arranged in units of measures on the time axis as shown in the upper part of FIG. Here, data comparison is performed for measures from the first measure x onward. If they match, the part numbers (in this case, 1) are assigned in ascending order.
If the performance information is not created by copying the part, fluctuations in the time axis direction and the like are included, so that data filing, quantization, and cognitive techniques are used.
A file containing the information with the part numbers added in this way is designated as A, and a file containing the information with the duplicated parts deleted is designated as B. FIG. 16 shows these two files A and B and a compressed file finally created by the second embodiment of the performance information compressing method of the present invention. Reading both files A and B, if a different part appears, increment the level n, insert a jump mark J (n) in file B, return to the part that appears next to file A, and return to tag T (n) Insert

【0025】レベルnはジャンプマークJ及びタグTの
それぞれにおいて相互識別をするためのものであり、自
然数で1、2、3…とインクリメントする。図16の下
方には、ジャンプマークJとタグTを挿入する手法が示
されている。すなわち、ファイルAとファイルBを先頭
のパートからパート単位でパート番号の比較を行い、互
いに相違するパート番号が出現したら、又はファイルA
のパートと比較するファイルBのパートが存在しないと
きは、挿入すべきジャンプマークとタグの各々における
識別のためのレベルnをインクリメントし、ファイルB
中の相違するパート番号の直前にレベルのインクリメン
トされたジャンプマークを挿入し、かつ前記ファイルA
中の相違するパート番号と同一のファイルB中のパート
番号の直前にレベルのインクリメントされたタグを挿入
する。ファイルA中の相違するパート番号以後とファイ
ルBのタグの挿入された直後のパート番号とをパート単
位でパート番号の比較を行い、互いに相違するパート番
号が出現したら、上記の挿入動作と同様の挿入が行われ
る。
The level n is for mutually discriminating each of the jump mark J and the tag T, and is incremented by 1, 2, 3,... As a natural number. A method of inserting a jump mark J and a tag T is shown below FIG. That is, the file A and the file B are compared with each other in part units from the first part, and if different part numbers appear,
If there is no part of file B to be compared with the part of file B, the level n for identification in each of the jump mark and the tag to be inserted is incremented, and the file B is incremented.
A level-incremented jump mark immediately before the different part number in the file A
The level-incremented tag is inserted immediately before the part number in the same file B as the different part number in the file B. The part numbers after the different part numbers in the file A and the part numbers immediately after the tags of the file B are inserted are compared in part units, and when the mutually different part numbers appear, the same operation as the above-described insertion operation is performed. Insertion takes place.

【0026】図17及び図18は上記第2実施例を用い
て複雑な繰り返しのある曲の演奏情報を圧縮することが
できる例を示す図であり、図17はかかる複雑構成の曲
の例を示し、図18は圧縮前のファイルA、Bと圧縮フ
ァイルを示す図である。
FIGS. 17 and 18 are diagrams showing examples in which the performance information of a song having a complicated repetition can be compressed using the second embodiment. FIG. 17 shows an example of a song having such a complicated configuration. FIG. 18 is a diagram showing files A and B before compression and a compressed file.

【0027】ここでMIDI信号情報ファイルとしての
SMFとSMFを変形して上記ジャンプマーク、タグを
挿入してゆく手法について説明する。SMFは以下のも
のを含む。 ・MIDIイベント : 演奏情報 ・METAイベント : 非演奏情報 どちらのイベントも時間情報△tを持っているので、M
ETA(メタ)イベントは、MIDIイベントとの相対
的な時間的位置を指定して、挿入することができる。ま
た、METAイベントは、これが持つデータフォーマッ
トを規定することができる。通常のSMFでは、パート
の概念はないが、パートの先頭であるという識別子(P
ART ID)を持ったメタイベントを定義することに
よって、SMF中にパート番号を記述することができ
る。
Here, a description will be given of a method of modifying the SMF as the MIDI signal information file and inserting the jump mark and the tag by modifying the SMF. The SMF includes: -MIDI event: performance information-META event: non-performance information Since both events have time information @t, M
An ETA (meta) event can be inserted by specifying a relative time position with respect to the MIDI event. The META event can define the data format of the event. In a normal SMF, there is no concept of a part, but an identifier (P
By defining a meta-event with an ART ID, the part number can be described in the SMF.

【0028】次にパートの定義について説明する。例え
ば1小節に相当する各々のパートは図15に示されるよ
うにパート番号により指定される。したがって各パート
はMETAイベントから始る、SMF中の一連のMID
Iイベント群である。このMETAイベントを、MET
A(PART,x)と略記する。 META(PART,x)→△t:META ID:P
ART ID:PARTNO x とする。比較のため
に、MIDIイベントのNote on(打鍵)は、N
ote on→△t:MIDI Note on I
D:MIDIチャンネル:音程:音量 SMFの構成は図19に示すようになっている。
Next, the definition of a part will be described. For example, each part corresponding to one bar is designated by a part number as shown in FIG. Thus each part starts with a META event, a series of MIDs in the SMF
This is an I event group. This META event, MET
Abbreviated as A (PART, x). META (PART, x) → @t: META ID: P
ART ID: PARTNO x. For comparison, the MIDI event Note on (keystroke) is N
note on → △ t: MIDI Note on I
D: MIDI channel: pitch: volume The structure of the SMF is as shown in FIG.

【0029】META(PART,x)の挿入位置は、
自由であるが、繰り返しの検出に用いるので、繰り返し
が予想される単位以下で挿入するのが良い。例えば、図
20に示すような楽譜をもとにSMFを作成する場合、
作成者は、"A,B,C,D,E"それぞれのMIDI演
奏情報を作成し、実際の演奏手順に従って、データのコ
ピーペースト等の手法で"A B C D A B C
E"となったMIDI演奏情報列をSMFに収めるが、
楽譜上の繰り返し記号と、META(PART,x)の
入れ方の規約を作ることによって、図21に示すような
SMFを作成することが可能である。
The insertion position of META (PART, x) is
Although it is optional, since it is used for detecting repetition, it is better to insert it in a unit less than the unit where repetition is expected. For example, when creating an SMF based on a score as shown in FIG.
The creator creates MIDI performance information for each of “A, B, C, D, E”, and according to the actual performance procedure, uses a method such as data copy / paste to perform “ABC D ABC”.
The MIDI performance information sequence that became "E" is stored in the SMF,
An SMF as shown in FIG. 21 can be created by creating a rule of how to insert a repeat symbol on a musical score and META (PART, x).

【0030】あるいは作成者が以上のような、作成手順
に全く関知しない通常のSMFを作成する場合、繰り返
し部分を自動的に検出するためには、SMFを受け取っ
た側で1小節=1パートとなるように、META(PA
RT,x)を挿入するのが良い。SMF中の小節の切れ
目は既にSMFフォーマット中に定められている。ME
TA(time signature)等の情報を、S
MFから読み出すことによって、簡単に知ることができ
る。前出の例によれば、META(PART,x)が挿
入されたらSMFは図22に示すようになる。どちらの
場合でも、繰り返し部分の検出は問題なく行われる。ま
た、META(PART,x)は、検出のために挿入さ
れたものであるから、最終的に圧縮記述されたファイル
中に存在していなくても演奏の再生に対して、全く問題
がない。
Alternatively, when the creator creates a normal SMF that has no relation to the creation procedure as described above, in order to automatically detect a repeated portion, one bar = 1 part on the side receiving the SMF. META (PA
RT, x) should be inserted. Bar breaks in the SMF are already defined in the SMF format. ME
Information such as TA (time signature)
By reading from the MF, it can be easily known. According to the above example, when META (PART, x) is inserted, the SMF becomes as shown in FIG. In either case, the detection of the repetitive portion is performed without any problem. Also, since META (PART, x) is inserted for detection, there is no problem with respect to the reproduction of the performance even if it does not exist in the file finally described with compression.

【0031】次に本発明の演奏情報圧縮方法の第3実施
例について説明する。前述の手順によりMETA(PA
RT,x)が挿入されたSMFをSMF Aとし、SM
FAを圧縮した圧縮ファイルをSMF Cとする。な
お、この圧縮ファイルSMFCは、スタンダードMID
Iファイルの形式とは異なるので、SMFと呼ぶことは
必ずしも適当ではないが、ここでは便宜的にSMF C
としておく。
Next, a description will be given of a third embodiment of the performance information compression method according to the present invention. The META (PA
RT, x) is inserted as SMF A, and SM
The compressed file obtained by compressing the FA is referred to as SMFC. This compressed file SMFC has the standard MID
Since the format is different from that of the I file, it is not always appropriate to call it SMF.
And keep it.

【0032】次にいくつかの定義を行っておく。(a)
PART LIST(パートリスト):パート番号の列
である。 (b)fpC(ファイルポインタ):圧縮ファイルSM
F Cの内容の任意の位置を差し示すもの。
Next, some definitions will be made. (A)
PART LIST (part list): a column of part numbers. (B) fpC (file pointer): compressed file SM
Indicates an arbitrary position in the contents of the FC.

【0033】ジャンプマークJとタグTはMETAイベ
ントを用いて次のように記述する。 META(JUMP,Ch,y) META(TAG,Ch,z) これらを一組として圧縮ファイルSMF Cに次のよう
に記述する。 META(JUMP,Ch,y)→△t:META I
D:JUMP ID:MIDIチャンネル Ch:レベ
ルy META(TAG,Ch,z)→△t:META I
D:TAG ID:MIDIチャンネル Ch:レベル
z なお、ジャンプマークとタグのそれぞれにレベルを付加
することによって、複雑な演奏手順に対しても、統一的
な書式で記述し、正しく再生することができる。
The jump mark J and the tag T are described as follows using the META event. META (JUMP, Ch, y) META (TAG, Ch, z) These are described as a set in the compressed file SMFC as follows. META (JUMP, Ch, y) → @t: META I
D: JUMP ID: MIDI channel Ch: level y META (TAG, Ch, z) → @ t: META I
D: TAG ID: MIDI channel Ch: level z By adding a level to each of the jump mark and the tag, even a complicated performance procedure can be described in a uniform format and correctly reproduced. .

【0034】ここで、MIDIチャンネルについて説明
する。MIDIでは、複数の楽器が同時に演奏されてい
る情報を伝送できるように、MIDIのイベントに対し
て、MIDIチャンネル(Ch)が付加されている。例
えば、ピアノに関するイベントはCh=1、ベースはC
h=2とし、受信側ではチャンネルによってイベントを
分離し、それぞれを適切な音源へ転送することがなされ
ている。この概念は、SMFにおいても全く同様であ
る。楽器毎には、別の演奏を行うも、SMF上では、混
在しているため繰り返しの検出においてはSMF A中
のイベントをチャンネル毎に分離し、各チャンネル独立
に圧縮記述を行い、この後に、最終的なSMF Cへ、
合成しながら、記録することが望ましい。合成後にも、
各チャンネルのジャンプマークとタグが識別できるよう
に、各イベントにMIDIチャンネルを持つのである。
本明細書では説明の簡略のために、SMF Aは単一の
チャンネルのイベントのみを含むものとして説明してい
る。
Here, the MIDI channel will be described. In MIDI, a MIDI channel (Ch) is added to a MIDI event so that information that a plurality of musical instruments are simultaneously played can be transmitted. For example, the event for the piano is Ch = 1, the bass is C
With h = 2, the receiving side separates events by channel and transfers each to an appropriate sound source. This concept is exactly the same in SMF. Although different performances are performed for each instrument, on the SMF, the events in the SMF A are separated for each channel in the repetition detection because they are mixed, and the compression description is performed for each channel independently. To the final SMF C,
It is desirable to record while compositing. Even after synthesis,
Each event has a MIDI channel so that the jump mark and tag of each channel can be identified.
For simplicity, SMF A is described herein as including only a single channel event.

【0035】次に第3実施例の圧縮手順についてフロー
チャートを示す図8及び図9を用いて説明する。圧縮手
順のフローには2つのパスがある。1つめのパスは図8
に示すように、SMF A中の同一パートを検出し、M
ETA(PART,x)の書換を行うものである。2つ
のパートを同じものと見なすために、比較を行う段階で
MIDIフィルタリング、MIDIクォンタイズを用い
てもよい。これは、SMFの内容が演奏者の実演奏等を
記録したものであるとき、特に効果がある。すなわち、
同一パートを演奏しようとした場合でも、実演奏では全
く同じMIDIイベント群にはなり得ないため、MID
Iフィルタリング、MIDIクォンタイズを行い、同一
パートの検出率を向上させ、ひいては圧縮率を向上させ
るものである。MIDIフィルタリングは、演奏者が意
図しない、極めて短い音に対応するMIDIイベントを
削除すること等である。MIDIクォンタイズは発音の
時間的な揺れを、大きなタイムスロットに量子化し直す
ことによって、検出率を向上させるものである。また、
音量に対しても同様のことが適用できる。上記は、比較
の際に用いる手法であり、最終的に生成されるファイル
の内容に対しては用いられないのは当然である。2つ目
のパスは図9に示すように、SMF Aから、SMF
Cを生成するものである。
Next, the compression procedure of the third embodiment will be described with reference to FIGS. There are two passes in the flow of the compression procedure. Figure 1 shows the first pass
As shown in the figure, the same part in SMF A is detected and M
The rewriting of ETA (PART, x) is performed. In order to regard two parts as the same, MIDI filtering and MIDI quantization may be used at the stage of performing the comparison. This is particularly effective when the content of the SMF is a record of the performer's actual performance or the like. That is,
Even if you try to play the same part, the actual performance cannot be the same MIDI event group.
I-filtering and MIDI quantization are performed to improve the detection rate of the same part, thereby improving the compression rate. MIDI filtering is to delete MIDI events corresponding to extremely short sounds that are not intended by the player. The MIDI quantization is to improve the detection rate by requantizing the temporal fluctuation of sound generation into a large time slot. Also,
The same applies to the volume. The above is a method used for comparison, and is not used for the content of the file finally generated. The second pass is from SMF A to SMF A, as shown in FIG.
C is generated.

【0036】図8中"j++""i++"は変数"j""i"を
インクリメントするステップである。変数iは比較する
元のパートを示し、変数jは比較する対象のパートを示
している。このフローではパートiとパートjの内容が
一致したとき、繰り返しがあると判断しMETA(PA
RT,j)をMETA(PART,i)に変更してい
る。
In FIG. 8, "j ++" and "i ++" are steps for incrementing variables "j" and "i". The variable i indicates the original part to be compared, and the variable j indicates the part to be compared. In this flow, when the contents of part i and part j match, it is determined that there is a repetition and META (PA
RT, j) is changed to META (PART, i).

【0037】次に図9に従って具体的圧縮手法について
説明する。この第3実施例では先の第2実施例で説明し
た図16に示すファイルBに相当するものは用いる必要
がない。すなわち、図16のファイルAに相当するSM
F AからファイルBを用いることなく最終的に圧縮さ
れた圧縮ファイルSMF Cを得るものである。
Next, a specific compression method will be described with reference to FIG. In the third embodiment, it is not necessary to use the file corresponding to the file B shown in FIG. 16 described in the second embodiment. That is, SM corresponding to file A in FIG.
A compressed file SMF C is finally obtained from F A without using file B.

【0038】ステップS21で当初内容のないファイル
C(SMF C)を作成し、ファイルC内の位置を示す
ファイルCのポインタをファイルCの先頭に設定し、当
初内容のないパートリストを作成する。このとき、ファ
イルCには内容がないので、ファイルC内の位置を示す
ポインタの位置はファイルCの先頭にあるともいえる
し、ファイルCの末尾にあるともいえる。そして、次の
ステップS22で変数iにファイルAの最初のパート番
号を設定し、次のステップS23で変数iが前記パート
リストにあるか否かを判断する。変数iで示されるパー
ト番号がないときは、ポインタfpCがファイルCの末
尾にあるか否かをステップS24で判断し、ポインタf
pC位置が前記ファイルCの末尾以外のときは、ステッ
プS25でポインタfpCが現在ある位置にジャンプマ
ーク(n)を挿入し、次にポインタfpCをファイルC
の末尾へ移動させ、その後ポインタfpCの位置にタグ
TAG(n)を挿入し、変数nを1つインクリメントす
る。ポインタfpC位置がファイルCの末尾であるとき
は、ステップS26でファイルCに前記ファイルAの変
数iで示されるパートの情報を付加し、パートリストに
変数iを付加し、ポインタを前記ファイルCの末尾に移
動させる。
In step S21, a file C (SMF C) having no initial contents is created, a pointer of the file C indicating a position in the file C is set at the head of the file C, and a part list having no initial contents is created. At this time, since there is no content in the file C, the position of the pointer indicating the position in the file C can be said to be at the beginning of the file C or at the end of the file C. Then, in the next step S22, the first part number of the file A is set to the variable i, and in the next step S23, it is determined whether or not the variable i is in the part list. If there is no part number indicated by the variable i, it is determined in step S24 whether or not the pointer fpC is at the end of the file C.
If the pC position is other than the end of the file C, a jump mark (n) is inserted at the position where the pointer fpC is present at step S25, and then the pointer fpC is moved to the file C.
And then insert a tag TAG (n) at the position of the pointer fpC, and increment the variable n by one. If the pointer fpC is at the end of the file C, the information of the part indicated by the variable i of the file A is added to the file C in step S26, the variable i is added to the part list, and the pointer is Move to the end.

【0039】パート番号の確認ステップで変数iで示さ
れるパート番号があるときは、ポインタfpCがファイ
ルCの変数iで示されるパートの先頭にあるか否かをス
テップS29で判断する。次のステップS30でポイン
タfpCの位置が前記ファイルCの変数iで示されるパ
ートの先頭以外のときは、ポインタfpCが現在ある位
置にジャンプマークJUMP(n)を挿入し、次にポイ
ンタfpCをファイルCの変数iで示されるパートの先
頭位置へ移動させ、その後ポインタfpCの位置にタグ
TAG(n)を挿入し、変数nを1つインクリメントす
る。ポインタfpCが前記ファイルCの変数iで示され
るパートの先頭であるときは、ステップS31でポイン
タfpCを次のパートの先頭位置へ移動させる。この2
つの移動させるステップS28又はS31の一方の後
に、ステップS32でファイルAの中の次のパートを検
索し、存在する場合は、変数iにファイルAの次のパー
ト番号を設定する。以後、ファイルA中に次のパートが
なくなるまで、パート番号確認ステップS23以降、次
パート番号設定ステップS32までを繰り返し実行す
る。
If there is a part number indicated by the variable i in the part number confirmation step, it is determined in a step S29 whether or not the pointer fpC is at the head of the part of the file C indicated by the variable i. In the next step S30, if the position of the pointer fpC is other than the head of the part indicated by the variable i of the file C, a jump mark JUMP (n) is inserted at the position where the pointer fpC is present, and then the pointer fpC is stored in the file C. The part is moved to the head position of the part indicated by the variable i of C, and then the tag TAG (n) is inserted at the position of the pointer fpC, and the variable n is incremented by one. If the pointer fpC is the head of the part indicated by the variable i of the file C, the pointer fpC is moved to the head position of the next part in step S31. This 2
After one of the two moving steps S28 or S31, the next part in the file A is searched in a step S32, and if it exists, the next part number of the file A is set to a variable i. Thereafter, steps from the part number confirmation step S23 to the next part number setting step S32 are repeatedly executed until the next part in the file A disappears.

【0040】図10は図8に示すパス1の開始前のSM
F Aと、その終了後に得られるSMF Aを、さらに
図9に示すパス2の終了後に得られるSMF Cを示す
図である。図中、A、B、C…は各パートの内容を示
し、数字1、2、3…はパート番号を示している。また
SMF Cはジャンプマークとタグの付加された様子を
示している。
FIG. 10 shows SM before the start of pass 1 shown in FIG.
FIG. 10 is a diagram showing F A, SMF A obtained after the end thereof, and SMF C obtained after the end of pass 2 shown in FIG. 9. In the figure, A, B, C... Indicate the contents of each part, and numerals 1, 2, 3,... Indicate the part numbers. SMFC shows a state where a jump mark and a tag are added.

【0041】次に上記各実施例により圧縮された演奏情
報を、例えば通信カラオケの端末側などで再生するため
に伸長する方法について説明する。図11はその演奏情
報伸長方法を実現するために用いられる演奏情報再生装
置(伸長装置)の実施例を示すブロック図である。記憶
装置10は例えば大容量ハードディスクで、この中に図
10に示す圧縮ファイルSMF Cが多数格納されてい
るものとする。このうち所望の曲のSMF Cが図示し
ない制御装置のアドレス指示に従って読み出され、メモ
リ12にロードされる。この後、再生に先立ち、SMF
C中のタグのサーチが行われる。すなわち、リーダー
14は、アドレスカウンタ16の指示に従ってメモリ1
2の内容を読んで行き、タグのサーチを行う。分離部1
8は、リーダー14の出力信号、すなわちSMF Cか
らMIDIイベント、ジャンプレベル値、タグレベル値
を分離抽出するものである。サーチの結果、タグを検出
する毎に、タグアドレスメモリ26は分離部18から与
えられるタグレベル値と、アドレスカウンタ16から与
えられるアドレスを関係付けて図12に示すテーブルの
ような形で格納して行く。こうして、一つのSMF C
を全部サーチして図12に示すテーブルを完成させる。
Next, a description will be given of a method of decompressing the performance information compressed by each of the above-described embodiments so as to be reproduced on, for example, a communication karaoke terminal. FIG. 11 is a block diagram showing an embodiment of a performance information reproducing apparatus (expansion apparatus) used to realize the performance information decompression method. The storage device 10 is, for example, a large-capacity hard disk, in which a large number of compressed files SMFC shown in FIG. 10 are stored. Among them, the SMFC of the desired music is read out according to an address instruction of a control device (not shown) and loaded into the memory 12. Thereafter, prior to playback, the SMF
A search for the tag in C is performed. That is, the reader 14 operates the memory 1 according to the instruction of the address counter 16.
Read the contents of No. 2 and search for tags. Separation unit 1
Reference numeral 8 is for separating and extracting a MIDI event, a jump level value, and a tag level value from the output signal of the reader 14, that is, the SMFC. Every time a tag is detected as a result of the search, the tag address memory 26 stores the tag level value given from the separating unit 18 and the address given from the address counter 16 in a form as shown in FIG. Go. Thus, one SMF C
To complete the table shown in FIG.

【0042】その後、再生を開始するために、まずアド
レスカウンタ16とレベルカウンタ22を初期化する。
再生時には、分離器18からのタグレベル値はタグアド
レスメモリ26に書込まない(又は分離器18からタグ
レベル値を出力しない)。分離器18から出力されるM
IDIイベントは各対応する(チャンネル毎の)図示し
ない音源に与えられる。分離器18の出力信号の1つと
してレベル比較器20にはジャンプレベル値が与えられ
る。レベルカウンタ22はそのカウント値をレベル比較
器20へ出力し、レベル比較器20は2つの入力レベル
を比較し、一致するとレベルカウンタ22を1つインク
リメントさせる信号を出力するとともにゲート24へゲ
ート信号を与える。ゲート24はレベルカウンタ22の
出力カウント値、すなわち、検出されたジャンプマーク
のレベル値(一致レベル値)をゲート信号を受けたと
き、選択器28へ与える。選択器28はタグアドレスメ
モリ26からジャンプレベルに対応したタグのアドレス
を読み出して、アドレスカウンタ16にロードする。ア
ドレスカウンタ16は、ロードされたアドレスに従って
順次メモリ12内のデータを読み出して行く。
Thereafter, to start reproduction, first, the address counter 16 and the level counter 22 are initialized.
At the time of reproduction, the tag level value from the separator 18 is not written into the tag address memory 26 (or the tag level value is not output from the separator 18). M output from the separator 18
The IDI event is given to each corresponding sound source (not shown) (for each channel). A jump level value is given to the level comparator 20 as one of the output signals of the separator 18. The level counter 22 outputs the count value to the level comparator 20. The level comparator 20 compares the two input levels, and outputs a signal for incrementing the level counter 22 by one when they match, and also outputs a gate signal to the gate 24. give. The gate 24 supplies the output count value of the level counter 22, that is, the level value (coincidence level value) of the detected jump mark to the selector 28 when receiving the gate signal. The selector 28 reads the address of the tag corresponding to the jump level from the tag address memory 26 and loads the tag address into the address counter 16. The address counter 16 sequentially reads data from the memory 12 according to the loaded address.

【0043】このようにして、メモリ12内の1つのS
MF Cの内容を読みながらMIDIイベントを順次出
力することにより伸張動作が行われ、SMF Cの全て
のデータを読み出すことにより一曲分の再生を終了す
る。
Thus, one S in the memory 12
The decompression operation is performed by sequentially outputting MIDI events while reading the contents of the MFC C, and the reproduction of one music is completed by reading out all the data of the SMF C.

【0044】図11に示した構成の上記説明では、再生
に先立ってタグの位置をサーチして、そのアドレスを予
めロードする方法を用いているが、伸張装置の処理能力
が十分なものであれば、予めタグを読み込まず、タグを
サーチしながら再生を同時に行うようにすることもでき
る。かかる構成の場合は、図11に示したタグアドレス
メモリ26は不要となる。
In the above description of the configuration shown in FIG. 11, a method is used in which the position of the tag is searched prior to reproduction and the address is loaded in advance. However, if the processing capability of the decompression device is sufficient. For example, without reading tags in advance, reproduction can be performed simultaneously while searching for tags. In such a configuration, the tag address memory 26 shown in FIG. 11 becomes unnecessary.

【0045】[0045]

【発明の効果】以上詳述したように、本発明の演奏譲歩
圧縮方法によれば、MIDI信号のように楽音を構成す
る音の音程と発音時間を指定する演奏情報のデータ量
を、メロディーの繰り返しを削除することにより、大幅
に削減することができ、よって通信コストの削減、メモ
リ容量の問題の解消がなされる。また、通信カラオケシ
ステム等において、画像情報や文字情報を本来の演奏情
報とともに送信したり、メモリに蓄積する場合に、演奏
情報データ量が削減できるので、これらの付加的情報の
取り扱いが容易となる。
As described in detail above, according to the performance concession compression method of the present invention, the data amount of performance information for designating the pitch and sounding time of a tone constituting a musical tone, such as a MIDI signal, is reduced by the melody. By eliminating the repetition, the cost can be significantly reduced, thereby reducing the communication cost and eliminating the problem of the memory capacity. Further, in a communication karaoke system or the like, when image information and character information are transmitted together with original performance information or stored in a memory, the amount of performance information data can be reduced, so that the handling of such additional information becomes easy. .

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の演奏情報圧縮方法の第1実施例を示す
フローチャートである。
FIG. 1 is a flowchart illustrating a performance information compression method according to a first embodiment of the present invention.

【図2】本発明の演奏情報圧縮方法及びそれに適用され
る演奏情報伸長方法の一例としての通信カラオケシステ
ムのブロック図である。
FIG. 2 is a block diagram of a communication karaoke system as an example of a performance information compression method and a performance information expansion method applied to the present invention.

【図3】本発明の演奏情報圧縮方法及びそれに適用され
る演奏情報伸長方法の一例としての通信カラオケシステ
ムの他の構成例を示すブロック図である。
FIG. 3 is a block diagram showing another configuration example of the communication karaoke system as an example of the performance information compression method and the performance information expansion method applied to the present invention.

【図4】本発明の演奏情報圧縮方法の概念を示すブロッ
ク図である。
FIG. 4 is a block diagram showing the concept of a performance information compression method according to the present invention.

【図5】本発明の演奏情報圧縮方法の手法を説明する図
である。
FIG. 5 is a diagram illustrating a technique of a performance information compression method according to the present invention.

【図6】本発明の演奏情報圧縮方法の第1実施例で用い
られる信号のフォーマット図である。
FIG. 6 is a signal format diagram used in the first embodiment of the performance information compression method of the present invention.

【図7】本発明の演奏情報圧縮方法の第1実施例で圧縮
しようとする曲の一部の楽譜である。
FIG. 7 is a partial score of a music piece to be compressed by the performance information compression method according to the first embodiment of the present invention.

【図8】本発明の演奏情報圧縮方法の第3実施例の一部
を示すフローチャートである。
FIG. 8 is a flowchart showing a part of a third embodiment of the performance information compression method of the present invention.

【図9】本発明の演奏情報圧縮方法の第3実施例の他の
一部を示すフローチャートである。
FIG. 9 is a flowchart showing another part of the third embodiment of the performance information compression method of the present invention.

【図10】本発明の演奏情報圧縮方法の第3実施例にお
ける圧縮ファイル作成過程を説明する図である。
FIG. 10 is a diagram illustrating a compressed file creation process in a third embodiment of the performance information compression method of the present invention.

【図11】本発明の演奏情報圧縮方法に適用される演奏
情報伸長方法を実現する再生器の一例を示すブロック図
である。
FIG. 11 is a block diagram showing an example of a reproducer for realizing a performance information decompression method applied to the performance information compression method of the present invention.

【図12】図11におけるタグアドレスメモリの内容を
示す図である。
FIG. 12 is a diagram showing the contents of a tag address memory in FIG. 11;

【図13】本発明の演奏情報圧縮方法の第2実施例にお
けるジャンプマークとタグのデータ構成を示す図であ
る。
FIG. 13 is a diagram showing a data configuration of a jump mark and a tag in a performance information compression method according to a second embodiment of the present invention.

【図14】本発明の演奏情報圧縮方法の第2実施例の圧
縮手順を説明する図である。
FIG. 14 is a diagram illustrating a compression procedure of a performance information compression method according to a second embodiment of the present invention.

【図15】本発明の演奏情報圧縮方法の第2実施例の圧
縮手順を説明する図である。
FIG. 15 is a diagram illustrating a compression procedure of a performance information compression method according to a second embodiment of the present invention.

【図16】本発明の演奏情報圧縮方法の第2実施例の圧
縮手順を説明する図である。
FIG. 16 is a diagram illustrating a compression procedure of a performance information compression method according to a second embodiment of the present invention.

【図17】本発明の演奏情報圧縮方法の第2実施例の圧
縮手順を説明する図である。
FIG. 17 is a diagram illustrating a compression procedure of a performance information compression method according to a second embodiment of the present invention.

【図18】本発明の演奏情報圧縮方法の第2実施例の圧
縮手順を説明する図である。
FIG. 18 is a diagram illustrating a compression procedure of a performance information compression method according to a second embodiment of the present invention.

【図19】本発明の演奏情報圧縮方法の第2実施例の圧
縮手順を説明する図である。
FIG. 19 is a diagram illustrating a compression procedure of a performance information compression method according to a second embodiment of the present invention.

【図20】本発明の演奏情報圧縮方法の第2実施例の圧
縮手順を説明する図である。
FIG. 20 is a diagram illustrating a compression procedure of a performance information compression method according to a second embodiment of the present invention.

【図21】本発明の演奏情報圧縮方法の第2実施例の圧
縮手順を説明する図である。
FIG. 21 is a diagram illustrating a compression procedure of a performance information compression method according to a second embodiment of the present invention.

【図22】本発明の演奏情報圧縮方法の第2実施例の圧
縮手順を説明する図である。
FIG. 22 is a diagram illustrating a compression procedure of a performance information compression method according to a second embodiment of the present invention.

【図23】本発明の演奏情報圧縮方法の圧縮前のSMF
を模式的に示す図である。
FIG. 23 shows an SMF before compression according to the performance information compression method of the present invention.
It is a figure which shows typically.

【図24】本発明の演奏情報圧縮方法の図23のSMF
を圧縮する1つの手法を説明する図である。
FIG. 24 shows the SMF of FIG. 23 of the performance information compression method of the present invention.
FIG. 3 is a diagram for explaining one technique for compressing.

【図25】D.S.(ダルセーニョ)を含んだ楽譜の例
を示す図である。
FIG. S. FIG. 9 is a diagram illustrating an example of a musical score including (Darsegno).

【符号の説明】[Explanation of symbols]

1 SMF(スタンダードMIDIファイル) 2 MIDIチャンネル分離ブロック 3 ブロックリピート検出ブロック 4 R(リピート)符号化処理ブロック 5 マージ処理ブロック 6 圧縮ファイル 10 SMF Cの記憶装置 12 メモリ 14 リーダー 16 アドレスカウンタ 18 分離器 20 レベル比較器 22 レベルカウンタ 24 ゲート 26 タグアドレスメモリ 28 選択器 1 SMF (Standard MIDI File) 2 MIDI Channel Separation Block 3 Block Repeat Detection Block 4 R (Repeat) Encoding Processing Block 5 Merge Processing Block 6 Compressed File 10 SMF C Storage 12 Memory 14 Reader 16 Address Counter 18 Separator 20 Level comparator 22 Level counter 24 Gate 26 Tag address memory 28 Selector

───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G10H 1/00 102 G10H 1/00 G10K 15/04 302 H03M 7/30 ──────────────────────────────────────────────────続 き Continued on the front page (58) Field surveyed (Int. Cl. 7 , DB name) G10H 1/00 102 G10H 1/00 G10K 15/04 302 H03M 7/30

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】楽音を構成する音の音程と発音時間を指定
する演奏情報が複数のパートに分割されてなるパート列
の先頭パートからパート単位で順次データの比較を行
い、前記パート列において実質的に同一のデータのパー
トに同一のパート番号を付与したファイルAを作成する
第1のステップと、 前記ファイルAにおいて、先頭からパート番号を調べ、
重複する番号が出現したときは、その重複するパート及
びそのパートに付与されたパート番号を削除して新たな
ファイルBを作成する第2のステップと、 前記ファイルAと前記ファイルBとを先頭パートからパ
ート単位でパート番号の比較を行い、互いに相違するパ
ート番号が出現したときには、前記ファイルB中の相違
するパート番号の直前にパートを移動することを示す第
1のジャンプマークを挿入し、かつ前記ファイルA中の
相違するパート番号と同一の前記ファイルB中のパート
番号の直前に前記第1のジャンプマークからの移動先で
ある第1のタグを挿入する第3のステップと、 前記ファイルA中の前記相違するパート番号以降のパー
トと前記ファイルBの前記第1のタグの挿入された以降
のパートとを引き続きパート単位でパート番号の比較を
行い、互いに相違するパート番号が出現したときには、
前記ファイルB中の相違するパート番号の直前にパート
を移動することを示す第2のジャンプマークを挿入し、
かつ前記ファイルA中の相違するパート番号と同一の前
記ファイルB中のパート番号の直前に前記第2のジャン
プマークの移動先である第2のタグを挿入する第4のス
テップとを有する演奏情報圧縮方法。
1. Performance data for designating a pitch and a sounding time of a sound constituting a musical tone are sequentially compared in a unit of a part from a head part of a part row divided into a plurality of parts. A first step of creating a file A in which parts of the same data are given the same part numbers, and in the file A, checking the part numbers from the beginning,
When a duplicate number appears, a second step of deleting the duplicate part and the part number assigned to the part to create a new file B; , And when a different part number appears, a first jump mark indicating that the part is to be moved immediately before the different part number in the file B is inserted, and A third step of inserting a first tag that is a destination from the first jump mark immediately before a part number in the file B that is the same as a different part number in the file A; Of the file B and the part of the file B after the insertion of the first tag are successively transmitted in part units. It performs a comparison of the port number, when the part number has appeared to be different from each other,
Inserting a second jump mark indicating that a part is to be moved immediately before a different part number in the file B;
And a fourth step of inserting a second tag to which the second jump mark is moved immediately before a different part number in the file A and a same part number in the file B. Compression method.
【請求項2】楽音を構成する音の音程と発音時間を指定
する演奏情報が複数のパートに分割されてなるパート列
の先頭パートからパート単位で順次データの比較を行
い、実質的に同一のデータのパートに同一のパート番号
を付与してファイルAを作成する第1のステップと、 当初内容のないファイルCを作成する第2のステップ
と、 前記ファイルC内での位置を示すファイルCのポインタ
を前記ファイルCの末尾に設定する第3のステップと、 当初内容のないパートリストを作成する第4のステップ
と、 変数iに前記ファイルAの最初のパート番号を設定する
第5のステップと、 前記変数iが前記パートリストにあるか否かを判断する
パート番号確認ステップと、 前記パート番号確認ステップにて前記変数iで示される
パート番号が存在しないときには、前記ポインタが前記
ファイルCの末尾にあるか否かを判断するポインタ位置
第1判断ステップと、 前記ポインタ位置第1判断ステップにて前記ポインタが
前記ファイルCの末尾以外にあると判断されたときに
は、前記ポインタが現在ある位置にジャンプマークJU
MP(n)を挿入し、前記ポインタを前記ファイルCの
末尾へ移動させ、その後前記ポインタの位置に前記ジャ
ンプマークJUMP(n)の移動先であるタグTAG
(n)を挿入し、前記変数nを1つインクリメントする
第6のステップと、 前記ポインタ位置第1判断ステップにて前記ポインタが
前記ファイルCの末尾にあると判断されたときには、前
記ファイルCに前記ファイルAの前記変数iで示される
パートの演奏情報を付加し、前記パートリストに前記変
数iを付加し、前記ポインタを前記ファイルCの末尾に
移動させる第7のステップと、 前記パート番号確認ステップにて前記変数iで示される
パート番号があると判断されたときには、前記ポインタ
が前記ファイルCの変数iで示されるパートの先頭にあ
るか否かを判断するポインタ位置第2判断ステップと、 前記ポインタ位置第2判断ステップにて前記ポインタが
前記ファイルCの変数iで示されるパートの先頭以外に
あると判断されたときには、前記ポインタが現在存在す
る位置にジャンプマークJUMP(n)を挿入し、前記
ポインタを前記ファイルCの変数iで示されるパートの
先頭位置へ移動させ、その後前記ポインタの位置にタグ
TAG(n)を挿入し、前記変数nを1つインクリメン
トする第8のステップと、 前記ポインタ位置第2判断ステップにて前記ポインタが
前記ファイルCの変数iで示されるパートの先頭にある
と判断されたときには、前記ポインタを次のパートの先
頭位置へ移動させる第9のステップと、 前記第7のステップ及び前記第9のステップの後に、前
記ファイルAの中の次のパートを検索し、存在する場合
は前記変数iに前記ファイルAの次のパート番号を設定
する次パート番号設定ステップとを有し、 以後前記ファイルAの次のパートが存在しなくなるま
で、前記パート番号確認ステップから前記次パート番号
設定ステップまでを繰り返し実行するようにしたことを
特徴とする演奏情報圧縮方法。
2. Performance data for designating a musical interval and a tone generation time of a tone constituting a musical tone are sequentially compared in units of parts from a head part of a part row divided into a plurality of parts, and substantially the same data is obtained. A first step of creating a file A by assigning the same part number to the data parts, a second step of creating a file C having no initial contents, and a file C indicating a position in the file C. A third step of setting a pointer at the end of the file C, a fourth step of creating a part list having no initial contents, and a fifth step of setting the first part number of the file A to a variable i. A part number confirmation step of determining whether or not the variable i is in the part list; and a part number indicated by the variable i in the part number confirmation step exists. When there is no pointer, the pointer position first determination step for determining whether the pointer is at the end of the file C, and the pointer position first determination step determines that the pointer is not at the end of the file C. The jump mark JU
MP (n) is inserted, the pointer is moved to the end of the file C, and then the tag TAG to which the jump mark JUMP (n) is moved is located at the position of the pointer.
A sixth step of inserting (n) and incrementing the variable n by one; and determining that the pointer is at the end of the file C in the pointer position first determination step. A seventh step of adding performance information of a part indicated by the variable i of the file A, adding the variable i to the part list, and moving the pointer to the end of the file C; When it is determined in step that there is a part number indicated by the variable i, a pointer position second determination step of determining whether the pointer is at the beginning of the part of the file C indicated by the variable i; When it is determined in the pointer position second determination step that the pointer is located at a position other than the beginning of the part indicated by the variable i of the file C A jump mark JUMP (n) is inserted at the position where the pointer is currently located, the pointer is moved to the head position of the part indicated by the variable i of the file C, and the tag TAG ( n) is inserted, and the variable n is incremented by one. In the pointer position second determination step, it is determined that the pointer is at the head of the part indicated by the variable i of the file C. In some cases, after the ninth step of moving the pointer to the head position of the next part, and after the seventh step and the ninth step, the next part in the file A is searched for and exists. Setting a next part number of the file A to the variable i. The next part number of the file A Until no, performance information compression method which is characterized in that so as to repeatedly execute until the next part number setting step from the part number verification step.
JP2000127578A 1994-09-17 2000-04-27 Performance information compression method Expired - Fee Related JP3219150B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000127578A JP3219150B2 (en) 1994-09-17 2000-04-27 Performance information compression method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000127578A JP3219150B2 (en) 1994-09-17 2000-04-27 Performance information compression method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP24887594A Division JP3322763B2 (en) 1994-09-17 1994-09-17 Performance information compression method

Publications (2)

Publication Number Publication Date
JP2000338973A JP2000338973A (en) 2000-12-08
JP3219150B2 true JP3219150B2 (en) 2001-10-15

Family

ID=18637154

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000127578A Expired - Fee Related JP3219150B2 (en) 1994-09-17 2000-04-27 Performance information compression method

Country Status (1)

Country Link
JP (1) JP3219150B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002311402A (en) 2001-04-11 2002-10-23 Minebea Co Ltd Faraday rotator
CN113157655A (en) * 2020-01-22 2021-07-23 阿里巴巴集团控股有限公司 Data compression method, data decompression method, data compression device, data decompression device, electronic equipment and storage medium

Also Published As

Publication number Publication date
JP2000338973A (en) 2000-12-08

Similar Documents

Publication Publication Date Title
US5402339A (en) Apparatus for making music database and retrieval apparatus for such database
EP1821286B1 (en) Apparatus, system and method for extracting the structure of song lyrics by identifying repetitive patterns therein
KR100245325B1 (en) Method of recording musical data and reproducing apparatus thereof
JPH06202675A (en) Omnibus karaoke playing device
JP4244133B2 (en) Music data creation apparatus and method
US7169999B2 (en) Digital signal processing method and apparatus thereof, control data generation method and apparatus thereof, and program recording medium
JPH0784587A (en) Display control unit
US5672837A (en) Automatic performance control apparatus and musical data storing device
JP2522343B2 (en) Automatic playing device
JPH11175062A (en) Information output device, information editing device and recording medium
JP3219150B2 (en) Performance information compression method
JP3322763B2 (en) Performance information compression method
JP3120675B2 (en) Performance information compression device
JP3180643B2 (en) Registration / deletion / setting change method of music data of communication karaoke device
JPS58220189A (en) Automatic performer
JPH11288282A (en) Performance information converting device
JP3211646B2 (en) Performance information recording method and performance information reproducing apparatus
KR950010336B1 (en) Compression and reproducing method of music data
US7214869B2 (en) Method for generating and playing a musical file and a computer-readable media storing the musical file
KR100283800B1 (en) New song practice control method of computer flexible accompaniment system
JP2000056759A (en) Sequence data processor and computer readable recording medium
JP3229275B2 (en) Recording media for karaoke
JPH04313800A (en) Electronic music reproducing device
JPH11288273A (en) Musical performance information converter
JPH08185164A (en) Automatic playing controller and music data storage device used for the same

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080810

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080810

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090810

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090810

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100810

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100810

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110810

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120810

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120810

Year of fee payment: 11

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120810

Year of fee payment: 11

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120810

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130810

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees