JP2007264157A - 電子楽器およびプログラム - Google Patents

電子楽器およびプログラム Download PDF

Info

Publication number
JP2007264157A
JP2007264157A JP2006087013A JP2006087013A JP2007264157A JP 2007264157 A JP2007264157 A JP 2007264157A JP 2006087013 A JP2006087013 A JP 2006087013A JP 2006087013 A JP2006087013 A JP 2006087013A JP 2007264157 A JP2007264157 A JP 2007264157A
Authority
JP
Japan
Prior art keywords
arpeggio
event data
arpeggiator
event
predetermined number
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
Application number
JP2006087013A
Other languages
English (en)
Other versions
JP4716180B2 (ja
Inventor
Shinichi Ota
慎一 大田
Kazuhide Iwamoto
和秀 岩本
Masao Ishibashi
政郎 石橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2006087013A priority Critical patent/JP4716180B2/ja
Publication of JP2007264157A publication Critical patent/JP2007264157A/ja
Application granted granted Critical
Publication of JP4716180B2 publication Critical patent/JP4716180B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

【課題】 電子楽器に複数のアルペジェータを設け、アルペジェータの数よりも多いパート数の演奏情報に対して、可能な範囲内でアルペジェータを自在に割り当てることができるようにする。
【解決手段】 あるパートについて、アルペジオをオン状態にするよう指定する操作が行われると、空き状態のアルペジェータが存在するか否かを確認し(SP6)、存在する場合は、当該パートに対してアルペジェータを割り当てる(SP10〜SP16)。空き状態のアルペジェータが存在しない場合には、警告表示を行う(SP18)。一方、あるパートについて、アルペジオをオフ状態にする操作が行われると、そのパートに割り当てられていたアルペジェータを無条件に解放する(SP4)。
【選択図】 図5

Description

本発明は、アルペジオを使用した演奏等に用いて好適な電子楽器およびプログラムに関する。
従来より、アルペジオ(Arpeggio)とは、元々分散和音の意味で用いられていた。例えば、C音、E音、G音の和音を発生させる際、これらの音を同時に発音させるのではなく、時間軸上で発音タイミングをずらしながら発生させたものがアルペジオと呼ばれていた。このアルペジオを自動的に発生させる機能をアルペジェータという。例えば、ユーザがC音、E音、G音の鍵を同時に押下したときに、対応するC音、E音、G音の発音タイミングを自動的にずらしたイベントデータを発生させる機能がアルペジェータである。
一方、非特許文献1にあるように、近年の電子楽器においては、アルペジオおよびアルペジェータはより広い意味で用いられている。例えば、入力されたイベントデータのコード検出を行い、コードに応じたイベントデータを出力するものや、押鍵音に関係なく(同時に押下された鍵の数や音高にかかわらず)常に同一のドラムパターンを発生させるものなど、アルペジェータには多種多様な機能が付与されている。この結果、アルペジェータは、「入力されたイベントデータ(元イベントデータ)を、ある規則に基づいて変換し、変換したイベントデータ(アルペジオ・イベントデータ)を出力する機能」であると考えることができる。この元イベントデータをアルペジオ・イベントデータに変換する「規則」を「アルペジオパターン」と呼ぶ。そして、アルペジオパターンを一意に特定する情報、例えばアルペジオパターンの名称などを「アルペジオタイプ」と呼ぶ。
従来の通常の電子楽器においては、アルペジェータが「1」系統のみ設けられていたため、複数のパートのイベントデータに対して同時にアルペジオをかけることができなかった。このため、特許文献1に開示されている電子楽器においては、複数のアルペジェータを装備し、同時に複数の音色に対してアルペジオを施す技術が開示されている。すなわち、同文献においては、電子楽器の鍵盤に対して、一または複数種類の音色が割り当てられる。そして、鍵操作に応じて複数の音色に係る演奏情報が生成されると、これら音色毎に、予め設定されたアルペジオパターンが適用される。
特開平11−126074号公報 「MOTIF ES 取扱説明書」,ヤマハ株式会社,2003年
しかし、特許文献1に開示された技術は、鍵盤から入力された演奏情報に対してアルペジオを施すものであり、例えば電子楽器の内蔵鍵盤、外部鍵盤、シーケンサ等、様々なソースから入力された演奏情報に対してアルペジオを割り当てられるものではなかった。
この発明は上述した事情に鑑みてなされたものであり、特にアルペジェータの数よりも多いパート数の演奏情報に対して、可能な範囲内でアルペジェータを自在に割り当てることのできる電子楽器およびプログラムを提供することを目的としている。
上記課題を解決するため本発明にあっては、下記構成を具備することを特徴とする。なお、括弧内は例示である。
請求項1記載の電子楽器にあっては、複数の第1の所定数(「16」)のパートのイベントデータを受信するイベントデータ受信手段(44)と、前記第1の所定数(「16」)のパートに対して各々対応する音色で楽音信号を同時に生成する音源部(6)と、前記第1の所定数よりも少ない複数である第2の所定数(「4」)だけ設けられ、各々に設定されたパートのイベントデータと各々に設定されたアルペジオパターンとに基づいてアルペジオ・イベントデータを生成するアルペジェータ(46−1〜46−4)と、音色を指定する音色指定データと、前記アルペジオパターンを指定するアルペジオパターン指定データ(アルペジオタイプ)とを、前記各パート毎に記憶する記憶手段(26,270)と、前記各パートのアルペジオのオン指示またはオフ指示に応じて、前記第1の所定数のパートのうち、アルペジオがオン状態であるパートの数が前記第2の所定数以下になるように制限しつつ、前記各パートに対して、アルペジオのオン/オフ状態を設定するオン/オフ状態設定手段(2,SP6)と、前記アルペジオがオン状態であるパートに対して、前記第2の所定数のアルペジェータのうち何れか一のアルペジェータを各々割り当てる割当手段(SP10,SP12)と、前記イベントデータ受信手段(44)において受信されたイベントデータのうち、何れかのアルペジェータに設定されたパートのイベントデータを対応するアルペジェータに供給するとともに、何れのアルペジェータにも設定されていないパートのイベントデータをアルペジオ非対象イベントデータとして出力する分岐手段(45)と、前記各アルペジェータから出力されたアルペジオ・イベントデータと、前記アルペジオ非対象イベントデータとを前記音源部(6)に供給する音源制御手段(50)とを有し、前記音源部(6)は、供給された各パートの前記イベントデータに応じて、前記記憶手段(26,270)に記憶された当該パートの音色指定データの指定する音色の楽音信号を生成することを特徴とする。
さらに、請求項2記載の構成にあっては、請求項1記載の電子楽器において、前記割当手段(SP10,SP12)は、前記各アルペジェータの割当状態を記憶する割当状態記憶手段(Afree(q))をさらに有し、前記割当手段(SP10,SP12)は、前記オン/オフ状態設定手段(2,SP6)にて、前記オン指示に応じて何れかのパートがオン状態に設定されたとき、前記割当状態記憶手段(Afree(q))の記憶する割当状態に基づいて、空き状態である何れかの前記アルペジェータを検出し、検出された前記アルペジェータを当該パートに割り当てるとともに、何れかのパートがオフ状態に設定されたとき、当該パートに割り当てられていた前記アルペジェータを解放し、さらにその割当または解放に応じて前記割当状態記憶手段(Afree(q))における当該アルペジェータの割当状態を更新するものであることを特徴とする。
また、請求項3記載のプログラムにあっては、複数の第1の所定数(「16」)のパートのイベントデータを受信するイベントデータ受信手段(44)と、前記第1の所定数(「16」)のパートに対して各々対応する音色で楽音信号を同時に生成する音源部(6)と、前記第1の所定数よりも少ない複数である第2の所定数(「4」)だけ設けられ、各々に設定されたパートのイベントデータと各々に設定されたアルペジオパターンとに基づいてアルペジオ・イベントデータを生成するアルペジェータ(46−1〜46−4)と、音色を指定する音色指定データと、前記アルペジオパターンを指定するアルペジオパターン指定データ(アルペジオタイプ)とを、前記各パート毎に記憶する記憶手段(26,270)と、処理装置(22)とを有する電子楽器に適用されるプログラムであって、前記各パートのアルペジオのオン指示またはオフ指示に応じて、前記第1の所定数のパートのうち、アルペジオがオン状態であるパートの数が前記第2の所定数以下になるように制限しつつ、前記各パートに対して、アルペジオのオン/オフ状態を設定するオン/オフ状態設定過程(SP6)と、前記アルペジオがオン状態であるパートに対して、前記第2の所定数のアルペジェータのうち何れか一のアルペジェータを各々割り当てる割当過程(SP10,SP12)と、前記イベントデータ受信手段(44)において受信されたイベントデータのうち、何れかのアルペジェータに設定されたパートのイベントデータを対応するアルペジェータに供給するとともに、何れのアルペジェータにも設定されていないパートのイベントデータをアルペジオ非対象イベントデータとして出力する分岐過程(45)と、前記各アルペジェータから出力されたアルペジオ・イベントデータと、前記アルペジオ非対象イベントデータとを前記音源部(6)に供給する音源制御過程(50)とを前記処理装置(22)に実行させ、これによって前記音源部(6)に対して、供給された各パートの前記イベントデータに応じて、前記記憶手段(26,270)に記憶された当該パートの音色指定データの指定する音色の楽音信号を生成させることを特徴とする。
このように本発明によれば、第1の所定数のパートのうち、アルペジオがオン状態であるパートの数が第2の所定数以下になるように制限しつつ、各パートに対して、アルペジオのオン/オフ状態を設定するオン/オフ状態設定手段を設けたから、各パートのアルペジオのオン/オフ状態を適宜切り替えることにより、「第2の所定数以下」という制限の範囲内で、各パートに対して自在にアルペジェータを割り当てることができる。
1.ハードウエア構成
以下、この発明の一実施例のシンセサイザ1のハードウエア構成を図1を参照し説明する。図1において、2はパネルスイッチ部であり、ユーザによって操作される各種スイッチから構成されている。4はパネル表示器であり、ユーザに対して各種情報を表示する。6は音源部であり、最大「16」パートの演奏情報に基づいて、各パートの楽音信号を合成するとともに、必要に応じてこれら楽音信号にイコライジング処理、エフェクト処理等を施して出力する。
10はネットワークインタフェースであり、具体的にはUSBインタフェース、IEEE1394 インタフェースなどによって構成される。ネットワークインタフェース10においては、MIDI信号およびオーディオ信号が外部のパーソナルコンピュータ(PC)100との間で入出力される。ここで、ネットワークインタフェース10としてUSBインタフェースまたはIEEE1394 インタフェースを採用した場合は、「1」ケーブルでMIDI信号の入出力用に数十程度のポートを確保することができる。しかし、ネットワークインタフェース10においてオーディオ信号を入出力するポートも確保する場合には、オーディオ信号のチャンネル数等に応じて、MIDI信号入出力用に割当可能なポート数は減少する。
8はミキサであり、音源部6から出力された各パートのオーディオ信号とネットワークインタフェース10を介して入力されたオーディオ信号とをミキシングし、複数の出力チャンネルを介して出力する。これらの出力チャンネルのうち一部はDAコンバータ12を介してアナログ信号に変換されおよびサウンドシステム14を介して出力される。また、他の出力チャンネルのオーディオ信号は、ネットワークインタフェース10を介してPC100に出力される。18は演奏操作子部であり、鍵盤、ピッチベンドホイール等から構成されている。22はCPUであり、ROM24に格納されたプログラムに基づいて、バス16を介してシンセサイザ1内の各部を制御する。26はRAMであり、CPU22のワークメモリとして使用される。20はタイマであり、CPU22に対して所定時間毎にタイマ割込みを発生させる。
2.データ構成
上述したように、音源部6は最大「16」パートの演奏情報に基づいて、各パートの楽音信号を生成するが、これら「パート」の状態を設定するために、図2に示す設定データ270がRAM26内の所定領域に記憶される。設定データ270は、コモン設定データ272とパート設定データ274−1〜274−16とから構成される。コモン設定データ272は、第1パート〜第16パートに対して共通する設定データであり、以下のようなデータから構成される。
る。
・操作子アサイン:このデータは、演奏操作子部18における各操作子の機能および各パートへの割当状態を定めるものである。
・マスタイコライザ:このデータは、全パートに対して共通に付与されるイコライジング処理、例えば演奏会場に応じた音場補正等の内容を定めるものである。
・エフェクタパラメータ:このデータは、全パートに対して共通に付与されるエフェクト処理の内容を定めるものである。
また、パート設定データ274−1〜274−16は、各々第1パート〜第16パートに固有の情報から成るものであり、各パート毎の以下のようなデータから構成される。
・パート名:これは当該パートの名称を表す文字列である。
・送信チャンネル:シンセサイザ1の内部においては、各パートの演奏情報には、パートに固有のチャンネル番号が割り当てられる。このチャンネル番号を「送信チャンネル」という。なお、外部のPC100との間で入出力される演奏情報は「MIDI信号」であり、当該MIDI信号に含まれる各種イベントデータには、ネットワークインタフェース10における「ポート番号」と、当該ポート内の「MIDIチャンネル」とが必ず特定される。このように、外部機器との間で入出力されるパートについては、「送信チャンネル」とは、このポート番号と、MIDIチャンネルとを合わせた情報と等価である。
・音色指定:これは、当該パートに対する音色を指定するデータである。
・アルペジオタイプ:これは、当該パートの演奏情報に対してアルペジオを施す場合に、そのアルペジオパターンを一意に特定する情報である。
・アルペジオ・オン/オフ・フラグAon(p):このフラグは、パート番号pに対してアルペジオを施す場合には“1”(オン状態)、施さない場合には“0”(オフ状態)に設定されるものである。
・音量およびPAN:このデータは、ミキサ8における音量およびステレオの左右の出力チャンネルへの配分を表すものである。
・再生仮想トラック:本実施例にて用いられるMIDIシーケンサ36,112(詳細は後述する)は各トラック毎に演奏情報を記録するが、実際には、各トラックは、アルペジオを施す前の元イベントデータを記録する第1仮想トラックと、アルペジオを施した結果であるアルペジオ・イベントデータを記録する第2仮想トラックとから構成されている。「再生仮想トラック」は、当該パートに係るトラックを再生する際に、第1または第2仮想トラックのうち何れを再生するかを指定するデータである。
3.ソングモードにおける動作
3.1.アルゴリズム構成
次に、本実施例の動作を説明する。本実施例においては、動作モードとしてソングモードとアルペジオRECモードがある。ここで、ソングモードとは通常の鍵盤演奏などを行う動作モードである。ここで、ソングモードにおいてシンセサイザ1およびPC100によって実行される信号処理の等価アルゴリズムを図4を参照し説明する。
まず、シンセサイザ1の内部において18aは演奏操作子部18(図1参照)の一部を成す鍵盤である。10aはMIDIインタフェース部、10bは波形インタフェース部であり、各々ネットワークインタフェース10におけるMIDI信号およびオーディオ信号の入出力機能を表す。音源部6、ミキサ8、DAコンバータ12およびサウンドシステム14は、図1において説明した通り、ハードウエアの構成要素である。シンセサイザ1の内部において、上述した以外の構成要素は、CPU22によって実行されるプログラムによって実現されている機能を表す。
これらの機能のうち、36はシーケンサであり、最大「16」トラックの演奏情報を記録/再生する。ここで、シーケンサ36におけるトラック番号(「1〜16」)と、パート番号(「1〜16」)とは一対一に対応している。32はマージ部であり、MIDIインタフェース部10aおよび鍵盤18aを介して供給された演奏情報をマージする。また、マージ部44はMIDIインタフェース部10a、鍵盤18aおよびシーケンサ36を介して供給された演奏情報をマージする。MIDIイベントに付与されるMIDIチャンネル番号は、基本的には「16」パートのうち一つを指定するためのものである。MIDI信号を伝送する物理的ないし論理的な伝送路(ポート)が複数ある場合には、そのポート番号と組み合わせて指定することにより、「16」にそのポート数を乗じた数のパートの一つを特定することができる。なお、図面中の「Tch」はMIDIイベントを送信するための送信用のMIDIチャンネルを示し、「Rch」は受信用のMIDIチャンネルを示す。
46はアルペジェータ群であり、「4」台のアルペジェータから構成されている。なお、図4においては特に個々のアルペジェータは図示しないが、アルペジェータ群46に属するアルペジェータ番号q(=1〜4)のアルペジェータを、「アルペジェータ46−q」のように表記する。52はマージ部であり、鍵盤18a、シーケンサ36およびアルペジェータ群46を介して供給された演奏情報をマージし、MIDIインタフェース部10aに供給する。
各アルペジェータ46−1〜46−4は、各アルペジェータ毎に設定されたチャンネル番号ARP_Rchの示すMIDIチャンネルに対応するパートのMIDIイベントデータ(元イベントデータ)に基づいて、アルペジオを施した結果であるイベントデータ群であるアルペジオ・イベントデータに、MIDIチャンネル番号としてARP_Tch(*)を付加してマージ部50に出力し、また、チャンネル番号ARP_Tchを付加してマージ部52にそれぞれ出力する。を出力する。45は分岐部であり、マージ部44から出力されたイベントデータのうち、各アルペジェータ46−1〜46−4のARP_Rch(*)の示すMIDIチャンネルに対応するパート(アルペジオ対象パート)のイベントデータを各々対応するアルペジェータ46−1〜46−4に供給するとともに、それ以外のパートのイベントデータをマージ部50に供給する。この結果、マージ部50においては、アルペジオ対象パートのアルペジオ・イベントデータと、アルペジオ非対象パートのイベントデータとがマージされ、マージされた結果のMIDI信号が音源部6に供給されることになる。
音源部6は、例えば「128」発音チャンネルを備えており、供給されたMIDI信号(イベントデータ)に基づいて最大「16」MIDIチャンネルに対応する「16」パートの楽音信号(オーディオ信号)を、最大「128」音まで同時に合成する。この楽音信号は、シンセサイザ1内のミキサ8、DAコンバータ12、サウンドシステム14を介して発音させることができる。さらに、同時に波形インタフェース部10bを介して楽音信号をPC100に供給し、PC100側において録音等を行うこともできる。
次に、PC100の内部において、102はMIDIインタフェース部、104は波形インタフェース部であり、シンセサイザ1内のインタフェース部10a,10bと同様に、PC100内のネットワークインタフェースの機能を表す。これらインタフェース部102,104は、各々シンセサイザ1内のインタフェース部10a,10bとの間でMIDI信号およびオーディオ信号を入出力する。110はDAW(Digital Audio Workstation)であり、PC100上で動作するアプリケーションプログラムによって実現される機能である。
DAW110内において116は音源プラグインであり、供給されたMIDI信号に基づいてオーディオ信号を生成する。112はMIDIシーケンサであり、複数トラックのMIDI信号を記録/再生する。114はMIDIミキサであり、供給された複数系統のMIDI信号をミキシングするとともにミキシング結果をMIDIインタフェース部102、MIDIシーケンサ112または音源プラグイン116に供給する。118は波形レコーダであり、複数トラックのオーディオ信号を記録/再生する。122は効果プラグインであり、供給されたオーディオ信号に対して効果処理を施す。120は波形ミキサであり、供給された複数系統のオーディオ信号をミキシングするとともに、ミキシング結果を波形インタフェース部104、波形レコーダ118および効果プラグイン122に供給する。
再びシンセサイザ1の内部において、鍵盤18aから出力されるイベントデータは、チャンネルKB_Tch(*)を介して(すなわち、MIDIチャンネル番号としてKB_Tch(*)を付与して)マージ部32および44に出力されるとともに、チャンネルKB_Tchを介して(同、KB_Tchを付与して)マージ部52に出力される。なお、以下の説明でアスタリスク(*)を付与したチャンネルは、シンセサイザ1の内部においてのみ用いられる「送信チャンネル」であることを示し、外部の機器はそのMIDIチャンネル番号の影響を受けないので、シンセサイザ1内で任意に決めることができる。また、アスタリスクを付与していないチャンネルは、MIDIインタフェース部10aを介して外部に出力されるときのMIDIチャンネルである。鍵盤18a内の鍵を操作したとき、そのイベントデータがシンセサイザ1の内部でのみ用いられる場合は、チャンネルKB_Tch(*)を介してのみイベントデータが出力される。また、該イベントデータがPC100にも出力されるべき場合には、チャンネルKB_Tch(*)およびチャンネルKB_Tchの双方を介して該イベントデータが出力される。
42はKB_localスイッチであり、チャンネルKB_Tch(*)のイベントデータをマージ部44を介して出力するか否かを切り替えるものである。ここで、このスイッチ42の意義について説明しておく。まず、シンセサイザ1を単独で使用し、鍵盤18aの操作に基づいて単に音源部6にて楽音信号を出力させるのであれば、鍵盤18aから出力されたイベントデータは、マージ部44等を介して音源部6にそのまま供給されなければならない。かかる場合には、KB_localスイッチ42はオン状態に設定される。
一方、シンセサイザ1にPC100を接続し、DAW110によって鍵盤18aから生じたイベントデータをMIDIシーケンサ112に記録しつつ、該イベントデータに基づいて音源部6にて楽音信号を出力させる場合がある。かかる場合には、DAW110が確実に動作していることを確認しながら楽音信号を生成することが望ましい。DAW110には、MIDIインタフェース部102を介して受信したイベントデータをMIDIインタフェース部102を介してそのまま送り返す「エコーバック」という機能がある。
そこで、シンセサイザ1においては、チャンネルKB_Tchを介してDAW110にイベントデータを送信するとともに、エコーバックされたイベントデータに基づいて楽音信号を合成すると、DAW110が確実に動作しており、イベントデータがDAW110に受信されたことを確認することができる。このようにエコーバックされたイベントデータを用いて楽音信号を合成する場合には、チャンネルKB_Tch(*)のイベントデータをマージ部44に供給すると、同一内容のイベントデータが重複してマージ部44に供給されることになる。このような不具合を防止するため、エコーバックを用いる場合にはKB_localスイッチ42はオフ状態にしておく必要がある。
次に、48はARP_outスイッチであり、アルペジェータ群46から出力されるアルペジオ・イベントデータをマージ部52を介してPC100に送信するか否かを切り替える。ここで、このスイッチ48の意義について説明しておく。まず、上述したように、アルペジェータ群46においては最大「4」パートのアルペジオ対象パートに対してアルペジオ・イベントデータを出力することができるが、これら各パートには、固有の送信チャンネルが割り当てられる。換言すれば、あるアルペジェータに入力されるイベントデータのチャンネル番号ARP_Rch(*)と、当該アルペジェータから出力されるアルペジオ・イベントデータのチャンネル番号ARP_Tch(*)とは等しい番号である。
アルペジオ・イベントデータは、シンセサイザ1の内部で用いるのみならず、DAW110に対しても供給し、MIDIシーケンサ112等に記録することができる。かかる場合にはARP_outスイッチ48はオン状態に設定する必要がある。この場合には、アルペジオ・イベントデータに対して外部出力用のMIDIチャンネルARP_Tchが付与され、マージ部52およびMIDIインタフェース部10aを介して出力される。しかし、ここでエコーバックがオン状態になっていると、マージ部52を介して送信されたアルペジオ・イベントデータがそのままMIDIインタフェース部10aを介して送り返され、マージ部44を介して再びアルペジェータ群46に入力される。このような状態においては、アルペジオが際限なく継続され続けるため、アルペジオ・イベントデータを生成する場合においてエコーバックがオン状態になっているのであれば、ARP_outスイッチ48はオフ状態にしておく必要がある。
次に、34はARP_recスイッチであり、シーケンサ36において記録すべきMIDI信号を切り替える。すなわち、ARP_recスイッチ34がオン状態であれば、アルペジェータ群46から出力されたアルペジオ・イベントデータがシーケンサ36に供給され、オフ状態であれば、マージ部32から出力された演奏情報すなわち元イベントデータがシーケンサ36に供給される。38はSEQ_localスイッチであり、シーケンサ36の出力演奏情報をマージ部44を介して音源部6等に供給するか否かを切り替える。40はSEQ_outスイッチであり、シーケンサ36の出力演奏情報をマージ部52を介してPC100に供給するか否かを切り替える。SEQ_localスイッチ38を介してマージ部44に供給されるイベントデータにはチャンネルSQ_Tch(*)が付与され、SEQ_outスイッチ40を介してマージ部52に供給されるイベントデータにはMIDIチャンネルSQ_Tchが付与される。
本実施例においては、アルペジェータ群46において同時に「4」パートに対してアルペジオ・イベントデータを生成することができるが、「5」以上のパートに対してアルペジオを付与したMIDI信号を生成したい場合もある。これらのパートのうち、鍵盤18aに係るパートのように元イベントデータがリアルタイムに決定されるパートはアルペジェータ群46内の何れかのアルペジェータを用いてリアルタイムにアルペジオ・イベントデータを生成せざるを得ない。しかし、シーケンサ36あるいはDAW110内のMIDIシーケンサ112の何れかのトラックに記録されているMIDI信号に基づいてアルペジオ・イベントデータを生成する場合には、当該MIDI信号に基づいて予めアルペジオ・イベントデータを生成しておき、シーケンサ36に記録しておけばよい。これにより、演奏時には「5」以上のパートに対してアルペジオを付与した楽音信号を生成することができる。なお、各パートのアルペジオタイプの設定は、各パートで指定されている音色と深い関連があるので、この設定画面200で各パートの音色も設定できるようにするのが好適である。
3.2.イベント処理
3.3.アルペジオタイプの設定(図3)
次に、ソングモードにおける各種イベント処理の内容を説明する。
ユーザがパネルスイッチ部2において所定の操作を行うと、図3に示すアルペジオタイプ設定画面200がパネル表示器4に表示される。図3において202はパート番号表示部であり、「1〜16」のパート番号を表示する。204はパート名表示部であり、各パートのパート名を表示する。206はアルペジオタイプ選択欄であり、当該パートに適用されるアルペジオタイプを複数の候補の中から選択することができる。ここで選択されたアルペジオタイプは、パート設定データ274−1〜274−16のうち対応するものに反映される。なお、このアルペジオタイプ設定画面200における操作/設定内容は、後述するアルペジオRECモードにおいても同様である。
3.3.1.アルペジオ・オン/オフ処理(図5)
ソングモードにおいては、「16」パートに対応して、パネルスイッチ部2における「16」個のスイッチが各パートのアルペジオのオン/オフ状態をトグルで切り替えるアルペジオスイッチとして割り当てられる。これらのスイッチのうち第pパート(pは1〜16のうち何れか)のアルペジオスイッチが押下されると、図5に示すアルペジオ・オン/オフ処理ルーチンが起動される。なお、イベントデータに付与されるMIDIチャンネル番号は、通常、このパート番号pに一対一に対応する。
図5において処理がステップSP2に進むと、アルペジオ・オン/オフ・フラグAon(p)が“1”(オン状態)であるか否かが判定される。ここで「NO」と判定されると、処理はステップSP6に進み、「q=1〜4」の範囲でアルペジェータ・フリー・フラグAfree(q)が全て“0”であるか否かが判定される。ここで、アルペジェータ・フリー・フラグAfree(q)は、アルペジェータ群46に含まれる第qアルペジェータ46−qについて“1”(空き状態)または“0”(使用状態)の何れかの状態を示すものである。ここで、少なくとも一つのアルペジェータについてアルペジェータ・フリー・フラグAfree(q)が“1”(空き状態)であれば、「NO」と判定され、処理はステップSP10に進む。
ステップSP10においては、アルペジェータ・フリー・フラグAfree(q)が“1”(空き状態)である何れかのアルペジェータ番号qが、パート番号pに割り当てられた割当アルペジェータ番号Aas(p)として記憶される。但し、第pパートに対してアルペジェータが割り当てられていない場合には、割当アルペジェータ番号Aas(p)は“0”になる。ステップSP10はパート番号pに対して割当可能なアルペジェータ番号qが存在するときに実行されるものであるから、ここでは、割当アルペジェータ番号Aas(p)は「1〜4」の値の何れかになる。すなわち、割当アルペジェータ番号Aas(p)が“0”でないパートpには、アルペジェータAas(p)が割り当てられていることを示す。また、図4と対応付ければ、その場合、アルペジェータAas(p)には、MIDI受信チャンネルARP_Rch(*)として「p」が設定されていることである。
次に、処理がステップSP12に進むと、割当アルペジェータ番号Aas(p)に係るアルペジェータは使用状態になったため、アルペジェータ・フリー・フラグAfree(Aas(p))が“0”(使用状態)に設定される。また、パート番号pに対してアルペジオを発生させるために、アルペジオ・オン/オフ・フラグAon(p)が“1”に設定される。次に、処理がステップSP14に進むと、パート番号pのパート設定データ274−p(図2参照)が読み出され、ここに指定されたアルペジオタイプに基づいて、当該アルペジオタイプに係るアルペジオパターンが、ROM24から割当アルペジェータ番号Aas(p)に係るアルペジェータに転送される。すなわち、ROM24には、様々な種類のアルペジオパターンがアルペジオタイプに対応付けて予め記憶されており、その中から実際に使用されるアルペジオパターンが対応するアルペジェータに転送されるのである。
次に、処理がステップSP16に進むと、オンテーブルOnTbl(Aas(p))がクリアされる。ここで、オンテーブルOnTbl(q)とは、第qアルペジェータについて、各音高毎に“1”(ノートオン状態)または“0”(ノートオフ状態)のフラグを記憶するテーブルである。各フラグは対応する音高のノートオンイベントが入力されると“1”に設定され、当該音高のノートオフイベントが入力されると“0”に設定される。従って、例えば鍵盤18aに係るパートに割り当てられたアルペジェータにおいては、オンテーブルOnTbl(q)の中で“1”である音高については、「対応する鍵が押下中である」という意味になる。
一方、第pパートのアルペジオスイッチが押下された際に対応するアルペジオ・オン/オフ・フラグAon(p)が“1”(オン状態)であった場合には、ステップSP2において「YES」と判定され、処理はステップSP4に進む。ここでは、アルペジオ・オン/オフ・フラグAon(p)が“0”(オフ状態)に設定され、アルペジェータ・フリー・フラグAfree(Aas(p))が“1”(空き状態)に設定され、さらに割当アルペジェータ番号Aas(p)が“0”(割当なし)に設定される。これにより、第pパートにおいては、アルペジオの実行が終了され、以後第pパートに係る演奏情報がマージ部44(図4参照)から出力されたとしても、これはアルペジェータ群46に供給されることなく、分岐部45およびマージ部50を介して、音源部6に直接供給されることになる。
また、第pパートのアルペジオスイッチが押下された際に、対応するアルペジオ・オン/オフ・フラグAon(p)が“0”(オフ状態)であって、アルペジェータ・フリー・フラグAfree(q)が全て“0”(使用状態)であった場合には、ステップSP6において「YES」と判定され処理はステップSP18に進む。かかる場合には、第pパートに対して割当可能なアルペジェータは無いため、「全アルペジェータ使用中」との警告メッセージがパネル表示器4に表示される。
3.3.2.ノートオンイベント処理(図6)
次に、ソングモードにおいてノートオンイベントが発生した場合の処理を図6を参照し説明する。ソングモードにおいてノートオンイベントは、(a)通常のノートオンイベント、すなわち鍵盤18a、シーケンサ36、またはMIDIインタフェース部10aにおいて発生するノートオンイベントと、(b)アルペジェータ群46において発生するアルペジオ・イベントデータに含まれるノートオンイベントの2種類がある。何れの場合においても、ノートオンイベントにおいては、送信チャンネルが特定されているから、該ノートオンイベントに係るパート番号pが特定され、さらに音高nnおよびベロシティvelが特定される。
まず、通常のノートオンイベントが発生した場合には処理はステップSP20に進み、パート番号pに係るアルペジオ・オン/オフ・フラグAon(p)が“1”(オン状態)であるか否かが判定される。オン状態である場合、それはアルペジェータAas(p)のARP_Rchとして、当該パートpが設定されていることを意味する。ここで「YES」と判定されると、処理はステップSP22に進み、オンテーブルOnTbl(Aas(p))の内容が確認される。次に、処理がステップSP24に進むと、今回発生したノートオンイベントがパート番号pにおける最初のノートオンイベントであるか否かが判定される。すなわち、オンテーブルOnTbl(Aas(p))の各音高のフラグが全て“0”(ノートオフ状態)であった場合には、今回発生したノートオンイベントは最初のノートオンイベントである。
ステップSP24において「YES」と判定されると、処理はステップSP26に進み、カウンタCount(Aas(p))がゼロクリアされる。ここで、カウンタCount(q)について説明しておく。アルペジオパターンは、時間軸上で分散してアルペジオ・イベントデータを生成するものであるため、各アルペジェータ46−1〜46−4においては、現在発生中のアルペジオパターンが時間軸上でどの位置まで進行しているのかを特定しておく必要がある。カウンタCount(q)は、第qアルペジェータ46−qにおけるアルペジオパターン発生時からの経過時間をカウントするものである。そして、最初のノートオンイベントが生じた現在のタイミングがアルペジオパターン発生時に等しいから、カウンタCount(q)がゼロクリアされるのである。
次に、処理がステップSP28に進むと、アルペジオ実行フラグRun(Aas(p))が“1”に設定される。ここで、アルペジオ実行フラグRun(q)とは、第qアルペジェータにおいてアルペジオの実行中(“1”)または非実行中(“0”)のうち何れかを示すものである。一方、今回のノートオンイベントが最初のノートオンイベントではなかった場合には、ステップSP26,SP28はスキップされる。次に処理がステップSP30に進むと、今回のノートオンイベントがオンテーブルOnTbl(Aas(p))に登録される。すなわち、音高nnに対応するフラグが“1”に設定される。
以上のステップSP24〜SP30の処理によれば、アルペジオは最初のノートオンイベントが発生したタイミングでスタートされることになる。そして、最初のノートオンイベントに係る音高のノートオン状態が保たれたまま、追加のノートオンイベントが入力された場合には、ステップSP26,SP28はスキップされることにより、実行中のアルペジオがそのまま継続されることになる。「そのまま継続される」とは、追加のノートオンイベントがアルペジオ・イベントデータに対して全く影響を及ぼさない場合もあれば、影響を及ぼす場合もある。追加のノートオンイベントに対して如何なる意味を与え、これを如何に扱うかは、対応するアルペジオパターンによって決定されることである。
また、通常のノートオンイベントにおいてアルペジオ・オン/オフ・フラグAon(p)が“0”(オフ状態)であった場合には処理はステップSP32に進み、当該ノートオンイベントに対して音源部6における「128」発音チャンネルの何れか一つが選択され割り当てられる。次に、処理がステップSP34に進むと、割り当てた発音チャンネルに対して、パート番号pのパート設定データ274−pで指定された音色と、音高nnと、ベロシティvelとに基づいて、必要なパラメータが設定される。次に、処理がステップSP36に進むと、当該発音チャンネルに対して発音指示が行われ、該発音チャンネルにおける楽音信号合成処理が開始される。
また、詳細は後述するが、各アルペジェータにおいては、カウンタCount(q)の進行に応じて、アルペジオ・イベントデータが生成される。このアルペジオ・イベントデータがノートオンイベントであった場合には、通常のノートオンイベントにおけるステップSP32〜SP36と同様の処理が実行される。
3.3.3.ノートオフイベント処理(図7)
次に、ソングモードにおいてノートオフイベントが発生した場合の処理を図7を参照し説明する。ノートオフイベントについても、(a)鍵盤18a等において発生する通常のノートオフイベントと、(b)アルペジェータ群46において発生するアルペジオ・イベントデータに含まれるノートオフイベントの2種類がある。何れの場合においても、ノートオフイベントにおいては、送信チャンネルが特定されているから、該ノートオフイベントに係るパート番号pが特定され、さらに音高nnが特定される。
まず、通常のノートオフイベントが発生した場合には処理はステップSP40に進み、パート番号pに係るアルペジオ・オン/オフ・フラグAon(p)が“1”(オン状態)であるか否かが判定される。ここで「YES」と判定されると、処理はステップSP42に進み、オンテーブルOnTbl(Aas(p))の内容が確認される。次に、処理がステップSP44に進むと、今回発生したノートオフイベントが第Aas(p)アルペジェータにおける最後のノートオフイベントであるか否かが判定される。すなわち、今回発生したノートオフイベントの音高nnに係るフラグは必ず“1”(ノートオン状態)であるから、他の音高のフラグが全て“0”(ノートオフ状態)であるとき、当該ノートオフイベントは最後のノートオフイベントである。
ステップSP44において「YES」と判定されると、処理はステップSP46に進み、アルペジオ実行フラグRun(Aas(p))が“0”(非実行中)に設定される。換言すれば、アルペジオの実行を継続させるには、少なくとも何れかの音高がノートオン状態である必要があり、全ての音高についてノートオフ状態になると、アルペジオが終了することになる。一方、当該ノートオフイベントが最後のノートオフイベントではなかった場合には、ステップSP46はスキップされる。次に処理がステップSP48に進むと、今回生じたノートオフイベントに対応するノートオンがオンテーブルOnTbl(Aas(p))から削除される。すなわち、音高nnに係るフラグが“0”に設定される。
また、通常のノートオフイベントにおいてアルペジオ・オン/オフ・フラグAon(p)が“0”(オフ状態)であった場合には処理はステップSP50に進み、音源部6において発音中の発音チャンネルの中から、当該ノートオフイベントに対応する発音チャンネルが検索される。次に、処理がステップSP52に進むと、当該発音チャンネルが存在するか否かが判定される。ここで「YES」と判定されると、処理はステップSP54に進み、該発音チャンネルのリリースを開始するように音源部6に対してコマンドが出力される。一方、当該発音チャンネルが無かった場合はステップSP54はスキップされる。また、発生したノートオフイベントがアルペジオ・イベントデータに含まれるものであった場合には、通常のノートオフイベントにおけるステップSP50〜SP54と同様の処理が実行される。
3.3.4.テンポ割込みイベント処理(図8)
次に、ソングモードにおいてテンポ割込みが発生した場合の処理を図8を参照し説明する。なお、テンポ割込みは、タイマ20によって、所定間隔(例えば現在のテンポにおける4分音符の長さの「1/64」の間隔)で発生する割込みである。図8において処理がステップSP60に進むと、アルペジェータ番号qが「1」にセットされる。次に、処理がステップSP62に進むと、アルペジオ実行フラグRun(q)が“1”(実行中)であるか否かが判定される。ここで「YES」と判定されると、処理はステップSP64に進み、カウンタCount(q)が「1」だけ進められる。
次に、処理がステップSP66に進むと、先述したステップSP14にて当該アルペジェータ46−qに設定されたアルペジオパターンを、更新後のカウンタCount(q)のカウント値で参照し、現在のタイミングがアルペジオ・イベントデータを発生すべきイベントタイミングであるか否かが判定される。ここで「YES」と判定されると、処理はステップSP68に進み、現在のタイミングに対応するアルペジオ・イベントがオンテーブルOnTbl(q)の情報に基づいて必要に応じて修正され、当該アルペジェータの出力先として設定されたMIDIチャンネル番号である割当チャンネルAch(q)のイベントとして出力される。ここで、アルペジェータ46−qのオンテーブルOnTbl(q)に記憶されているものは、当該アルペジェータのARP_Rch(*)が示すパートの現在ノートオンされているノートを示す情報である。また、割当チャンネルAch(q)とは、図4におけるARP_Tch(*)およびARP_Tchのことであり、ここでは、その2つのMIDIチャンネルの2つのイベントデータとして出力される。図4によれば、出力されたARP_Tch(*)のイベントデータは、マージ部50を介して音源部6を駆動するが、このイベントデータが図6で説明したアルペジオ・イベントデータに相当する。すなわち、ステップSP32〜SP36の処理が実行され、音源部6で当該イベントデータに対応する楽音が生成される。また、ARP_Tchのイベントデータは、ARP_Tchがオンであれば、マージ部52およびMIDIインタフェース部10aを介してPC100に出力される。次に、処理がステップSP70に進むと、第qアルペジェータ46−qに設定されているアルペジオパターンに基づいて、次のイベントタイミング(上記ステップSP66において「YES」と判定されるタイミング)が設定される。
なお、ステップSP62またはステップSP66の何れかにおいて「NO」と判定されると、ステップSP64,SP68,SP70の処理はスキップされる。次に、処理がステップSP72に進むと、アルペジェータ番号qが「1」だけインクリメントされる。次に、処理がステップSP74に進むと、アルペジェータ番号qが「4」を超えたか否かが判定される。ここで「NO」と判定されると、新たなアルペジェータ番号qに基づいて、上記ステップSP62〜SP70の処理が実行される。一方、アルペジェータ番号qが「4」を超えると、本ルーチンが終了する。
4.アルペジオRECモードにおける動作
4.1.動作の概要
次に、アルペジオRECモードの動作について説明するが、最初にシンセサイザ1とDAW110とを用いて、楽曲のソングデータを作成する方法について説明しておく。ソングデータは複数のパートから構成され、各パートはMIDIシーケンサ112に記録されるMIDIトラック、または波形レコーダ118に記録されるオーディオトラックに記録される。ユーザは、演奏操作子部18を用いて、パート毎の演奏情報またはオーディオ信号を順次作成してゆくことになる。ここで、あるパートの演奏情報またはオーディオ信号を生成するときは、以前に作成したパートの演奏情報およびオーディオ信号が再生される。
ここで、ソングデータ作成時にPC100のディスプレイに表示されるレコーダ制御ウィンドウ220の一例を図10に示す。図において222は再生トラック選択部であり、再生対象となるトラックを選択する。選択されたトラックについては、トラック選択ボタン222に「E」の文字が付される。224は信号種別表示部であり、オーディオトラック(A)またはMIDIトラック(M)の区別を表示する。226はトラック名表示部であり、当該トラックのトラック名を表示する。228はピアノロール譜表示部であり、当該トラックにおける発音区間を表示する。
230はタイムスタンプ表示部であり、ソングデータにおける現在の参照位置を表す。232は巻き戻しボタン、234は早送りボタンであり、参照位置を前後方向に移動させる。238は再生ボタンであり、再生対象として選択されたトラックの再生を開始する。240は録音ボタンであり、ユーザによって選択された一の録音トラックに対して録音(MIDI信号またはオーディオ信号の記録)を開始させるとともに、他のトラックのうち再生対象として選択されたトラックの再生を開始する。236は停止ボタンであり、これらトラックの再生または録音を停止させる。
ここで、シンセサイザ1とPC100との間で送受信されるMIDI信号には、複数のパートに係るイベントデータが混在している。これらイベントデータの属するパートはMIDIチャンネルによって区別される。先に図2において説明したように、パート設定データ274−1〜274−16には、各パートに係る送信チャンネルが記憶されている。一方、DAW110内のMIDIシーケンサ112においては、各「トラック」に対してMIDIチャンネルが一意に対応付けられる。このため、MIDIシーケンサ112の各トラックは、シンセサイザ1内における「パート」に一意に対応付けられることになる。
これにより、本実施例のアルペジオRECモードにおいては、ユーザがDAW110においてトラックを選択すると、シンセサイザ1内におけるパートが一意に決定される。従って、当該パートのアルペジオ・オン/オフ・フラグAon(p)をオン状態に設定すると、アルペジオタイプが一意に決定される。これにより、アルペジェータの設定が自動的に切り替えられることになる。また、DAW110内のMIDIシーケンサ112において、シンセサイザ1内のシーケンサ36と同様に、各トラックに対して、複数の仮想トラックを設けることができ、そのトラックに対して録音・再生を行うときに実際に録音・再生が行われる仮想トラックを指定することができる。このため、シーケンサ36,112においては、アルペジオを施す前の元イベントデータを例えば第1仮想トラックに録音し、アルペジオ・イベントデータを第2仮想トラックに録音するように、録音する仮想トラックを自動的に選択するとよい。
4.2.アルゴリズム構成(図9)
次に、アルペジオRECモードにおいてシンセサイザ1およびPC100によって実行される信号処理の等価アルゴリズムを図9を参照し説明する。なお、図9において図4の各部に対応する部分には同一の符号を付す。図9においては、図4のアルペジェータ群46に代えて「1」台のアルペジェータ60のみが設けられている。58は分岐部であり、マージ部44から出力された演奏情報のうち、「第2ポート」に属する送信チャンネルを有するもののみをアルペジェータ60に供給するとともに、「第1ポート」に属する送信チャンネルを有するものをマージ部50に供給する。
ここで、「第1または第2ポート」のポート番号は、既に説明した通り、MIDI信号の通信経路が複数ある場合にその一つを特定するための番号であり、本実施例のシンセサイザ1では、「ポート番号」と「MIDIチャンネル」とを組み合わせることにより、「16」を超えるパートを指定できるようになっている。ソングモードでは第1ポートしか使用しないので、ポート番号について詳細に言及しなかったが、アルペジオRECモードでは「2」つのポートが使用される。従って、本モードにおける送信チャンネルTchおよび受信チャンネルRchは、「MIDIチャンネルj」のみならず、「ポート番号i」も併せた情報になっている。ここでは、その情報を送信チャンネルTch(i,j)および受信チャンネルRch(i,j)と呼ぶことにする。アルペジェータ60の
受信チャンネルとして、例えば第2チャンネルのオムニ(全てのMIDIチャンネル)を設定し、分岐部58において、ポート番号に基づいてイベントデータを分岐するようにする。また、62はARP_localスイッチであり、アルペジェータ60から出力されるアルペジオ・イベントデータをマージ部50に出力するか否かを切り替える。また、アルペジオ・イベントデータはシーケンサ36に供給され、シーケンサ36の出力信号はマージ部44に供給される。
上述したように、ソングモードにおいては、アルペジオ・イベントデータを生成する場合においてエコーバックがオン状態になっているのであれば、ARP_outスイッチ48はオフ状態にしておく必要があった。しかし、アルペジオRECモードにおいては、ARP_localスイッチ62をオフにしておけば、ARP_outスイッチ48をオン状態にしながらエコーバックもオン状態に設定することができるようにしている。これは、MIDIインタフェース部10a,102を介してMIDIイベントデータが送受信される際のパートの指定(この場合はポート)をイベントデータの種類に応じて変更したためである。
その詳細を以下説明する。まず、鍵盤18aの操作に基づいて発生したイベントデータは、送信チャンネルの情報としてTch(2,j)が付与されて第2ポートのイベントデータとして、マージ部52、MIDIインタフェース部10aを介してDAW110に供給される。DAW110においては、当該イベントデータを第2ポートを介して受信した(受信したものが第2ポートのイベントデータであった)ことにより、当該イベントデータがアルペジオを発生させるための元イベントデータである旨が検出される。MIDIシーケンサ112においては、第1ポートのイベントデータを第1仮想トラックに記録/再生し、第2ポートのイベントデータを第2仮想トラックに記録/再生するものとする。従って、MIDIシーケンサ112にて該イベントデータを記録する場合においては、該イベントに付与された送信チャンネルTch(2,j)に基づき、該MIDIチャンネルjに対応したトラックの、第2仮想トラックに記録されることになる。
DAW110においてエコーバックがオン状態であれば、この受信した元イベントデータが、MIDIインタフェース部102およびMIDIインタフェース部10aの第2ポートを介してエコーバックされる。エコーバックされたイベントデータは第2ポートのイベントデータであるので、マージ部44、分岐部45を介してアルペジェータ60に供給される。これにより、以後の時間経過に応じて、アルペジェータ60からアルペジオ・イベントデータが逐次出力されることになる。
出力されたアルペジオ・イベントデータには、アルペジェータ60に設定されているARP_Tchに基づき送信チャンネルTch(1,j)が付与されて、第1ポートのイベントデータとして、マージ部52、MIDIインタフェース部10aを介して再びDAW110に供給される。DAW110においては、当該イベントデータを第1ポートを介して受信した(受信したものが第1ポートのイベントデータであった)ことにより、当該イベントデータがアルペジオ・イベントデータである旨が検出される。従って、MIDIシーケンサ112にて該イベントデータを記録する場合においては、該イベントデータに付与された送信チャンネルTch(1,j)に基づき、該MIDIチャンネルjに対応したトラックの第1仮想トラックに記録されることになる。
そして、DAW110においてエコーバックがオン状態であれば、この受信したアルペジオ・イベントデータが、MIDIインタフェース部102およびMIDIインタフェース部10aの第1ポートを介してエコーバックされる。エコーバックされたイベントデータは、第1ポートのイベントデータであるので、マージ部44、分岐部45、マージ部50を介して音源部6に供給される。これにより、アルペジオ・イベントデータに基づいて音源部6においてMIDIチャンネルjに対応するパートの音色で楽音信号が生成され、サウンドシステム14を介して放音される。
また、シンセサイザ1内のシーケンサ36においても、送信チャンネルに含まれるポート番号の情報に基づいて、ここに供給されるイベントデータが元イベントデータであるのかアルペジオ・イベントデータであるのかが直ちに判明するため、供給されたイベントデータを第1または第2仮想トラックのうち何れに記録すればよいのかは直ちに判明する。
なお、鍵盤18aにおいてアルペジオ非対象パートの演奏情報が入力される場合には、ソングモードの場合と同様に、鍵盤18aから出力されたイベントデータには、設定されているKB_Tchの示す送信チャンネルTch(1,j)が付与されて、第1ポートのデータとしてマージ部52、MIDIインタフェース部10aを介してDAW110に送信される。そして、MIDIシーケンサ112においては、必要に応じて、当該イベントデータのMIDIチャンネルに対応するトラックの第1仮想トラックに当該イベントデータが記録される。このイベントデータが第1ポートを介してMIDIインタフェース部10aにエコーバックされると、該イベントデータはマージ部44、分岐部58、マージ部50を介して音源部6に供給されるから、音源部6においてはアルペジオの施されていない楽音信号が合成される。
4.3.イベント処理(ソングモード)
4.3.1.パート選択イベント処理(図11)
次に、アルペジオRECモードにおける各種イベント処理の内容を説明する。
ユーザが、パネルスイッチ部2において、何れか任意のパート番号pをアルペジオ録音対象に指定する操作を行うと、図11に示すパート選択イベント処理ルーチンが起動される。図において処理がステップSP80に進むと、当該パート番号pが選択パート番号sepとして記憶される。次に、処理がステップSP82に進むと、選択パート番号sepに係るパート設定データ274−sepから、当該選択パート番号sepに係るアルペジオタイプが読み出され、読み出されたアルペジオタイプに対応するアルペジオパターンがROM24からアルペジェータ60に転送される。
4.3.2.第2ポートのノートオンイベント処理(図12(a))
次に、MIDIインタフェース部10aにおいて第2ポートから選択パート番号sepのノートオンイベントを受信した場合の処理を図12(a)を参照し説明する。なお、第2ポートからの受信チャンネルはRch(2,j)の形式になる。同図(a)の処理は、ソングモードにおけるステップSP22〜SP30の処理(図6参照)と同様であるが、アルペジェータ60は一台のみであるため、対応するオンテーブルや各種パラメータも一系統のみ設けられる。まず、ステップSP90においては、オンテーブルの内容が確認される。次に、処理がステップSP92に進むと、今回発生したノートオンイベントが選択パート番号sepにおける最初のノートオンイベントであるか否かが判定される。ここで「YES」と判定されると、処理はステップSP94に進み、カウンタCOUNTがクリアされる。次に、処理がステップSP28に進むと、アルペジオ実行フラグRUNが“1”(実行中)に設定される。一方、今回のノートオンイベントが最初のノートオンイベントではなかった場合には、ステップSP94,SP96はスキップされる。次に処理がステップSP98に進むと、今回のノートオンイベントがオンテーブルに登録される。すなわち、音高nnに対応するフラグが“1”に設定される。
4.3.3.第2ポートのノートオフイベント処理(図12(b))
次に、MIDIインタフェース部10aにおいて第2ポートから選択パート番号sepのノートオフイベントを受信した場合の処理を図12(b)を参照し説明する。同図(b)の処理は、アルペジェータ60が一台のみである点を除いて、ソングモードにおけるステップSP42〜SP48の処理(図7参照)と同様である。まず、ステップSP100においては、オンテーブルの内容が確認される。次に、処理がステップSP102に進むと、今回発生したノートオフイベントが、オンテーブルに最後に残っているノートオンに対するノートオフイベントであるか否か(他にノートオンされているノートが存在しないか否か)が判定される。ここで「YES」と判定されると、処理はステップSP104に進み、アルペジオ実行フラグRUNが“0”(非実行中)に設定される。一方、当該ノートオフイベントが最後のノートオフイベントではなかった場合には、ステップSP104はスキップされる。次に処理がステップSP106に進むと、今回生じたノートオフイベントに対応するノートオンがオンテーブルから削除される。
4.3.4.第1ポートのノートオンイベント処理(図13(a))
次に、MIDIインタフェース部10aにおいて第1ポートから何れかのパート番号p(これは選択パート番号sepおよび他のパート番号の何れも含まれる)に係るノートオンイベントを受信した場合の処理を図13(a)を参照し説明する。なお、第1ポートからの受信チャンネルはRch(1,j)の形式になる。同図(a)の処理は、ソングモードにおけるステップSP32〜SP36の処理(図6参照)と同様である。すなわち、ステップSP110においては当該ノートオンイベントに対して音源部6における発音チャンネルが割り当てられ、ステップSP112においては割り当てた発音チャンネルに対して、パート番号pのパート設定データ274−pで指定された音色と、音高nnと、ベロシティvelとに基づいて、必要なパラメータが設定され、処理がステップSP114においては、当該発音チャンネルに対して発音指示が行われる。
4.3.5.第1ポートのノートオフイベント処理(図13(b))
次に、MIDIインタフェース部10aにおいて第1ポートから何れかのパート番号pに係るノートオフイベントを受信した場合の処理を図13(b)を参照し説明する。同図(b)の処理は、ソングモードにおけるステップSP50〜SP54の処理(図7参照)と同様である。すなわち、ステップSP120においては、発音中の発音チャンネルの中から、当該ノートオフイベントに対応する発音チャンネルが検索され、ステップSP122においては当該発音チャンネルが存在するか否かが判定され、存在する場合にはステップSP124において、該発音チャンネルのリリースが開始される。
4.3.6.テンポ割込み処理(図14)
次に、アルペジオRECモードにおいてテンポ割込みが発生した場合の処理を図14を参照し説明する。図14において処理がステップSP130に進むと、アルペジオ実行フラグRUNが“1”(実行中)であるか否かが判定される。ここで「NO」と判定されると、本ルーチンの処理が直ちに終了する。一方、ここで「YES」と判定されると、処理はステップSP132に進み、カウンタCOUNTが「1」だけ進められる。次に、処理がステップSP134に進むと、選択パート番号sepに係るアルペジオ・オン/オフ・フラグAon(sep)が“1”(オン状態)であるか否かが判定される。ここで「YES」と判定されると、処理はステップSP136に進み、先述したステップSP82にて当該アルペジェータ60に設定されたアルペジオパターンを、更新後のカウンタCOUNTで参照し、現在のタイミングがアルペジオ・イベントデータを発生すべきイベントタイミングであるか否かが判定される。
ここで「YES」と判定されると、処理はステップSP138に進み、現在のタイミングに対応するイベントがオンテーブルに基づいて必要に応じて修正され、当該アルペジェータの出力先として設定された送信チャンネルAchのイベントデータとして出力される。なお、送信チャンネルAchは、図9におけるARP_Tchに相当するが、ここでは送信チャンネルTch(1,sep)に自動的に設定される。すなわち、該イベントデータはMIDIインタフェース部10aの第1ポートを介してDAW110に送信される。次に、処理がステップSP140に進むと、次のイベントタイミング(上記ステップSP136において「YES」と判定されるタイミング)が設定される。なお、ステップSP134またはステップSP136の何れかにおいて「NO」と判定されると、ステップSP138,SP140の処理はスキップされる。
5.変形例
本発明は上述した実施例に限定されるものではなく、例えば以下のように種々の変形が可能である。
(1)上記実施例においては、シンセサイザ1内で動作するプログラムによって、各動作モードにおけるアルゴリズム(図4,図9)およびイベント処理を行ったが、このプログラムのみをCD−ROM、メモリカード等の記録媒体に格納して頒布し、あるいは伝送路を通じて頒布することもできる。
(2)上記実施例のアルペジオRECモードにおいては、DAW110からエコーバックされたイベントデータのうち、アルペジェータ60に供給するものとマージ部50を介して音源部6に供給するものとをポート番号によって区別した。しかし、両者の区別はポート番号によるものに限られない。例えば、MIDIインタフェース部10aとMIDIインタフェース部102との間で送受信されるイベントデータを全て第1ポートを介して送受信するとともに、所定のMIDIチャンネル番号(例えばチャンネル番号「16」)のイベントデータのみをアルペジェータ60に供給すべきイベントデータとし、その他のイベントデータをマージ部50を介して音源部6に供給するイベントデータにするとよい。
かかる場合には、上記所定のMIDIチャンネル番号を有するイベントデータがシンセサイザ1からDAW110に供給されると、DAW110にあっては、そのイベントデータのみに基づいては、該イベントデータを記録するトラックを特定することができない。そこで、選択パート番号sepが決定された際に(例えば図11のステップSP80が実行された直後に)、該選択パート番号sepに係るイベントデータを上記所定のMIDIチャンネルを介して送信する旨を、システム・エクスクルーシブ・メッセージ等を用いてDAW110に通知するとよい。
(3)上記実施例の演奏イベントはMIDIイベントであったが、複数パートの演奏が可能であれば、MIDI以外の規格の演奏イベントであってもよい。アルペジオRECモードでは、MIDIチャンネルでは「16」までしかパートを指定できないためポート番号を用いていたが、演奏チャンネルで充分多くのパートを指定できる規格であれば、ポート番号を使用する必要は無い。
(4)上記実施例においては、各アルペジェータ毎に「空き」であることを示すフラグを記憶し、それに基づいて空きのアルペジェータを検出したが、各アルペジェータ毎に割り当てられているパートを示す情報を記憶しておき、その情報に有効なパートが設定されているか否かを判定して、有効でなければ空きアルペジェータとして検出するようにしてもよい。
(5)アルペジオRECモードでは、アルペジェータを1台のみ動作させるようにしたが、複数台動作させるようにしてもよい。また、アルペジオRECモードでは、アルペジェータのARP_Rchとして第2ポートのオムニが設定されていたが、図2に示される選択されたパートの送信チャンネルと同じMIDIチャンネルの第2ポートをアルペジェータのARP_Rchにするようにしてもよい。
本発明の一実施例のシンセサイザ1のハードウエアブロック図である。 設定データ270のデータ構造図である。 シンセサイザ1に表示されるアルペジオタイプ設定画面200の一例を示す図である。 ソングモードにおける信号処理アルゴリズムのブロック図である。 ソングモードにおけるアルペジオ・オン/オフ処理ルーチンのフローチャートである。 ソングモードにおけるノートオンイベント処理ルーチンのフローチャートである。 ソングモードにおけるノートオフイベント処理ルーチンのフローチャートである。 ソングモードにおけるテンポ割込みイベント処理ルーチンのフローチャートである。 アルペジオRECモードにおける信号処理アルゴリズムのブロック図である。 アルペジオRECモードにおいてPC100に表示されるレコーダ制御ウィンドウ220の一例を示す図である。 アルペジオRECモードにおけるパート選択イベント処理ルーチンのフローチャートである。 アルペジオRECモードにおける第2ポートのノートオン/オフイベント処理ルーチンのフローチャートである。 アルペジオRECモードにおける第1ポートのノートオン/オフイベント処理ルーチンのフローチャートである。 アルペジオRECモードにおけるテンポ割込みイベント処理ルーチンのフローチャートである。
符号の説明
1:シンセサイザ、2:パネルスイッチ部、4:パネル表示器、6:音源部、8:ミキサ、10:ネットワークインタフェース、10a:MIDIインタフェース部、10b:波形インタフェース部、10a:(送信手段)、12:DAコンバータ、14:サウンドシステム、16:バス、18:演奏操作子部、18a:鍵盤、20:タイマ、22:CPU(処理装置)、24:ROM、26:RAM、32:マージ部、32,52:マージ部、34:ARP_recスイッチ、36:シーケンサ、38:SEQ_localスイッチ、40:SEQ_outスイッチ、42:KB_localスイッチ、44:マージ部(イベントデータ受信手段)、45:分岐部(分岐手段)、46:アルペジェータ群、46−1〜46−4:アルペジェータ、46−q:第qアルペジェータ、46−q:アルペジェータ、48:ARP_outスイッチ、50:マージ部(音源制御手段)、58:分岐部、60:アルペジェータ、62:ARP_localスイッチ、100:パーソナルコンピュータ(PC)、102:MIDIインタフェース部、104:波形インタフェース部、110:DAW(マルチトラックレコーダ)、112:MIDIシーケンサ、114:MIDIミキサ、116:音源プラグイン、118:波形レコーダ、120:波形ミキサ、122:効果プラグイン、200:アルペジオタイプ設定画面、202:パート番号表示部、204:パート名表示部、206:アルペジオタイプ選択欄、220:レコーダ制御ウィンドウ、222:トラック選択ボタン、226:トラック名表示部、228:ピアノロール譜表示部、230:タイムスタンプ表示部、232:巻き戻しボタン、234:早送りボタン、236:停止ボタン、238:再生ボタン、240:録音ボタン、270:設定データ、272:コモン設定データ、274−1〜274−16:パート設定データ。

Claims (3)

  1. 複数の第1の所定数のパートのイベントデータを受信するイベントデータ受信手段と、
    前記第1の所定数のパートに対して各々対応する音色で楽音信号を同時に生成する音源部と、
    前記第1の所定数よりも少ない複数である第2の所定数だけ設けられ、各々に設定されたパートのイベントデータと各々に設定されたアルペジオパターンとに基づいてアルペジオ・イベントデータを生成するアルペジェータと、
    音色を指定する音色指定データと、前記アルペジオパターンを指定するアルペジオパターン指定データとを、前記各パート毎に記憶する記憶手段と、
    前記各パートのアルペジオのオン指示またはオフ指示に応じて、前記第1の所定数のパートのうち、アルペジオがオン状態であるパートの数が前記第2の所定数以下になるように制限しつつ、前記各パートに対して、アルペジオのオン/オフ状態を設定するオン/オフ状態設定手段と、
    前記アルペジオがオン状態であるパートに対して、前記第2の所定数のアルペジェータのうち何れか一のアルペジェータを各々割り当てる割当手段と、
    前記イベントデータ受信手段において受信されたイベントデータのうち、何れかのアルペジェータに設定されたパートのイベントデータを対応するアルペジェータに供給するとともに、何れのアルペジェータにも設定されていないパートのイベントデータをアルペジオ非対象イベントデータとして出力する分岐手段と、
    前記各アルペジェータから出力されたアルペジオ・イベントデータと、前記アルペジオ非対象イベントデータとを前記音源部に供給する音源制御手段と
    を有し、前記音源部は、供給された各パートの前記イベントデータに応じて、前記記憶手段に記憶された当該パートの音色指定データの指定する音色の楽音信号を生成することを特徴とする電子楽器。
  2. 前記割当手段は、前記各アルペジェータの割当状態を記憶する割当状態記憶手段をさらに有し、
    前記割当手段は、前記オン/オフ状態設定手段にて、前記オン指示に応じて何れかのパートがオン状態に設定されたとき、前記割当状態記憶手段の記憶する割当状態に基づいて、空き状態である何れかの前記アルペジェータを検出し、検出された前記アルペジェータを当該パートに割り当てるとともに、何れかのパートがオフ状態に設定されたとき、当該パートに割り当てられていた前記アルペジェータを解放し、さらにその割当または解放に応じて前記割当状態記憶手段における当該アルペジェータの割当状態を更新するものである
    ことを特徴とする請求項1記載の電子楽器。
  3. 複数の第1の所定数のパートのイベントデータを受信するイベントデータ受信手段と、
    前記第1の所定数のパートに対して各々対応する音色で楽音信号を同時に生成する音源部と、
    前記第1の所定数よりも少ない複数である第2の所定数だけ設けられ、各々に設定されたパートのイベントデータと各々に設定されたアルペジオパターンとに基づいてアルペジオ・イベントデータを生成するアルペジェータと、
    音色を指定する音色指定データと、前記アルペジオパターンを指定するアルペジオパターン指定データとを、前記各パート毎に記憶する記憶手段と、
    処理装置と
    を有する電子楽器に適用されるプログラムであって、
    前記各パートのアルペジオのオン指示またはオフ指示に応じて、前記第1の所定数のパートのうち、アルペジオがオン状態であるパートの数が前記第2の所定数以下になるように制限しつつ、前記各パートに対して、アルペジオのオン/オフ状態を設定するオン/オフ状態設定過程と、
    前記アルペジオがオン状態であるパートに対して、前記第2の所定数のアルペジェータのうち何れか一のアルペジェータを各々割り当てる割当過程と、
    前記イベントデータ受信手段において受信されたイベントデータのうち、何れかのアルペジェータに設定されたパートのイベントデータを対応するアルペジェータに供給するとともに、何れのアルペジェータにも設定されていないパートのイベントデータをアルペジオ非対象イベントデータとして出力する分岐過程と、
    前記各アルペジェータから出力されたアルペジオ・イベントデータと、前記アルペジオ非対象イベントデータとを前記音源部に供給する音源制御過程と
    を前記処理装置に実行させ、これによって前記音源部に対して、供給された各パートの前記イベントデータに応じて、前記記憶手段に記憶された当該パートの音色指定データの指定する音色の楽音信号を生成させることを特徴とするプログラム。
JP2006087013A 2006-03-28 2006-03-28 電子楽器およびプログラム Expired - Fee Related JP4716180B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006087013A JP4716180B2 (ja) 2006-03-28 2006-03-28 電子楽器およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006087013A JP4716180B2 (ja) 2006-03-28 2006-03-28 電子楽器およびプログラム

Publications (2)

Publication Number Publication Date
JP2007264157A true JP2007264157A (ja) 2007-10-11
JP4716180B2 JP4716180B2 (ja) 2011-07-06

Family

ID=38637227

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006087013A Expired - Fee Related JP4716180B2 (ja) 2006-03-28 2006-03-28 電子楽器およびプログラム

Country Status (1)

Country Link
JP (1) JP4716180B2 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1091160A (ja) * 1996-09-10 1998-04-10 Roland Corp 電子楽器の効果付与装置
JPH10274985A (ja) * 1997-03-31 1998-10-13 Kawai Musical Instr Mfg Co Ltd 自動アルペジオ演奏装置およびアルペジオ演奏システム
JPH10312190A (ja) * 1997-05-09 1998-11-24 Kawai Musical Instr Mfg Co Ltd 自動アルペジオ演奏装置
JP2000352979A (ja) * 1997-10-22 2000-12-19 Yamaha Corp アルペジオ発音装置およびアルペジオ発音を制御するためのプログラムを記録した媒体
JP2001290479A (ja) * 2000-04-06 2001-10-19 Matsushita Electric Ind Co Ltd 電子楽器
JP2002258844A (ja) * 2001-03-05 2002-09-11 Yamaha Corp 楽音演奏装置
JP2005010461A (ja) * 2003-06-19 2005-01-13 Yamaha Corp アルペジオパターン設定装置およびプログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1091160A (ja) * 1996-09-10 1998-04-10 Roland Corp 電子楽器の効果付与装置
JPH10274985A (ja) * 1997-03-31 1998-10-13 Kawai Musical Instr Mfg Co Ltd 自動アルペジオ演奏装置およびアルペジオ演奏システム
JPH10312190A (ja) * 1997-05-09 1998-11-24 Kawai Musical Instr Mfg Co Ltd 自動アルペジオ演奏装置
JP2000352979A (ja) * 1997-10-22 2000-12-19 Yamaha Corp アルペジオ発音装置およびアルペジオ発音を制御するためのプログラムを記録した媒体
JP2001290479A (ja) * 2000-04-06 2001-10-19 Matsushita Electric Ind Co Ltd 電子楽器
JP2002258844A (ja) * 2001-03-05 2002-09-11 Yamaha Corp 楽音演奏装置
JP2005010461A (ja) * 2003-06-19 2005-01-13 Yamaha Corp アルペジオパターン設定装置およびプログラム

Also Published As

Publication number Publication date
JP4716180B2 (ja) 2011-07-06

Similar Documents

Publication Publication Date Title
US8121314B2 (en) Mixing apparatus, mixing method, and mixing program
JP4529870B2 (ja) 電子楽器
US20020015504A1 (en) Mixing apparatus with recording/reproducing function
JP3551087B2 (ja) 楽曲自動再生装置および連続楽曲情報作成再生プログラムを記録した記録媒体
JP4830575B2 (ja) 電子楽器およびプログラム
JP4716180B2 (ja) 電子楽器およびプログラム
JPWO2007015321A1 (ja) 楽音出力切り換え装置、楽音出力切り換え方法、楽音出力切り換えのためのコンピュータプログラム
JP2007093679A (ja) 音源設定装置及び音源設定プログラム
JP4066533B2 (ja) カラオケ装置
WO2022049732A1 (ja) 情報処理装置及び情報処理方法
JPH08234731A (ja) 電子楽器
WO2022230171A1 (ja) 音響装置、音響装置の制御方法およびプログラム
JP3649014B2 (ja) 演奏データファイルの再生設定制御装置
JPH10312190A (ja) 自動アルペジオ演奏装置
JP2007086398A (ja) 電子音楽装置、サーバ装置、および両装置にそれぞれ適用されるコンピュータプログラム
JP4835434B2 (ja) 演奏パターン再生装置及びそのコンピュータプログラム
JPH10274985A (ja) 自動アルペジオ演奏装置およびアルペジオ演奏システム
WO2022230170A1 (ja) 音響装置、音響装置の制御方法およびプログラム
JP3931460B2 (ja) 音源装置
JP3659120B2 (ja) 楽音信号発生装置
JP4835433B2 (ja) 演奏パターン再生装置及びそのコンピュータプログラム
JP4501639B2 (ja) 音響信号読出装置及びプログラム
JP4651128B2 (ja) 演奏装置、演奏方法及び演奏のためのコンピュータプログラム
JP4496927B2 (ja) 音響信号記録装置及びプログラム
JP4205563B2 (ja) 演奏装置、演奏方法及び演奏のためのコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110207

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110304

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110317

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140408

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees