JP2009020539A - Automatic performance apparatus and program - Google Patents
Automatic performance apparatus and program Download PDFInfo
- Publication number
- JP2009020539A JP2009020539A JP2008275958A JP2008275958A JP2009020539A JP 2009020539 A JP2009020539 A JP 2009020539A JP 2008275958 A JP2008275958 A JP 2008275958A JP 2008275958 A JP2008275958 A JP 2008275958A JP 2009020539 A JP2009020539 A JP 2009020539A
- Authority
- JP
- Japan
- Prior art keywords
- performance
- tempo
- sound
- operator
- sound generation
- 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.)
- Granted
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
Description
本発明は、アンサンブル演奏を簡単に行うことができる自動演奏装置及びプログラムに関する。 The present invention relates to an automatic performance apparatus and a program that can easily perform an ensemble performance.
近年、電子楽器分野においては、楽器を全く演奏したことがない楽器演奏初心者であっても簡単にアンサンブル演奏が楽しめるような演奏装置が種々開発されている。かかる演奏装置として、自動演奏データを用いた自動演奏の各楽器のパートを各操作子に割り当て、各操作子の操作状態(例えば、「振る」、「叩く」、「傾ける」等)を検出することにより、各楽器に対応したパート音の音量、音色や演奏テンポなどを独自に変化させることができるものが提案されている(例えば、特許文献1参照)。
各操作子を操作する操作者は、操作子を「振る」といった簡単な操作により、該操作子に割り当てられたパートの演奏を制御することができ、これにより楽器演奏初心者であってもアンサンブル演奏の充実感を味わうことができる。
In recent years, in the field of electronic musical instruments, various performance devices have been developed so that even novice musical instrument players who have never played musical instruments can easily enjoy ensemble performances. As such a performance device, each musical instrument part of automatic performance using automatic performance data is assigned to each operation element, and the operation state of each operation element (for example, “swing”, “hit”, “tilt”, etc.) is detected. Thus, there has been proposed one that can independently change the volume, tone color, performance tempo, etc. of the part sound corresponding to each instrument (see, for example, Patent Document 1).
An operator who operates each operator can control the performance of the part assigned to the operator by a simple operation such as “swing” the operator. You can enjoy a sense of fulfillment.
しかしながら、上記演奏装置においては、各パート演奏が各操作者による操作によって独自に制御されるため、例えば各操作者が自身の曲想に従って操作子に割り当てられたパートの演奏テンポ(進行)を変えると、当然に各パート間での演奏進行のずれは大きくなる。この結果、各パート演奏がばらばらになり、統一感ある表現豊かなアンサンブル演奏ができないという問題があった。 However, in the above performance device, each part performance is independently controlled by the operation of each operator. For example, when each operator changes the performance tempo (progress) of the part assigned to the operator according to his / her own musical idea. Of course, the difference in performance progress between the parts becomes large. As a result, there was a problem that the performances of each part were scattered and it was not possible to perform an expressive ensemble performance with a sense of unity.
本発明は、以上説明した事情を鑑みてなされたものであり、統一感ある表現豊かなアンサンブル演奏を可能とする自動演奏装置及びプログラムを提供することを目的とする。 The present invention has been made in view of the circumstances described above, and an object of the present invention is to provide an automatic performance apparatus and program capable of performing a unified and expressive ensemble performance.
上述した問題を解決するため、本発明に係る自動演奏装置は、楽音の発音内容を示す発音イベントが複数のチャネルに配されている演奏データから前記各チャネルの発音イベントを順次読み出し、読み出した発音イベントを処理することによりアンサンブル演奏をする自動演奏装置において、各操作者によって操作されると、操作状況に応じた操作信号及び当該操作子を識別するための識別情報を出力する複数の操作子と、前記各操作子と前記各チャネルとの対応関係及び前記各操作子の主従関係とをあらわす操作関連情報を記憶する記憶手段と、前記操作信号及び前記識別情報が前記各操作子から出力されると、前記操作関連情報を参照し、前記識別情報に対応するチャネルについて、次に発音すべき楽音の発音イベントを読み出して発音処理する発音処理手段と、前記主となる操作子から操作信号が出力された出力時刻を検出するとともに、前回の出力時刻との時間間隔を算出する時間間隔算出手段と、前記各チャネルの楽音の発音長を制御するためのテンポを記憶するテンポ記憶手段と、前記時間間隔算出手段が算出した時間間隔が所定時間未満である場合には、当該時間間隔、および前記主となる操作子に対応するチャネルについて前回発音処理された発音イベントの音符の長さに基づきテンポを算出し、前記テンポ記憶手段に記憶されたテンポを更新する一方、当該時間間隔が前記所定時間以上である場合には、前記テンポ記憶手段に記憶されたテンポを更新しないテンポ更新手段と、前記発音処理手段が処理をする発音イベントの発音長を、前記テンポ記憶手段に記憶されたテンポに対応した長さに制御する発音長制御手段とを具備し、前記発音処理手段は、前記従となる操作子からの操作信号が、所定時間以上出力されない場合には、当該操作子に対応するチャネルについては、次に当該操作子から操作信号が出力されるまでは、前記主となる操作子からの操作信号に応じて発音イベントを読み出して発音処理することを特徴とする。 In order to solve the above-described problem, the automatic performance device according to the present invention sequentially reads out the sounding events of each channel from performance data in which sounding events indicating the sounding content of the musical sound are arranged in a plurality of channels, In an automatic performance device that performs an ensemble performance by processing an event, when operated by each operator, a plurality of operators that output an operation signal corresponding to an operation situation and identification information for identifying the operator Storage means for storing operation-related information indicating the correspondence between each operator and each channel and the master-slave relationship of each operator; and the operation signal and the identification information are output from each operator. And the operation related information is read out, and the sound generation event of the musical sound to be sounded next is read out for the channel corresponding to the identification information. Sound generation processing means, an output time at which an operation signal is output from the main operator, a time interval calculating means for calculating a time interval from the previous output time, and a musical sound of each channel If the time interval calculated by the tempo storage means for controlling the pronunciation length and the time interval calculation means is less than a predetermined time, it corresponds to the time interval and the main operator. The tempo is calculated based on the note length of the sound generation event that has been previously processed for the channel, and the tempo stored in the tempo storage means is updated. Tempo update means for not updating the tempo stored in the tempo storage means, and the pronunciation length of the pronunciation event processed by the pronunciation processing means are stored in the tempo storage means A sound generation length control means for controlling the sound length to a length corresponding to the specified tempo, and the sound generation processing means, when an operation signal from the slave operation element is not output for a predetermined time or more, For a channel corresponding to, until a next operation signal is output from the operation element, a sound generation event is read out according to the operation signal from the main operation element, and sound generation processing is performed.
ここで、上記構成にあっては、前記従となる操作子に対応する発音イベントの位置が、前記発音処理手段によって次に処理される前記主となる操作子に対応する発音イベントの位置を越えないように前記発音処理手段による発音処理を制御する発音処理制御手段をさらに具備してもよい。
また、前記発音処理制御手段は、前記従となる操作子から操作信号が出力された場合、当該時点における前記従となる操作子に対応する発音イベントの位置が前記発音処理手段によって次に処理される前記主となる操作子に対応する発音イベントの位置の直前まで達しているか否かを確認し、直前に達していない場合には、前記従となる操作子に対応する発音イベントの位置が前記発音処理手段によって次に処理される前記主となる操作子に対応する発音イベントの位置を越えない範囲で、前記操作信号に従って前記発音処理手段による発音処理を進めてもよい。
Here, in the above configuration, the position of the sounding event corresponding to the subordinate operating element exceeds the position of the sounding event corresponding to the main operating element processed next by the sounding processing means. There may be further provided sound generation processing control means for controlling sound generation processing by the sound generation processing means.
In addition, when the operation signal is output from the slave operation element, the sound generation process control means is configured to process next the position of the sound generation event corresponding to the slave operation element at the time point by the sound generation processing means. Whether or not the position of the sounding event corresponding to the main operation element is reached immediately before, if not, the position of the sounding event corresponding to the subordinate operation element is The sound generation processing by the sound generation processing means may be advanced in accordance with the operation signal within a range not exceeding the position of the sound generation event corresponding to the main operator to be processed next by the sound generation processing means.
また、前記従となる操作子に対応する発音イベントの位置が、前記発音処理手段によって次に処理される前記主となる操作子に対応する発音イベントの位置よりも所定量以上遅れている場合、前記従となる操作子に対応する発音イベントの位置を前記主となる操作子に対応する発音イベントの位置までスキップさせる発音位置制御手段をさらに具備してもよい。 Further, when the position of the sounding event corresponding to the subordinate manipulator is delayed by a predetermined amount or more than the position of the sounding event corresponding to the main manipulator to be processed next by the sounding processing means, Sound generation position control means for skipping the position of the sounding event corresponding to the slave operation element to the position of the sounding event corresponding to the main operation element may be further provided.
本発明によれば、統一感ある表現豊かなアンサンブル演奏が可能となる。 According to the present invention, an ensemble performance with a sense of unity and rich expression can be achieved.
以下、本発明に係る実施の形態について説明する。かかる実施の形態は、本発明の一態様を示すものであり、本発明の技術的思想の範囲で任意に変更可能である。 Embodiments according to the present invention will be described below. Such an embodiment shows one aspect of the present invention, and can be arbitrarily changed within the scope of the technical idea of the present invention.
A.本実施形態
<実施形態の構成>
図1は、本実施形態の構成を示す図である。同図において、操作子1−1,1−2,…,1−n(nは整数)は、図3に示すように操作者Aが手に持って自由に動かすことができる棒状の形状をしている。なお、操作子1−1〜1−nについて総称するときは、単に操作子1と記すことにする。
この操作子1には、その動きを検出するためのセンサが内蔵されている。本実施形態においては操作子1が振られていることを検出するための速度センサが内蔵されている。操作子1は振り下ろされた瞬間の速度センサの出力信号の変化に応じたピーク信号SP(すなわち、操作子1の操作状況に応じた操作信号)を出力するようになっている。なお、本実施形態においては、操作子1の振り下ろしが検出されればよいので、センサとしては他のもの(例えば加速度センサなど)を用いてもよい。また、操作子1は、各々自己を識別するための識別情報SIDを出力するようになっている。なお、各操作子1−1〜1−nの識別情報をSID(1−1)〜SID(1−n)と表記する。
操作子1は、ピーク信号SPと識別情報SIDを含んだセンサ情報SIを無線によって受信装置2に送信し、受信装置2はセンサ信号SIをパーソナルコンピュータ3に供給するようになっている。なお、本実施形態においては、Bluetooth(登録商標)による無線伝送方式が採用されるが、この伝送方式は任意である。
A. Embodiment <Configuration of Embodiment>
FIG. 1 is a diagram showing a configuration of the present embodiment. In FIG. 3, the operating elements 1-1, 1-2,..., 1-n (n is an integer) have a rod-like shape that can be freely moved by the operator A as shown in FIG. is doing. Note that when the operators 1-1 to 1-n are collectively referred to, they are simply referred to as the
The
The
図2は、パーソナルコンピュータ3の構成を示すブロック図であり、受信装置2は、USB(Universal Serial Bus)インターフェイス(I/F)309に接続されている。そして、USBインターフェイス309を介してセンサ情報SIはCPU301に供給される。
同図において、CPU301は、RAM303の記憶領域をワークエリアとして利用し、ROM302に格納されている各種プログラムを実行することで装置各部を制御する。
ハードディスク装置(以下、HDDと記す)304には複数の演奏データが記憶されており、また、外部記憶装置310に挿入されるCD−ROMにも複数の演奏データが記録されている。本実施形態において用いる演奏データは、MIDI規格によるものであるが、演奏データは楽音を指定する楽音パラメータの集合となっている。
自動演奏が指示されたときは、指定された演奏データがHDD304またはCD−ROMより呼び出されて、RAM303の演奏データ格納領域に格納される。演奏データ格納領域に格納された演奏データの各楽音パラメータは、CPU301によって演奏の進行に沿って順次読み出されるようになっている。
FIG. 2 is a block diagram showing a configuration of the
In the figure, a
A plurality of performance data is stored in a hard disk device (hereinafter referred to as HDD) 304, and a plurality of performance data is also recorded on a CD-ROM inserted into the
When the automatic performance is instructed, the designated performance data is called from the
表示部305は、CPU301の制御の下に各種情報を表示する。キーボード306およびポインティングデバイス307は、操作者の操作に従って各種の指示や情報を入力する。また、MIDIインターフェイス308は、パーソナルコンピュータ3と音源装置4との間でMIDI規格の楽音パラメータの送受信を行うためのインターフェイスである。
次に、図1に示す音源装置4はパーソナルコンピュータ3から出力されたMIDI規格の楽音パラメータを受信して、これに基づいて楽音信号を生成する。この楽音信号の生成においては、楽音パラメータデータが示す音高、音量、残響、ブライトネス、音像等に従って楽音信号が形成される。この楽音信号は、アンプ5へと供給され、アンプ5において楽音信号が増幅された後にスピーカ6にて放音される。
以上説明した受信装置2,パーソナルコンピュータ3,音源装置4,アンプ5,スピーカ6によって自動演奏装置100が構成されている。
The
Next, the
The
(演奏データの内容)
ここで、HDD304またはCD−ROMに記憶されている演奏データの構造について説明する。
本実施形態においては、上述したようにMIDI規格による演奏データを用いて自動演奏を行う。演奏データを構成する楽音パラメータには、一つひとつの音符について音高、音長、ベロシティ(つよさ)などを示すもの、楽曲全体に影響を与えるもの(全体の音量、テンポ、残響や音像定位など)、あるいは特定のパートの全体に影響を与えるもの(パート別の残響や音像定位など)がある。
本実施形態においては、演奏の進行に応じて楽音パラメータを順次読み出して自動演奏処理を行うが、操作子1の操作に応じて楽曲の進行を制御するようになっている。
(Contents of performance data)
Here, the structure of performance data stored in the
In the present embodiment, as described above, automatic performance is performed using performance data according to the MIDI standard. The musical sound parameters that make up the performance data indicate the pitch, length, velocity, etc. of each note, and affect the entire song (total volume, tempo, reverberation, sound image localization, etc.) Or, there are things that affect the whole of a specific part (such as reverberation and sound localization for each part).
In the present embodiment, the musical sound parameters are sequentially read according to the progress of the performance and the automatic performance processing is performed. However, the progress of the music is controlled according to the operation of the
以下においては、本実施形態で用いる演奏データについて図4を参照して詳細に説明する。図4は行と列のマトリックスになっているので、まず、列について説明する。
第1列のデルタタイムは、イベントとイベントとの時間間隔を示しており、テンポクロックの数で表される。デルタタイムが「0」の場合は、直前のイベントと同時に実行される。
第2列には演奏データの各イベントが持つメッセージの内容が記述されている。このメッセージには、例えば発音イベントを示すノートオンメッセージ(NoteOn)や消音イベントを示すノートオフメッセージ(NoteOff)の他、音量やパンポット(音像定位)を指示するコントロールチェンジメッセージ(ControlChange)等が含まれる。
In the following, the performance data used in this embodiment will be described in detail with reference to FIG. Since FIG. 4 is a matrix of rows and columns, the columns will be described first.
The delta time in the first column indicates the time interval between events, and is represented by the number of tempo clocks. When the delta time is “0”, it is executed simultaneously with the immediately preceding event.
In the second column, the contents of messages of each event of the performance data are described. This message includes, for example, a note-on message (NoteOn) indicating a sound generation event and a note-off message (NoteOff) indicating a mute event, as well as a control change message (ControlChange) instructing the volume and panpot (sound image localization). It is.
第3列にはチャネルの番号が記述されている。各チャネルは各々異なる演奏パートに対応し、複数のチャネルが同時に演奏されることにより、アンサンブル演奏がなされる。なお、メタイベントやシステムエクスクルーシブイベント等のチャネルに依存しないイベントデータについては、この第3列に値を持たない。
第4列には、ノートナンバ(NoteNum)、プログラムナンバ(ProgNum)あるいはコントロールナンバ(CtrlNum)が記述されるが、どれが記述されるかはメッセージの内容により異なる。例えばノートオンメッセージまたはノートオフメッセージであれば、ここには音階を表すノートナンバが記述され、またコントロールチェンジメッセージであればその種類(音量やパンポット等)を示すコントロールナンバが記述されている。
第5列にはMIDIメッセージの具体的な値(データ)が記述されている。例えばノートオンメッセージまたはノートオフメッセージであれば、ここには音の強さを表すベロシティの値が記述され、またコントロールチェンジメッセージであればコントロールナンバに応じたパラメータの値が記述されている。
The third column describes channel numbers. Each channel corresponds to a different performance part, and an ensemble performance is performed by simultaneously performing a plurality of channels. It should be noted that event data that does not depend on the channel, such as meta events and system exclusive events, does not have a value in this third column.
In the fourth column, a note number (NoteNum), a program number (ProgNum), or a control number (CtrlNum) is described. Which is described depends on the content of the message. For example, in the case of a note-on message or note-off message, a note number indicating a musical scale is described here, and in the case of a control change message, a control number indicating the type (volume, panpot, etc.) is described.
The fifth column describes specific values (data) of the MIDI message. For example, in the case of a note-on message or a note-off message, a velocity value representing the sound intensity is described here, and in the case of a control change message, a parameter value corresponding to a control number is described.
次に、図4に示す各行について説明する。まず、第1行のヘッダー(Header)は時間単位を示している。「時間単位」とは分解能を示すものであり、4分音符あたりのテンポクロック数で表現される。図4においては「480」の値がセットされており、この場合は4分音符一つが480個分のテンポクロックの長さに対応することが指示されたことを意味している。
第2行のテンポ指令値(SetTempo)は、演奏の速さを指定し、4分音符の長さをマイクロ秒で表す。例えば、4分音符=120のテンポの場合、4分音符が1分間に120拍であるため、60(秒)/120(拍)×1000000=500000(マイクロ秒)の値が、テンポ指令値の値としてセットされる。自動演奏はテンポクロックに基づく速さで行われるが、テンポクロックの周期は、テンポ指令値と時間単位の値に応じて制御されるようになっている。したがって、テンポ指令値(SetTempo)が「500000」で時間単位が「480」の場合は、テンポクロックの周期は「1/960」となる。
第3行から第6行にはシステムエクスクルーシブメッセージが記述され、第7行から第11行にはプログラムチェンジメッセージとコントロールチェンジメッセージが記述されている。これらは、楽曲全体に影響を与える楽音パラメータであるが、本実施形態の動作には関係がないので、その説明は割愛する。
Next, each row shown in FIG. 4 will be described. First, the header (Header) in the first row indicates a time unit. “Time unit” indicates resolution and is expressed by the number of tempo clocks per quarter note. In FIG. 4, a value of “480” is set, which means that it is instructed that one quarter note corresponds to the length of 480 tempo clocks.
The tempo command value (SetTempo) on the second line specifies the speed of performance and represents the length of a quarter note in microseconds. For example, in the case of a quarter note = 120 tempo, since a quarter note is 120 beats per minute, the value of 60 (seconds) / 120 (beats) × 1000000 = 500000 (microseconds) is the tempo command value. Set as a value. The automatic performance is performed at a speed based on the tempo clock, and the cycle of the tempo clock is controlled according to the tempo command value and the value in time unit. Therefore, when the tempo command value (SetTempo) is “500000” and the time unit is “480”, the cycle of the tempo clock is “1/960”.
次に、第12行以降は、各チャネルの音符についての楽音パラメータとなっている。これらは発音を示すノートオンイベント(NoteOn)と消音を示すノートオフイベント(NoteOff)のメッセージで構成され、各イベントには音高を示すノートナンバ(NoteNum)と、音の強さを示すベロシティ(Velocity)が付加される。
ここで、図4に示す音符列がどのように演奏されるかを説明すると、まずチャネル「1」で「C4」、チャネル「2」で「E4」、チャネル「3」で「G4」、チャネル「4」で「B4」、チャネル「5」で「C3」が同時に発音される。それからデルタタイム「240」の後にチャネル「2」から「5」が一斉に消音する。このときチャネル「1」にはノートオフイベントが記述されていないので、チャネル「1」では引き続き「C4」の音が発音される。チャネル「2」から「5」においては、消音と同時に次の音が発音される。具体的にはチャネル「2」、「4」、「5」で「F4」、チャネル「3」で「A4」の音が発音される。
以上のような手順で各チャネルの発音と消音が繰り返され、演奏が進行する。
すなわち、MIDIデータを用いた一般的な自動演奏処理は、デルタタイムによって示される時間を待って次々とイベントを実行する、という処理を演奏が終了するまで繰り返す。ただし、本実施形態においては、デルタタイムに基づいた楽曲の進行の制御よりも、操作子1の操作に応じた楽曲の進行制御の方が優先される。その詳細については後述する。
Next, the music parameters for the notes of each channel are shown in the twelfth and subsequent lines. These are composed of a note-on event (NoteOn) indicating sound and a note-off event (NoteOff) indicating mute. Each event has a note number (NoteNum) indicating a pitch and a velocity (note). (Velocity) is added.
Here, how the musical note sequence shown in FIG. 4 is played will be described. First, “C4” in channel “1”, “E4” in channel “2”, “G4” in channel “3”, channel “B4” is sounded simultaneously with “4”, and “C3” is sounded simultaneously with channel “5”. Then, after the delta time “240”, the channels “2” to “5” are muted all at once. At this time, since no note-off event is described in channel “1”, the sound of “C4” is continuously generated in channel “1”. In channels “2” to “5”, the next sound is produced simultaneously with the mute. Specifically, “F4” is sounded on channels “2”, “4”, and “5”, and “A4” is sounded on channel “3”.
The sounding and muting of each channel is repeated in the above procedure, and the performance proceeds.
That is, in a general automatic performance process using MIDI data, the process of waiting for the time indicated by the delta time and executing events one after another is repeated until the performance ends. However, in the present embodiment, the music progression control according to the operation of the
(RAM303に設定されるテーブルの内容)
次に、RAM303に設定されるテーブルについて説明する。パーソナルコンピュータ3の電源投入時に起動されるROM302のプログラムに基づき、CPU301は、初期設定を行うが、このときRAM303の記憶領域にそれぞれ図5、図6に示されるようなテーブルを作成する。
図5に示すTB1はチャネル設定テーブルであり、操作子とチャネルの対応関係が設定されている。なお、この対応関係は、キーボード306やポインティングデバイス307を操作することによって自由に変更することができる。
図6に示すTB2は現在テンポテーブルであり、操作子1の操作(振り下ろしの間隔)に応じたテンポ値Tempo・Rが格納される。このテンポ値Tempo・Rは操作子1が振り下ろされる度に更新されるようになっている。なお、初期状態においては、演奏データに含まれているテンポ指令値(SetTempo)の値が書き込まれるようになっている。
(Contents of table set in RAM 303)
Next, a table set in the
TB1 shown in FIG. 5 is a channel setting table, in which the correspondence between operators and channels is set. Note that this correspondence can be freely changed by operating the
TB2 shown in FIG. 6 is a current tempo table, and stores a tempo value Tempo · R corresponding to the operation of the operator 1 (the swing-down interval). This tempo value Tempo · R is updated every time the
<実施形態の動作>
上記の構成によるこの実施形態の動作について説明する。
まず、この自動演奏装置100には、各種の演奏モードが備わっており、操作者がキーボード306等を用いてモードの選択操作をすることにより、モードの選択や組み合わせが設定される。
各モードについて簡単に説明すると、まず、操作者が単独で演奏をする単独演奏モードと複数の操作者が異なるパートを同時に演奏する複数演奏モードがある。また、単独演奏モードと複数演奏モードのそれぞれにおいては、操作子1が振り下ろされる間隔(いわゆる楽曲の拍タイミング)に基づいてテンポが制御されるマニュアルモードと、操作子1が振り下ろされる度に、対応するチャネルのノートオンイベント(NoteOn)が読み出されて発音されるノートモードとがある。以下、それぞれのモードの動作について説明する。
<Operation of Embodiment>
The operation of this embodiment having the above configuration will be described.
First, the
Each mode will be briefly described. First, there are a single performance mode in which an operator performs independently and a multiple performance mode in which a plurality of operators perform different parts simultaneously. Further, in each of the single performance mode and the multiple performance mode, a manual mode in which the tempo is controlled based on an interval (so-called beat timing of the music) at which the
a:単一操作子演奏モード
このモードは、一人の操作者が単一の操作子を操作して一つまたは複数のパートの演奏を制御するモードである。この単一操作子演奏モードにおいては、ノートモードとマニュアルモードを選択することができる。さらに、単一操作子演奏モードにおいて複数のパートの演奏を制御する場合のノートモードには、ノート自動モードとノート伴奏モードの二つのモードがある。
(1)ノートモード
このモードは、操作子1が振り下ろされる度に、例えばメロディパートなど操作子に対応するチャネルのノートオンイベント(NoteOn)が読み出されて発音されるとともに、例えば伴奏パートに対応するチャネルのノートオンイベント(NoteOn)を操作子1の振り下ろしタイミングに応じて読み出して発音することにより、アンサンブル演奏を自動的に行うモードである。
a: Single operator operation mode This mode is a mode in which one operator operates a single operator to control the performance of one or more parts. In the single operator performance mode, a note mode and a manual mode can be selected. Further, note modes for controlling the performance of a plurality of parts in the single operator performance mode include two modes, an automatic note mode and a note accompaniment mode.
(1) Note mode In this mode, every time the
(単独の演奏パートの演奏)
初めに、単独のパートを演奏する場合を例にとる。図7は単独のパートの一例を示す楽譜であり、図8はそれに対応した演奏データの一部である。なお、図8に示す演奏データにおいては、「時間単位」が「480」に設定されており(図4参照)、4分音符に相当するデルタタイムは「480」になっている。
まず、図8に示す演奏データを用いて、一般的な自動演奏を行った場合の動作を説明する。演奏の開始が指示されると、図2に示すCPU301は、図8に示す演奏データをRAM303の演奏データ格納領域に格納し、先頭のデータから順次読み出して処理してゆく。ノートイベントについては、まず、E3音のノートオンイベント(NoteOn)が読み出され、MIDIインターフェイス308を介して音源装置4に転送される。音源装置4は、E3音の楽音信号を生成し、この楽音信号はアンプ5で増幅された後にスピーカ6で放音される。
(Performance of a single performance part)
First, take the case of playing a single part as an example. FIG. 7 is a musical score showing an example of a single part, and FIG. 8 is a part of performance data corresponding thereto. In the performance data shown in FIG. 8, the “time unit” is set to “480” (see FIG. 4), and the delta time corresponding to the quarter note is “480”.
First, an operation when a general automatic performance is performed using the performance data shown in FIG. 8 will be described. When the start of performance is instructed, the
そして、デルタタイム「480」の後、すなわち、テンポクロックを480カウントした後に、E3音のノートオフイベント(NoteOff)が読み出され、E3音が消音される。この結果、E3音は4分音符の長さだけ発音される。また、E3音のノートオフイベント(NoteOff)に対しデルタタイム「0」のイベントであるF3音のノートオンイベント(NoteOn)が、同時に読み出されて発音される。そして、デルタタイム「240」の後に、F3音のノートオフイベント(NoteOff)が読み出され、F3音が消音される。これにより、F3音は8分音符の長さだけ発音される。以後、同様にして発音処理、消音処理が行われ、図7に示す楽曲の演奏が自動的に行われてゆく。なお、デルタタイムが「0」のC4音はA3音と同時に発音され、同様にB3音とD4音も同時に発音される。このようにして和音についても自動演奏が行われる。自動演奏のテンポは、テンポクロックの周期で決定されるが、テンポクロックの周期は前述したようにテンポ指令値(SetTempo)で決定される(図4参照)。 Then, after the delta time “480”, that is, after the tempo clock is counted 480, the note-off event (NoteOff) of the E3 sound is read and the E3 sound is muted. As a result, the E3 sound is pronounced for the length of the quarter note. In addition, an F3 note-on event (NoteOn), which is a delta time “0” event, is simultaneously read out and sounded with respect to an E3 note-off event (NoteOff). Then, after the delta time “240”, a note-off event (NoteOff) of the F3 sound is read, and the F3 sound is muted. As a result, the F3 sound is sounded for the length of an eighth note. Thereafter, the sound generation process and the mute process are performed in the same manner, and the music performance shown in FIG. 7 is automatically performed. Note that the C4 sound with a delta time of “0” is pronounced at the same time as the A3 sound, and the B3 sound and the D4 sound are also pronounced at the same time. In this way, the chord is automatically played. The tempo of automatic performance is determined by the tempo clock cycle, and the tempo clock cycle is determined by the tempo command value (SetTempo) as described above (see FIG. 4).
以上の自動演奏によって各音符が発音された時刻を図7に示すように時刻t1〜t6とする。これらの時刻t1〜t6は、テンポ指令値(SetTempo)に基づく一定のテンポで演奏を行った場合の各音符の発音時刻である。
次に、本実施形態における操作子1を用いた演奏について説明する。操作者は、まず、演奏開始を自動演奏装置100に指示するために操作子1を振り下ろす(以下、この操作を前うち操作という)。操作者によって前うち操作がなされると、操作子1からは、上から下へ振り下ろした時の速度変化を表すピーク信号SPが出力される。ピーク信号SPは受信装置2を介してCPU301に供給される。CPU301は、操作子1から最初のピーク信号SPを受け取ると、操作者によって前うち操作がなされたと判断し、図6に示す現在テンポテーブルTB2の現在テンポTempo・Rの値をテンポ指令値(SetTempo)の値に設定する。そして、テンポクロックの周期を現在テンポTempoの値に従って決定する。なお、前うち操作がなされた段階においては、自動演奏は開始されず、この段階においては演奏データ内のテンポ指令値(SetTempo)に従ってテンポクロックが決定されていることになる。
The time when each note is pronounced by the above automatic performance is defined as time t1 to t6 as shown in FIG. These times t1 to t6 are the pronunciation times of each note when a performance is performed at a constant tempo based on the tempo command value (SetTempo).
Next, a performance using the
次に、操作者が操作子1を振り下ろすと、振り下ろしたタイミングにおいてピーク信号(操作信号)SPが出力される。ピーク信号SPは受信装置2を介してCPU301に供給される。CPU(発音処理手段)301は、ピーク信号SPを受け取ると、図8に示すE3音のノートオンイベント(NoteOn)を読み出し、これについて上述した場合と同様の発音処理を行う。このように本実施形態においては、前うち操作がなされた後に操作子1が振り下ろされてはじめて、自動演奏が開始される。
そして、発音されたE3音は、デルタタイム「480」をカウントしている間は発音が継続されるが、操作者が時刻t2より早いタイミングで操作子1を再度振り下ろすと、この振り下ろしによってピーク信号SPが出力されたタイミングでE3音のノートオフイベント(NoteOff)、F3音のノートオンイベント(NoteOn)が読み出され、それぞれ消音処理、発音処理がなされる。例えば、時刻t11で2度目の振り下ろし(前うち操作のための振り下ろしを除く;以下同様)があると、この時刻においてE3音が消音され、F3音が発音される。
Next, when the operator swings down the
And the sounded E3 sound continues to be sounded while the delta time “480” is counted. However, when the operator swings down the
一方、操作子1の2度目の振り下ろしが時刻t2になっても行われない場合は、デルタタイム「480」をカウントし終えたタイミングで、CPU301はE3音のノートオフイベント(NoteOff)を読み出し、E3音を消音する。そして、CPU301は、F3音のノートオンイベント(NoteOn)を読み出さず、このイベントが格納されているRAM303の記憶エリアのアドレスをポインタに格納して自動演奏を一時中止する。すなわち、CPU301は、現在発音中の音のノートオフイベント(NoteOff)が読み出されても、次のピーク信号SPが来ない場合は、次の音の発音処理に移行せず、自動演奏を一時中止する。また、次に発音すべきF3音が、E3音に対してデルタタイムが「0」でない場合(楽譜上は休符を挟んで位置している場合)も、次に発音すべきF3音のノートオンイベント(NoteOn)が格納されている記憶エリアのアドレスをポインタに格納して自動演奏を一時中止する。
On the other hand, if the second swing of the
なお、場合によっては、消音の時刻が異なる複数の音を同時に発音していることもあるが、この場合には、最後に消音する音のノートオフイベント(NoteOff)が読み出されるまでにピーク信号SPが検出されなければ、次のノートオンイベント(NoteOn)を読み出すことなく、自動演奏を一時中止する。
そして、自動演奏が中止された後に、操作者が操作子1を振り下ろすと、このタイミングにおいてピーク信号SPが出力される。このピーク信号SPがCPU301に検出されると、CPU301はポインタから、次に発音すべき音のイベントが格納されているアドレスを読み出し、そのアドレスにあるノートオンイベント(NoteOn)を実行する。図7、図8に示す例において時刻t21にピーク信号SPが検出された場合は、この時刻においてF3音のノートオンイベント(NoteOn)を読み出し、発音処理を行う。
In some cases, a plurality of sounds having different mute times may be simultaneously generated. In this case, the peak signal SP is read before the note-off event (NoteOff) of the last mute sound is read out. If is not detected, the automatic performance is temporarily stopped without reading the next note-on event (NoteOn).
When the operator swings down the
また、上記処理においては、CPU(間隔算出手段)301は、ピーク信号SPを検出したときは、その時刻と一つ前にピーク信号SPを検出した時刻との差を求める。すなわち、上記の場合は、(t11−t1)あるいは(t21−t1)を求める。そして、CPU(テンポ更新手段)301は、この時間差に基づいてテンポを更新し、更新したテンポをテンポ値Tempo・Rとして現在テンポテーブルTB2に格納する。
新しいテンポは、ピーク信号SPが出力された間隔と、その時発音していた音符の長さから決定される。図7,図8に示すE3音の場合は、4分音符であり、デルタタイムは「480」であるから、このデルタタイムに対するピーク信号SPの出力間隔からテンポを求める。
Further, in the above processing, when the CPU (interval calculation means) 301 detects the peak signal SP, it obtains the difference between that time and the time when the peak signal SP was detected immediately before. That is, in the above case, (t11-t1) or (t21-t1) is obtained. Then, the CPU (tempo update means) 301 updates the tempo based on this time difference, and stores the updated tempo as a tempo value Tempo · R in the current tempo table TB2.
The new tempo is determined from the interval at which the peak signal SP is output and the length of the note that was sounding at that time. In the case of the E3 sound shown in FIGS. 7 and 8, it is a quarter note and the delta time is “480”, so the tempo is obtained from the output interval of the peak signal SP with respect to this delta time.
例えば、時刻t11でピーク信号SPが出力された場合は、デルタタイム「480」のカウントが終了していないから、CPU301はE3音のノートオフイベント(NoteOff)を探し、E3音のノートオンイベント(NoteOn)からノートオフイベント(NoteOff)までのデルタタイムと時間差(t11−t1)とから新しいテンポを決定する。
上記の例の場合は、「時間単位」が「480」でテンポ指令値SetTempo(初期値)が「500000」であるから、4分音符であるE3音の発音時間は「500000」マイクロ秒であり、テンポクロック周期は「1/960」である。そして、ピーク信号SPの時間差(t11−t1)が「400000」マイクロ秒であれば、テンポ値Tempo・Rを「400000」に書き換える。そして、更新されたテンポ値Tempo・Rに応じてテンポクロックの周期を変更する。これにより、テンポが早くなり、次の音であるF4音の発音時間は当初のテンポの場合より短くなる。一方、ピーク信号SPの時間差(t21−t1)が「600000」マイクロ秒であれば、テンポ値Tempo・Rを「600000」に書き換える。そして、更新されたテンポ値Tempo・Rに応じてテンポクロックの周期を変更する。これにより、テンポが遅くなり、次の音であるF4音の発音時間は当初のテンポの場合より長くなる。つまり、CPU(発音長制御手段)301は、次の音であるF3音の発音長さについては、上記の如く更新したテンポに対応する長さに制御する。
なお、E3音が8分音符であったとすると、時間差(t11−t1)あるいは(t21−t1)は新たなテンポにおける8分音符の長さを示すものとなるから、これを4分音符に換算してテンポ値Tempo・Rを更新する。
For example, when the peak signal SP is output at time t11, since the count of the delta time “480” has not ended, the
In the case of the above example, since the “time unit” is “480” and the tempo command value SetTempo (initial value) is “500000”, the sounding time of the E3 sound that is a quarter note is “500000” microseconds. The tempo clock cycle is “1/960”. If the time difference (t11−t1) of the peak signal SP is “400000” microseconds, the tempo value Tempo · R is rewritten to “400000”. Then, the period of the tempo clock is changed according to the updated tempo value Tempo · R. As a result, the tempo becomes faster and the sound generation time of the next F4 sound is shorter than in the case of the initial tempo. On the other hand, if the time difference (t21−t1) of the peak signal SP is “600000” microseconds, the tempo value Tempo · R is rewritten to “600000”. Then, the period of the tempo clock is changed according to the updated tempo value Tempo · R. As a result, the tempo is slowed down, and the sound generation time of the next F4 sound is longer than that at the initial tempo. That is, the CPU (sound generation length control means) 301 controls the sound generation length of the next sound F3 sound to a length corresponding to the tempo updated as described above.
If the E3 note is an eighth note, the time difference (t11-t1) or (t21-t1) indicates the length of the eighth note at the new tempo, which is converted into a quarter note. The tempo value Tempo · R is updated.
上記処理においては、時間差をそのまま用いてテンポ値Tempo・Rを更新したが、テンポが大幅に変化するのを防止するため、時間差の変化分を用いてテンポを変化させたり、あるいはテンポ変化の上限値を設けてそれ以上の変化を許容しないように処理してもよい。
また、E3音のノートオフイベント(NoteOff)が検出されるまでの間に、複数のデルタタイムが存在している場合は、それらのデルタタイムを全て加算したものとピーク信号の時間差とから、新しいテンポを求める。
また、上記処理においては、発音中の音のノートオフイベント(NoteOff)が読み出されるまでにピーク信号SPが検出されない場合は、自動演奏を一時中止するようにしたが、一時中止の状態が所定時間以上継続した場合は、テンポの更新を行わず、現在テンポテーブルTBに記憶されている一つ前のテンポ値Temp・Rの値でテンポクロックの周期を決めるようにしてもよい。これは、長時間曲が中断した場合に、その中断時間に基づいてテンポを設定すると、不自然に遅いテンポとなってしまい、楽曲の演奏にふさわしくないからである。なお、この場合には、初期のテンポであるテンポ指令値SetTempoを用いてもよい。
In the above processing, the tempo value Tempo · R is updated using the time difference as it is, but in order to prevent the tempo from changing significantly, the tempo is changed using the change in the time difference or the upper limit of the tempo change. A value may be provided so as not to allow further changes.
In addition, if a plurality of delta times exist before the note-off event (NoteOff) of the E3 sound is detected, a new one is obtained from the sum of those delta times and the time difference between the peak signals. Find the tempo.
In the above processing, when the peak signal SP is not detected before the note-off event (NoteOff) of the sound being sounded is read out, the automatic performance is temporarily stopped. If the above continues, the tempo clock period may be determined based on the previous tempo value Temp · R stored in the tempo table TB without updating the tempo. This is because when a tune is interrupted for a long time, if the tempo is set based on the interruption time, the tempo becomes unnaturally slow, which is not suitable for the performance of the music. In this case, a tempo command value SetTempo that is an initial tempo may be used.
(複数の演奏パートの同時演奏)
(1−1)ノート自動モード
次に、一人の操作者が単一の操作子を操作して複数のパートを演奏する場合を説明するが、説明の簡略化のために2つのパートからなる曲を演奏する場合を例にとる。ここで、図9は2つのパートからなる曲を示す楽譜である。図9における上段がメロディ、下段が伴奏のパートであり、それぞれチャネル1(特定チャネル),チャネル2(他のチャネル)に割り振られている。なお、上段のメロディは、図7に示した楽譜と同じである。また、図10は図9に示す楽譜に対応した演奏データを示す図である。
まず、メロディのパートについての操作子1の操作と演奏との関係は、上述の単独のパートを演奏する場合と同じである。伴奏のパートについては、メロディパートで発音されている音に対応する音のノートオンイベント(NoteOn)が読み出されて同期を取りながら発音処理されるようになっている。別言するとこの複数の演奏パートの同時演奏においては、同時発音すべきイベントが複数ある場合(メロディパートのみに同時発音すべきイベントがある場合のみならず、メロディパート及び伴奏パートに同時に発音すべきイベントがある場合も含む)があり、かかる場合にはそれらが全て読み出されて発音処理されるようになっている。
(Simultaneous performance of multiple performance parts)
(1-1) Automatic note mode Next, a case where a single operator operates a single operator to play a plurality of parts will be described. To simplify the description, a song composed of two parts is described. Take the example of playing. Here, FIG. 9 is a musical score showing a music composed of two parts. In FIG. 9, the upper part is the melody and the lower part is the accompaniment part, which is assigned to channel 1 (specific channel) and channel 2 (other channels), respectively. The upper melody is the same as the score shown in FIG. FIG. 10 shows performance data corresponding to the score shown in FIG.
First, the relationship between the operation of the
一例を挙げて具体的に説明する。例えば、時刻t1でメロディパート(チャネル1)のE3音のノートオンイベント(NoteOn)が読み出されると、伴奏パート(チャネル2)のC3音のノートオンイベント(NoteOn)が読み出され、それぞれの発音処理が行われる。その後、時刻t2〜t6において操作子1からピーク信号SPが出力されると、メロディパートの音に対応した伴奏パートの音のノートオンイベント(NoteOn)が読み出されて発音される。この場合、時刻t5とt6においては、メロディパートの音に対し伴奏パートの音が複数対応するので以下のような処理内容となる。
A specific example will be described. For example, when the note-on event (NoteOn) of the E3 sound of the melody part (channel 1) is read out at time t1, the note-on event (NoteOn) of the C3 sound of the accompaniment part (channel 2) is read out and each sound is generated. Processing is performed. After that, when the peak signal SP is output from the
時刻t5において、メロディパートのB3音、D4音(4分音符)のノートオンイベント(NoteOn)および伴奏パートのG3音、B3音(8分音符)のノートオンイベント(NoteOn)が読み出されて発音処理される。次に、CPU301は、ピーク信号SPが検出されていないことを条件にして、デルタタイム「240」のカウントを続け、カウントが終了した時点で演奏データから伴奏パート(チャネル2)のG3音、B3音のノートオフイベント(NoteOff)を読み出して消音処理を行うとともに、デルタタイム0のG3音、B3音のノートオンイベント(NoteOn)を直ぐに読み出して発音処理を行う。そして、デルタタイム「240」をカウントする。このカウントにおけるテンポクロックの周期は、現在テンポテーブルTB2(図6参照)のテンポ値Tempo・Rによって決定される。つまり、直前のピーク信号SPの出力間隔によって決定される。
At time t5, note-on event (NoteOn) of B3 sound and D4 sound (quarter note) of melody part and note-on event (NoteOn) of G3 sound and B3 sound (eighth note) of accompaniment part are read out. The pronunciation is processed. Next, on the condition that the peak signal SP is not detected, the
そして、デルタタイム「240」のカウントが終了すると、メロディパートのB3音、D4音および伴奏パートのG3音、B3音のノートオフイベント(NoteOff)を読み出し、これらの音の消音処理を行う。別言すると、CPU(他チャネル発音制御手段)301は、ピーク信号SPが検出されていないことを条件にして、t5において処理をしているメロディパートのB3音、D4音(4分音符)のノートオンイベント(NoteOn)から次のメロディパートのC4音(2分音符)のノートオンイベント(NoteOn)までの区間に存在する伴奏パートのノートオンイベント(NoteOn)等を、更新したテンポに応じた速さで順次読み出すとともに、これら伴奏パートの各ノートオンイベントの発音長さをそのテンポに応じた長さに制御する。以上の動作によって、メロディパートの一つの4分音符に対し、伴奏パートの2つの8分音符の演奏が自動的に行われる。また、時刻t6においては、メロディパートのC4音(2分音符)に対して、伴奏パートのG3,A3,B3,C4音(8分音符)が対応しているが、これらの処理についても上記と同様である。 When the count of the delta time “240” is completed, the note-off event (NoteOff) of the B3 sound, D4 sound of the melody part, the G3 sound of the accompaniment part, and the B3 sound is read, and the sound is silenced. In other words, the CPU (another channel sounding control means) 301 performs the processing of the B3 sound and D4 sound (quarter note) of the melody part processed at t5 on condition that the peak signal SP is not detected. The note-on event (NoteOn) of the accompaniment part that exists in the section from the note-on event (NoteOn) to the note-on event (NoteOn) of the C4 note (half note) of the next melody part, according to the updated tempo While reading sequentially at a speed, the sound generation length of each note-on event of these accompaniment parts is controlled to a length corresponding to the tempo. With the above operation, two eighth notes of the accompaniment part are automatically performed for one quarter note of the melody part. At time t6, the accompaniment part G3, A3, B3, and C4 (eighth notes) correspond to the melody part C4 (half note). It is the same.
次に、操作者がテンポを変更したときの伴奏音の発音処理について説明する。今、操作者が時刻t4において操作子1を振り下ろした後、時刻t5の前の時刻t41において再び操作子1を振り下ろしたとする。これにより、時刻t41においてピーク信号SPが検出されるから、CPU301はメロディパートの発音中の音(A3音、C4音)を直ぐに消音処理し、同時に伴奏パートのE3音についても消音処理する。そして、メロディパートの次の音であるB3音、D4音のノートオンイベント(NoteOn)を読み出すとともに、これらに対してデルタタイムが「0」である伴奏パートのG3音,B3音のノートオンイベント(NoteOn)も読み出し、これらの音についての発音処理を行う。
また、上記とは逆に時刻t4では操作子1が振り下ろされず、少し遅れた時刻t41において操作子1が振り下ろされた場合は、時刻t3で発音されたメロディパートのG3音は、その時のテンポに応じた長さだけ発音された後、消音処理され、これに対応する伴奏パートのE3音、G3音もメロディパートのG3音とともに消音処理される。その後は、ピーク信号SPの検出待ちとなり、時刻t41でピーク信号SPが検出された時点でメロディパートのB3音、D4音および伴奏パートのG3音,B3音が発音される。
Next, accompaniment sound generation processing when the operator changes the tempo will be described. Now, assume that the operator swings down the
Contrary to the above, when the
以上のように、操作者の操作に対応したメロディ音の発音、消音処理が行われ、これに同期して伴奏音の発音、消音処理が行われるようになっている。
また、時刻t6でメロディパートのC4音が発音され、これに伴って伴奏パートのG3音が発音、消音処理され、続いてA3音が発音、消音処理された後、時刻t61においてピーク検出信号SPが検出されると、CPU301はメロディパートの次の音であるE3音のノートオンイベントを読み出して発音処理するとともに、伴奏パートのB3音、C4音(8分音符)の処理をスキップし、発音を行わない。
以上のように、メロディパートの演奏が優先され、伴奏パートの発音、消音処理はメロディパートに追従するように制御される。
As described above, the melody sound corresponding to the operation of the operator is generated and silenced, and the accompaniment sound is pronounced and silenced in synchronization with this.
At time t6, the C4 sound of the melody part is sounded, and the G3 sound of the accompaniment part is sounded and muted, and then the A3 sound is sounded and muted, and then the peak detection signal SP at time t61. Is detected, the
As described above, the performance of the melody part is given priority, and the sound generation and mute processing of the accompaniment part is controlled to follow the melody part.
(1−2)ノート伴奏モード
次に、ノート伴奏モードについて説明する。このモードは伴奏パートについては、演奏データによって指定されるテンポに基づいて自動演奏を行う、いわゆる通常の自動演奏処理となる。そして、メロディパートについては、前述した単独の演奏パートの動作と同じである。このモードにおいては、伴奏パートとメロディパートの同期は取られない。なお、いずれのチャネルを伴奏パートにするかメロディパートにするかは操作者が任意に設定すればよい。
このモードは、操作者が伴奏パートの自動演奏を聞きながら、自由にメロディの発音タイミングを指示するときに用いられるモードである。
(1-2) Note Accompaniment Mode Next, the note accompaniment mode will be described. In this mode, the accompaniment part is a so-called normal automatic performance process in which automatic performance is performed based on the tempo specified by the performance data. The melody part is the same as the operation of the single performance part described above. In this mode, the accompaniment part and melody part are not synchronized. Note that the operator can arbitrarily set which channel is the accompaniment part or the melody part.
This mode is a mode used when the operator freely instructs the melody generation timing while listening to the automatic performance of the accompaniment part.
(2)マニュアルモード
このモードは全てのチャネルについて、通常の自動演奏と同じ動作を行うが、テンポについては操作者の操作に従って変化する。
すなわち、操作者が1拍(あるいは2拍)のタイミングで操作子1を振り下ろすと、その振り下ろし間隔に相当するピーク信号の間隔等がCPU301によって検出され、上述の場合と同様にして、ピーク信号の間隔等からテンポを逐次更新してゆく。この更新されたテンポは現在テンポテーブルTB2にテンポ値Tempo・Rとして格納され、このテンポ値Tempo・Rによってテンポクロックの周期が決定される。したがって、操作子1が振り下ろされる間隔に応じて自動演奏のテンポが変化する。なお、この動作は演奏するパートが単一・複数にかかわらず、同様である。
(2) Manual mode This mode performs the same operation as normal automatic performance for all channels, but the tempo changes according to the operation of the operator.
That is, when the operator swings down the
<変形例>
以上説明した動作例では、操作子1の振り下ろし操作を検出する毎に(すなわち1回のピークを検出する毎に)、1音符ずつ演奏を進める場合について説明したが、上記振り下ろし操作を検出する毎に複数の音符を進めるようにしても良い。かかる場合には、検出したピークに続く音符については、既に求めたテンポ値Tempo・Rを利用して演奏を進めれば良い。なお、検出したピークに続く音符が休符(4分休符等)である場合も上記テンポ値Tempo・Rを利用して演奏を進めれば良い。
<Modification>
In the above-described operation example, the case where the performance is advanced by one note each time the
b:複数操作子演奏モード
このモードは、複数の操作者がそれぞれ操作子を操作して、各自に割り当てられたパートの演奏を制御することにより、複数パートからなる楽曲の演奏を制御するモードである。この複数演奏モードにおいては、例えばメロディパートについてはノートモードで演奏制御を行う一方、伴奏パートについてはマニュアルモードで演奏制御を行うといった選択を行うことができる。
複数操作子演奏モードにて演奏を試みる操作者は、まず、自動演奏装置100のキーボード306等を操作して楽曲の選択、及び各操作子に対するパートの割り当てを行う。例えば、2人の操作者(第1操作者及び第2操作者)で演奏する場合には、操作者は操作子1−1(第1操作者用)に対してメロディパートを割り当て、操作子1−2(第2操作者用)に対して伴奏パートを割り当てるといった選択を行う。なお、以下の説明では、メロディパートが割り当てられた操作子1−1をマスタ操作子1−1と呼び、伴奏パートが割り当てられた操作子1−2をスレーブ操作子1−2と呼ぶ。
かかる操作を行うと、操作者は、さらにキーボード306等を操作してメロディパート及び伴奏パートの各々についてノートモード若しくはマニュアルモードの選択を行う。この結果、RAM(記憶手段)303の所定エリアには、チャネル番号、各操作子を識別するための識別情報、各操作子に対する演奏パートの割り当て、各演奏パートの演奏制御モードの割り当て(属性情報)等が記述された複数演奏モード管理テーブルTA1が格納される(図11参照)。いいかえると、RAM303の所定エリアには、各操作子と各チャネルとの対応関係及び各操作子の主従関係(いずれの操作子がマスタ操作子となり、いずれの操作子がスレーブ操作子となるか)等が記述された複数演奏モード管理テーブル(操作関連情報)TA1が格納される。
以下、マスタ操作子1−1及びスレーブ操作子1−2がともにノートモードに設定された場合の動作について説明する。
b: Multi-operator performance mode This mode controls the performance of music composed of a plurality of parts by controlling the performance of the parts assigned to each operator by operating a plurality of operators. is there. In this multiple performance mode, for example, it is possible to perform selection such that performance control is performed in the note mode for the melody part while performance control is performed in the manual mode for the accompaniment part.
An operator who attempts to perform in the multi-operator performance mode first operates the
When such an operation is performed, the operator further operates the
The operation when both the master operator 1-1 and the slave operator 1-2 are set to the note mode will be described below.
自動演奏装置100のCPU301は、演奏制御に必要な選択等を受け付けると、操作者によって選択された楽曲に対応する演奏データをHDD304から読み出し、これをRAM303の演奏データ格納領域に転送する。一方、各操作者(若しくはいずれか一方の操作者)は、演奏開始を自動演奏装置100に指示すべく、前述した前うち操作を行う。かかる操作がなされると、操作子1からピーク信号SPが出力され、CPU301に供給される。CPU301は、操作子1から最初のピーク信号SPを受け取ると、操作者によって前うち操作がなされたと判断し、図6に示す現在テンポテーブルTB2の現在テンポTempo・Rの値をテンポ指令値(SetTempo)の値に設定する。
When the
その後、各操作者によって演奏進行操作(すなわち操作子1の振り下ろし)が開始されると、各操作子1においてピーク信号SPが生成される。各操作子1は生成したピーク信号(操作信号)SPと当該操作子1を識別するための識別情報SIDとを、操作情報として受信装置2に送信する。CPU(発音処理手段)301は、受信装置2を介して操作情報を受け取ると、複数演奏モード管理テーブル(操作関連情報)TA1を参照し、受け取った操作情報に含まれる識別情報SIDに対応するパートの楽音をノートオンイベント等を読み出して発音処理等を行い、演奏を進めてゆく。
この演奏について図12を参照しながら説明すると、メロディパートの演奏については、CPU301は、マスタ操作子1−1の操作を検出する度に(すなわち、操作情報を受信する度に)、この検出タイミングで対応する楽音を発音し、1音符ずつ演奏を進める(図に示すt1〜t7参照)。なお、この際、マスタ操作子1−1の操作(ピーク)を検出してから次の操作(ピーク)を検出するまでの時間と音符の長さとに基づいて逐次テンポ計算するのは前述したとおりである。
Thereafter, when a performance progression operation (that is, swinging down the operation element 1) is started by each operator, a peak signal SP is generated in each
This performance will be described with reference to FIG. 12. With respect to the performance of the melody part, the
一方、伴奏パートの演奏については、CPU301は、スレーブ操作子1−2の操作を検出するタイミング(図13〜図16に示すケース1〜ケース4参照)に応じて下記4通りの処理のいずれかを実行する。なお、CPU301は、受信した操作情報に含まれる識別情報SIDを参照することにより、マスタ操作子1−1からの操作情報であるか、或いはスレーブ操作子1−2からの操作情報であるかを判断する。ここで、上記各図に示すマスタ演奏とは、マスタ操作子1−1によって演奏制御されるメロディパートの演奏を意味し、スレーブ演奏とは、スレーブ操作子1−2によって演奏制御される伴奏パートの演奏を意味する。また、各図に示す黒丸及び白丸は、マスタ演奏若しくはスレーブ演奏の演奏位置を表しており、黒丸は、既演奏位置(既に演奏された位置)、白丸は未演奏位置(未だ演奏されていない位置)を表している。
On the other hand, for the performance of the accompaniment part, the
(ケース1)
CPU(発音処理制御手段)301は、常にマスタ操作子(主となる操作子)1−1の次演奏位置(次に処理される発音イベントの位置)を確認し、スレーブ操作子(従となる操作子)1−2の現演奏位置(発音イベントの位置)が、マスタ操作子1−1の次演奏位置を越えないように制御する。例えば、図13のAに示すように、CPU301がマスタ操作子1−2から操作情報を受け取った時点において、マスタ演奏の演奏位置(現演奏位置)が「2」まで進んでおり、スレーブ演奏の演奏位置がマスタ演奏の未演奏位置(次演奏位置)「3」の直前まで進んでいる状態においてスレーブ操作端末1−2の操作を検出した場合には、スレーブ演奏についてはマスタ演奏よりも先に進ませないという原則のもと、スレーブ演奏を進ませない。かかる場合には、図13のBに示すように、マスタ演奏が演奏位置「3」に進んでからスレーブ操作子1−2の操作を検出したときにスレーブ演奏を進ませる。ただし、この場合にスレーブ演奏を進ませることができるのは、あくまでマスタ演奏の未演奏位置「4」の直前までに限られる。いいかえれば、上記の場合、スレーブ演奏については、マスタ演奏の未演奏位置「4」を越えない範囲でスレーブ演奏を進ませることができる。
(Case 1)
The CPU (sound generation processing control means) 301 always confirms the next performance position (position of the sound generation event to be processed next) of the master operator (main operation element) 1-1 and the slave operator (secondary). Control is performed so that the current performance position (sound generation event position) of the operation element 1-2 does not exceed the next performance position of the master operation element 1-1. For example, as shown in FIG. 13A, when the
(ケース2)
また、図14のAに示すように、楽曲の途中の間奏部分など、メロディパートの演奏が途切れて伴奏パートの演奏のみが行われるような部分においてスレーブ操作子1−2の操作を検出すると、CPU301は、このスレーブ操作子1−2の操作を検出するタイミングでスレーブ演奏を進ませる。ただし、スレーブ演奏を進ませることができるのは、あくまで伴奏パートの演奏のみが行われる部分に限られる。いいかえれば、スレーブ演奏を進ませることができるのは、図14のBに示すようにマスタ演奏が再開される未演奏位置「1」の直前までに限られる。なお、スレーブ演奏の演奏位置が間奏部分の演奏位置であるか否かについては、楽曲データ中のメロディパートの楽音パラメータと伴奏パートの楽音パラメータとを比較等して判断すれば良い。
(Case 2)
Further, as shown in FIG. 14A, when the operation of the slave operator 1-2 is detected in a part where the performance of the melody part is interrupted and only the performance of the accompaniment part is performed, such as an interlude part in the middle of the music, The
(ケース3)
また、CPU301は、スレーブ操作子1−2の操作を検出するタイミングがマスタ操作子1−1の操作を検出するタイミングと同時、若しくはマスタ操作子1−1の操作を検出してから所定時間(300(ms)等)内である場合には、スレーブ操作子1−2の操作を検出するタイミングでスレーブ演奏を進ませる。例えば、図15のAに示すように、スレーブ演奏の演奏位置がマスタ演奏の未演奏位置「3」の直前まで進んでいる場合、マスタ操作子1−1の操作を検出すると同時にスレーブ操作子1−2の操作を検出すると、CPU301は、図15のBに示すように、マスタ演奏を演奏位置「3」に進ませるとともに、スレーブ演奏をマスタ演奏の演奏位置「3」に対応する位置まで進ませる。なお、上記所定時間内にさらにスレーブ操作子1−2の操作を検出した場合には、スレーブ演奏を進ませることができるが、進ませることができるのは、あくまでマスタ演奏の未演奏位置「4」の直前までに限られる。
(Case 3)
The
(ケース4)
また、CPU(発音位置制御手段)301は、スレーブ演奏がマスタ演奏から所定量以上遅れている場合(例えばスレーブ演奏が停止されていた等により4分音符1つ分以上等)にスレーブ操作子1−2の操作を検出すると、スレーブ演奏の演奏位置をマスタ演奏の演奏位置までスキップして進ませる。例えば、図16のAに示すように、マスタ演奏の演奏位置が「3」であり、かつ、スレーブ演奏の演奏位置がマスタ演奏の演奏位置「2」に対応する位置に存在する場合、マスタ操作子1−1の操作を検出すると同時にスレーブ操作子1−2の操作を検出すると、CPU301は、図16のBに示すように、マスタ演奏を演奏位置「4」に進ませるとともに、スレーブ演奏をマスタ演奏の演奏位置「4」に対応する位置までスキップさせる。この結果、スキップしてとばされた音符列(図16に示すM参照)については演奏されずにスキップ後の演奏位置に対応する音符が発音されることになる。
(Case 4)
Further, the CPU (sound generation position control means) 301 is a
以上説明したように、マスタ操作子1−1及びスレーブ操作子1−2がともにノートモードに設定されている場合には、たとえスレーブ操作子1−2の操作がマスタ操作子1−1の操作より先行して行われたとしても、スレーブ演奏はマスタ演奏よりも決して先に進まない。ただし、スレーブ操作子1−2の操作に応じて進行するスレーブ演奏がマスタ操作子1−1の操作に応じて進行するマスタ演奏よりも遅れている場合には、スレーブ演奏とマスタ演奏とを同期させるべく、スレーブ演奏の演奏位置をマスタ演奏の演奏位置までスキップさせる。これにより、たとえ第2操作者が演奏途中においてスレーブ操作子1−2の操作をいったん停止したとしても、単にスレーブ操作子1−2の操作を再開するだけで(すなわちスレーブ演奏とマスタ演奏との同期を図るために煩雑な操作をすることなしに)スレーブ演奏とマスタ演奏とを同期させることができる。 As described above, when both the master operator 1-1 and the slave operator 1-2 are set to the note mode, even if the operation of the slave operator 1-2 is the operation of the master operator 1-1. Even if performed earlier, the slave performance never advances beyond the master performance. However, if the slave performance that proceeds in accordance with the operation of the slave operator 1-2 is delayed from the master performance that proceeds in accordance with the operation of the master operator 1-1, the slave performance and the master performance are synchronized. Therefore, the performance position of the slave performance is skipped to the performance position of the master performance. As a result, even if the second operator stops the operation of the slave operator 1-2 during the performance, it simply restarts the operation of the slave operator 1-2 (that is, between the slave performance and the master performance). The slave performance and the master performance can be synchronized without a complicated operation for synchronization.
上記例では、マスタ操作子1−1及びスレーブ操作子1−2がともにノートモードに設定されている場合について説明した。これに対し、以下に示す例では、マスタ操作子1−1がノートモードに設定され、スレーブ操作子1−2がマニュアルモードに設定されている場合について説明する。ただし、マニュアルモードに設定されている場合の動作については、以下に示すケース4’(上記ケース4に対応)を除き、上記ケース1〜3とほぼ同様に説明することができるため割愛する。
In the above example, the case where both the master operator 1-1 and the slave operator 1-2 are set to the note mode has been described. On the other hand, in the example shown below, the case where the master operator 1-1 is set to the note mode and the slave operator 1-2 is set to the manual mode will be described. However, the operation when the manual mode is set can be omitted since it can be described in substantially the same manner as the
(ケース4’)
CPU(発音位置制御手段)301は、上記ケース4と同様、スレーブ演奏がマスタ演奏から所定量以上遅れている場合(例えばスレーブ演奏が停止されていた等により1拍分以上等)にスレーブ操作子1−2の操作を検出すると、スレーブ演奏の演奏位置をマスタ演奏の演奏位置に対応する拍子位置までスキップして進ませる。詳述すると、例えば、図17のAに示すように、マスタ演奏の演奏位置が「5」であり、かつ、スレーブ演奏の演奏位置がマスタ演奏の演奏位置「2」に対応する位置に存在する場合、マスタ操作子1−1の操作を検出すると同時にスレーブ操作子1−2の操作を検出すると、CPU301は、図17のBに示すように、マスタ演奏を演奏位置「6」に進ませるとともに、スレーブ演奏をマスタ演奏の演奏位置に対応する拍子位置(図17では3拍目の頭の位置)までスキップさせる。このように、スレーブ操作子1−2がマニュアルモードに設定された場合には、スレーブ演奏の演奏位置をマスタ演奏の演奏位置と同じ位置までスキップさせるのではなく、マスタ演奏の演奏位置に対応する拍子位置までスキップさせる。この結果、スキップしてとばされた音符列(図17に示すM参照)については演奏されずにスキップ後の演奏位置に対応する音符が発音されることになる。このように、スレーブ操作子1−2がマニュアルモードに設定されている場合についても、スレーブ演奏とマスタ演奏とを同期させることが可能となる。
(Case 4 ')
As in the
<変形例>
以上説明した動作例では、マスタ操作子1−1をノートモードに設定し、スレーブ操作子1−2をノートモード若しくはマニュアルモードに設定した場合について説明したが、例えばマスタ操作子1−1をマニュアルモードに設定し、スレーブ操作子1−2をノートモード若しくはマニュアルモードに設定しても良いのはもちろんである。また、上記動作例では、メロディパートが割り当てられた操作子1−1をマスタ操作子1−1とし、伴奏パートが割り当てられた操作子1−2をスレーブ操作子1−2としたが、これとは逆に伴奏パートが割り当てられた操作子をマスタ操作子とし、メロディパートが割り当てられた操作子をスレーブ操作子とするなど、どのパートが割り当てられた操作子をマスタ操作子若しくはスレーブ操作子とするかは適宜変更可能である。また、該動作例では2人の操作者が2つの操作子1を利用して同期演奏する場合について説明したが、3人以上の操作者が3つ以上の操作子1を利用して同期演奏しても良いのはもちろんである。
<Modification>
In the operation example described above, the case where the master operator 1-1 is set to the note mode and the slave operator 1-2 is set to the note mode or the manual mode has been described. For example, the master operator 1-1 is manually set. Of course, the slave controller 1-2 may be set to the note mode or the manual mode. In the above operation example, the operation element 1-1 to which the melody part is assigned is the master operation element 1-1, and the operation element 1-2 to which the accompaniment part is assigned is the slave operation element 1-2. On the other hand, the controller assigned to the accompaniment part is the master controller and the controller assigned the melody part is the slave controller. It can be changed as appropriate. Further, in this operation example, the case where two operators perform synchronous performance using two
また、上記動作例では、スレーブ操作子1−2の操作が停止してから当該操作が再開されるまでの間、スレーブ演奏(すなわち伴奏パートの演奏)が停止する構成であったが、例えばスレーブ操作子1−2の操作が停止した場合であっても、スレーブ演奏を継続させるべく、マスタ操作子1−1の操作タイミングに同期してスレーブ演奏を自動継続し、スレーブ操作子1−2の操作が再開されたとき、当該操作を反映させて(すなわち当該操作タイミングで)スレーブ演奏を行うようにしても良い。なお、スレーブ操作子1−2の操作が停止したか否かについては、スレーブ操作子1−2の操作を検出してから所定時間内(例えば500(ms)内)に次の操作が検出されたか否かに基づき判断すれば良い。 In the above operation example, the slave performance (that is, the performance of the accompaniment part) is stopped until the operation is resumed after the operation of the slave operator 1-2 is stopped. Even when the operation of the operation element 1-2 is stopped, in order to continue the slave performance, the slave performance is automatically continued in synchronization with the operation timing of the master operation element 1-1. When the operation is resumed, the slave performance may be performed by reflecting the operation (that is, at the operation timing). Whether or not the operation of the slave operator 1-2 is stopped is determined whether the next operation is detected within a predetermined time (for example, within 500 (ms)) after the operation of the slave operator 1-2 is detected. It may be determined based on whether or not.
また、上記動作例では、各操作子の操作(ピーク)を検出してから次の操作(ピーク)を検出するまでの時間と音符の長さとに基づいて逐次テンポ計算する場合について説明したが、例えば各操作子の操作(ピーク)の大きさを検出し、このピークの大きさをボリュームに反映させても良い。図18は、RAM303に格納されているボリューム管理テーブルTA2を例示した図である。
ボリューム管理テーブルTA2には、ピーク信号SPの値pspとボリューム値vとが対応づけて登録されている。図18に示すように、ボリューム値vは、ピーク信号SPの値pspに略比例して大きくなるように設定されている。CPU301は、各操作子1から操作情報を受信すると、この操作情報に示されるピーク信号SPの値とボリューム管理テーブルTA2とを参照し、ボリューム値vを決定する。この結果、例えば、操作者が操作子1を上から下に小さく振り下ろした場合には制御対象となるパート(例えばメロディパート)の演奏音は小さくなり、逆に大きく振り下ろした場合には該パートの演奏音は大きくなる。このように、操作子1の操作を演奏音のボリュームに反映させるようにしても良い。なお、ピークの大きさをボリュームに反映させる点については単独演奏モードについても適用可能である。
In the above operation example, the case where the tempo is calculated sequentially based on the time from the detection of the operation (peak) of each operator to the detection of the next operation (peak) and the length of the note has been described. For example, the magnitude of the operation (peak) of each operator may be detected and the magnitude of this peak may be reflected in the volume. FIG. 18 is a diagram illustrating a volume management table TA2 stored in the
In the volume management table TA2, the value psp of the peak signal SP and the volume value v are registered in association with each other. As shown in FIG. 18, the volume value v is set to increase substantially in proportion to the value psp of the peak signal SP. When the
なお、以上説明した本実施形態に係るCPU301の諸機能は、ROM302等のプログラムによって実現されるため、かかるプログラムについてCD−ROM等の記録媒体に記録して頒布したり、インターネット等の通信ネットワークを介して頒布しても良い。もちろん、上記諸機能を実現するCPU301、ROM302等を組み込んだ専用装置として構成することも可能である。
The various functions of the
1・・・操作子、2・・・受信装置、3・・・パーソナルコンピュータ、4・・・音源装置、5・・・アンプ、6・・・スピーカ、301・・・CPU、302・・・ROM、303・・・RAM、304・・・HDD、305・・・表示部、306・・・キーボード、307・・・ポインティングデバイス、TB1・・・チャネル設定テーブル、TB2・・・現在テンポテーブル、TA1・・・複数演奏モード管理テーブル、TA2・・・ボリューム管理テーブル。
DESCRIPTION OF
Claims (5)
各操作者によって操作されると、操作状況に応じた操作信号及び当該操作子を識別するための識別情報を出力する複数の操作子と、
前記各操作子と前記各チャネルとの対応関係及び前記各操作子の主従関係とをあらわす操作関連情報を記憶する記憶手段と、
前記操作信号及び前記識別情報が前記各操作子から出力されると、前記操作関連情報を参照し、前記識別情報に対応するチャネルについて、次に発音すべき楽音の発音イベントを読み出して発音処理する発音処理手段と、
前記主となる操作子から操作信号が出力された出力時刻を検出するとともに、前回の出力時刻との時間間隔を算出する時間間隔算出手段と、
前記各チャネルの楽音の発音長を制御するためのテンポを記憶するテンポ記憶手段と、
前記時間間隔算出手段が算出した時間間隔が所定時間未満である場合には、当該時間間隔、および前記主となる操作子に対応するチャネルについて前回発音処理された発音イベントの音符の長さに基づきテンポを算出し、前記テンポ記憶手段に記憶されたテンポを更新する一方、当該時間間隔が前記所定時間以上である場合には、前記テンポ記憶手段に記憶されたテンポを更新しないテンポ更新手段と、
前記発音処理手段が処理をする発音イベントの発音長を、前記テンポ記憶手段に記憶されたテンポに対応した長さに制御する発音長制御手段と
を具備し、
前記発音処理手段は、前記従となる操作子からの操作信号が、所定時間以上出力されない場合には、当該操作子に対応するチャネルについては、次に当該操作子から操作信号が出力されるまでは、前記主となる操作子からの操作信号に応じて発音イベントを読み出して発音処理する
ことを特徴とする自動演奏装置。 In an automatic performance device for performing an ensemble performance by sequentially reading out the sounding events of each channel from performance data in which sounding events indicating the sound content of the musical sound are arranged on a plurality of channels, and processing the read sounding events,
When operated by each operator, a plurality of operators that output an operation signal according to an operation situation and identification information for identifying the operator,
Storage means for storing operation-related information representing the correspondence between each operator and each channel and the master-slave relationship of each operator;
When the operation signal and the identification information are output from each of the operators, the sound generation event of the musical sound to be sounded next is read out for the channel corresponding to the identification information, and the sound generation process is performed. Pronunciation processing means;
A time interval calculating means for detecting an output time at which an operation signal is output from the main operator and calculating a time interval from the previous output time;
Tempo storage means for storing a tempo for controlling the tone generation length of the musical sound of each channel;
When the time interval calculated by the time interval calculation means is less than a predetermined time, based on the time interval and the length of the note of the sounding event previously sounded for the channel corresponding to the main operator. A tempo update unit that calculates a tempo and updates the tempo stored in the tempo storage unit, while not updating the tempo stored in the tempo storage unit when the time interval is equal to or greater than the predetermined time;
A pronunciation length control means for controlling the pronunciation length of the pronunciation event processed by the pronunciation processing means to a length corresponding to the tempo stored in the tempo storage means,
When the operation signal from the subordinate operation element is not output for a predetermined time or longer, the sound generation processing means, for the channel corresponding to the operation element, until the operation signal is output from the operation element next time The automatic performance device is characterized in that a sounding event is read out and sounded according to an operation signal from the main operator.
をさらに具備することを特徴とする請求項1に記載の自動演奏装置。 The sound generation processing by the sound generation processing means so that the position of the sound generation event corresponding to the subordinate operation element does not exceed the position of the sound generation event corresponding to the main operation element processed next by the sound generation processing means. The automatic performance device according to claim 1, further comprising sound generation processing control means for controlling the sound.
ことを特徴とする請求項2に記載の自動演奏装置。 When the operation signal is output from the subordinate manipulator, the sound generation processing control unit performs the next processing of the sound generation event corresponding to the subordinate manipulator at the time point by the sound generation processing unit. It is confirmed whether or not the position of the sounding event corresponding to the main operation element has been reached immediately before. If not, the position of the sounding event corresponding to the subordinate operation element is determined as the sound generation process. The sound generation processing by the sound generation processing means is advanced according to the operation signal within a range not exceeding the position of the sound generation event corresponding to the main operation element to be processed next by the means. Automatic performance device.
をさらに具備することを特徴とする請求項1に記載の自動演奏装置。 If the position of the sounding event corresponding to the subordinate manipulator is delayed by a predetermined amount or more than the position of the sounding event corresponding to the main manipulator to be processed next by the sounding processing means, 2. The automatic performance device according to claim 1, further comprising sounding position control means for skipping a position of a sounding event corresponding to an operation element to become a position of a sounding event corresponding to the main operation element. .
各操作者によって操作されると操作状況に応じた操作信号及び当該操作子を識別するための識別情報を出力する複数の操作子と複数のチャネルとの対応関係及び前記各操作子の主従関係とをあらわす操作関連情報を記憶する記憶手段と、
前記操作信号及び前記識別情報が前記各操作子から出力されると、前記操作関連情報を参照し、前記識別情報に対応するチャネルについて、次に発音すべき楽音の発音イベントを読み出して発音処理する発音処理手段と、
前記主となる操作子から操作信号が出力された出力時刻を検出するとともに、前回の出力時刻との時間間隔を算出する時間間隔算出手段と、
前記各チャネルの楽音の発音長を制御するためのテンポを記憶するテンポ記憶手段と、
前記時間間隔算出手段が算出した時間間隔が所定時間未満である場合には、当該時間間隔、および前記主となる操作子に対応するチャネルについて前回発音処理された発音イベントの音符の長さに基づきテンポを算出し、前記テンポ記憶手段に記憶されたテンポを更新する一方、当該時間間隔が前記所定時間以上である場合には、前記テンポ記憶手段に記憶されたテンポを更新しないテンポ更新手段と、
前記発音処理手段が処理をする発音イベントの発音長を、前記テンポ記憶手段に記憶されたテンポに対応した長さに制御する発音長制御手段
として機能させ、
前記発音処理手段は、前記従となる操作子からの操作信号が、所定時間以上出力されない場合には、当該操作子に対応するチャネルについては、次に当該操作子から操作信号が出力されるまでは、前記主となる操作子からの操作信号に応じて発音イベントを読み出して発音処理する
ことを特徴とするプログラム。 Computer
Correspondence between a plurality of operators and a plurality of channels that output an operation signal corresponding to an operation situation and identification information for identifying the operator when operated by each operator, and a master-slave relationship of each operator Storage means for storing operation-related information representing
When the operation signal and the identification information are output from each of the operators, the sound generation event of the musical sound to be sounded next is read out for the channel corresponding to the identification information, and the sound generation process is performed. Pronunciation processing means;
A time interval calculating means for detecting an output time at which an operation signal is output from the main operator and calculating a time interval from the previous output time;
Tempo storage means for storing a tempo for controlling the tone generation length of the musical sound of each channel;
When the time interval calculated by the time interval calculation means is less than a predetermined time, based on the time interval and the length of the note of the sounding event previously sounded for the channel corresponding to the main operator. A tempo update unit that calculates a tempo and updates the tempo stored in the tempo storage unit, while not updating the tempo stored in the tempo storage unit when the time interval is equal to or greater than the predetermined time;
A pronunciation length control means for controlling the pronunciation length of the pronunciation event processed by the pronunciation processing means to a length corresponding to the tempo stored in the tempo storage means;
When the operation signal from the subordinate operation element is not output for a predetermined time or longer, the sound generation processing means, for the channel corresponding to the operation element, until the operation signal is output from the operation element next time Is a program that reads out a sound generation event in accordance with an operation signal from the main operation element and performs sound generation processing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008275958A JP4572980B2 (en) | 2008-10-27 | 2008-10-27 | Automatic performance device and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008275958A JP4572980B2 (en) | 2008-10-27 | 2008-10-27 | Automatic performance device and program |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007001680A Division JP4241833B2 (en) | 2007-01-09 | 2007-01-09 | Automatic performance device and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009020539A true JP2009020539A (en) | 2009-01-29 |
JP4572980B2 JP4572980B2 (en) | 2010-11-04 |
Family
ID=40360155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008275958A Expired - Fee Related JP4572980B2 (en) | 2008-10-27 | 2008-10-27 | Automatic performance device and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4572980B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112466266A (en) * | 2019-09-06 | 2021-03-09 | 雅马哈株式会社 | Control system and control method |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0876760A (en) * | 1994-08-31 | 1996-03-22 | Kawai Musical Instr Mfg Co Ltd | Tempo speed controller of automatic playing device |
JPH09258649A (en) * | 1996-03-19 | 1997-10-03 | Sukeo Kimura | Master and slave regulator for rhythm and tempo to be bodily sensed for chorus and concerted music |
JP2000276141A (en) * | 1999-03-25 | 2000-10-06 | Yamaha Corp | Electronic musical instrument and its controller |
JP2001188535A (en) * | 1999-12-28 | 2001-07-10 | Yamaha Corp | Tempo-setting device and method |
JP2001195060A (en) * | 2000-01-11 | 2001-07-19 | Yamaha Corp | Musical performance interface |
JP2002023743A (en) * | 2000-07-12 | 2002-01-25 | Yamaha Corp | Sounding control system |
JP2002278552A (en) * | 2001-03-22 | 2002-09-27 | Roland Corp | Tempo setting device |
JP2003122355A (en) * | 2001-10-10 | 2003-04-25 | Kawai Musical Instr Mfg Co Ltd | Electronic musical instrument |
-
2008
- 2008-10-27 JP JP2008275958A patent/JP4572980B2/en not_active Expired - Fee Related
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0876760A (en) * | 1994-08-31 | 1996-03-22 | Kawai Musical Instr Mfg Co Ltd | Tempo speed controller of automatic playing device |
JPH09258649A (en) * | 1996-03-19 | 1997-10-03 | Sukeo Kimura | Master and slave regulator for rhythm and tempo to be bodily sensed for chorus and concerted music |
JP2000276141A (en) * | 1999-03-25 | 2000-10-06 | Yamaha Corp | Electronic musical instrument and its controller |
JP2001188535A (en) * | 1999-12-28 | 2001-07-10 | Yamaha Corp | Tempo-setting device and method |
JP2001195060A (en) * | 2000-01-11 | 2001-07-19 | Yamaha Corp | Musical performance interface |
JP2002023743A (en) * | 2000-07-12 | 2002-01-25 | Yamaha Corp | Sounding control system |
JP2002278552A (en) * | 2001-03-22 | 2002-09-27 | Roland Corp | Tempo setting device |
JP2003122355A (en) * | 2001-10-10 | 2003-04-25 | Kawai Musical Instr Mfg Co Ltd | Electronic musical instrument |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112466266A (en) * | 2019-09-06 | 2021-03-09 | 雅马哈株式会社 | Control system and control method |
CN112466266B (en) * | 2019-09-06 | 2024-05-31 | 雅马哈株式会社 | Control system and control method |
Also Published As
Publication number | Publication date |
---|---|
JP4572980B2 (en) | 2010-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8502057B2 (en) | Electronic musical instrument | |
JP3922224B2 (en) | Automatic performance device and program | |
JP2006243102A (en) | Device and program for supporting performance | |
JP6260191B2 (en) | Electronic musical instrument, program and pronunciation pitch selection method | |
JP2005266350A (en) | Performance information display device and program | |
JP5228315B2 (en) | Program for realizing automatic accompaniment generation apparatus and automatic accompaniment generation method | |
JP4572980B2 (en) | Automatic performance device and program | |
JP4241833B2 (en) | Automatic performance device and program | |
JP4858504B2 (en) | Karaoke equipment | |
JP2005121876A (en) | Waveform generating device | |
JP2000221967A (en) | Setting control device for electronic musical instrument or the like | |
JP6357772B2 (en) | Electronic musical instrument, program and pronunciation pitch selection method | |
JP2006126697A (en) | Automatic accompaniment device | |
JP2017015957A (en) | Musical performance recording device and program | |
JP2006031056A (en) | Automatic music player | |
JP5164401B2 (en) | Automatic performance device and automatic performance program | |
JP2009109747A (en) | Performance terminal controller and program | |
JP2007072387A (en) | Music performance assisting device and program | |
JP3788457B2 (en) | Automatic performance device | |
JP6707881B2 (en) | Signal processing device and signal processing method | |
JP6343911B2 (en) | Electronic musical instrument, program and pronunciation pitch selection method | |
JP3760940B2 (en) | Automatic performance device | |
JP2014063107A (en) | Music piece player and music piece playing program | |
JP5652356B2 (en) | Sound source control device and sound source control program | |
JP2005031383A (en) | Automatic performance system and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081027 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091201 |
|
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: 20100720 |
|
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: 20100802 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130827 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |