JP4973983B2 - Automatic performance device and automatic performance processing program - Google Patents

Automatic performance device and automatic performance processing program Download PDF

Info

Publication number
JP4973983B2
JP4973983B2 JP2007032892A JP2007032892A JP4973983B2 JP 4973983 B2 JP4973983 B2 JP 4973983B2 JP 2007032892 A JP2007032892 A JP 2007032892A JP 2007032892 A JP2007032892 A JP 2007032892A JP 4973983 B2 JP4973983 B2 JP 4973983B2
Authority
JP
Japan
Prior art keywords
tempo
command
value
automatic performance
performance
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.)
Active
Application number
JP2007032892A
Other languages
Japanese (ja)
Other versions
JP2008197407A (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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co 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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2007032892A priority Critical patent/JP4973983B2/en
Publication of JP2008197407A publication Critical patent/JP2008197407A/en
Application granted granted Critical
Publication of JP4973983B2 publication Critical patent/JP4973983B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

本発明は、電子楽器に用いて好適な自動演奏装置および自動演奏処理プログラムに関する。   The present invention relates to an automatic performance apparatus and an automatic performance processing program suitable for use in an electronic musical instrument.

周知のように、シーケンサ等の自動演奏装置では、演奏すべき各音の音高、音量および発音/消音タイミングを表すデータ、発生すべき楽音の音色を指定するデータおよび再生テンポを指定するテンポデータ等を含むSMF形式の演奏データ(MIDIデータ)に基づき、指定された音色の波形データから生成される指定音高/音量の楽音を、指定テンポで再生する自動演奏が行われる。   As is well known, in an automatic performance device such as a sequencer, data representing the pitch, volume and tone / mute timing of each sound to be played, data specifying the tone color of a musical tone to be generated, and tempo data specifying a playback tempo Based on SMF format performance data (MIDI data) including the above, automatic performance is performed in which a musical tone having a specified pitch / volume generated from waveform data of a specified tone color is reproduced at a specified tempo.

こうした自動演奏において、再生テンポを調整するには、例えば特許文献1に開示の技術のように、ユーザのテンポ変更操作で生じるユーザテンポ設定値を、MIDIデータ中で定義されるテンポデータの値に乗算して再生テンポを変更する他、ユーザテンポ設定値をテンポデータの値に加算したり、ユーザテンポ設定値をテンポデータに置き換える態様が知られている。   In such automatic performance, in order to adjust the playback tempo, for example, as in the technique disclosed in Patent Document 1, the user tempo setting value generated by the user's tempo changing operation is changed to the value of tempo data defined in the MIDI data. In addition to changing the playback tempo by multiplication, there are known modes in which the user tempo setting value is added to the tempo data value, or the user tempo setting value is replaced with tempo data.

特開平8−30272号公報JP-A-8-30272

上述した従来の再生テンポ調整に生じる課題について、図13〜図15を参照して説明する。先ず図13は、MIDIデータで定義されるテンポ値の経時変化を図示するグラフであり、当該グラフの縦軸はテンポ値、横軸は小節数で表す経過時間である。このグラフに図示する一例は、第1小節から第4小節までの各小節内において演奏上の揺れを表現する小さなテンポ変動と、曲調変化に伴う第3小節目の急激なテンポ変動とを表現している。   The problems that occur in the conventional reproduction tempo adjustment described above will be described with reference to FIGS. First, FIG. 13 is a graph illustrating the change over time of the tempo value defined by the MIDI data. The vertical axis of the graph is the tempo value, and the horizontal axis is the elapsed time represented by the number of bars. The example shown in this graph expresses a small tempo change that expresses fluctuations in performance within each measure from the first measure to the fourth measure, and a rapid tempo change of the third measure that accompanies the change in tune. ing.

さて、MIDIデータ中で定義されるテンポ値が、図13に図示した一例のように経時変化する場合に、ユーザのテンポ変更操作で生じるユーザテンポ設定値(−50%)をテンポ値に乗算すると、図14に図示する通り、演奏上の揺れを表現する小さなテンポ変動もそのまま同じ比率で再現されてしまう。自動演奏される曲の鑑賞を目的としていれば、この小さなテンポ変動は、所謂演奏上の「ノリ」として解釈される為、特段支障は生じない。   When the tempo value defined in the MIDI data changes with time as in the example shown in FIG. 13, the tempo value is multiplied by the user tempo setting value (−50%) generated by the user's tempo change operation. As shown in FIG. 14, small tempo fluctuations that express performance fluctuations are also reproduced at the same ratio. For the purpose of appreciating a song that is played automatically, this small tempo change is interpreted as a so-called “pitch” in performance, so that no particular trouble occurs.

しかしながら、演奏練習する目的でユーザがテンポ調整する場合であれば、意図しない演奏上の揺らぎとなってしまい、とりわけ遅めでかつ一定なテンポで曲を自動演奏させながら演奏練習したいビギナーユーザにとっては好ましくないテンポ変動となる。   However, if the user adjusts the tempo for the purpose of practicing performance, it will cause unintentional fluctuations in performance, especially for beginner users who want to practice performance while automatically playing music at a slow and constant tempo. There will be no tempo fluctuation.

一方、ユーザのテンポ変更操作で生じるユーザテンポ設定値をそのままテンポ値に置き換える態様であると、図15に図示する通り、一定のテンポ値に固定される為、曲調変化に伴うテンポ変動が失われ、曲調の再現性を損ねるという弊害が生じる。結局、以上の内容を換言すると、従来のテンポ調整では、演奏上の揺れを表現する小さなテンポ変動を排除することができず、しかも曲調の再現性を損ねてしまう、という問題がある。   On the other hand, if the user tempo setting value generated by the user's tempo changing operation is replaced with the tempo value as it is, the tempo fluctuation accompanying the change in tune is lost because the tempo value is fixed as shown in FIG. This has the negative effect of reducing the reproducibility of the tune. After all, in other words, there is a problem that the conventional tempo adjustment cannot eliminate small tempo fluctuations that express fluctuations in the performance, and also impairs the reproducibility of the tune.

本発明は、このような事情に鑑みてなされたもので、演奏上の揺れを表現する小さなテンポ変動を排除でき、しかも曲調の再現性を損ねることなく再生テンポを調整することができる自動演奏装置および自動演奏処理プログラムを提供することを目的としている。   The present invention has been made in view of such circumstances, and an automatic performance apparatus that can eliminate small tempo fluctuations that express performance fluctuations and can adjust the reproduction tempo without impairing the reproducibility of the tune. It is also intended to provide an automatic performance processing program.

請求項に記載の発明では、曲を構成する各音を表すと共に、再生テンポを指定するテンポコマンドを含む演奏データを記憶する演奏データ記憶手段と、前記演奏データ記憶手段に記憶される一定区間毎の演奏データの中からそれぞれ区間占有期間が最も長いテンポコマンドを検出すると共に、検出されたテンポコマンドを当該区間の代表的な再生テンポを指定する第1のテンポコマンドに設定し、当該区間中に存在する第1のテンポコマンド以外のテンポコマンドを、テンポ変更を指示する第2のテンポコマンドに差し換えるコマンド差換手段と、テンポ調整値を設定するテンポ調整手段と、前記コマンド差換手段によりテンポコマンドが第1又は第2のテンポコマンドに差し換えられた演奏データを、前記演奏データ記憶手段から読み出して自動演奏する自動演奏手段と、前記テンポ調整手段によりテンポ調整値が設定された状態で自動演奏を開始させた場合にのみ、第2のテンポコマンドによるテンポ変更指示の無効を前記自動演奏手段に指示する一方、前記テンポ調整手段により設定されたテンポ調整値に応じて第1のテンポコマンドで指定される再生テンポを変更するよう前記自動演奏手段に指示するテンポ変更指示手段とを具備することを特徴とする。 According to the first aspect of the present invention, performance data storage means for storing performance data including tempo commands for specifying the playback tempo and representing each sound constituting the music, and a predetermined section stored in the performance data storage means A tempo command having the longest section occupation period is detected from each piece of performance data, and the detected tempo command is set to a first tempo command that designates a representative playback tempo of the section. A command replacement means for replacing a tempo command other than the first tempo command existing in the second tempo command with a second tempo command for instructing a tempo change, a tempo adjustment means for setting a tempo adjustment value, and the command replacement means. The performance data in which the tempo command is replaced with the first or second tempo command is read from the performance data storage means. Only when the automatic performance means for performing automatically and the automatic performance is started with the tempo adjustment value set by the tempo adjustment means, the tempo change instruction by the second tempo command is invalidated to the automatic performance means. Tempo change instruction means for instructing the automatic performance means to change the playback tempo specified by the first tempo command in accordance with the tempo adjustment value set by the tempo adjustment means. Features.

上記請求項に従属する請求項に記載の発明では、前記コマンド差換手段は、差換対象の現区間の第1のテンポコマンドで指定されるテンポ値と、前区間の第1のテンポコマンドで指定されるテンポ値との差分が所定値以内の場合に、前区間の第1のテンポコマンドを現区間の第1のテンポコマンドに置き換える置換手段を更に具備することを特徴とする。 In the invention of claim 2 that is dependent on the claim 1, wherein said command Sa換means includes tempo value specified by the first tempo command of the current section of Sa換target, a first tempo before section When the difference from the tempo value designated by the command is within a predetermined value, there is further provided replacement means for replacing the first tempo command in the previous section with the first tempo command in the current section.

請求項に記載の発明では、曲を構成する各音を表すと共に、再生テンポを指定するテンポコマンドを含む一定区間毎の演奏データの中からそれぞれ区間占有期間が最も長いテンポコマンドを検出すると共に、検出されたテンポコマンドを当該区間の代表的な再生テンポを指定する第1のテンポコマンドに設定し、当該区間中に存在する第1のテンポコマンド以外のテンポコマンドを、テンポ変更を指示する第2のテンポコマンドに差し換えるコマンド差換処理と、テンポ調整値を設定するテンポ調整処理と、前記コマンド差換処理によりテンポコマンドが第1又は第2のテンポコマンドに差し換えられた演奏データに応じて自動演奏する自動演奏処理と、前記テンポ調整処理によりテンポ調整値が設定された状態で自動演奏を開始させた場合にのみ、第2のテンポコマンドによるテンポ変更指示の無効を前記自動演奏処理に指示する一方、前記テンポ調整処理により設定されたテンポ調整値に応じて第1のテンポコマンドで指定される再生テンポを変更するよう前記自動演奏処理に指示するテンポ変更指示処理とを特徴とする。 According to the third aspect of the present invention, the tempo command having the longest section occupation period is detected from the performance data for each predetermined section including the tempo command for designating the reproduction tempo, as well as representing each sound constituting the song. The detected tempo command is set to a first tempo command that designates a representative playback tempo of the section, and tempo commands other than the first tempo command existing in the section are instructed to change the tempo. In accordance with the performance data in which the tempo command is replaced with the first or second tempo command by the command replacement process. When automatic performance is started with automatic performance processing for automatic performance and tempo adjustment values set by the tempo adjustment processing. Only when the automatic performance process is instructed to invalidate the tempo change instruction by the second tempo command, the playback tempo specified by the first tempo command is set according to the tempo adjustment value set by the tempo adjustment process. And a tempo change instruction process instructing the automatic performance process to change.

本発明では、再生テンポを指定する第1のテンポコマンドおよびテンポ変更を指示する第2のテンポコマンドを演奏データに設けておき、テンポ調整値が設定された状態で自動演奏を開始させた場合にのみ、第2のテンポコマンドによるテンポ変更指示を無効にする一方、設定されたテンポ調整値に応じて第1のテンポコマンドで指定される再生テンポを変更するので、演奏上の揺れを表現する小さなテンポ変動を排除でき、しかも曲調の再現性を損ねることなく再生テンポを調整することができる。   In the present invention, when the performance data is provided with the first tempo command for designating the reproduction tempo and the second tempo command for instructing the tempo change, and the automatic performance is started with the tempo adjustment value set. Only the tempo change instruction by the second tempo command is invalidated, while the playback tempo specified by the first tempo command is changed according to the set tempo adjustment value, so that a small fluctuation expressing the performance is expressed. Tempo variation can be eliminated, and the playback tempo can be adjusted without impairing the reproducibility of the tune.

以下、図面を参照して本発明の実施の形態について説明する。
[第1実施形態]
A.構成
図1は本発明の第1実施形態による自動演奏装置の構成を示すブロック図である。この図において、CPU1は、操作部4(後述する)から供給されるスイッチイベントに応じて装置各部の動作を制御したり、RAM3から読み出す演奏データ(MIDIデータ)に基づき音源7を制御して自動演奏を実行する。本発明の要旨に係わるCPU1の特徴的な処理動作については追って詳述する。
Embodiments of the present invention will be described below with reference to the drawings.
[First Embodiment]
A. Constitution
FIG. 1 is a block diagram showing the configuration of an automatic performance device according to the first embodiment of the present invention. In this figure, the CPU 1 automatically controls the sound source 7 based on performance data (MIDI data) read out from the RAM 3 or controls the operation of each part of the apparatus according to a switch event supplied from the operation unit 4 (described later). Perform a performance. A characteristic processing operation of the CPU 1 according to the gist of the present invention will be described in detail later.

ROM2は、プログラムエリアおよびデータエリアを備える。ROM2のプログラムエリアには、CPU1により実行される各種プログラムが記憶される。各種プログラムとは、後述するメインルーチンおよび再生処理を含む。ROM2のデータエリアには、各種曲の演奏データ(MIDIデータ)が記憶される。ここで、図2を参照してROM2のデータエリアに記憶されるMIDIデータの構成について説明する。この図に示すMIDIデータは、所謂マルチトラック対応のSMFフォーマットと呼ばれ、1つのヘッダHDと複数の演奏トラック[1]〜[N]とから構成される。   The ROM 2 includes a program area and a data area. Various programs executed by the CPU 1 are stored in the program area of the ROM 2. The various programs include a main routine and reproduction processing described later. In the data area of the ROM 2, performance data (MIDI data) of various songs is stored. Here, the configuration of the MIDI data stored in the data area of the ROM 2 will be described with reference to FIG. The MIDI data shown in this figure is called a so-called multitrack SMF format, and is composed of one header HD and a plurality of performance tracks [1] to [N].

MIDIデータ中のヘッダHD(ヘッダチャンク)は、当該ヘッダHD以降のデータ属性(フォーマット種別、演奏トラックの数、時間単位)を表す。演奏トラック[1]〜[N]は、それぞれ曲の各演奏パートに対応する。1つの演奏トラックは、デルタタイムΔTおよびイベントEVから構成されるSMFコマンドが曲進行順にアドレッシングされる。デルタタイムΔTは、前イベントからの経過時間(step値)で次イベントタイミングを表す。イベントEVは、公知のMIDIイベント、システムエクスクルーシブイベントおよびメタイベントのいずかで形成される。   A header HD (header chunk) in the MIDI data represents data attributes (format type, number of performance tracks, time unit) after the header HD. The performance tracks [1] to [N] correspond to the performance parts of the song, respectively. One performance track is addressed with SMF commands composed of a delta time ΔT and an event EV in the order of music progression. The delta time ΔT represents the next event timing by the elapsed time (step value) from the previous event. The event EV is formed by any one of known MIDI events, system exclusive events, and meta events.

周知のように、自動演奏の再生テンポは、メタイベントで定義される。具体的には、メタイベントが[FFh,51h,03h,tempo(3バイト長)]のコマンド列から形成される場合にテンポ値tempoが設定される。なお、上記コマンド列において、「FFh」(hは16進表示を表す)がメタコマンドを表し、「51h」がテンポコマンドMETA_TEMPO(メタサブコマンド)を表す。「03h」がテンポ値tempoのデータサイズを表す。テンポ値tempoは、4分音符長をマイクロ秒で表現した値となる。   As is well known, the playback tempo of automatic performance is defined by a meta event. Specifically, the tempo value tempo is set when the meta event is formed from a command string of [FFh, 51h, 03h, tempo (3 bytes length)]. In the above command sequence, “FFh” (h represents a hexadecimal display) represents a meta command, and “51h” represents a tempo command META_TEMPO (meta subcommand). “03h” represents the data size of the tempo value tempo. The tempo value tempo is a value representing the length of a quarter note in microseconds.

本実施の形態では、上記「51h」のテンポコマンドMETA_TEMPOによって自動演奏時の基本的な再生テンポを設定し、演奏上の揺れを表現する小さなテンポ変動を設定するメタイベントとして、例えば「53h」などメタイベントで未使用な数値をメタサブコマンドに用いた「メタグルーブテンポコマンドMETA_GROOVETEMPO」を新たに設けたことを特徴としている。この「メタグルーブテンポコマンドMETA_GROOVETEMPO」が意図するところについては追って説明する。   In the present embodiment, a basic playback tempo at the time of automatic performance is set by the tempo command META_TEMPO of “51h”, and a meta event for setting a small tempo change that expresses fluctuations in performance is set as “53h”, for example. A feature is that a “meta groove tempo command META_GROOVETEMPO” is newly provided which uses an unused numerical value in a meta event as a meta subcommand. The purpose of the “metagroove tempo command META_GROOVETEMPO” will be described later.

次に、再び図1を参照して構成の説明を進める。RAM3は、ワークエリアおよびデータエリアを備える。RAM3のワークエリアには、CPU1の処理に用いる各種レジスタ・フラグデータが一時記憶される。RAM3のデータエリアには、ROM2から読み出されるMIDIデータが格納される。すなわち、後述する曲選択スイッチSELの操作で選択される曲のMIDIデータがCPU1の制御の下にROM2から読み出されてRAM3のデータエリアにストアされるようになっている。   Next, the configuration will be described with reference to FIG. 1 again. The RAM 3 includes a work area and a data area. In the work area of the RAM 3, various register / flag data used for the processing of the CPU 1 are temporarily stored. In the data area of the RAM 3, MIDI data read from the ROM 2 is stored. That is, the MIDI data of the music selected by the operation of the music selection switch SEL described later is read from the ROM 2 and stored in the data area of the RAM 3 under the control of the CPU 1.

操作部4は、図示されていないコンソールパネル上に配設される各種操作スイッチから構成され、各スイッチ操作に対応したスイッチイベントを発生する。このスイッチイベントはCPU1のキースキャンにより取込まれる。操作部4に配設されるスイッチ種類としては、パワーオンオフする電源スイッチの他、例えば図3に図示する一例のように、自動演奏する曲を選択する曲選択スイッチSEL、再生テンポを変更指示するUSERテンポスイッチTMP、自動演奏の停止を指示するストップスイッチSTOPおよび自動演奏の開始を指示するスタートスイッチSTARTがある。   The operation unit 4 includes various operation switches arranged on a console panel (not shown), and generates a switch event corresponding to each switch operation. This switch event is captured by the CPU 1 key scan. As the types of switches provided in the operation unit 4, in addition to a power switch for turning on and off, a song selection switch SEL for selecting a song to be automatically played, for example, as shown in FIG. There are a USER tempo switch TMP, a stop switch STOP for instructing stop of automatic performance, and a start switch START for instructing start of automatic performance.

なお、USERテンポスイッチTMPは、再生テンポをアップ/ダウンさせるアップスイッチおよびダウンスイッチから構成され、これらスイッチの押下操作に応じて再生テンポを比率制御する。例えば、アップスイッチを押下操作する毎に現在の再生テンポを+10%上昇させたり、ダウンスイッチを押下操作する毎に現在の再生テンポを−10%下降させる。   The USER tempo switch TMP is composed of an up switch and a down switch that increase / decrease the reproduction tempo, and controls the reproduction tempo in proportion to the pressing operation of these switches. For example, every time the up switch is pressed, the current playback tempo is increased by + 10%, and every time the down switch is pressed, the current playback tempo is decreased by -10%.

鍵盤5は、ユーザの押離鍵操作(演奏操作)に応じたキーオン/キーオフ信号および鍵番号、ベロシティ等からなる演奏情報を発生する。表示部6は、LCDパネル等から構成され、CPU1から供給される表示制御信号に応じて設定状態などを表示する。具体的には、図4に図示する一例のように、表示部6には、上述した曲選択スイッチSELの操作で選択される曲名(SONG NAME)を表示するエリアE1、USERテンポスイッチTMPの操作で設定されるUSERテンポ設定値を表示するエリアE2、ストップスイッチSTOPのオン・オフ状態を表す表示マークMK1およびスタートスイッチSTARTのオン・オフ状態を表す表示マークMK2が設けられている。   The keyboard 5 generates performance information composed of a key-on / key-off signal, a key number, velocity, and the like according to a user's key release operation (performance operation). The display unit 6 is composed of an LCD panel or the like, and displays a setting state or the like according to a display control signal supplied from the CPU 1. Specifically, as in the example illustrated in FIG. 4, the display unit 6 includes an area E1 for displaying a song name (SONG NAME) selected by the above-described operation of the song selection switch SEL, and an operation of the USER tempo switch TMP. Are provided with an area E2 for displaying the USER tempo setting value set in, a display mark MK1 representing the on / off state of the stop switch STOP, and a display mark MK2 representing the on / off state of the start switch START.

音源7は、周知の波形メモリ読み出し方式で構成され、同時発音可能な複数の発音チャンネルを備える。音源7では、CPU1の制御の下に、RAM3のデータエリアから順次読み出されるMIDIデータに応じた楽音信号や、鍵盤5から出力される演奏情報に基づきCPU1が発生する楽音コマンドに応じた楽音信号を発生する。サウンドシステム8は、音源7から出力される楽音信号をD/A変換した後に増幅してスピーカから発音する。   The sound source 7 is configured by a well-known waveform memory reading method and includes a plurality of sound generation channels capable of simultaneous sound generation. In the tone generator 7, under the control of the CPU 1, a tone signal corresponding to MIDI data sequentially read from the data area of the RAM 3 and a tone signal corresponding to a tone command generated by the CPU 1 based on performance information output from the keyboard 5 are provided. appear. The sound system 8 D / A converts the musical tone signal output from the sound source 7 and then amplifies it to generate sound from the speaker.

B.動作
次に、図5〜図8を参照して第1実施形態の動作について説明する。以下では、最初に全体動作としてメインルーチンの動作を説明した後、本発明の要旨にかかわる再生処理の動作を説明する。
B. Action
Next, the operation of the first embodiment will be described with reference to FIGS. In the following, first, the operation of the main routine will be described as the overall operation, and then the operation of the reproduction processing according to the gist of the present invention will be described.

(1)メインルーチンの動作(全体動作)
上記構成による第1実施形態による自動演奏装置に電源が投入されると、CPU1はROM2から所定の制御プログラムをロードして図5に示すメインルーチンを実行し、ステップSA1に処理を進め、RAM3のワークエリアに格納される各種レジスタ/フラグ類をリセットしたり、初期値セットするイニシャライズを行う。次いで、ステップSA2では、操作部4に配設される各種スイッチ操作に応じたスイッチ処理、例えば曲選択スイッチSELの操作で自動演奏する曲を選択する処理、スタートスイッチSTART又はストップスイッチSTOPの操作に応じて自動演奏の開始/停止を指示する処理、USERテンポスイッチTMPの操作に応じてUSERテンポ調整値を発生する処理等を実行する。
(1) Main routine operation (overall operation)
When the automatic performance device according to the first embodiment having the above configuration is turned on, the CPU 1 loads a predetermined control program from the ROM 2 and executes the main routine shown in FIG. Resets various registers / flags stored in the work area and initializes initial values. Next, in step SA2, switch processing corresponding to various switch operations arranged in the operation unit 4, for example, processing for selecting a song to be automatically played by operating the song selection switch SEL, operation of the start switch START or stop switch STOP. Accordingly, processing for instructing start / stop of automatic performance, processing for generating a USER tempo adjustment value in response to an operation of the USER tempo switch TMP, and the like are executed.

そして、スイッチ処理が完了すると、CPU1はステップSA3に処理を進める。ステップSA3では、上記ステップSA2のスイッチ処理において、スタートスイッチSTARTの操作に応じて自動演奏の開始が指示された場合に、RAM3のデータエリアに格納されるMIDIデータの内からデルタタイムΔTおよびイベントEVから構成されるSMFコマンドを順次読み出し、読み出したSMFコマンドを解釈実行して音源7に自動演奏を指示する再生処理を実行する。   Then, when the switch process is completed, the CPU 1 advances the process to step SA3. In step SA3, when the start of automatic performance is instructed in accordance with the operation of the start switch START in the switch processing in step SA2, the delta time ΔT and the event EV are selected from the MIDI data stored in the data area of the RAM 3. Are sequentially read, and the read SMF command is interpreted and executed to execute reproduction processing for instructing the sound source 7 to perform an automatic performance.

次いで、ステップSA4では、鍵盤5から出力される演奏情報に基づき音源7に送出する楽音コマンドを発生する鍵盤処理や、上述したステップSA2のスイッチ処理で実行された動作設定の状態を表示部6に画面表示する表示処理などの、その他の処理を実行する。そして以後、電源がオフ設定される迄、ステップSA2〜SA4を繰り返す。   Next, at step SA4, the display unit 6 displays the operation setting state executed by the keyboard process for generating a musical sound command to be sent to the sound source 7 based on the performance information output from the keyboard 5 and the switch process at step SA2 described above. Other processing such as display processing for screen display is executed. Thereafter, steps SA2 to SA4 are repeated until the power is turned off.

(2)再生処理の動作
次に、図6を参照して再生処理の動作について説明する。上述したメインルーチンのステップSA3(図5参照)を介して本処理が実行されると、CPU1はステップSB1に進み、RAM3のデータエリアに格納されたMIDIデータの内からデルタタイムΔTおよびイベントEVから構成されるSMFコマンドを読み出してレジスタCMDにストアする。
(2) Operation of Reproduction Process Next, the operation of the reproduction process will be described with reference to FIG. When this process is executed through step SA3 (see FIG. 5) of the main routine described above, CPU 1 proceeds to step SB1, and from the delta time ΔT and event EV from the MIDI data stored in the data area of RAM3. The configured SMF command is read and stored in the register CMD.

ステップSB2では、レジスタCMDにストアしたSMFコマンドの種別を識別する。そして、SMFコマンドに含まれるイベントEVが「ノートオン」又は「ノートオフ」であると、ステップSB2に進み、デルタタイムΔTで指定されるタイミングにおいてイベントEVで定義される音高の楽音の発音/消音を音源7に指示するノートオン/ノートオフ処理を実行した後、本処理を終える。   In step SB2, the type of the SMF command stored in the register CMD is identified. If the event EV included in the SMF command is “note on” or “note off”, the process proceeds to step SB2, and at the timing designated by the delta time ΔT, the tone / After executing the note-on / note-off process for instructing the sound source 7 to mute, this process is finished.

SMFコマンドに含まれるイベントEVが「プログラムチェンジ」であると、ステップSB4に進み、デルタタイムΔTで指定されるタイミングにおいてイベントEVで指定される音色に変更するよう音源7に指示する音色変更処理を実行した後、本処理を終える。   If the event EV included in the SMF command is “program change”, the process proceeds to step SB4, and a tone color changing process for instructing the sound source 7 to change to the tone color specified by the event EV at the timing specified by the delta time ΔT is performed. After execution, this process is finished.

SMFコマンドに含まれるイベントEVが「コントロールチェンジ」ならば、ステップSB5に進み、デルタタイムΔTで指定されるタイミングにおいてイベントEVで定義されるコントローラ(ボリューム系操作子又はペダル系操作子)の設定を変更するコントロールチェンジ処理を実行した後、本処理を終える。   If the event EV included in the SMF command is “control change”, the process proceeds to step SB5 to set the controller (volume system operator or pedal system operator) defined by the event EV at the timing specified by the delta time ΔT. After executing the control change process to be changed, this process is finished.

SMFコマンドに含まれるイベントEVが「ピッチベンド」ならば、ステップSB6に進み、デルタタイムΔTで指定されるタイミングにおいてピッチベンダのピッチシフト量およびベンドレンジを設定するピッチベンド処理を実行した後、本処理を終える。   If the event EV included in the SMF command is “pitch bend”, the process proceeds to step SB6, and after executing pitch bend processing for setting the pitch shift amount and bend range of the pitch bender at the timing specified by the delta time ΔT, this processing is performed. Finish.

SMFコマンドに含まれるイベントEVが「メタコマンド(メタイベント)」ならば、ステップSB7を介してメタコマンド処理(後述する)を実行した後、本処理を終える。   If the event EV included in the SMF command is “metacommand (metaevent)”, the metacommand processing (described later) is executed via step SB7, and then this processing ends.

(3)メタコマンド処理の動作
次に、図7を参照してメタコマンド処理の動作について説明する。上述した再生処理のステップSB7(図6参照)を介して本処理が実行されると、ステップSC1に進み、メタコマンド(メタイベント)中のメタサブコマンドを抽出してレジスタSUBCMDにストアする。なお、前述したように、メタコマンド(メタイベント)では、先頭のステータスバイト「FFh」に続くコマンド列がメタサブコマンドとなる。
(3) Meta Command Processing Operation Next, the meta command processing operation will be described with reference to FIG. When this process is executed through step SB7 (see FIG. 6) of the reproduction process described above, the process proceeds to step SC1, where a meta subcommand in the metacommand (metaevent) is extracted and stored in the register SUBCMD. As described above, in the meta command (meta event), the command sequence following the first status byte “FFh” is the meta subcommand.

次いで、ステップSC2では、レジスタSUBCMDにストアしたメタサブコマンドの種別を判別する。メタサブコマンドがトラック終了コマンドMETA_EOT(「2Fh」)ならば、ステップSC3に進み、トラック終了処理を実行して本処理を終える。   Next, in step SC2, the type of the meta subcommand stored in the register SUBCMD is determined. If the meta subcommand is the track end command META_EOT (“2Fh”), the process proceeds to step SC3, the track end process is executed, and this process ends.

メタサブコマンドがテンポコマンドMETA_TEMPO(「51h」)ならば、ステップSC4に進み、当該テンポコマンドMETA_TEMPOに含まれるテンポ値tempoをレジスタDataTempoにストアする。そして、ステップSC5では、USERテンポスイッチTMPの操作に応じて設定されたUSERテンポ調整値に、レジスタDataTempoに格納されるテンポ値tempoを乗算し、こうして更新された再生テンポをレジスタSystemTempoにストアして本処理を終える。なお、図示していないが、CPU1では、このレジスタSystemTempoにストアされる再生テンポに従ってテンポクロックを発生することで当該再生テンポに同期して自動演奏を進行させるようになっている。   If the meta subcommand is the tempo command META_TEMPO (“51h”), the process proceeds to step SC4, and the tempo value tempo included in the tempo command META_TEMPO is stored in the register DataTempo. In step SC5, the USER tempo adjustment value set according to the operation of the USER tempo switch TMP is multiplied by the tempo value tempo stored in the register DataTempo, and the updated reproduction tempo is stored in the register SystemTempo. This process is finished. Although not shown in the figure, the CPU 1 is configured to generate automatic tempo in synchronization with the reproduction tempo by generating a tempo clock according to the reproduction tempo stored in the register SystemTempo.

さて一方、メタサブコマンドがメタグルーブテンポコマンドMETA_GROOVETEMPO(「53h」)であると、ステップSC6に進み、当該メタグルーブテンポコマンドMETA_GROOVETEMPOに含まれるテンポ値tempoをレジスタDataTempoにストアする。次いで、ステップSC7では、自動演奏の開始前に予めUSERテンポ調整値が設定された状態か否かを判断する。   On the other hand, if the meta sub-command is the meta-groove tempo command META_GROOVETEMPO (“53h”), the process proceeds to step SC6, and the tempo value tempo included in the meta-groove tempo command META_GROOVETEMPO is stored in the register DataTempo. Next, in step SC7, it is determined whether or not the USER tempo adjustment value has been set in advance before the start of automatic performance.

自動演奏の開始前に予めUSERテンポ調整値が設定された状態ならば、ここでの判断結果は「YES」となり、本処理を終える。つまり、演奏練習する目的でユーザが自動演奏の開始前に予めUSERテンポ調整値を設定していれば、メタグルーブテンポコマンドMETA_GROOVETEMPOによるテンポ変更指示が無効となり、演奏上の揺れを表現する小さなテンポ変動は設定されなくなる。   If the USER tempo adjustment value has been set in advance before the start of the automatic performance, the determination result here is “YES”, and this processing is completed. That is, if the user has previously set the USER tempo adjustment value before the start of automatic performance for the purpose of practicing performance, the tempo change instruction by the meta groove tempo command META_GROOVETEMPO becomes invalid, and a small tempo change that expresses fluctuations in performance Is no longer set.

これに対し、自動演奏の開始前に予めUSERテンポ調整値が設定された状態でなければ、上記ステップSC7の判断結果は「NO」になり、ステップSC8に進む。ステップSC8では、レジスタDataTempoに格納されるテンポ値tempo、すなわちメタグルーブテンポコマンドMETA_GROOVETEMPOで設定されるテンポ値tempoに、USERテンポスイッチTMPの操作に応じて設定されたUSERテンポ調整値を乗算し、これにより得られる再生テンポをレジスタSystemTempoにストアして本処理を終える。   On the other hand, if the USER tempo adjustment value is not set in advance before the start of the automatic performance, the determination result in step SC7 is “NO”, and the flow proceeds to step SC8. In step SC8, the tempo value tempo stored in the register DataTempo, that is, the tempo value tempo set by the meta groove tempo command META_GROOVETEMPO is multiplied by the USER tempo adjustment value set according to the operation of the USER tempo switch TMP. The reproduction tempo obtained by the above is stored in the register SystemTempo, and this processing is finished.

このように、メタコマンド処理では、メタコマンドに含まれるメタサブコマンドがテンポコマンドMETA_TEMPO(「51h」)ならば、そのテンポ値tempoを、USERテンポスイッチTMPの操作に応じて設定されたUSERテンポ調整値に乗算して再生テンポを更新する。一方、メタサブコマンドがメタグルーブテンポコマンドMETA_GROOVETEMPO(「53h」)であると、自動演奏の開始前に予めUSERテンポ調整値を設定した状態か否かを判断し、演奏練習する目的でユーザが自動演奏の開始前に予めUSERテンポ調整値を設定していれば、当該メタグルーブテンポコマンドMETA_GROOVETEMPOによる再生テンポの変更を無効とし、自動演奏の開始前に予めUSERテンポ調整値が設定されていなければ、当該メタグルーブテンポコマンドMETA_GROOVETEMPOのテンポ値tempoを、USERテンポスイッチTMPの操作に応じて設定されたUSERテンポ調整値に乗算して再生テンポを更新する。   Thus, in the meta command processing, if the meta subcommand included in the meta command is the tempo command META_TEMPO (“51h”), the tempo value tempo is set to the USER tempo adjustment set according to the operation of the USER tempo switch TMP. Multiplies the value to update the playback tempo. On the other hand, if the meta subcommand is the meta groove tempo command META_GROOVETEMPO (“53h”), it is determined whether or not the USER tempo adjustment value is set in advance before the start of the automatic performance, and the user automatically performs the purpose of performing the performance. If the USER tempo adjustment value is set in advance before the start of the performance, the change of the playback tempo by the meta groove tempo command META_GROOVETEMPO is invalidated. If the USER tempo adjustment value is not set in advance before the start of the automatic performance, The reproduction tempo is updated by multiplying the tempo value tempo of the meta groove tempo command META_GROOVETEMPO by the USER tempo adjustment value set according to the operation of the USER tempo switch TMP.

したがって、テンポコマンドMETA_TEMPOおよびメタグルーブテンポコマンドMETA_GROOVETEMPOによって設定される再生テンポが、例えば図8中の破線Aで図示される経時変化を辿る場合において、自動演奏の開始前に予めUSERテンポ調整値(−50%)を設定した状態で自動演奏を開始させると、メタグルーブテンポコマンドMETA_GROOVETEMPOによる演奏上の揺れを表現する小さなテンポ変動が無効となり、テンポコマンドMETA_TEMPOのテンポ値tempoにUSERテンポ調整値(−50%)に乗算した再生テンポ、つまり図8中の実線Bで示される経時変化の再生テンポで自動演奏を進行させる。この結果、演奏上の揺れを表現する小さなテンポ変動を排除でき、しかも曲調の再現性を損ねることなく再生テンポを調整することが可能になる。   Therefore, when the playback tempo set by the tempo command META_TEMPO and the meta groove tempo command META_GROOVETEMPO follows, for example, the change over time shown by the broken line A in FIG. 8, the USER tempo adjustment value (− When the automatic performance is started with the setting of 50%), the small tempo fluctuation that expresses the fluctuation in performance by the meta groove tempo command META_GROOVETEMPO becomes invalid, and the tempo value tempo of the tempo command META_TEMPO is set to the USER tempo adjustment value (−50). %), That is, the automatic performance is advanced at a reproduction tempo that changes with time as indicated by a solid line B in FIG. As a result, it is possible to eliminate small tempo fluctuations that express fluctuations in performance, and to adjust the playback tempo without impairing the reproducibility of the tune.

以上のように、第1実施形態では、曲の再生テンポを指定するテンポコマンドMETA_TEMPOと、曲中で局所的な演奏上の揺れを表現する小さなテンポ変動を設定するメタグルーブテンポコマンドMETA_GROOVETEMPOとをMIDIデータ中のメタイベントで定義しておき、自動演奏の開始前に予めUSERテンポ調整値を設定した状態で自動演奏を開始させた場合にのみ、メタグルーブテンポコマンドMETA_GROOVETEMPOを無効化する一方、テンポコマンドMETA_TEMPOで指定される再生テンポを、設定されたUSERテンポ調整値に応じて更新するので、演奏上の揺れを表現する小さなテンポ変動を排除でき、しかも曲調の再現性を損ねることなく再生テンポを調整し得るようになっている。   As described above, in the first embodiment, the tempo command META_TEMPO for designating the playback tempo of a song and the meta groove tempo command META_GROOVETEMPO for setting a small tempo change expressing local fluctuations in performance in the song are MIDI. The meta groove tempo command META_GROOVETEMPO is invalidated only when the automatic performance is started with the USER tempo adjustment value set in advance before the automatic performance is started. Since the playback tempo specified by META_TEMPO is updated according to the set USER tempo adjustment value, small tempo fluctuations that express performance fluctuations can be eliminated, and the playback tempo can be adjusted without impairing the reproducibility of the tune. It has come to be able to do.

なお、本実施形態では、USERテンポ調整値を設定した状態で自動演奏を開始させた場合にメタグルーブテンポコマンドMETA_GROOVETEMPOを無効化するようにしたが、これに限らず、例えばUSERテンポスイッチTMPのアップスイッチおよびダウンスイッチを同時押下した場合や、別途に設ける操作子の操作でメタグルーブテンポコマンドMETA_GROOVETEMPOの無効化を指示する態様としても構わない。   In this embodiment, the meta groove tempo command META_GROOVETEMPO is invalidated when automatic performance is started with the USER tempo adjustment value set. However, the present invention is not limited to this. For example, the USER tempo switch TMP is increased. It is also possible to instruct invalidation of the meta groove tempo command META_GROOVETEMPO when the switch and the down switch are pressed simultaneously, or by operation of an operator provided separately.

[第2実施形態]
次に、図9〜図11を参照して第2実施形態について説明する。第2実施形態の構成は、上述した第1実施形態と同一なので、その説明は省略する。第2実施形態が上述した第1実施形態と相違する点は、1小節内に存在する各テンポ値毎の占有時間を検出し、この中で最大の占有時間を有するテンポ値を代表テンポに設定し、当該小節中で代表テンポに一致しないテンポ値を設定するテンポコマンドMETA_TEMPOを、メタグルーブテンポコマンドMETA_GROOVETEMPOに差し換えることにある。以下、こうした第2実施形態の動作を説明する。
[Second Embodiment]
Next, a second embodiment will be described with reference to FIGS. Since the structure of 2nd Embodiment is the same as 1st Embodiment mentioned above, the description is abbreviate | omitted. The second embodiment is different from the first embodiment described above in that the occupancy time for each tempo value existing in one measure is detected and the tempo value having the maximum occupancy time is set as the representative tempo. The tempo command META_TEMPO that sets a tempo value that does not match the representative tempo in the measure is to be replaced with the meta groove tempo command META_GROOVETEMPO. Hereinafter, the operation of the second embodiment will be described.

図9は、第2実施形態によるメインルーチンの動作を示すフローチャートである。この図に示す第2実施形態の動作が、図5に図示した第1実施形態のメインルーチンと相違する点は、ステップSD3の揺れテンポ検出差換処理を有することにある。揺れテンポ検出差換処理では、図10に図示するtempo−stepテーブルを用いる。tempo−stepテーブルは、RAM3のワークエリアに設けられ、1小節内に存在する各テンポ値(nowtempo)毎の占有時間(step)が登録されるデータテーブルである。   FIG. 9 is a flowchart showing the operation of the main routine according to the second embodiment. The operation of the second embodiment shown in this figure is different from the main routine of the first embodiment shown in FIG. 5 in that it has a shaking tempo detection / replacement process in step SD3. In the shaking tempo detection replacement process, a tempo-step table shown in FIG. 10 is used. The tempo-step table is a data table in which the occupation time (step) for each tempo value (now tempo) existing in one measure is registered in the work area of the RAM 3.

なお、図10に図示する一例は、1小節長が384step(4分音符長「96」×4)の場合に、テンポ値「160」の占有時間が306step、テンポ値「158」、「159」、「161」、「162」の各占有時間がそれぞれ18stepであることを表している。こうしたtempo−stepテーブルが意図するところについては追って述べる。   In the example shown in FIG. 10, when the length of one measure is 384 steps (quarter note length “96” × 4), the occupation time of the tempo value “160” is 306 steps, and the tempo values “158” and “159”. , “161” and “162” indicate that the occupation times are 18 steps. The purpose of such a tempo-step table will be described later.

さて、ステップSD3を介して揺れテンポ検出差換処理が実行されると、CPU1は図11に図示するステップSE1に進み、ステップSE1からステップSE13までのループ処理、すなわち演奏トラックのMIDIデータを全て読み出し終えるまでステップSE2〜SE12を繰り返し実行する。   When the shaking tempo detection / replacement process is executed via step SD3, the CPU 1 proceeds to step SE1 shown in FIG. 11, and reads out all the MIDI data of the performance track, that is, the loop process from step SE1 to step SE13. Steps SE2 to SE12 are repeatedly executed until the process is completed.

先ずステップSE2では、RAM3のデータエリアから1コマンド分のSMFコマンド(デルタタイムΔTおよびイベントEV)を読み出す。続いて、ステップSE3では、読み出したSMFコマンドが小節線を跨ぐか又は小節線に一致するタイミングを有しているかどうかを判断する。小節線を跨ぐか又は小節線に一致するタイミングを有していなければ、判断結果は「NO」になり、ステップSE4に進む。   First, in step SE2, an SMF command for one command (delta time ΔT and event EV) is read from the data area of the RAM 3. Subsequently, in step SE3, it is determined whether or not the read SMF command has a timing to cross the bar line or coincide with the bar line. If it does not have the timing to cross the bar line or coincide with the bar line, the determination result is “NO”, and the process proceeds to Step SE4.

ステップSE4では、前回コマンドからの経過時間に相当するstep値、すなわち今回読み出したSMFコマンドのデルタタイムΔTをレジスタSTEPに加算した後、ステップSE9に進む。ステップSE9では、今回読み出したSMFコマンドのイベントEVが、テンポコマンドMETA_TEMPOであるかどうかを判断する。以下、イベントEVがテンポコマンドMETA_TEMPOであるSMFコマンドを「TEMPOコマンド」と称す。今回読み出したSMFコマンドがTEMPOコマンドでなければ、判断結果は「NO」になり、ステップSE13に進む。そして、ループ処理が終了していなければ、上述のステップSE2に処理を戻し、次のSMFコマンドの読み出しを進める。   In step SE4, a step value corresponding to the elapsed time from the previous command, that is, the delta time ΔT of the SMF command read this time is added to the register STEP, and the process proceeds to step SE9. In step SE9, it is determined whether or not the event EV of the SMF command read this time is a tempo command META_TEMPO. Hereinafter, the SMF command whose event EV is the tempo command META_TEMPO is referred to as a “TEMPO command”. If the SMF command read this time is not a TEMPO command, the determination result is “NO”, and the flow proceeds to step SE13. If the loop processing has not ended, the processing returns to step SE2 described above, and the reading of the next SMF command is advanced.

一方、今回読み出したSMFコマンドがTEMPOコマンドならば、上記ステップSE9の判断結果は「YES」になり、ステップSE10に進む。ステップSE10では、現時点におけるレジスタSTEPの値を、tempo−stepテーブル中の現在テンポ値nowtempoに対応する占有時間(step)に加算する。次いで、ステップSE11では、レジスタSTEPをゼロクリアする。そして、ステップSE12に進み、今回のTEMPOコマンドで新たに設定されるテンポ値に従い、tempo−stepテーブル中の現在テンポ値nowtempoを更新する。この後、ループ処理が終了していなければ、ステップSE13を介して上述のステップSE2に処理を戻し、次のSMFコマンドの読み出しを進める。   On the other hand, if the SMF command read this time is a TEMPO command, the determination result in step SE9 is “YES”, and the flow proceeds to step SE10. In step SE10, the value of the register STEP at the present time is added to the occupation time (step) corresponding to the current tempo value nowtempo in the tempo-step table. Next, in step SE11, the register STEP is cleared to zero. In step SE12, the current tempo value nowtempo in the tempo-step table is updated according to the tempo value newly set by the current TEMPO command. Thereafter, if the loop processing is not completed, the processing is returned to the above-mentioned step SE2 via step SE13, and the reading of the next SMF command is advanced.

このように、読み出したSMFコマンドが小節線を跨ぐか又は小節線に一致するタイミングを有していなければ、前回コマンドからの経過時間(step値)をレジスタSTEPに加算する。そして、読み出したSMFコマンドがTEMPOコマンドであると、現時点で累算しているレジスタSTEPの値を、tempo−stepテーブル中の現在テンポ値nowtempoに対応する占有時間(step)に加算する。これにより、今回のTEMPOコマンドで新たにテンポ変更される前の旧テンポ値の占有時間がtempo−stepテーブルに登録される。そして、tempo−stepテーブルに旧テンポ値の占有時間が登録されると、レジスタSTEPをゼロクリアすると共に、今回のTEMPOコマンドで新たに設定されるテンポ値が、tempo−stepテーブル中の現在テンポ値nowtempoに更新される。   As described above, if the read SMF command does not have the timing of straddling the bar line or matching the bar line, the elapsed time (step value) from the previous command is added to the register STEP. If the read SMF command is a TEMPO command, the value of the register STEP currently accumulated is added to the occupation time (step) corresponding to the current tempo value nowtempo in the tempo-step table. As a result, the occupation time of the old tempo value before the new tempo change by the current TEMPO command is registered in the tempo-step table. When the occupation time of the old tempo value is registered in the tempo-step table, the register STEP is cleared to zero and the tempo value newly set by the current TEMPO command is changed to the current tempo value nowtempo in the tempo-step table. Updated to

こうして、1小節内に存在する各テンポ値(nowtempo)毎の占有時間(step)をtempo−stepテーブルに登録する過程で、読み出されたSMFコマンドが小節線を跨ぐか又は小節線に一致するタイミングを有していると、上述したステップSE3の判断結果が「YES」になり、ステップSE5に進む。   Thus, in the process of registering the occupation time (step) for each tempo value (nowtempo) existing in one measure in the tempo-step table, the read SMF command crosses the measure line or matches the measure line. If it has the timing, the determination result of step SE3 described above becomes “YES”, and the process proceeds to step SE5.

ステップSE5では、前回TEMPOコマンドから小節線までの経過時間を保持するレジスタSTEPの値を、tempo−stepテーブル中の現在テンポ値nowtempoに対応する占有時間(step)に加算する。次いで、ステップSE6では、tempo−stepテーブルの内から最大占有時間を有するテンポ値を取得し、この取得したテンポ値を代表テンポに設定する。なお、tempo−stepテーブルに最大占有時間が同じテンポ値が複数存在する場合には、例えば前小節の代表テンポに近い値の方を現小節の代表テンポに選択する。   In step SE5, the value of the register STEP holding the elapsed time from the previous TEMPO command to the bar line is added to the occupation time (step) corresponding to the current tempo value nowtempo in the tempo-step table. Next, in step SE6, a tempo value having the maximum occupation time is acquired from the tempo-step table, and the acquired tempo value is set as a representative tempo. When there are a plurality of tempo values having the same maximum occupation time in the tempo-step table, for example, a value closer to the representative tempo of the previous measure is selected as the representative tempo of the current measure.

続いて、ステップSE7では、RAM3のデータエリアに格納されるMIDIデータの内、今回走査した小節の頭から1小節分のテンポ値を再度検出し、上記ステップSE6で取得した代表テンポに一致しないテンポ値を設定するテンポコマンドMETA_TEMPOを、メタグルーブテンポコマンドMETA_GROOVETEMPOに差し換える。次いで、ステップSE8では、tempo−stepテーブルの内容を全てゼロクリアすると共に、小節線から現在までのstep値(経過時間)をレジスタSTEPにストアした後、前述したステップSE9に進む。   Subsequently, in step SE7, the tempo value for one measure is detected again from the head of the currently scanned measure in the MIDI data stored in the data area of the RAM 3, and the tempo that does not match the representative tempo obtained in step SE6 is detected. The tempo command META_TEMPO for setting a value is replaced with a meta groove tempo command META_GROOVETEMPO. Next, in step SE8, the contents of the tempo-step table are all cleared to zero, and the step value (elapsed time) from the bar line to the present is stored in the register STEP, and then the process proceeds to step SE9 described above.

以後、演奏トラックの終端に達するまで上述したステップSE2〜SE12の処理を繰り返すことによって、各小節毎の代表テンポが設定され、各小節中では代表テンポに一致しないテンポ値を設定するテンポコマンドMETA_TEMPOが、曲中で局所的な演奏上の揺れを表現する小さなテンポ変動を設定するメタグルーブテンポコマンドMETA_GROOVETEMPOに置換される。   Thereafter, by repeating the processing of steps SE2 to SE12 described above until the end of the performance track is reached, a representative tempo for each measure is set, and a tempo command META_TEMPO for setting a tempo value that does not match the representative tempo is set in each measure. The meta groove tempo command META_GROOVETEMPO for setting a small tempo change expressing local performance fluctuations in the music is replaced.

そして、第2実施形態では、第1実施形態と同様に、自動演奏の開始前に予めUSERテンポ調整値を設定した状態で自動演奏を開始させた場合にのみ、置換されたメタグルーブテンポコマンドMETA_GROOVETEMPOを無効化する一方、テンポコマンドMETA_TEMPOで指定される再生テンポを、設定されたUSERテンポ調整値に応じて更新するので、演奏上の揺れを表現する小さなテンポ変動を排除でき、しかも曲調の再現性を損ねることなく再生テンポを調整し得るようになる。   In the second embodiment, similarly to the first embodiment, the replaced metagroove tempo command META_GROOVETEMPO is used only when the automatic performance is started with the USER tempo adjustment value set in advance before the automatic performance is started. While the playback tempo specified by the tempo command META_TEMPO is updated according to the set USER tempo adjustment value, small tempo fluctuations that express performance fluctuations can be eliminated, and the melody reproducibility can be eliminated. The playback tempo can be adjusted without detracting from the sound.

[変形例]
次に、図12を参照して第2実施形態の変形例について説明する。図12は、第2実施形態の変形例による揺れテンポ検出差換処理の動作を示すフローチャートである。上述した第2実施形態と同様、ステップSD3(図9参照)を介して本処理が実行されると、CPU1は図1に図示するステップSF1に進み、ステップSF1からステップSF15までのループ処理、すなわち演奏トラックのMIDIデータを全て読み出し終えるまでステップSF2〜SF14を繰り返し実行する。
[Modification]
Next, a modification of the second embodiment will be described with reference to FIG. FIG. 12 is a flowchart showing the operation of the shaking tempo detection replacement process according to the modification of the second embodiment. As in the second embodiment described above, when this process is executed via step SD3 (see FIG. 9), the CPU 1 proceeds to step SF1 shown in FIG. 1, and loop processing from step SF1 to step SF15, that is, Steps SF2 to SF14 are repeatedly executed until all the MIDI data of the performance track is read.

先ずステップSF2では、RAM3のデータエリアから1コマンド分のSMFコマンド(デルタタイムΔTおよびイベントEV)を読み出す。続いて、ステップSF3では、読み出したSMFコマンドが小節線を跨ぐか又は小節線に一致するタイミングを有しているかどうかを判断する。小節線を跨ぐか又は小節線に一致するタイミングを有していなければ、判断結果は「NO」になり、ステップSF4に進む。   First, in step SF2, an SMF command (delta time ΔT and event EV) for one command is read from the data area of the RAM 3. Subsequently, in step SF3, it is determined whether or not the read SMF command has a timing to cross the bar line or coincide with the bar line. If it does not have the timing that crosses the bar line or coincides with the bar line, the determination result is “NO”, and the process proceeds to step SF4.

ステップSF4では、前回コマンドからの経過時間に相当するstep値、すなわち今回読み出したSMFコマンドのデルタタイムΔTをレジスタSTEPに加算した後、ステップSF11に進む。ステップSF11では、今回読み出したSMFコマンドのイベントEVが、テンポコマンドMETA_TEMPOであるかどうかを判断する。以下、イベントEVがテンポコマンドMETA_TEMPOであるSMFコマンドを「TEMPOコマンド」と称す。今回読み出したSMFコマンドがTEMPOコマンドでなければ、判断結果は「NO」になり、ステップSF15に進む。そして、ループ処理が終了していなければ、上述のステップSF2に処理を戻し、次のSMFコマンドの読み出しを進める。   In step SF4, a step value corresponding to the elapsed time from the previous command, that is, the delta time ΔT of the SMF command read this time is added to the register STEP, and the process proceeds to step SF11. In step SF11, it is determined whether or not the event EV of the SMF command read this time is a tempo command META_TEMPO. Hereinafter, the SMF command whose event EV is the tempo command META_TEMPO is referred to as a “TEMPO command”. If the SMF command read this time is not the TEMPO command, the determination result is “NO”, and the process proceeds to Step SF15. If the loop processing has not ended, the processing returns to step SF2 described above, and the reading of the next SMF command is advanced.

一方、今回読み出したSMFコマンドがTEMPOコマンドならば、上記ステップSF11の判断結果は「YES」になり、ステップSF12に進む。ステップSF12では、現時点におけるレジスタSTEPの値を、tempo−stepテーブル中の現在テンポ値nowtempoに対応する占有時間(step)に加算する。次いで、ステップSF13では、レジスタSTEPをゼロクリアする。そして、ステップSF13に進み、今回のTEMPOコマンドで新たに設定されるテンポ値に従い、tempo−stepテーブル中の現在テンポ値nowtempoを更新する。この後、ループ処理が終了していなければ、ステップSF15を介して上述のステップSF2に処理を戻し、次のSMFコマンドの読み出しを進める。   On the other hand, if the SMF command read this time is a TEMPO command, the determination result in step SF11 is “YES”, and the flow advances to step SF12. In step SF12, the current value of the register STEP is added to the occupation time (step) corresponding to the current tempo value nowtempo in the tempo-step table. Next, in step SF13, the register STEP is cleared to zero. In step SF13, the current tempo value nowtempo in the tempo-step table is updated according to the tempo value newly set by the current TEMPO command. Thereafter, if the loop processing is not completed, the processing is returned to the above-described step SF2 via the step SF15, and the reading of the next SMF command is advanced.

このように、読み出したSMFコマンドが小節線を跨ぐか又は小節線に一致するタイミングを有していなければ、前回コマンドからの経過時間(step値)をレジスタSTEPに加算する。そして、読み出したSMFコマンドがTEMPOコマンドであると、現時点で累算しているレジスタSTEPの値を、tempo−stepテーブル中の現在テンポ値nowtempoに対応する占有時間(step)に加算する。これにより、今回のTEMPOコマンドで新たにテンポ変更される前の旧テンポ値の占有時間がtempo−stepテーブルに登録される。そして、tempo−stepテーブルに旧テンポ値の占有時間が登録されると、レジスタSTEPをゼロクリアすると共に、今回のTEMPOコマンドで新たに設定されるテンポ値が、tempo−stepテーブル中の現在テンポ値nowtempoに更新される。   As described above, if the read SMF command does not have the timing of straddling the bar line or matching the bar line, the elapsed time (step value) from the previous command is added to the register STEP. If the read SMF command is a TEMPO command, the value of the register STEP currently accumulated is added to the occupation time (step) corresponding to the current tempo value nowtempo in the tempo-step table. As a result, the occupation time of the old tempo value before the new tempo change by the current TEMPO command is registered in the tempo-step table. When the occupation time of the old tempo value is registered in the tempo-step table, the register STEP is cleared to zero and the tempo value newly set by the current TEMPO command is changed to the current tempo value nowtempo in the tempo-step table. Updated to

こうして、1小節内に存在する各テンポ値(nowtempo)毎の占有時間(step)をtempo−stepテーブルに登録する過程で、読み出されたSMFコマンドが小節線を跨ぐか又は小節線に一致するタイミングを有していると、上述したステップSF3の判断結果が「YES」になり、ステップSF5に進む。   Thus, in the process of registering the occupation time (step) for each tempo value (nowtempo) existing in one measure in the tempo-step table, the read SMF command crosses the measure line or matches the measure line. If it has the timing, the determination result in step SF3 described above becomes “YES”, and the process proceeds to step SF5.

ステップSF5では、前回TEMPOコマンドから小節線までの経過時間を保持するレジスタSTEPの値を、tempo−stepテーブル中の現在テンポ値nowtempoに対応する占有時間(step)に加算する。次いで、ステップSF6では、tempo−stepテーブルの内から最大占有時間を有するテンポ値を取得し、この取得したテンポ値を代表テンポに設定する。なお、tempo−stepテーブルに最大占有時間が同じテンポ値が複数存在する場合には、例えば前小節の代表テンポに近い値の方を現小節の代表テンポに選択する。   In step SF5, the value of the register STEP holding the elapsed time from the previous TEMPO command to the bar line is added to the occupation time (step) corresponding to the current tempo value nowtempo in the tempo-step table. Next, in step SF6, a tempo value having the maximum occupation time is acquired from the tempo-step table, and the acquired tempo value is set as a representative tempo. When there are a plurality of tempo values having the same maximum occupation time in the tempo-step table, for example, a value closer to the representative tempo of the previous measure is selected as the representative tempo of the current measure.

続いて、ステップSF7では、上記ステップSF6にて設定した現在の代表テンポの値と、前小節の代表テンポの値との差分が所定値以内であるか否かを判断する。前小節の代表テンポの値との差分が所定値以内であれば、判断結果は「YES」になり、ステップSF8に進み、現在の代表テンポを、前小節の代表テンポに置き換えた後、ステップSF9に進む。   Subsequently, in step SF7, it is determined whether or not the difference between the current representative tempo value set in step SF6 and the representative tempo value of the previous measure is within a predetermined value. If the difference from the representative tempo value of the previous measure is within a predetermined value, the determination result is “YES”, the process proceeds to step SF8, the current representative tempo is replaced with the representative tempo of the previous measure, and then step SF9. Proceed to

これに対し、現在の代表テンポの値と、前小節の代表テンポの値との差分が所定値を超えていると、上記ステップSF7の判断結果が「NO」になり、ステップSF9に進む。ステップSF9では、RAM3のデータエリアに格納されるMIDIデータの内、今回走査した小節の頭から1小節分のテンポ値を再度検出し、代表テンポに一致しないテンポ値を設定するテンポコマンドMETA_TEMPOを、メタグルーブテンポコマンドMETA_GROOVETEMPOに差し換える。次いで、ステップSF10では、tempo−stepテーブルの内容を全てゼロクリアすると共に、小節線から現在までのstep値(経過時間)をレジスタSTEPにストアした後、前述したステップSF11に進む。   On the other hand, if the difference between the current representative tempo value and the representative tempo value of the previous bar exceeds a predetermined value, the determination result in step SF7 is “NO”, and the process advances to step SF9. In step SF9, the tempo command META_TEMPO for detecting again the tempo value for one measure from the head of the currently scanned measure in the MIDI data stored in the data area of the RAM 3 and setting a tempo value that does not match the representative tempo, Replaced with meta groove tempo command META_GROOVETEMPO. Next, in step SF10, all the contents of the tempo-step table are cleared to zero, and the step value (elapsed time) from the bar line to the present is stored in the register STEP, and then the process proceeds to step SF11 described above.

以後、演奏トラックの終端に達するまで上述したステップSF2〜SF14の処理を繰り返すことによって、現小節の代表テンポの値と、前小節の代表テンポの値との差分が所定値以内ならば前小節の代表テンポを現小節の代表テンポに置換し、現小節の代表テンポの値と、前小節の代表テンポの値との差分が所定値を超えていれば現小節の代表テンポを使用するようにし、こうして各小節毎の代表テンポが設定されると、各小節中では代表テンポに一致しないテンポ値を設定するテンポコマンドMETA_TEMPOが、曲中で局所的な演奏上の揺れを表現する小さなテンポ変動を設定するメタグルーブテンポコマンドMETA_GROOVETEMPOに置換される。   Thereafter, by repeating the above-described steps SF2 to SF14 until the end of the performance track is reached, if the difference between the representative tempo value of the current measure and the representative tempo value of the previous measure is within a predetermined value, Replace the representative tempo with the representative tempo of the current measure, and use the representative tempo of the current measure if the difference between the representative tempo value of the current measure and the representative tempo value of the previous measure exceeds a predetermined value. When the representative tempo is set for each measure in this way, the tempo command META_TEMPO that sets a tempo value that does not match the representative tempo in each measure sets a small tempo variation that expresses local performance fluctuations in the song. Is replaced by the meta groove tempo command META_GROOVETEMPO.

したがって、この変形例では、第1実施形態と同様に、自動演奏の開始前に予めUSERテンポ調整値を設定した状態で自動演奏を開始させた場合にのみ、置換されたメタグルーブテンポコマンドMETA_GROOVETEMPOを無効化する一方、テンポコマンドMETA_TEMPOで指定される再生テンポを、設定されたUSERテンポ調整値に応じて更新するので、演奏上の揺れを表現する小さなテンポ変動を排除でき、しかも曲調の再現性を損ねることなく再生テンポを調整し得るようになる。   Therefore, in this modified example, as in the first embodiment, the replaced meta groove tempo command META_GROOVEMETPO is used only when the automatic performance is started with the USER tempo adjustment value set in advance before the automatic performance is started. On the other hand, the playback tempo specified by the tempo command META_TEMPO is updated according to the set USER tempo adjustment value, so that small tempo fluctuations that express fluctuations in performance can be eliminated, and the reproducibility of the melody can be improved. The playback tempo can be adjusted without any loss.

また、変形例では、現小節の代表テンポの値と、前小節の代表テンポの値との差分が所定値以内ならば前小節の代表テンポを現小節の代表テンポに置換するので、例えば曲調のテンポの変更ではなく、一時的に小節のテンポが変化するような曲であると、一定のテンポに維持でき、初心者ユーザ向けの演奏練習に好適となる効果が得られる。   In the modification, if the difference between the representative tempo value of the current measure and the representative tempo value of the previous measure is within a predetermined value, the representative tempo of the previous measure is replaced with the representative tempo of the current measure. If the tempo is not a tempo change but the tempo of the measure changes temporarily, the tempo can be maintained at a constant tempo, and an effect suitable for performance practice for beginner users can be obtained.

本発明による第1実施形態の構成を示すブロック図である。It is a block diagram which shows the structure of 1st Embodiment by this invention. MIDIデータの構成を示す図である。It is a figure which shows the structure of MIDI data. 操作部4に配設される操作スイッチの一例を示す図である。FIG. 4 is a diagram illustrating an example of an operation switch disposed in the operation unit 4. 表示部6の表示形態を示す図である。It is a figure which shows the display form of the display part. メインルーチンの動作を示すフローチャートである。It is a flowchart which shows operation | movement of a main routine. 再生処理の動作を示すフローチャートである。It is a flowchart which shows the operation | movement of a reproduction | regeneration process. メタコマンド処理の動作を示すフローチャートである。It is a flowchart which shows operation | movement of a metacommand process. メタコマンド処理の動作を説明するためのグラフである。It is a graph for demonstrating operation | movement of a metacommand process. 第2実施形態によるメインルーチンの動作を示すフローチャートである。It is a flowchart which shows operation | movement of the main routine by 2nd Embodiment. tempo−stepテーブルの構成を示す図である。It is a figure which shows the structure of a tempo-step table. 揺れテンポ検出差換処理の動作を示すフローチャートである。It is a flowchart which shows the operation | movement of a shaking tempo detection replacement process. 変形例による揺れテンポ検出差換処理の動作を示すフローチャートである。It is a flowchart which shows the operation | movement of the shaking tempo detection replacement process by a modification. 従来の再生テンポ調整に生じる課題を説明するためのグラフである。It is a graph for demonstrating the subject which arises in the conventional reproduction | regeneration tempo adjustment. 従来の再生テンポ調整に生じる課題を説明するためのグラフである。It is a graph for demonstrating the subject which arises in the conventional reproduction | regeneration tempo adjustment. 従来の再生テンポ調整に生じる課題を説明するためのグラフである。It is a graph for demonstrating the subject which arises in the conventional reproduction | regeneration tempo adjustment.

符号の説明Explanation of symbols

1 CPU
2 ROM
3 RAM
4 操作部
5 鍵盤
6 表示部
7 音源
8 サウンドシステム
1 CPU
2 ROM
3 RAM
4 Operation part 5 Keyboard 6 Display part 7 Sound source 8 Sound system

Claims (3)

曲を構成する各音を表すと共に、再生テンポを指定するテンポコマンドを含む演奏データを記憶する演奏データ記憶手段と、Performance data storage means for storing performance data including tempo commands that specify the playback tempo, as well as representing each sound constituting the song,
前記演奏データ記憶手段に記憶される一定区間毎の演奏データの中からそれぞれ区間占有期間が最も長いテンポコマンドを検出すると共に、検出されたテンポコマンドを当該区間の代表的な再生テンポを指定する第1のテンポコマンドに設定し、当該区間中に存在する第1のテンポコマンド以外のテンポコマンドを、テンポ変更を指示する第2のテンポコマンドに差し換えるコマンド差換手段と、A tempo command having the longest section occupation period is detected from the performance data stored in the performance data storage means for each predetermined section, and the detected tempo command designates a representative reproduction tempo of the section. Command replacement means for setting one tempo command and replacing a tempo command other than the first tempo command existing in the section with a second tempo command for instructing a tempo change;
テンポ調整値を設定するテンポ調整手段と、A tempo adjustment means for setting a tempo adjustment value;
前記コマンド差換手段によりテンポコマンドが第1又は第2のテンポコマンドに差し換えられた演奏データを、前記演奏データ記憶手段から読み出して自動演奏する自動演奏手段と、Automatic performance means for automatically reading and playing performance data in which the tempo command is replaced by the first or second tempo command by the command replacement means;
前記テンポ調整手段によりテンポ調整値が設定された状態で自動演奏を開始させた場合にのみ、第2のテンポコマンドによるテンポ変更指示の無効を前記自動演奏手段に指示する一方、前記テンポ調整手段により設定されたテンポ調整値に応じて第1のテンポコマンドで指定される再生テンポを変更するよう前記自動演奏手段に指示するテンポ変更指示手段とOnly when the automatic performance is started with the tempo adjustment value set by the tempo adjustment means, the automatic performance means is instructed to invalidate the tempo change instruction by the second tempo command, while the tempo adjustment means Tempo change instruction means for instructing the automatic performance means to change the playback tempo specified by the first tempo command according to the set tempo adjustment value;
を具備することを特徴とする自動演奏装置。An automatic performance device comprising:
前記コマンド差換手段は、差換対象の現区間の第1のテンポコマンドで指定されるテンポ値と、前区間の第1のテンポコマンドで指定されるテンポ値との差分が所定値以内の場合に、前区間の第1のテンポコマンドを現区間の第1のテンポコマンドに置き換える置換手段をWhen the difference between the tempo value specified by the first tempo command in the current section to be replaced and the tempo value specified by the first tempo command in the previous section is within a predetermined value, the command replacement means And replacement means for replacing the first tempo command in the previous section with the first tempo command in the current section.
更に具備することを特徴とする請求項1記載の自動演奏装置。The automatic performance device according to claim 1, further comprising:
曲を構成する各音を表すと共に、再生テンポを指定するテンポコマンドを含む一定区間毎の演奏データの中からそれぞれ区間占有期間が最も長いテンポコマンドを検出すると共に、検出されたテンポコマンドを当該区間の代表的な再生テンポを指定する第1のテンポコマンドに設定し、当該区間中に存在する第1のテンポコマンド以外のテンポコマンドを、テンポ変更を指示する第2のテンポコマンドに差し換えるコマンド差換処理と、A tempo command having the longest section occupation period is detected from the performance data for each predetermined section including the tempo command for specifying the playback tempo and representing each sound constituting the music, and the detected tempo command is detected in the section. A command difference that is set to a first tempo command that designates a typical playback tempo and replaces a tempo command other than the first tempo command existing in the section with a second tempo command that instructs tempo change. Conversion process,
テンポ調整値を設定するテンポ調整処理と、Tempo adjustment processing to set the tempo adjustment value,
前記コマンド差換処理によりテンポコマンドが第1又は第2のテンポコマンドに差し換えられた演奏データに応じて自動演奏する自動演奏処理と、Automatic performance processing for automatically performing according to performance data in which the tempo command is replaced with the first or second tempo command by the command replacement processing;
前記テンポ調整処理によりテンポ調整値が設定された状態で自動演奏を開始させた場合にのみ、第2のテンポコマンドによるテンポ変更指示の無効を前記自動演奏処理に指示する一方、前記テンポ調整処理により設定されたテンポ調整値に応じて第1のテンポコマンドで指定される再生テンポを変更するよう前記自動演奏処理に指示するテンポ変更指示処理とOnly when the automatic performance is started with the tempo adjustment value set by the tempo adjustment process, the automatic performance process is instructed to invalidate the tempo change instruction by the second tempo command. A tempo change instruction process for instructing the automatic performance process to change the playback tempo specified by the first tempo command in accordance with the set tempo adjustment value;
をコンピュータで実行させることを特徴とする自動演奏処理プログラム。An automatic performance processing program characterized in that the program is executed by a computer.
JP2007032892A 2007-02-14 2007-02-14 Automatic performance device and automatic performance processing program Active JP4973983B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007032892A JP4973983B2 (en) 2007-02-14 2007-02-14 Automatic performance device and automatic performance processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007032892A JP4973983B2 (en) 2007-02-14 2007-02-14 Automatic performance device and automatic performance processing program

Publications (2)

Publication Number Publication Date
JP2008197407A JP2008197407A (en) 2008-08-28
JP4973983B2 true JP4973983B2 (en) 2012-07-11

Family

ID=39756404

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007032892A Active JP4973983B2 (en) 2007-02-14 2007-02-14 Automatic performance device and automatic performance processing program

Country Status (1)

Country Link
JP (1) JP4973983B2 (en)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3171759B2 (en) * 1994-10-05 2001-06-04 株式会社河合楽器製作所 Automatic performance device
JPH08179773A (en) * 1994-12-26 1996-07-12 Casio Comput Co Ltd Automatic rhythm generating device
JP2770767B2 (en) * 1995-03-07 1998-07-02 ヤマハ株式会社 Automatic performance device
JP3713836B2 (en) * 1996-10-08 2005-11-09 ヤマハ株式会社 Music performance device
JPH11259070A (en) * 1998-03-13 1999-09-24 Kawai Musical Instr Mfg Co Ltd Electronic musical instrument
JP3656584B2 (en) * 2001-09-25 2005-06-08 ヤマハ株式会社 Performance data processing apparatus and program
JP3659206B2 (en) * 2001-09-28 2005-06-15 ヤマハ株式会社 Music playback method and mobile phone device
ITBO20020450A1 (en) * 2002-07-12 2004-01-12 Roland Europ Spa METHOD AND DEVICE FOR THE SEARCH AND AUTOMATIC SELECTION OF ONE OR MORE PATTERN OF MUSICAL DATA AND PLAYABLE THROUGH AN INSTRUMENT M
JP2005062697A (en) * 2003-08-19 2005-03-10 Kawai Musical Instr Mfg Co Ltd Tempo display device

Also Published As

Publication number Publication date
JP2008197407A (en) 2008-08-28

Similar Documents

Publication Publication Date Title
JP3598598B2 (en) Karaoke equipment
EP1094442B1 (en) Musical tone-generating method
US6392135B1 (en) Musical sound modification apparatus and method
JP4274272B2 (en) Arpeggio performance device
JP3407610B2 (en) Musical sound generation method and storage medium
JP4201679B2 (en) Waveform generator
JP4973983B2 (en) Automatic performance device and automatic performance processing program
EP3373289A1 (en) Electronic musical instrument, musical sound generating method, and storage medium
JP3613935B2 (en) Performance practice device and medium recording program
JP3613062B2 (en) Musical sound data creation method and storage medium
JP4506147B2 (en) Performance playback device and performance playback control program
JP3379414B2 (en) Punch-in device, punch-in method, and medium recording program
JP4320941B2 (en) Music information editing apparatus, method, and recording medium
JP3861886B2 (en) Musical sound waveform data creation method and storage medium
JP4685226B2 (en) Automatic performance device for waveform playback
JP3832147B2 (en) Song data processing method
JP3656726B2 (en) Musical signal generator and musical signal generation method
JPH10247059A (en) Play guidance device, play data generating device for play guide, and storage medium
JP4172366B2 (en) Automatic performance device, automatic performance program, automatic performance data and recording medium recording the data
JP3797180B2 (en) Music score display device and music score display program
JP3709820B2 (en) Music information editing apparatus and music information editing program
JP4067007B2 (en) Arpeggio performance device and program
JP3797181B2 (en) Music score display device and music score display program
JP3577852B2 (en) Automatic performance device
JP5548975B2 (en) Performance data generating apparatus and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100118

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111227

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120222

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120316

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120329

R150 Certificate of patent or registration of utility model

Ref document number: 4973983

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150420

Year of fee payment: 3