JP4162766B2 - 演奏情報生成装置および自動演奏装置 - Google Patents

演奏情報生成装置および自動演奏装置 Download PDF

Info

Publication number
JP4162766B2
JP4162766B2 JP17996698A JP17996698A JP4162766B2 JP 4162766 B2 JP4162766 B2 JP 4162766B2 JP 17996698 A JP17996698 A JP 17996698A JP 17996698 A JP17996698 A JP 17996698A JP 4162766 B2 JP4162766 B2 JP 4162766B2
Authority
JP
Japan
Prior art keywords
information
mark information
waveform data
time axis
performance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP17996698A
Other languages
English (en)
Other versions
JP2000010562A (ja
Inventor
茂 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Roland Corp
Original Assignee
Roland 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 Roland Corp filed Critical Roland Corp
Priority to JP17996698A priority Critical patent/JP4162766B2/ja
Publication of JP2000010562A publication Critical patent/JP2000010562A/ja
Application granted granted Critical
Publication of JP4162766B2 publication Critical patent/JP4162766B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、演奏情報生成装置および自動演奏装置に関し、さらに詳細には、波形データを時間軸上で圧縮または伸長することのできる音源を制御する際に用いて好適な演奏情報生成装置および自動演奏装置に関する。
【0002】
【発明の背景】
本願出願人は、特願平9−300403号「波形データの時間軸圧縮伸長装置」として、波形データを時間軸上で圧縮または伸長することのできる音源(以下、「オーディオ・フレーズ音源」と称する。)に関する発明を出願している。
【0003】
この特願平9−300403号に開示されたオーディオ・フレーズ音源においては、デジタル・シグナル・プロセッサ(DSP)に中央処理装置(CPU)から必要なパラメータとして「時間圧伸量情報」(「時間圧伸量情報」の詳細については後述する。)および「音高情報」(「音高情報」の詳細については後述する。)が供給され、CPUから供給された時間圧伸量情報および音高情報に基づいて、DSPにおいてソフトウェアによって波形データの時間軸上での圧縮処理ならびに伸長処理が行われるようになされている。
【0004】
図1には、特願平9−300403号に開示されたオーディオ・フレーズ音源の概念的なブロック構成図が示されており、DSPにより記憶手段と波形発生手段とが構成され、CPUから波形発生手段に必要なパラメータとして時間圧伸量情報および音高情報が供給されるようになされている。
【0005】
特願平9−300403号に開示されたオーディオ・フレーズ音源により行われる処理として、波形データが時間軸上で圧縮または伸長されて再生される際の波形データの音高(以下、「再生音高」と称する。)が、圧縮または伸長される前の波形データ(以下、「原波形データ」と称する。)の音高と同じ音高の場合に関して、図2は波形データを時間軸上で伸長する場合の処理を示し、図3は波形データを時間軸上で圧縮する場合の処理を示している。
【0006】
また、図4は、再生音高が原波形データの音高より高い音高であって、時間軸上での圧縮または伸長はしないように設定した場合の処理を示している。
【0007】
そして、上記したように、図2乃至図4に示す処理を制御するパラメータとして、波形データの時間軸上での圧縮量/伸長量を表す時間圧伸量情報がCPUからDSPに供給されるとともに、時間軸上で圧縮または伸長された波形データを再生する際の音高、即ち、再生音高を制御する音高情報がCPUからDSPに供給されることになる。
【0008】
ここで、時間圧伸量情報については、時間軸の圧縮量/伸長量を設定する操作子の操作状態や変調信号に従ってCPUは時間圧伸量情報を演算し、CPUは演算した時間圧伸量情報をDSPに転送するものである。
【0009】
また、音高情報については、キーボード(鍵盤)の演奏操作により押鍵された鍵に従ってCPUが音高情報を演算し、CPUは演算した音高情報をDSPに転送するものである。
【0010】
次に、図2乃至図4を参照しながら、図2乃至図4に関するそれぞれの処理の概要を説明するが、まず、各処理において用いる用語について説明しておく。
【0011】
(1)波形データ
DSPの記憶手段に記憶されている波形データを意味する。なお、DSPの記憶手段には、図2乃至図4に示されているような波形データとともに、csa1、csa2、csa3・・・で示されるような、波形データを切り出すときに使用する切り出し開始アドレスも記憶されている。
【0012】
(2)時間情報PP
波形データのアドレスを示して、波形データの時間軸上の位置を示す情報である。CPUから転送された時間圧伸量情報をDSPにおいて所望の周期(例えば、サンプリング周期)で累算して算出する。従って、時間情報PPは時間圧伸量情報の値に対応した変化速度で変化することになる。
【0013】
ところで、DSPにおいては第1処理系と第2処理系との2つの信号処理系による処理が行われ、それぞれ図2乃至図4に示すような波形信号を生成する。
【0014】
ここで、第1処理系においては、CPUより供給される音高情報に対応する再生音高の周期の2倍の周期に、切り出し開始アドレスの更新と窓関数の周期が設定される。
【0015】
そこで、再生音高の周期の2倍の周期毎に、時間情報PPが示す位置(波形データのアドレス)に対応した切り出し開始アドレスから波形データを読み出す。そして、切り出した波形データの切り出し始めと切り出し終わりの部分で、前後の波形データと不連続に繋がることを防止する目的で、読み出した波形データに再生音高の周期の2倍の周期の三角波の窓関数で振幅変調している。
【0016】
一方、第2処理系においては、CPUより供給される音高情報に対応する再生音高の周期の2倍の周期に、切り出し開始アドレスの更新と窓関数の周期とが設定される。
【0017】
この第2処理系においては、第1処理系と再生音高の周期だけ位相がずれて、再生音高の周期の2倍の周期毎に、時間情報PPが示す位置(波形データのアドレス)に対応した切り出し開始アドレスから波形データを読み出す。そして、切り出した波形データの切り出し始めと切り出し終わりの部分で、前後の波形データと不連続に繋がることを防止する目的で、読み出した波形データに再生音高の周期の2倍の周期の三角波の窓関数で振幅変調している。
【0018】
次に、図2を参照しながら、波形データを時間軸上で伸長する場合の処理について説明するが、図2に示す例はCPUから転送される時間圧伸量情報が1より小さな値の場合である。ただし、再生音高が原波形データの音高と同じ音高となるように、音高情報を供給しているものとする。
【0019】
この場合には、時間情報PPがサンプリング周期毎に1より小さな値で進むことになる。従って、再生音高の周期毎である時間t0、t1、t2、t3、・・・での時間情報PP(0)、PP(1)、PP(2)、PP(3)、・・・の変化は、図2に示すように波形データの原波形信号より遅く進む。即ち、PP(0)はcsa1、PP(1)はcsa1とcsa2との間、PP(2)はcsa2とcsa3との間、PP(3)はcsa3とcsa4との間、PP(4)はcsa4とcsa5との間、PP(5)はcsa5、・・・と変化する。
【0020】
そして、第1処理系は、各時間t0、t2、t4、・・・毎に各時間情報の示すPP(0)、PP(2)、PP(4)、・・・より前で最も近い切り出し開始アドレスcsa1、csa2、csa4・・・から波形データの読み出しを開始している。
【0021】
また、第2処理系は、各時間t1、t3、t5・・・毎に各時間情報の示すPP(1)、PP(3)、PP(5)・・・より前で最も近い切り出し開始アドレスcsa1、csa3、csa5・・・から波形データの読み出しを開始している。
【0022】
そして、第1処理系および第2処理系においては、読み出した波形データに窓関数を付与して、それぞれ第1処理系および第2処理系に示されるような波形データを生成する。
【0023】
こうして、DSPは、第1処理系および第2処理系の2つの処理系の波形データを加算して出力することになる。
【0024】
以上の処理によって、T0の長さの波形データをTsの長さとして、時間軸上で伸長して再生することができる。
【0025】
次に、図3を参照しながら、波形データを時間軸上で圧縮する場合の処理について説明するが、図3に示す例はCPUから転送される時間圧伸量情報が1より大きな値の場合である。ただし、再生音高が原波形データの音高と同じ音高となるように、音高情報を供給しているものとする。
【0026】
この場合には、時間情報PPがサンプリング周期毎に1より大きな値で進むことになる。従って、再生音高の周期毎である時間t0、t1、t2、t3、・・・での時間情報PP(0)、PP(1)、PP(2)、PP(3)・・・の変化は、図3に示すように波形データの原波形信号より速く進む。即ち、PP(0)はcsa1、PP(1)はcsa2とcsa3との間、PP(2)はcsa3とcsa4との間、PP(3)はcsa4とcsa5との間、PP(4)はcsa5とcsa6との間、PP(5)はcsa7、・・・と変化する。
【0027】
そして、第1処理系は、各時間t0、t2、t4、・・・毎に各時間情報の示すPP(0)、PP(2)、PP(4)、・・・より前で最も近い切り出し開始アドレスcsa1、csa3、csa5・・・から波形データの読み出しを開始している。
【0028】
また、第2処理系は、各時間t1、t3、t5・・・毎に各時間情報の示すPP(1)、PP(3)、PP(5)・・・より前で最も近い切り出し開始アドレスcsa2、csa4、csa7、・・・から波形データの読み出しを開始している。
【0029】
そして、第1処理系および第2処理系においては、読み出した波形データに窓関数を付与して、それぞれ第1処理系および第2処理系に示されるような波形データを生成する。
【0030】
こうして、DSPは、第1処理系および第2処理系の2つの処理系の波形データを加算して出力することになる。
【0031】
以上の処理によって、T0の長さの波形データをTcの長さとして、時間軸を圧縮して再生することができる。
【0032】
次に、図4を参照しながら、波形データの時間軸上での圧縮または伸長は行わずに、再生音高を原波形データの音高より高くする場合の処理について説明する。即ち、原波形データの音高より高い音高で再生するように、音高情報を供給する場合について説明するものであり、CPUから転送される時間圧伸量情報は1として、波形データの時間軸での圧縮または伸長は行わないものとする。
【0033】
この場合には、時間情報PPがサンプリング周期毎に1で進むことになる。従って、再生音高の周期毎である時間t0、t1、t2、t3、・・・での時間情報PP(0)、PP(1)、PP(2)、PP(3)・・・の変化は、図4に示すように原波形データと同じ速さで進む。即ち、PP(0)はcsa1、PP(1)はcsa1とcsa2との間、PP(2)はcsa2とcsa3との間、PP(3)はcsa3とcsa4との間、PP(4)はcsa4とcsa5との間、PP(5)はcsa5、・・・と変化する。
【0034】
そして、第1処理系は、各時間t0、t2、t4、・・・毎に各時間情報の示すPP(0)、PP(2)、PP(4)、・・・より前で最も近い切り出し開始アドレスcsa1、csa2、csa4・・・から波形データの読み出しを開始している。
【0035】
また、第2処理系は、各時間t1、t3、t5・・・毎に各時間情報の示すPP(1)、PP(3)、PP(5)・・・より前で最も近い切り出し開始アドレスcsa1、csa3、csa5、・・・から波形データの読み出しを開始している。
【0036】
そして、第1処理系および第2処理系においては、読み出した波形データに窓関数を付与して、それぞれ第1処理系および第2処理系に示されるような波形データを生成する。
【0037】
さらに、DSPは、第1処理系および第2処理系の2つの処理系の波形データを加算して出力することになる。
【0038】
以上の処理によって、T0の長さの波形データをTnの長さとして、波形単位で見れば多少の誤差はあるが、波形データを時間軸上では圧縮も伸長もせずに、再生音高のみを原波形データより高い音高で再生することができる。
【0039】
以上において説明したように、時間圧伸量情報ならびに音高情報をリアルタイムで供給することによって、記憶手段に記憶されている波形データを時間軸上でリアルタイムで任意に圧縮または伸長することができるとともに、音高をリアルタイムで任意に制御することができる波形発生装置たるオーディオ・フレーズ音源を実現することができる。
【0040】
そして、このオーディオ・フレーズ音源によれば、波形データのフォルマントを維持したままで、再生音高のみを変化させることもできるものである。
【0041】
さらに、このオーディオ・フレーズ音源によれば、波形データの読み出し速度を変化させることによって、フォルマントを高域側あるいは低域側にシフトすることも可能である。
【0042】
ところで、上記したオーディオ・フレーズ音源においては、波形データの時間軸上での圧縮または伸長の制御ならびに再生音高の制御をリアルタイムで任意に行うことは可能であったが、こうしたオーディオ・フレーズ音源を制御するための演奏情報を生成する演奏情報生成装置や、こうしたオーディオ・フレーズ音源へ自動演奏データを出力する自動演奏装置はなく、その種の演奏情報生成装置や自動演奏装置の案出が望まれていた。
【0043】
【発明が解決しようとする課題】
本発明は、上記したような従来からの要望に鑑みてなされたものであり、その目的とするところは、波形データを時間軸上で圧縮または伸長することのできる音源、即ち、オーディオ・フレーズ音源を制御するための演奏情報生成装置および自動演奏装置を提供しようとするものである。
【0044】
【課題を解決するための手段】
上記目的を達成するために、本発明のうち請求項1に記載の発明は、波形データの時間軸上の任意の位置に設けられ、当該波形データの時間軸上の位置を示す複数のマーク情報を記憶するマーク情報記憶手段と、上記マーク情報記憶手段に記憶されたマーク情報を表示する表示手段と、上記表示手段により表示されたマーク情報の位置を変更するマーク情報位置変更手段と、所定のマーク情報からその直後のマーク情報までの区間について、上記マーク情報位置変更手段によって変更される前のそれぞれのマーク情報の位置に応じた変更前の上記区間の区間長と、上記マーク情報位置変更手段によって変更されたマーク情報の位置に応じた変更後の上記区間長とに基づいて、上記波形データを時間軸上で圧縮または伸長するための時間軸圧縮伸長情報を演算する演算手段と、上記所定のマーク情報の変更後のタイミングで、上記演算手段によって演算した時間軸圧縮伸長情報に基づいて上記波形データを時間軸上で圧縮または伸長する演奏情報生成する演奏情報生成手段とを有するようにしたものである。
【0045】
従って、本発明のうち請求項1に記載の発明の発明によれば、表示手段に表示されたマーク情報の位置を視認しながら、マーク情報位置変更手段によってマーク情報の位置を任意に変化させることができ、演算手段によってマーク情報の位置に応じて時間軸圧縮伸長情報が演算され、演奏情報生成手段によって演算された時間軸圧縮伸長情報が演奏情報として生成されるものである。こうして生成された演奏情報によって、オーディオ・フレーズ音源を制御することができる。
【0046】
なお、後述する実施の形態における「マーカー」がマーク情報に相当し、後述する実施の形態における「時間軸変調率」が時間軸圧縮伸長情報に相当する。
【0047】
また、本発明のうち請求項2に記載の発明は、一連の演奏に対応した演奏情報をそれぞれ所定のタイミングに対応付けた自動演奏データとして記憶する記憶手段を有し、上記記憶手段に記憶された自動演奏データに基づいて上記演奏情報を上記所定のタイミングに従って出力する自動演奏装置において、波形データの時間軸上の任意の位置に設けられ、当該波形データの時間軸上の位置を示す複数のマーク情報を記憶するマーク情報記憶手段と、上記マーク情報記憶手段に記憶されたマーク情報を表示する表示手段と、上記表示手段により表示されたマーク情報の位置を変更するマーク情報位置変更手段と、所定のマーク情報からその直後のマーク情報までの区間について、上記マーク情報位置変更手段によって変更される前のそれぞれのマーク情報の位置に応じた変更前の前記上記区間の区間長と、上記マーク情報位置変更手段によって変更されたマーク情報の位置に応じた変更後の上記区間長とに基づいて、上記波形データを時間軸上で圧縮または伸長するための時間軸圧縮伸長情報を演算する演算手段と、上記演算手段によって演算した時間軸圧縮伸長情報に基づいて上記波形データを時間軸上で圧縮または伸長する演奏情報を生成する演奏情報生成手段と、上記演奏情報生成手段によって生成された演奏情報を上記所定のマーク情報の変更後のタイミングに対応付けた自動演奏データとして記憶する記憶手段と、上記記憶手段に記憶された上記自動演奏データに従って演奏情報を上記所定のマーク情報の変更後のタイミングで出力する出力手段とを有するようにしたものである。
【0048】
従って、本発明のうち請求項2に記載の発明によれば、出力手段によって時間軸圧縮伸長情報に基づいて生成された演奏情報を所定のマーク情報の変更後のタイミングに対応付けられて記憶された自動演奏データに従って所定のマーク情報の変更後のタイミングで出力されることになる。こうして出力された演奏情報によって、オーディオ・フレーズ音源を制御することができる。
【0049】
なお、後述する実施の形態における「時間軸変調率」が時間軸圧縮伸長情報に相当する。
【0050】
ここで、例えば、本発明のうち請求項3に記載の発明のように、本発明のうち請求項2に記載の発明において、上記自動演奏装置は、MIDI規格により動作する自動演奏装置であり、上記出力手段は、時間軸圧縮伸長情報をMIDIデータとして出力するものとしてもよい。
【0051】
【発明の実施の形態】
以下、添付の図面を参照しながら、本発明による演奏情報生成装置および自動演奏装置の実施の形態の一例を詳細に説明する。
【0052】
図5には、本発明による演奏情報生成装置および自動演奏装置を備えた電子楽器のソフトウェアのシステム構成図が示されている。
【0053】
この電子楽器10は、MIDI規格により動作する自動演奏装置(以下、「MIDIシーケンサー」と称する。)12に、MIDIを経由して、例えば、電子リズム音源、シンセサイザー、電子ピアノあるいは電子オルガンなどのMIDI規格により動作する従来より公知の音源(以下、「従来型MIDI音源」と称する。)14と、「発明の背景」の項において説明した特願平9−300403号において開示されたオーディオ・フレーズ音源と同等のオーディオ・フレーズ音源16とが接続され、MIDIシーケンサー12からのMIDI情報に従ってそれぞれ発音するようになされている。
【0054】
なお、この実施の形態においては、MIDIシーケンサー12とオーディオ・フレーズ音源16とは、上記したように一つのシステムの中に備えられているとともに、共通のハードウェアとして一体的に構成されて動作するようになされている。
【0055】
また、以下の説明においては、MIDIシーケンサー12ならびに従来型MIDI音源14は公知のものであるため、その構成ならびに動作や作用効果などの詳細な説明は省略するものとする。
【0056】
次に、MIDIシーケンサー12とオーディオ・フレーズ音源1とを構成するためのハードウェア構成について説明するが、この実施の形態においては当該ハードウェア構成は図6に示すものとする
【0057】
即ち、MIDIシーケンサー12とオーディオ・フレーズ音源1とを構成するためのハードウェアは、その全体の動作の制御をCPU100を用いて制御するように構成されており、CPU100は、リード・オンリ・メモリ(ROM)104に格納されたプログラムを実行して、後述するフローチャートに示す処理の制御を行うものである。
【0058】
そして、CPU100には、バス(BUS)102を介して、上記した全体の動作の制御のための所定のプログラムなどが格納されたROM104と、CPU100のプログラムなどの実行において使用される各種変数などを格納するためのワーキング・エリアとしてのランダム・アクセス・メモリ(RAM)106と、後述する各種スイッチからなるスイッチ群108を制御するためのスイッチ制御回路110と、記憶媒体としてのハード・ディスク112を制御するためのハード・ディスク制御回路114と、表示装置としてのLCD116のインターフェース回路たるLCD I/F回路118と、従来型MIDI音14などのような各種のMIDI機器のインターフェース回路たるMIDI I/F回路120と、オーディオ・フレーズ音16の機能を実現するためのオーディオ・フレーズ音源回路122とが接続されている。
【0059】
そして、オーディオ・フレーズ音源回路122には、デジタル・アナログ変換器(D/A)124が接続され、D/A124には増幅回路126が接続されている。
【0060】
なお、上記したことから明らかなように、スイッチ制御回路110にはスイッチ群108が接続され、ハード・ディスク制御回路114にはハード・ディスク112が接続され、LCD I/F回路118にはLCD116が接続されている。
【0061】
このように、ソフトウェアのシステム構成ではMIDIシーケンサー12の部分とオーディオ・フレーズ音源1の部分とに別れているが、ハードウェアでは両者は共通の構成を備えており、LCD116などの表示回路ならびにROM104、RAM106、ハード・ディスク112などの記憶媒体などは共有している。
【0062】
次に、オーディオ・フレーズ音源回路122に内蔵された記憶手段に記憶されているオーディオ・フレーズ・データのファイル・フォーマットについて説明する。
【0063】
図7には、オーディオ・フレーズ・データのファイル・フォーマットが示されている。図7に示されるように、オーディオ・フレーズ・データの中身は、16ビット直線などの波形データと各種のパラメータから構成されている。そして、各種のパラメータとしては、波形データの再生の条件たる波形データのサンプルに関する情報を示すヘッダ情報と、波形データの時間軸上における位置を示すマーカー(Marker)(図10参照)に関する情報を示すマーカー情報とが設定されている。
【0064】
ここで、波形データは、単にサンプルごとにデータを並べているだけであり、本発明の特徴ではないのでその詳細な説明は省略する。
【0065】
本発明の特徴をなすのはヘッダ情報とマーカー情報であり、ヘッダ情報はサンプリング周波数ならびに総サンプル数などからなる情報であって、マーカー情報はマーカー自体の属性を示すマーカー・タイプおよび対応する波形データの位置をサンプルで示すマーカー・アドレスからなる情報である。
【0066】
図8には、マーカー情報の一例が示されており、マーカー情報は、マーカーの番号(マーカー・ナンバー)毎にマーカー・タイプとマーカー・アドレスとが対になって記憶されている。
【0067】
なお、波形データに対してマーカーを付する時間軸上の位置は任意であるが、理解を容易にするために、この実施の形態においては、マーカー・タイプがマーカー自体の属性としてマーカーの付される位置を示すものとし、ある波形データ中の音節や複数の連続した音節のブロックなど、コントロールしたい単位の先頭に付けられるものをマーカー・タイプが「1」であるとし、ある波形データの末尾に付けられるものをマーカー・タイプが「2」であるものとして扱う。
【0068】
また、オーディオ・フレーズ・データには、MIDIシーケンサー1部分とオーディオ・フレーズ音源1部分との双方で使用するものと、一方でしか使用しないものとがあるが、その区分については図9に示す通りである。即ち、MIDIシーケンサー1部分で使用するものは、ヘッダ情報およびマーカー情報であり、オーディオ・フレーズ音源1部分で使用するものは、波形データおよびヘッダ情報である。
【0069】
次に、図10を参照しながら、ユーザー・インターフェースとして、スイッチ群108ならびにLCD116を備えた操作パネル200について説明する。
【0070】
まず、LCD116部分は、図10上左側に位置する波形表示部分と、図10右側に位置するイベント・リスト(Event List)表示部分とより構成される。
【0071】
ここで、波形表示部分には、波形データに従って実際に波形を縮小したものが表示され、イベント・リスト表示部分にはマーカーの位置に関する情報としてイベント・リストが表示されるようになっている。
【0072】
波形表示部分における各マーカー(図10においては、マーカー1(Marker1)、マーカー2(Marker2)、マーカー3(Marker3)およびマーカー4(Marker4)の4個のマーカーが示されている。)およびイベント・リスト表示部分の各コラムには、後述するカーソル移動指示手段を用いてカーソルを自由に移動することができる。なお、図10に示す例においては、カーソルがイベント・リストの最上段のコラムに位置されている状態が示されている。
【0073】
また、後述するスイッチ群108の回転式増減指示部分および数値入力指示部分を用いて、波形表示部分におけるマーカー位置ならびにイベント・リスト表示部分におけるイベント・リストの数値などを自由に変更することができるようになされている。そして、この波形表示部分におけるマーカー位置とイベント・リスト表示部分におけるイベント・リストの数値とは相互に連携動作しており、片方で行った変更は実時間で他方に反映されるようになされている。これにより、ユーザーは必要に応じて最適な手段を用いて、波形データの時間軸上におけるマーカーの位置の設定操作を行うことができる。
【0074】
ここで、イベント・リスト表示部分の各コラムにおける表示内容を説明しておくと、上記したように各コラムにはマーカーの位置に関する情報が表示されているものであり、具体的には、「小節数:拍数:ティック数:マーカー・ナンバー」を表している。ここで、「ティック」とは、音楽的時間の拍よりも短い単位であり、実際の長さはテンポに応じて変化するが、テンポの基準は4分音符であるので、
60秒/テンポ=960ティックの時間
となり、
1ティックの時間={(60/テンポ)/960}秒
となる。
【0075】
従って、図10においてカーソルが位置しているイベント・リストの最上段のコラムたる「1:1:1:Marker1」は、「マーカー1は第1小節の第1拍の第1ティックに位置している。」ことを意味している。
【0076】
次に、スイッチ群108について説明するが、まず、回転式増減指示部分は、具体的にはロータリー・エンコーダー200により構成される。
【0077】
そして、カーソルが波形表示部分にあってかつマーカーを指定している場合には、ロータリー・エンコーダー200を回転することで、マーカーの位置を前後に移動することができる。さらに、カーソルがイベント・リストにある場合には、ロータリー・エンコーダー200を回転することで、コラムにおける小節数、拍数、ティック数の値を増減することが出来る。
【0078】
次に、カーソル移動指示部分について説明すると、このカーソル移動指示部分は、具体的にはカーソル・キー202により構成され、カーソル・キー202を押すことで上下左右にカーソルを移動することができる。カーソルが波形表示部分にある場合には、カーソル・キー202の左右方向のキーで前後のマーカーを指定することができる。また、カーソルがイベント・リストにある場合には、カーソル・キー202の上下左右のキーで任意のコラムの任意の位置を指定することができる。
【0079】
次に、数値入力指示部分について説明すると、この数値入力指示部分は、具体的にはテン・キー204、マイナス・キー206、プラス・キー208、リターン・キー210、インサート・キー212およびデリート・キー214により構成され、カーソルがある位置でテン・キー204により数値を入力することで、直接的に値を指定することができる。また、インサート・キー212ならびにデリート・キー214を使用することで、マーカーやイベントを自由に追加したり削除したりすることができる。
【0080】
次に、シーケンサー制御部分について説明すると、このシーケンサー制御部分はMIDIシーケンサー12を制御するためのスイッチ群であり、具体的にはスタート・キー216、ストップ・キー218およびリワインド・キー220により構成され、スタート・キー216を操作することにより自動演奏データの再生を開始させることができ、ストップ・キー218を操作することにより自動演奏データの再生を停止させることができ、リワインド・キー220を操作することにより自動演奏データの巻き戻しを行うことができる。
【0081】
なお、この実施の形態においては、MIDIシーケンサー10が停止中の場合はいつでもエディット(編集)できるエディット・モードとされるため、ストップ・キー218はエディット・モードへの切り替えスイッチも兼ねている。
【0082】
以上の構成において、この電子楽器において実行される処理内容について、添付のフローチャートを参照しながら説明する。
【0083】
まず、図11には、メイン・ルーチンのフローチャートが示されているが、この電子楽器においては、電源が投入されて初期設定の処理が終了されると、このメイン・ルーチンのフローチャートが起動されるものである。
【0084】
このメイン・ルーチンにおいては、まずステップS1102において、MIDIシーケンサー12が停止中であるか否かが判断される。
【0085】
そして、ステップS1102において、MIDIシーケンサー12が停止中でないと判断された場合には、ステップS1104へ進み、このメイン・ルーチンのサブ・ルーチンとしてプレイ・モード・ルーチンの処理を実行し、プレイ・モード・ルーチンの処理の実行を終了すると、ステップS1102へ戻って処理を繰り返すものである。
【0086】
ここで、プレイ・モード・ルーチンにおける処理とは、シーケンサー制御部分を構成するスタート・キー216、ストップ・キー218およびリワインド・キー220の操作に応じて、自動演奏データを再生したり、自動演奏データの再生を停止したり、自動演奏データの巻き戻しをしたりする処理である。なお、こうしたプレイ・モード・ルーチンの処理は、自動演奏の技術分野においては公知の技術であるため、その詳細な説明を省略するものとする。
【0087】
一方、ステップS1102において、MIDIシーケンサー12が停止中であると判断された場合には、ステップS1106へ進み、このメイン・ルーチンのサブ・ルーチンとしてエディット・モード・ルーチンの処理を実行し、エディット・モード・ルーチンの処理の実行を終了すると、ステップS1102へ戻って処理を繰り返すものである。
【0088】
次に、図12に示すエディット・モード・ルーチンのフローチャートを参照しながら、エディット・モード・ルーチンの処理について説明する。
【0089】
このエディット・モード・ルーチンにおいては、まずステップS1202において、エディット・モード・ルーチンにおける初期設定が行われる。
【0090】
ステップS1202の処理を終了すると、ステップS1204へ進み、マーカーの移動操作やイベント・リスト上における数値入力などによりイベント(Event)が編集されたか否かを判断する。
【0091】
ステップS1204において、イベントが編集されなかったと判断された場合には、ステップS1208へ進み、編集は終了したか否かを判断する。
【0092】
一方、ステップS1204において、イベントが編集されと判断された場合には、ステップS1206へ進み、このエディット・モード・ルーチンのサブ・ルーチンとして編集処理ルーチンを実行する。なお、この編集処理ルーチンについては、図13のフローチャートを参照しながら後述する。
【0093】
そして、ステップS1206の処理を終了すると、ステップS1208へ進み、編集は終了したか否かを判断する。
【0094】
ステップS1208において、編集は終了していないと判断された場合には、ステップS1204へ戻って処理を繰り返す。
【0095】
一方、ステップS1208において、編集は終了したと判断された場合には、このエディット・モード・ルーチンを終了してメイン・ルーチンへリターンする。
【0096】
次に、図13に示す編集処理ルーチンのフローチャートを参照しながら、編集処理ルーチンの処理について説明する。
【0097】
この編集処理ルーチンにおいては、まずステップS1302において、編集処理ルーチンにおける初期設定が行われる。
【0098】
ステップS1302の処理を終了すると、ステップS1304へ進み、マーカーのイベント編集前の区間長の計算を行う。なお、このステップS1304の処理の詳細については、図14乃至図16を参照しながら具体例を挙げながら後述する。
【0099】
ステップS1304の処理を終了すると、ステップS1306へ進み、マーカーのイベント編集後の区間長の計算を行う。なお、このステップS1306の処理の詳細については、図14乃至図16を参照しながら具体例を挙げながら後述する。
【0100】
ステップS1306の処理を終了すると、ステップS1308へ進み、波形データを時間軸上で圧縮または伸長するための時間情報たる時間軸変調率の計算を行う。こうして、時間軸変調率を演奏情報として生成することができる。なお、このステップS1308の処理の詳細については、図14乃至図16を参照しながら具体例を挙げながら後述する。
【0101】
ステップS1308の処理を終了すると、ステップS1310へ進み、時間軸変調率をシーケンサーのイベントとしてMIDIシーケンサー12の記憶手段に書き込む。
【0102】
なお、MIDIシーケンサー12の記憶手段とは、具体的にはRAM106が使用されているが、そのイベント・データは自動演奏をするための演奏データとして、ハード・ディスク112に転送して記憶しておくこともできる。
【0103】
そして、ステップS1310の処理を終了すると、この編集処理ルーチンを終了してエディット・モード・ルーチンへリターンする。
【0104】
次に、図14乃至図16を参照しながら、ステップS1304、ステップS1306ならびにステップS1308の処理について具体的に説明する。
【0105】
図14(a)(b)には、LCD116の波形表示部分の拡大図が示されているが、(a)はマーカーのイベント編集前の状態を示し、(b)はマーカーのイベント編集後の状態を示している。即ち、図14(a)に示す波形データを、図14(b)に示すように時間軸上で圧縮または伸長する場合を例にして説明する。
【0106】
波形データの圧縮または伸長を実現するためには、各マーカーが編集前と編集後とでどのような位置関係にあるかを演算して時間軸変調率を得て、この時間軸変調率を適切なタイミングでオーディオ・フレーズ音源122へ出力する必要がある。
【0107】
図15(a)(b)には、図14(a)(b)にそれぞれ対応したイベント・リストが示されており、図15(a)に示すイベント・リストは図14(a)に示す波形データの時間軸上におけるマーカーの位置を示し、図15(b)に示すイベント・リストは図14(b)に示す波形データの時間軸上におけるマーカーの位置を示している。
【0108】
図15(a)(b)に示されるイベント・リストから明らかなように、マーカー2(Marker2)、マーカー3(Marker3)、マーカー・エンド(Marker End)の位置が、編集前と編集後とで変化している。このため、各マーカーの位置において圧縮または伸長に対応するための時間軸変調率を生成する必要があることになる。なお、以下においては、マーカー1(Marker1)を例にして説明する。
【0109】
マーカー1(Marker1)の時点での時間軸変調率を計算するためには、まず、マーカー1(Marker1)からマーカー2(Marker2)までの区間長が編集前と編集後とでどのように変化したかという変化率を計算すればよい。即ち、まず、マーカー1(Marker1)からマーカー2(Marker2)までの編集前の区間長を計算し(ステップS1304)、次に、マーカー1(Marker1)からマーカー2(Marker2)までの編集後の区間長を計算し(ステップS1306)、それから計算したマーカー1(Marker1)からマーカー2(Marker2)までの編集前の区間長と編集後の区間長とに基づいて時間軸変調率を計算すればよい(ステップS1308)。
【0110】
具体的には、この実施の形態においては、4分音符あたり960ティックという分解能としているので、次の演算式を実行することにより、マーカーの編集前の区間長ならびに編集後の区間長を計算し(ステップS1304、ステップS1306)、それから時間変調率を計算すればよい(ステップS08)。
【0111】
区間長={(Bar[Marker(n+1)]−Bar[Marker(n)])×960×4}+{(Beat[Marker(n+1)]−Beat[Marker(n)])×960}+{Tick[Marker(n+1)]−Tick[Marker(n)]}
なお、上記演算式において、「Bar」は「小節」を表し、「Beat」は「拍」を表し、「Tick」は「ティック」を表す。
【0112】
図15(a)(b)に示された数値を代入すると、
編集前の区間長={(1−1)×960×4}+{(2−1)×960}+{251−1}=1210(Tick)
編集後の区間長={(1−1)×960×4}+{(2−1)×960}+{l−1}=960(Tick)
となり、これらの結果から時間軸変調率は、
時間軸変調率=960/1210=0.793(小数点第4位で四捨五入)となる。
【0113】
この時間軸変調率(Time Rate)を付加したMIDIデータを、イベント・リストとして表したものが図16である。
【0114】
こうして図16に示すイベント・リストが得られた後は、時間軸変調率の付加された自動演奏データをMIDIシーケンサー10で再生すれば、マーカーの編集後のタイミングで各波形データが再生されることになる。
【0115】
なお、上記した計算後に再度マーカーの位置を変更した場合には、時間軸変調率を再計算して更新することにより、次にMIDIシーケンサー10が再生する際には変更に対応できることになる。
【0116】
なお、上記した実施の形態は、以下の変形例1ならびに変形例2に示すように変形することができる。
【0117】
(1)変形例1
上記した実施の形態は、時間軸変調率を直接にオーディオ・フレーズ音源1に伝達するという例を示したが、これはMIDIシーケンサー1とオーディオ・フレーズ音源1とでハードウェアを共有しているから可能になるものである。しかしながら、MIDIシーケンサー1とオーディオ・フレーズ音源1とが別々のハードウェアになっている場合でも、同様にして必要な情報をMIDIで送信することが可能であることは勿論である。
【0118】
ここで、MIDIでこうした情報を送信する場合にはいくつかの手段が考えられるが、一般的なものとしては、コントロール・チェンジ(Control Change)やシステム・エクスクルーシブ・メッセージ(System Exclusive Message)を使用する方法である。
【0119】
ここで、例えば、コントロール・チェンジを使用する方法を示すと、コントロール・チェンジは7ビットのデータ長であるため、上記した計算式によって求めた時間軸変調率を7ビットで表す必要がある。このため、例えば、図17に示すような関係を定義する。なお、図17に示す表に示されていない値については、同様にして求められる離散値である。
【0120】
MIDIシーケンサー1が再生時に時間軸変調率をコントロール・チェンジに変換して出力することにより、通常のMIDIを用いてオーディオ・フレーズ音源1を制御することができる。
【0121】
勿論のことであるが、用途によっては7ビットでは精度が不足する場合も考えられる。そうした場合にはシステム・エクスクルーシブ・メッセージを用いて任意のデータ長を利用することができる。ただし、この場合には、コントロール・チェンジを用いる場合と比較して、1つのデータを送信するのに時間がかかる。どちらを使用するのかは、目的に応じて適切な方法を選択すればよい。
【0122】
また、同様にして、オーディオ・フレーズ音源1側からマーカー情報をMIDIシーケンサー1に対して送信することができる。この場合には、音源側のパラメータを収めたメモリの内容のうち、必要な部分をシステム・エクスクルーシブ・メッセージとして送信してしまえばよい。これにより、MIDIシーケンサー1とオーディオ・フレーズ音源1とは、MIDIで双方向に接続するだけで同一のハードウェア上で動作している場合と同等の動作をすることが可能になる。
【0123】
(2)変形例2
上記した実施の形態においては、マーカーの時間軸上の位置を音楽的な単位(小節、拍およびティック)で制御するために用いたが、同様にしてピッチ(Pitch)、即ち、音高を制御する際にマーカーを設けることも可能である。これにより、オーディオ・フレーズに任意の単位(例えば、音節や音符など。)でマーカーを設けておけば、MIDIシーケンサー1側から簡単にピッチを制御することも可能になる。
【0124】
【発明の効果】
本発明は、以上説明したように構成されているので、波形データを時間軸上で圧縮または伸長することのできる音源、即ち、オーディオ・フレーズ音源を制御するための演奏情報生成装置および自動演奏装置を提供することができるという優れた効果を奏する。
【図面の簡単な説明】
【図1】特願平9−300403号に開示されたオーディオ・フレーズ音源の概念的なブロック構成図である。
【図2】特願平9−300403号に開示されたオーディオ・フレーズ音源による、波形データを時間軸上で伸長する場合の処理を示す波形説明図である。
【図3】特願平9−300403号に開示されたオーディオ・フレーズ音源による、波形データを時間軸上で圧縮する場合の処理を示す波形説明図である。
【図4】特願平9−300403号に開示されたオーディオ・フレーズ音源による、再生音高が原波形データの音高より高い音高であって、時間軸上での圧縮または伸長はしないように設定した場合の処理を示す波形説明図である。
【図5】本発明による演奏情報生成装置および自動演奏装置を備えた電子楽器のソフトウェアのシステム構成図である。
【図6】MIDIシーケンサーとオーディオ・フレーズ音源とを構成するためのハードウェア構成についてブロック構成説明図である。
【図7】オーディオ・フレーズ・データのファイル・フォーマットを示す説明図である。
【図8】マーカー情報の一例を示す説明図である。
【図9】オーディオ・フレーズ・データを構成する波形データ、ヘッダ情報ならびにマーカー情報の使用先を示す説明図である。
【図10】スイッチ群ならびにLCDを備えた操作パネルの説明図である。
【図11】メイン・ルーチンのフローチャートである。
【図12】エディット・モード・ルーチンのフローチャートである。
【図13】編集処理ルーチンのフローチャートである。
【図14】LCDの波形表示部分の拡大図であり、(a)はマーカーのイベント編集前の状態を示し、(b)はマーカーのイベント編集前の状態を示す。
【図15】(a)(b)は、図14(a)(b)にそれぞれ対応したイベント・リストを示し、(a)に示すイベント・リストは図14(a)に示す波形データの時間軸上におけるマーカーの位置を示し、(b)に示すイベント・リストは図14(b)に示す波形データの時間軸上におけるマーカーの位置を示す。
【図16】時間軸変調率(Time Rate)を付加したMIDIデータを示すイベント・リストである。
【図17】コントロール・チェンジと時間軸変調率との関係を示す説明図である。
【符号の説明】
10 電子楽器
12 MIDIシーケンサー
14 従来型リズム音源
16 オーディオ・フレーズ音源
100 CPU
102 バス(BUS)
104 リード・オンリ・メモリ(ROM)
106 ランダム・アクセス・メモリ(RAM)
108 スイッチ群
110 スイッチ制御回路
112 ハード・ディスク
114 ハード・ディスク制御回路
116 LCD
118 LCD I/F回路
120 MIDI I/F回路
122 オーディオ・フレーズ音源
124 デジタル/シグナル変換器
126 増幅回路

Claims (3)

  1. 波形データの時間軸上の任意の位置に設けられ、当該波形データの時間軸上の位置を示す複数のマーク情報を記憶するマーク情報記憶手段と、
    前記マーク情報記憶手段に記憶されたマーク情報を表示する表示手段と、
    前記表示手段により表示されたマーク情報の位置を変更するマーク情報位置変更手段と、
    所定のマーク情報からその直後のマーク情報までの区間について、前記マーク情報位置変更手段によって変更される前のそれぞれのマーク情報の位置に応じた変更前の前記区間の区間長と、前記マーク情報位置変更手段によって変更されたマーク情報の位置に応じた変更後の前記区間長とに基づいて、前記波形データを時間軸上で圧縮または伸長するための時間軸圧縮伸長情報を演算する演算手段と、
    前記所定のマーク情報の変更後のタイミングで、前記演算手段によって演算した時間軸圧縮伸長情報に基づいて前記波形データを時間軸上で圧縮または伸長する演奏情報生成する演奏情報生成手段とを有する演奏情報生成装置。
  2. 一連の演奏に対応した演奏情報をそれぞれ所定のタイミングに対応付けた自動演奏データとして記憶する記憶手段を有し、前記記憶手段に記憶された自動演奏データに基づいて前記演奏情報を前記所定のタイミングに従って出力する自動演奏装置において、
    波形データの時間軸上の任意の位置に設けられ、当該波形データの時間軸上の位置を示す複数のマーク情報を記憶するマーク情報記憶手段と、
    前記マーク情報記憶手段に記憶されたマーク情報を表示する表示手段と、
    前記表示手段により表示されたマーク情報の位置を変更するマーク情報位置変更手段と、
    所定のマーク情報からその直後のマーク情報までの区間について、前記マーク情報位置変更手段によって変更される前のそれぞれのマーク情報の位置に応じた変更前の前記区間の区間長と、前記マーク情報位置変更手段によって変更されたマーク情報の位置に応じた変更後の前記区間長とに基づいて、前記波形データを時間軸上で圧縮または伸長するための時間軸圧縮伸長情報を演算する演算手段と、
    前記演算手段によって演算した時間軸圧縮伸長情報に基づいて前記波形データを時間軸上で圧縮または伸長する演奏情報を生成する演奏情報生成手段と、
    前記演奏情報生成手段によって生成された演奏情報を前記所定のマーク情報の変更後のタイミングに対応付けた自動演奏データとして記憶する記憶手段と、
    前記記憶手段に記憶された前記自動演奏データに従って演奏情報を前記所定のマーク情報の変更後のタイミングで出力する出力手段と
    を有する自動演奏装置。
  3. 請求項2に記載の自動演奏装置において、前記自動演奏装置は、MIDI規格により動作する自動演奏装置であり、前記出力手段は、時間軸圧縮伸長情報をMIDIデータとして出力するものである自動演奏装置。
JP17996698A 1998-06-26 1998-06-26 演奏情報生成装置および自動演奏装置 Expired - Fee Related JP4162766B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17996698A JP4162766B2 (ja) 1998-06-26 1998-06-26 演奏情報生成装置および自動演奏装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17996698A JP4162766B2 (ja) 1998-06-26 1998-06-26 演奏情報生成装置および自動演奏装置

Publications (2)

Publication Number Publication Date
JP2000010562A JP2000010562A (ja) 2000-01-14
JP4162766B2 true JP4162766B2 (ja) 2008-10-08

Family

ID=16075098

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17996698A Expired - Fee Related JP4162766B2 (ja) 1998-06-26 1998-06-26 演奏情報生成装置および自動演奏装置

Country Status (1)

Country Link
JP (1) JP4162766B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1900125A1 (en) 2005-04-14 2008-03-19 Thomson Licensing Automatic replacement of objectionable audio content from audio signals

Also Published As

Publication number Publication date
JP2000010562A (ja) 2000-01-14

Similar Documents

Publication Publication Date Title
JP3823928B2 (ja) スコアデータ表示装置およびプログラム
JP2000056769A (ja) 演奏情報変換装置および演奏情報変換制御プログラムを記録した媒体
JP3551087B2 (ja) 楽曲自動再生装置および連続楽曲情報作成再生プログラムを記録した記録媒体
JP3521838B2 (ja) 演奏動作表示装置、及び記録媒体
JP3747758B2 (ja) 自動演奏装置
JP4162766B2 (ja) 演奏情報生成装置および自動演奏装置
JP3733866B2 (ja) 演奏情報検索装置
JP3656507B2 (ja) 演奏情報編集装置
JP3671788B2 (ja) 音色設定装置および音色設定方法並びに音色設定プログラムを記録したコンピュータで読み取り可能な記録媒体
JP3598904B2 (ja) 自動演奏データ編集装置及びデータ編集プログラムを記録した媒体
JP6528752B2 (ja) 楽音再生装置、楽音再生方法、プログラムおよび電子楽器
JP3709821B2 (ja) 楽曲情報編集装置及び楽曲情報編集プログラム
JP3379414B2 (ja) パンチイン装置、パンチイン方法及びプログラムを記録した媒体
JP3267226B2 (ja) 自動伴奏装置及び自動伴奏制御プログラムを記録した媒体
JP3656584B2 (ja) 演奏データ処理装置及びプログラム
JP3654227B2 (ja) 楽曲データ編集装置及びプログラム
JP3582429B2 (ja) 録音音量制御機能を具えた楽音処理装置
JP2002244657A (ja) 演奏信号処理装置、記憶媒体、演奏信号処理方法及びプログラム
JP2621077B2 (ja) 演奏情報置換装置
JP4182908B2 (ja) 自動演奏装置
JP3797180B2 (ja) 楽譜表示装置及び楽譜表示プログラム
JPH10319961A (ja) 発音タイミング制御装置
JP3649117B2 (ja) 楽音再生装置及び方法並びに記憶媒体
JP3709820B2 (ja) 楽曲情報編集装置及び楽曲情報編集プログラム
JP3942719B2 (ja) 波形データ編集装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050614

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070302

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070320

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070518

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080424

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: 20080722

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: 20080723

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

Free format text: PAYMENT UNTIL: 20110801

Year of fee payment: 3

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: 20120801

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130801

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees