楽音発生装置および楽音発生プログラム
【課題】 弦楽器の弦全体の振動に基づき、かつ、レスポンスに優れた弦の振動に基づく楽音波形データを生成する。
【解決手段】 CPU11は、カメラ16により撮影された、弦の張設方向に、弦の振動する部分にわたった画像撮影領域の画像データを取得して、弦の張設方向と垂直方向の基準位置からの変位量をゲイン値として、複数のゲイン値を含む波形データを生成してRAM13の波形データエリアに格納する。また、CPU11は、RAM13の波形データエリアに格納された波形データを、所定の読み出し速度で読み出して楽音波形データを生成して出力する。楽音波形データは、サウンドシステム14のスピーカ23から出力される。
【解決手段】 CPU11は、カメラ16により撮影された、弦の張設方向に、弦の振動する部分にわたった画像撮影領域の画像データを取得して、弦の張設方向と垂直方向の基準位置からの変位量をゲイン値として、複数のゲイン値を含む波形データを生成してRAM13の波形データエリアに格納する。また、CPU11は、RAM13の波形データエリアに格納された波形データを、所定の読み出し速度で読み出して楽音波形データを生成して出力する。楽音波形データは、サウンドシステム14のスピーカ23から出力される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、弦楽器の弦振動に基づいて楽音を発生する楽音発生装置および楽音発生プログラムに関する。
【背景技術】
【0002】
ギターなどの弦楽器から出力された楽音信号に基づくデータから、そのピッチを抽出し、抽出されたピッチに基づいて出力用の波形データを生成して出力する技術が知られている。たとえば、特許文献1や特許文献2では、ギターの6つの弦から発せられた楽音波形データのそれぞれのピッチ(音高)およびエンベロープを抽出して、ROMなどから所定の音色の楽音波形データを、抽出されたピッチに基づいて読み出し、抽出されたエンベロープを与えて新たな楽音波形データを生成している。
【0003】
特許文献1では、入力された波形データにフィルタ処理を施し、フィルタ処理が施された波形データのゼロクロス点を検出し、波形データが正の値をとる時間をカウンタにて計測するとともに、波形データが負の値をとる時間を他のカウンタにて計測し、双方のカウンタ値を参照して弦の基本波の振動を検知し、波形データのピッチを抽出している。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開昭63−298396号公報
【特許文献2】特開平9−6351号公報
【特許文献3】特開平9−106274号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特に、弦楽器では、ピッキングされた各弦の振動を、たとえば、ピックアップが磁気の変動として検出し、電気信号に変換して出力している。したがって、従来のピッチ抽出においては、ピックアップにより得られた電気信号をディジタルデータに変換し、変換されたデータが用いられている。したがって、複数の弦がピッキングされ複数の弦が振動している場合には、他の弦の振動による磁気の変動の影響を排除で傷、ピックアップにより電気信号に変換する過程で、他の弦振動に基づく信号が混合されてしまうおそれがある。このようなクロストークによって、ピックアップからの電気信号に基づくピッチ抽出においては、正確なピッチが算出されない可能性があった。また、クロストークの影響により、ピックアップが検出した電気信号における波形データの周期が安定せず、ピッチ抽出に時間がかかる場合があるという問題点があった。また、ピックアップにより得られた電気信号の周期性に基づきピッチを抽出するため、周期が安定するまでピッチの抽出が出来ず、レスポンスが良くないという問題点もあった。
【0006】
さらに、特許文献3には、ピッチを直接抽出せず、弦楽器のネックの指板にフレットスイッチを設けて、オンされたフレットスイッチによって音高を決定し、かつ、弦の振動を各軸方向のセンサにより検知して、決定された音高で、かつ、センサにより検知された弦振動により音色特性を変化させた楽音を発生する電子弦楽器が提案されている。特許文献3に開示された電子弦楽器は、フレットスイッチにより音高を指定するためレスポンスには優れる。その一方、実際のギターの弦振動とは異なる弦振動となるため、弦楽器の弦振動の変化に直接対応する楽音を生成することは容易ではなかった。
【0007】
本発明は、弦楽器の弦全体の振動に基づく楽音波形データを生成可能な楽音発生装置および楽音発生プログラムを提供することを目的とする。また、本発明は、レスポンスに優れた弦の振動に基づく楽音発生装置および楽音発生プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の目的は、弦楽器の弦の振動に基づく楽音を発生する楽音発生装置であって、
当該弦の張設方向に、前記弦の振動する部分にわたった画像撮影領域の画像データを取得する画像取得手段と、
前記画像取得手段により得られた画像データに基づいて、前記弦の張設方向と垂直方向の基準位置からの変位量をゲイン値として、前記弦の張設方向における複数のゲイン値を含む波形データを生成して記憶手段の波形データエリアに格納する波形データ生成手段と、
前記波形データエリアに格納された波形データを、所定の読み出し速度で読み出して第1の楽音波形データを生成する楽音波形データ生成手段と、を備えたことを特徴とする楽音発生装置により達成される。
【0009】
好ましい実施態様においては、前記楽音波形データ生成手段が、入力された基本周波数f(Hz)に基づいて、1/f(秒)で、前記波形データエリアに格納された波形データを読み取り終わる速度で、前記波形データエリアに格納された波形データを読み取るように構成される。
【0010】
より好ましい実施態様においては、前記波形データ生成手段が、前記波形データのサンプル数Nを、N=fs/f(fs:サンプリング周波数)となるように、波形データを生成する。
【0011】
別の好ましい実施態様においては、前記記憶装置が、所定の音色の波形データが格納された音色波形データエリアを有し、
楽音波形データ生成手段が、前記基本周波数に基づいて、前記音色波形データエリアの前記所定の音色の波形データを読み出し、第2の楽音波形データを生成し、前記第1の楽音波形データと前記第2の楽音波形データとを合成した合成楽音波形データを生成する。
【0012】
さらに別の好ましい実施態様においては、前記楽音波形データ生成手段が、ピックアップから出力された弦振動に基づく第2の楽音信号と、前記第1の楽音信号データに基づく第1の楽音信号とを合成して出力する。
【0013】
好ましい実施態様においては、複数の波形データエリアを有し、
前記波形データ生成手段が、新たな画像データが取得されたときに、前記楽音波形データ生成手段により波形データが読み出されていない他の波形データエリアに、前記新たな画像データに基づく新たな波形データを格納し、
前記楽音波形データ生成手段は、前記波形データを読み出している一方の波形データエリアからの波形データの読み出しが終了する場合に、前記他の波形データエリアから前記新たな波形データの読み出しを開始する。
【0014】
より好ましい実施態様においては、前記楽音波形データ生成手段は、前記一方の波形データエリアからの波形データの読み出しを終了する際に、前記波形データのレベルを徐々に減少させるとともに、前記他の波形データエリアから読み出された前記新たな波形データのレベルを徐々に増大させ、前記波形データおよび前記新たな波形データを合成して出力する。
【0015】
また、本発明の目的は、弦楽器の弦の振動に基づく楽音を発生するための楽音発生プログラムであって、コンピュータに、
当該弦の張設方向に、前記弦の振動する部分にわたった画像撮影領域の画像データを取得する画像取得ステップと、
前記画像取得ステップにおいて得られた画像データに基づいて、前記弦の張設方向と垂直方向の基準位置からの変位量をゲイン値として、前記弦の張設方向における複数のゲイン値を含む波形データを生成して記憶手段の波形データエリアに格納する波形データ生成ステップと、
前記波形データエリアに格納された波形データを、所定の読み出し速度で読み出して第1の楽音波形データを生成する楽音波形データステップと、を実行させることを特徴とする楽音発生プログラムにより達成される。
【発明の効果】
【0016】
本発明によれば、弦楽器の弦全体の振動に基づく楽音波形データを生成可能な楽音発生装置および楽音発生プログラムを提供することが可能となる。また、本発明は、レスポンスに優れた弦の振動に基づく楽音発生装置および楽音発生プログラムを提供することが可能となる。
【図面の簡単な説明】
【0017】
【図1】図1は、本発明の第1の実施の形態にかかる楽音発生装置の構成を示すブロックダイヤグラムである。
【図2】図2は、本実施の形態におけるギターの弦およびカメラの配置例を説明する図である。
【図3】図3は、本実施の形態にかかる楽音発生装置にて実行される処理を示すフローチャートである。
【図4】図4は、本実施の形態にかかる読み出し周波数設定処理の例を示すフローチャートである。
【図5】図5は、本実施の形態にかかる波形データ生成処理の例を示すフローチャートである。
【図6】図6は、波形データエリアに格納された波形データG(i)の例を示す図である。
【図7】図7は、本発明の実施の形態にかかる発音処理の例を示すフローチャートである。
【図8】図8は、本実施の形態にかかるクロスフェード処理の例を示すフローチャートである。
【図9】図9は、本実施の形態にかかるクロスフェードを説明するための図である。
【図10】図10は、本実施の形態にかかる消音処理の例を示すフローチャートである。
【図11】図11は、本発明の第2の実施の形態にかかる楽音発生装置の構成を示すブロックダイヤグラムである。
【図12】図12は、第2の実施の形態にかかる発音処理の例を示すフローチャートである。
【発明を実施するための形態】
【0018】
以下、添付図面を参照して、本発明の実施の形態について説明する。図1は、本発明の第1の実施の形態にかかる楽音発生装置の構成を示すブロックダイヤグラムである。図1に示すように、本実施の形態にかかる楽音発生装置10は、CPU11、ROM12、RAM13、サウンドシステム14、表示部15、カメラ16、画像データ入力インタフェース(I/F)17および操作部18を備える。
【0019】
CPU11は、楽音発生装置10全体の制御、操作部18を構成するスイッチ(図示せず)の操作の検出、カメラ16の起動、画像データ入力I/F17を介して入力された画像データのRAM13への格納、画像データに基づく波形データ生成など、波形データに基づく楽音波形データの生成など、種々の処理を実行する。
【0020】
ROM12は、操作部18を構成するスイッチの操作の検出、画像データ入力I/F17を介して入力された画像データのRAM13への格納、画像データに基づく波形データ生成、波形データに基づく楽音波形データの生成などの処理プログラムを格納する。また、ROM12は、ピアノ、ギターなどの楽音を生成するための原波形データ(以下、「プリセット波形データ」と称する。)を記憶するプリセット波形データエリアを備えている
RAM13は、ROM12から読み出されたプログラムや、処理の過程で生じたデータを記憶する。処理の過程で生じたデータには、後述する画像データ入力I/F17を介して得られた画像データ、画像データに基づいて生成される波形データなどが含まれる。
【0021】
サウンドシステム14は、音源部21、オーディオ回路22およびスピーカ23を備える。音源部21は、CPU11からの指示にしたがって、ROM12からプリセット波形データを読み出して、楽音波形データを生成して出力する。オーディオ回路22は、楽音波形データをアナログ信号に変換し、変換されたアナログ信号を増幅してスピーカ23に出力する。これによりスピーカ23から音響信号が出力される。
【0022】
画像データ入力I/F17は、カメラ16に接続され、カメラ16から出力される画像データを受け入れて、CPU11の指示にしたがって、画像データをRAM13の所定の画像データエリアに格納する。カメラ16は、ギター25の弦に面して配置され、各弦のほぼ全体の画像をそれぞれ得ることが可能となる。
【0023】
図2は、本実施の形態におけるギターの弦およびカメラの配置例を説明する図である。図2に示すように、カメラ16は、6つの画像撮影領域30−1〜30−6を有し、それぞれのセンサ領域30−1〜30−6が、ギターの第1弦26−1〜第6弦26−6を含む画像を取得することができる。カメラ16として、たとえば、CCDカメラ(Charge Coupled Device Image Sensor)を使用することができる。
【0024】
図2に示すように、各画像撮影領域30−1〜30−6は、ギター25のナット201からサドル202までの弦26−1〜26−6の画像を撮影可能である。なお、実際にはギター25のネックにはフレット(符号203〜205参照)が含まれるが、画像データ入力I/F17或いはCPU11は、各画像撮影領域30−1〜30−6におけるフレットの位置を予め取得しておくことで、フレットの撮影された画像の部分を除去して弦の画像のみを取り出すことができる。各弦の画像データにおいては、弦の位置がたとえば黒点として示される。
【0025】
また、各画像撮影領域30−1〜60−5は、各弦26−1〜26−6の張設方向において振動する弦の部分を撮影することができれば良い。したがって、指などで所定のフレット(図示せず)が押されている場合には、画像撮影領域は、指で押さえられたフレットからサドルに至るまでの弦の部分が含まれれば良い。したがって、CPU11は、画像データにおいて、指などで所定のフレットが押されたことが検出された場合には、押されたフレットからサドルまでを画像撮影領域と認識する処理を実行しても良い。
【0026】
図3は、本実施の形態にかかる楽音発生装置にて実行される処理を示すフローチャートである。楽音発生装置10のCPU11は、たとえば、RAM13に一時的に記憶された画像データ、波形生成処理により得られ、RAM13中の複数の波形データエリアに格納された波形データなどのクリアを含むイニシャライズ処理を行う(ステップ301)。また、イニシャライズ処理においては、後述する波形データエリアを指定するためのパラメータjも「0」に初期化される。イニシャライズ処理(ステップ301)が終了すると、CPU11は、操作部18のスイッチの操作を検出し、検出された操作にしたがった処理を実行するスイッチ処理を実行する(ステップ302)。
【0027】
スイッチ処理においては、たとえば、音色指定スイッチの操作にしたがって、ROM12のプリセット波形データエリアに格納されたプリセット波形データの種別(音色)を指定する情報がRAM13に格納される。また、ミックス比設定のスイッチにしたがって、プリセット波形データに基づく楽音波形データ(第2の楽音波形データ)と、画像データに基づいて波形データ生成処理において得られた波形データに基づいて生成される楽音波形データ(第1の楽音波形データ)とのミックス比を示す情報がRAM13に格納される。さらに、本実施の形態にかかるスイッチ処理においては、各弦について発生される楽音の周波数を規定する基本周波数が、演奏者による所定のスイッチの操作に基づいて指定され、当該指定された基本周波数がRAM13に格納される。
【0028】
スイッチ処理(ステップ302)の後、CPU11は、読み出し周波数設定処理を実行する(ステップ303)。なお、以下の読み出し周波数設定処理(ステップ303)、波形データ生成処理(ステップ304)、発音処理(ステップ305)および消音処理(ステップ306)において、単一の弦に関する処理について記載するが、実際には、ステップ303〜306の各処理においては、6つの弦のそれぞれについて同様な処理が繰り返される。
【0029】
図4は、本実施の形態にかかる読み出し周波数設定処理の例を示すフローチャートである。図4に示すようにCPU11は、スイッチ処理において、基本周波数が入力され、当該基本周波数を示す情報がRAM13に格納されているかを判断する(ステップ401)。基本周波数の入力があった場合には、CPU11は、RAM13に格納された基本周波数fを取得し(ステップ402)、波形データの読み出し時間F=1/fを算出する(ステップ403)。また、CPU11は、波形データ生成処理において生成すべき波形データのデータ数(サンプル数)Nを、N=fs/fに基づいて算出する(ステップ404)。なお、fsは、サンプリング周波数である。その後、CPU11は、RAM13中に、サンプル数分の波形データを格納できる波形データエリアを複数確保する(ステップ405)。本実施の形態においては、2つの波形データエリアが確保される。
【0030】
たとえば、基本周波数が440Hzであれば、波形データの読み出し時間F=1/440秒となり、また、サンプリング周波数fs=44KHzであれば、サンプル数N=44000/440=100となる。
【0031】
読み出し周波数設定処理(ステップ303)が終了すると、CPU11は、波形データ生成処理を実行する(ステップ304)。図5は、本実施の形態にかかる波形データ生成処理の例を示すフローチャートである。図5に示すように、CPU11は、カメラ16に画像撮影を指示し、カメラ16は指示に応答して、各画像撮影領域を撮影する。CPU11は、画像データI/F17を介して、画像撮影領域の画像データを取得する(ステップ502)。
【0032】
CPU11は、得られた画像データを、弦の張設方向と平行なX軸上のある位置xiにおける変位量(ゲインG’(xi))の形式に変換する(ステップ503)。ステップ503においては、画像撮影領域中のY軸方向の所定の値を基準位置として、Y軸と直交するX軸上の各位置において、Y軸方向にどれだけ基準位置から離間した位置に弦に相当する黒点があるかを検出し、基準位置からの変位量(距離)を、当該X軸上の位置(G’(xi))とする。これにより、x軸方向の画素数nに応じた、n個の変位量(ゲイン)(G’(x0)〜G’(xn)を得ることができる。なお、Y軸方向は、弦の張設方向の垂直方向に平行である。
【0033】
次いで、CPU11は、得られたn個の変位量を、サンプル数Nだけのポイント数となる画像データG(0)〜G(N−1)に変換する(ステップ504)。たとえば、サンプル数Nと、画像データから得られたデータ数nが、n=m×N(mは整数)であれば、
G’(i×m)=G(i)となるように、いわゆるデータの間引きをすれば良い。或いは、サンプル数Nと、データ数nとの間が、N=m×n(mは整数)であれば、
G(i×m)=G’(i)として、それ以外のG(i)については、直線補間により値を得れば良い。データ数の関係が、上述したように整数値mで表せない場合にも、直線補間などを利用することで、ゲインG(i)を求めることができる。
【0034】
その後、CPU11は、波形データエリアを指定するためのパラメータjが偶数であるかを判断する(ステップ505)。ステップ505でYesと判断された場合には、得られたゲインG(i)(i=0〜N−1)を、波形データエリア0に格納する(ステップ506)。その一方、ステップ506でNo、すなわち、パラメータjが奇数である場合には、ゲインG(i)(i=0〜N−1)を、波形データエリア1に格納する(ステップ507)。その後、CPU11は、パラメータjをインクリメントして(ステップ508)、処理を終了する。
【0035】
図6は、波形データエリアに格納された波形データG(i)の例を示す図である。図6に示すように、波形データ600は、Y軸上の基準位置601からの変位(たとえば、G(0)(符号611)、G(1)(符号612))であり、N個のデータ(G(0)〜G(N−1))から構成される。
【0036】
波形データ生成処理(ステップ304)が終了すると、CPU11は発音処理を実行する(ステップ305)。図7は、本発明の実施の形態にかかる発音処理の例を示すフローチャートである。図7に示すように、CPU11は、弦の振動レベルが所定値以上であるかを判断する(ステップ701)。ステップ701においては、波形データエリアに格納された波形データの変位の最大値Gmaxが所定値以上であるかを判断すれば良い。或いは、ギター25のピックアップ(図示せず)から出力される弦の信号(原信号)が所定のレベル以上であるか否かを判断しても良い。
【0037】
ステップ701でYesと判断された場合には、CPU11は、基本周波数fにしたがって、所定の音色のプリセット波形データを、基本周波数fにしたがって読み出すように指示を与える。音源部21は、指示にしたがって、所定のプリセット波形データを、基本周波数fに基づく読み出し速度で読み出す(ステップ702)。これにより、プリセット波形データに基づく,基準周波数fにしたがった音高を有する第2の楽音波形データを得ることができる。
【0038】
次いでCPU11は、現在読み出し中の波形データエリアではない他の波形データエリアに新たな波形データが格納されたか否かを判断する(ステップ703)。他の波形データエリアに新たな波形データエリアが格納された場合には、波形の切り替えが行われる可能性があるため、ステップ703の判断が行なわれる。ステップ703でNoと判断された場合には、CPU11は、読み出し時間Fにしたがって、現在読み出し中の波形データエリアから波形データを読み出す(ステップ704)。波形データエリアからの波形データG(i)が取得される。なお、新たな波形データが他の波形データエリアに格納されない限り、読み出し中の一方の波形データエリアからの波形データが繰り返し読み出される。ステップ703において、現在読み出し中の波形データエリアが、波形データエリア0であれば、他の波形データエリアは波形データエリア1となる。その逆に、現在読み出し中の波形データエリアが波形データエリア1であれば、他の波形データエリアは波形データエリア0である。以下に説明するクロスフェード処理においても同様である。
【0039】
ステップ703でYesと判断された場合には、読み出すべき波形のX座標の値がクロスフェード期間内であるか否かを判断する(ステップ705)。ステップ705でNoと判断された場合には、ステップ704に進む。その一方、ステップ705でYesと判断された場合には、クロスフェード処理を実行する(ステップ701)。
【0040】
図8は、本実施の形態にかかるクロスフェード処理の例を示すフローチャートである。CPU11は、クロスフェード期間X、クロスフェード開始位置N−X−1、クロスフェード終了位置N−1を取得し、現在読み出し中の波形データエリアから波形データGp(ip)を読み出し、クロスフェード係数を乗じて以下の波形データg1(i)を算出する(ステップ802)。
【0041】
g1(i)=((N−1)−ip)/X)・Gp(ip)
図9は、本実施の形態にかかるクロスフェードを説明するための図である。図9に示すように、本実施の形態においては、現在読み出し中の波形データエリアにおける第(N−X−1)番の波形データの出力からクロスフェードが開始され、第(N−1)番、つまり、末尾の波形データの出力でクロスフェードが終了する。したがって現在読み出し中の波形データエリアからの波形データGp(i)について、N−X−1≦i≦N−1であれば、上記ステップ705においてYesと判断される。
【0042】
また、図9に示すように、ステップ802で算出された波形データg1(i)は、符号900に示すように、波形データを指定するパラメータipが、(N−X−1)以下である場合は、元の値であり(符号901)、パラメータipが(N−X−1)から(N−1)に至るまで、値が減少し、パラメータipがNであるときに「0」となる。
【0043】
次いで、CPU11は、新たに波形データが格納された他の波形データエリアから波形データGq(iq)(iq=ip−(N−X−1))を読み出し、クロスフェード係数を乗じて、以下の波形データg2(i)を算出する(ステップ803)。
【0044】
g2(i)=(iq/X)・Gq(iq)
図9に示すように、ステップ803で算出された波形データg2(i)は、符号910に示すように、波形データを指定するパラメータiqが、(N−X−1)以下である場合は、「0」であり、パラメータiqが(N−X−1)から(N−1)に至るまで、値が増大し、パラメータiqがN以上で元の値となる(符号911参照)。
【0045】
CPU11は、得られた2つの波形データg1(i)とg2(i)とを合成して、合成された楽音波形データG(i)(第1の楽音波形データ)を得る(ステップ804)。合成された楽音波形データG(i)は音源部21に与えられる。
【0046】
ステップ706のクロスフェード処理が終了し、或いは、ステップ704が終了すると、音源部21は、波形データエリアから取得された波形データG(i)と、プリセット波形データから取得された波形データGPRE(i)とを、RAM13に格納されたミックス比にしたがって加算して、合成楽音波形データGOUT(i)を算出する(ステップ707)。合成楽音波形データGOUT(i)は以下のようなものとなる。
【0047】
GOUT(i)=A・G(i)+(1−A)・GPRE(i)
(A(0<A<1)はミックス比)
オーディオ回路22は、合成楽音波形データをアナログ信号に変換し、変換により得られたアナログ信号を増幅してスピーカ23から出力する。
【0048】
発音処理(ステップ305)の後、CPU11は、消音処理を実行する(ステップ306)。図10は、本実施の形態にかかる消音処理の例を示すフローチャートである。図8に示すように、CPU11は、弦の振動レベルが所定値未満であるか否かを判断する(ステップ1001)。ステップ1001においては、波形データエリアに格納された波形データの変位の最大値Gmaxが所定値未満であるかを判断すれば良い。或いは、ギター25のピックアップ(図示せず)から出力される弦の信号(原信号)が所定のレベル未満であるか否かを判断しても良い。
【0049】
ステップ1001でYesと判断された場合には、プリセット波形データに基づく楽音波形データ(第2の楽音波形データ)および画像データに基づく楽音波形データ(第1の楽音波形データ)が出力中であるか否かを判断する(ステップ1002)。ステップ1002でYesと判断された場合には、CPU11は、音源部21に対して、プリセット波形データに基づく楽音波形データ(第2の楽音波形データ)の消音を指示する。音源部21は、指示に応答して、その出力レベルを徐々に減衰させるような第2の楽音波形データを生成する(ステップ1003)。また、CPU11は、画像データに基づく楽音波形データ(第1の楽音波形データ)の出力レベルを徐々に減衰させる係数を第1の楽音波形データに乗じて、乗算結果のデータを、第1の楽音波形データとして音源部21に与える(ステップ1004)。
【0050】
ステップ1001でNo、ステップ1002でNo、或いは、ステップ1004が終了すると、消音処理は終了する。消音処理が終了した後、CPU11は、他の必要な処理を実行する(ステップ307)。ステップ307における処理には、たとえば、表示部15への画像表示や、LEDの点灯などが含まれる。
【0051】
本実施の形態によれば、カメラが、ギター25の弦の張設方向に、弦の振動する部分にわたった画像撮影領域を撮影する。CPU11は、画像撮影領域の画像データに基づいて、弦の張設方向(X軸方向)の基準位置からの変位量、つまり、Y軸方向の変位量をゲイン値として、弦の張設方向における複数のゲイン値を含む波形データを生成してRAM13の波形データエリアに格納する。CPU11は、所定音読み出し速度で波形データエリアの波形データを読み出して、サウンドシステム14に与え、サウンドシステム14においてアナログ信号に変換されて出力される。これにより、画像撮影領域における弦全体の振動に基づく楽音波形データを生成し出力することが可能となる。また、画像撮影領域における弦全体の画像データを用いて波形データを生成するため良好なレスポンスで楽音波形データを出力することが可能となる。
【0052】
本実施の形態によれば、操作部18を構成するスイッチの操作により入力された基本周波数f(Hz)に基づいて、波形データエリアの波形データが読み出される。これにより、演奏者のスイッチ操作による所望の音高の楽音を出力することができる。
【0053】
また、本実施の形態によれば、CPU11は、波形データのサンプル数Nを、N=fs/f(fs:サンプリング周波数)となるように、波形データを生成する。これにより、サンプリング周波数で波形データを読み出すことで、設定された時間1/fで波形データエリアの波形データを読み取り終わることができる。
【0054】
また、本実施の形態によれば、ROM12には、所定の音色の波形データが格納されたプリセット波形データエリアが設けられ、音源部21が、基本周波数fに基づいて、プリセット波形データを読み出して第2の楽音波形データを生成し、波形データエリアから読み出された第1の楽音波形データと合成して出力する。これにより、弦楽器の弦振動自体から得られた楽音と、音源部21で生成された楽音(いわゆるシンセ音)とをミックスした楽音を得ることが可能となる。
【0055】
さらに、本実施の形態においては、新たな画像データが取得されたときに、CPU11は、波形データが読み出されていない他の波形データエリアに、新たな画像データに基づく新たな波形データを格納する。CPU11は、波形データを読み出している一方の波形データエリアからの波形データの読み出しが終了する場合に、他の波形データエリアから新たな波形データの読み出しを開始する。これにより、新たな画像データが取得されるたびに、当該新たな画像データに基づく新たな波形データを生成し、当該波形データに基づく楽音波形データを生成することが可能となる。
【0056】
また、本実施の形態においては、CPU11は、一方の波形データエリアからの波形データの読み出しを終了する際に、波形データのレベルを徐々に減少させるとともに、他の波形データエリアから読み出された新たな波形データのレベルを徐々に増大させ、これら波形データを合成して出力する。このように、クロスフェード処理を行うことにより、波形データを滑らかに切り替えることが可能となる。
【0057】
次に、本発明の第2の実施の形態について説明する。第1の実施の形態においては、画像データに基づいて生成された楽音波形データ(第1の楽音波形データ)は、音源部21が生成した、ROM12に記憶されていたプリセット波形データに基づく楽音波形データ(第2の楽音波形データ)と合成されて出力される。第2の実施の形態においては、音源部21を設けず、ギター25のピックアップから出力された弦振動に基づく電気信号から得られた楽音信号と、第1の楽音波形データとを合成して出力する。
【0058】
図11は、本発明の第2の実施の形態にかかる楽音発生装置の構成を示すブロックダイヤグラムである。図11において、図1に示す楽音発生装置の構成部分と同様のものには同一の符号を付している。図11に示すように、第2の実施の形態にかかる楽音発生装置100は、CPU11、ROM12、RAM13、サウンドシステム114、表示部15、カメラ16、画像データ入力I/F17および操作部18を備える。
【0059】
本実施の形態においては、サウンドシステム114は、オーディオ・ミキシング回路114をする。また、ギター25のピックアップ121の出力は、サウンドシステム114のオーディオ・ミキシング回路114に入力される。本実施の形態においては、後述するように、オーディオ・ミキシング回路14が、画像データに基づく楽音波形データ(第1の楽音波形データ)をアナログ変換した楽音信号と、ピックアップ121から出力された楽音信号とを、設定されたミックス比で合成する。
【0060】
第2の実施の形態にかかる楽音発生装置100における処理の概要も、図3に示すものとなる。スイッチ処理(ステップ302)、読み出し周波数設定処理(ステップ303)、波形データ生成処理(ステップ304)は、第2の実施の形態においても同様である。
【0061】
図12は、第2の実施の形態にかかる発音処理の例を示すフローチャートである。第2の実施の形態においては、第1の実施の形態の発音処理におけるステップ702、つまり、ROM12に格納されたプリセット波形データに基づく第2の楽音波形データの生成が行なわれない。図12に示すように、第2の実施の形態にかかる発音処理においては、弦の振動レベルが所定値以上である場合に(ステップ1201でYes)、現在読み出し中の波形データエリアではない他の波形データエリアに新たな波形データが格納されず(ステップ1202でNo)、或いは、クロスフェード期間内でなければ(ステップ1204でNo)、CPU11は、読み出し時間Fにしたがって、現在読み出し中の波形データエリアから波形データを読み出す(ステップ1203)。これらステップ1201、1202、1203、1204は、それぞれ、図7のステップ701、703、704、705と同様である。
【0062】
ステップ1201およびステップ1204の双方でYesと判断された場合にはクロスフェード処理が実行される(ステップ1205)。クロスフェード処理も図8に示すものと同様である。ステップ1203において生成された波形データ或いはクロスフェード処理において生成された波形データは、オーディオ・ミキシング回路122に出力される。ステップ1205のクロスフェード処理が終了し、或いは、ステップ1203が終了すると、オーディオ・ミキシング回路122は、波形データG(i)をアナログ信号に変換し、変換により得られた楽音波形信号と、ピックアップ122から出力された弦振動に基づく楽音波形信号とを、RAM13に格納されたミックス比にしたがって加算して、合成楽音信号を生成する。生成された合成楽音信号は、スピーカ23から出力される。
【0063】
第2の実施の形態によれば、ギター25のピックアップ121から出力された弦振動に基づく楽音信号と、第1の楽音信号データに基づく第1の楽音信号とを合成して出力する。したがって、弦振動の画像データに基づく楽音と、弦振動に基づく電気信号に基づく楽音とを合成することが可能となる。
【0064】
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【0065】
たとえば、前記実施の形態においては、弦楽器としてギターを利用しているがギターに限定されるものではなく、他の弦楽器、たとえば、ベース、バイオリン、ヴィオラ、チェロなどにも本発明を適用することができる。
【0066】
また、前記第1の実施の形態においては、楽音発生装置10は、音源部21を備え、ROM12に記憶された波形データを読み出して楽音波形データ(第2の楽音波形データ)を生成し、画像データに基づく楽音波形データ(第1の楽音波形データ)と合成された合成楽音波形データを出力している。また、第2の実施の形態においては、楽音発生装置100は、ピックアップ121からの電気信号に基づく第2の楽音信号と、第1の楽音波形データをアナログ変換した楽音信号とを合成して出力している。しかしながら、上記構成に限定されるものではない。たとえば、楽音発生装置10は、単に画像データに基づく楽音波形データ(第1の楽音波形データ)を生成して出力するような構成であっても良い。
【符号の説明】
【0067】
10 楽音発生装置
11 CPU
12 ROM
13 RAM
14 サウンドシステム
15 表示部
16 カメラ
17 画像データ入力I/F
18 操作部
21 音源部
22 オーディオ回路
23 スピーカ
25 ギター
【技術分野】
【0001】
本発明は、弦楽器の弦振動に基づいて楽音を発生する楽音発生装置および楽音発生プログラムに関する。
【背景技術】
【0002】
ギターなどの弦楽器から出力された楽音信号に基づくデータから、そのピッチを抽出し、抽出されたピッチに基づいて出力用の波形データを生成して出力する技術が知られている。たとえば、特許文献1や特許文献2では、ギターの6つの弦から発せられた楽音波形データのそれぞれのピッチ(音高)およびエンベロープを抽出して、ROMなどから所定の音色の楽音波形データを、抽出されたピッチに基づいて読み出し、抽出されたエンベロープを与えて新たな楽音波形データを生成している。
【0003】
特許文献1では、入力された波形データにフィルタ処理を施し、フィルタ処理が施された波形データのゼロクロス点を検出し、波形データが正の値をとる時間をカウンタにて計測するとともに、波形データが負の値をとる時間を他のカウンタにて計測し、双方のカウンタ値を参照して弦の基本波の振動を検知し、波形データのピッチを抽出している。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開昭63−298396号公報
【特許文献2】特開平9−6351号公報
【特許文献3】特開平9−106274号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特に、弦楽器では、ピッキングされた各弦の振動を、たとえば、ピックアップが磁気の変動として検出し、電気信号に変換して出力している。したがって、従来のピッチ抽出においては、ピックアップにより得られた電気信号をディジタルデータに変換し、変換されたデータが用いられている。したがって、複数の弦がピッキングされ複数の弦が振動している場合には、他の弦の振動による磁気の変動の影響を排除で傷、ピックアップにより電気信号に変換する過程で、他の弦振動に基づく信号が混合されてしまうおそれがある。このようなクロストークによって、ピックアップからの電気信号に基づくピッチ抽出においては、正確なピッチが算出されない可能性があった。また、クロストークの影響により、ピックアップが検出した電気信号における波形データの周期が安定せず、ピッチ抽出に時間がかかる場合があるという問題点があった。また、ピックアップにより得られた電気信号の周期性に基づきピッチを抽出するため、周期が安定するまでピッチの抽出が出来ず、レスポンスが良くないという問題点もあった。
【0006】
さらに、特許文献3には、ピッチを直接抽出せず、弦楽器のネックの指板にフレットスイッチを設けて、オンされたフレットスイッチによって音高を決定し、かつ、弦の振動を各軸方向のセンサにより検知して、決定された音高で、かつ、センサにより検知された弦振動により音色特性を変化させた楽音を発生する電子弦楽器が提案されている。特許文献3に開示された電子弦楽器は、フレットスイッチにより音高を指定するためレスポンスには優れる。その一方、実際のギターの弦振動とは異なる弦振動となるため、弦楽器の弦振動の変化に直接対応する楽音を生成することは容易ではなかった。
【0007】
本発明は、弦楽器の弦全体の振動に基づく楽音波形データを生成可能な楽音発生装置および楽音発生プログラムを提供することを目的とする。また、本発明は、レスポンスに優れた弦の振動に基づく楽音発生装置および楽音発生プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の目的は、弦楽器の弦の振動に基づく楽音を発生する楽音発生装置であって、
当該弦の張設方向に、前記弦の振動する部分にわたった画像撮影領域の画像データを取得する画像取得手段と、
前記画像取得手段により得られた画像データに基づいて、前記弦の張設方向と垂直方向の基準位置からの変位量をゲイン値として、前記弦の張設方向における複数のゲイン値を含む波形データを生成して記憶手段の波形データエリアに格納する波形データ生成手段と、
前記波形データエリアに格納された波形データを、所定の読み出し速度で読み出して第1の楽音波形データを生成する楽音波形データ生成手段と、を備えたことを特徴とする楽音発生装置により達成される。
【0009】
好ましい実施態様においては、前記楽音波形データ生成手段が、入力された基本周波数f(Hz)に基づいて、1/f(秒)で、前記波形データエリアに格納された波形データを読み取り終わる速度で、前記波形データエリアに格納された波形データを読み取るように構成される。
【0010】
より好ましい実施態様においては、前記波形データ生成手段が、前記波形データのサンプル数Nを、N=fs/f(fs:サンプリング周波数)となるように、波形データを生成する。
【0011】
別の好ましい実施態様においては、前記記憶装置が、所定の音色の波形データが格納された音色波形データエリアを有し、
楽音波形データ生成手段が、前記基本周波数に基づいて、前記音色波形データエリアの前記所定の音色の波形データを読み出し、第2の楽音波形データを生成し、前記第1の楽音波形データと前記第2の楽音波形データとを合成した合成楽音波形データを生成する。
【0012】
さらに別の好ましい実施態様においては、前記楽音波形データ生成手段が、ピックアップから出力された弦振動に基づく第2の楽音信号と、前記第1の楽音信号データに基づく第1の楽音信号とを合成して出力する。
【0013】
好ましい実施態様においては、複数の波形データエリアを有し、
前記波形データ生成手段が、新たな画像データが取得されたときに、前記楽音波形データ生成手段により波形データが読み出されていない他の波形データエリアに、前記新たな画像データに基づく新たな波形データを格納し、
前記楽音波形データ生成手段は、前記波形データを読み出している一方の波形データエリアからの波形データの読み出しが終了する場合に、前記他の波形データエリアから前記新たな波形データの読み出しを開始する。
【0014】
より好ましい実施態様においては、前記楽音波形データ生成手段は、前記一方の波形データエリアからの波形データの読み出しを終了する際に、前記波形データのレベルを徐々に減少させるとともに、前記他の波形データエリアから読み出された前記新たな波形データのレベルを徐々に増大させ、前記波形データおよび前記新たな波形データを合成して出力する。
【0015】
また、本発明の目的は、弦楽器の弦の振動に基づく楽音を発生するための楽音発生プログラムであって、コンピュータに、
当該弦の張設方向に、前記弦の振動する部分にわたった画像撮影領域の画像データを取得する画像取得ステップと、
前記画像取得ステップにおいて得られた画像データに基づいて、前記弦の張設方向と垂直方向の基準位置からの変位量をゲイン値として、前記弦の張設方向における複数のゲイン値を含む波形データを生成して記憶手段の波形データエリアに格納する波形データ生成ステップと、
前記波形データエリアに格納された波形データを、所定の読み出し速度で読み出して第1の楽音波形データを生成する楽音波形データステップと、を実行させることを特徴とする楽音発生プログラムにより達成される。
【発明の効果】
【0016】
本発明によれば、弦楽器の弦全体の振動に基づく楽音波形データを生成可能な楽音発生装置および楽音発生プログラムを提供することが可能となる。また、本発明は、レスポンスに優れた弦の振動に基づく楽音発生装置および楽音発生プログラムを提供することが可能となる。
【図面の簡単な説明】
【0017】
【図1】図1は、本発明の第1の実施の形態にかかる楽音発生装置の構成を示すブロックダイヤグラムである。
【図2】図2は、本実施の形態におけるギターの弦およびカメラの配置例を説明する図である。
【図3】図3は、本実施の形態にかかる楽音発生装置にて実行される処理を示すフローチャートである。
【図4】図4は、本実施の形態にかかる読み出し周波数設定処理の例を示すフローチャートである。
【図5】図5は、本実施の形態にかかる波形データ生成処理の例を示すフローチャートである。
【図6】図6は、波形データエリアに格納された波形データG(i)の例を示す図である。
【図7】図7は、本発明の実施の形態にかかる発音処理の例を示すフローチャートである。
【図8】図8は、本実施の形態にかかるクロスフェード処理の例を示すフローチャートである。
【図9】図9は、本実施の形態にかかるクロスフェードを説明するための図である。
【図10】図10は、本実施の形態にかかる消音処理の例を示すフローチャートである。
【図11】図11は、本発明の第2の実施の形態にかかる楽音発生装置の構成を示すブロックダイヤグラムである。
【図12】図12は、第2の実施の形態にかかる発音処理の例を示すフローチャートである。
【発明を実施するための形態】
【0018】
以下、添付図面を参照して、本発明の実施の形態について説明する。図1は、本発明の第1の実施の形態にかかる楽音発生装置の構成を示すブロックダイヤグラムである。図1に示すように、本実施の形態にかかる楽音発生装置10は、CPU11、ROM12、RAM13、サウンドシステム14、表示部15、カメラ16、画像データ入力インタフェース(I/F)17および操作部18を備える。
【0019】
CPU11は、楽音発生装置10全体の制御、操作部18を構成するスイッチ(図示せず)の操作の検出、カメラ16の起動、画像データ入力I/F17を介して入力された画像データのRAM13への格納、画像データに基づく波形データ生成など、波形データに基づく楽音波形データの生成など、種々の処理を実行する。
【0020】
ROM12は、操作部18を構成するスイッチの操作の検出、画像データ入力I/F17を介して入力された画像データのRAM13への格納、画像データに基づく波形データ生成、波形データに基づく楽音波形データの生成などの処理プログラムを格納する。また、ROM12は、ピアノ、ギターなどの楽音を生成するための原波形データ(以下、「プリセット波形データ」と称する。)を記憶するプリセット波形データエリアを備えている
RAM13は、ROM12から読み出されたプログラムや、処理の過程で生じたデータを記憶する。処理の過程で生じたデータには、後述する画像データ入力I/F17を介して得られた画像データ、画像データに基づいて生成される波形データなどが含まれる。
【0021】
サウンドシステム14は、音源部21、オーディオ回路22およびスピーカ23を備える。音源部21は、CPU11からの指示にしたがって、ROM12からプリセット波形データを読み出して、楽音波形データを生成して出力する。オーディオ回路22は、楽音波形データをアナログ信号に変換し、変換されたアナログ信号を増幅してスピーカ23に出力する。これによりスピーカ23から音響信号が出力される。
【0022】
画像データ入力I/F17は、カメラ16に接続され、カメラ16から出力される画像データを受け入れて、CPU11の指示にしたがって、画像データをRAM13の所定の画像データエリアに格納する。カメラ16は、ギター25の弦に面して配置され、各弦のほぼ全体の画像をそれぞれ得ることが可能となる。
【0023】
図2は、本実施の形態におけるギターの弦およびカメラの配置例を説明する図である。図2に示すように、カメラ16は、6つの画像撮影領域30−1〜30−6を有し、それぞれのセンサ領域30−1〜30−6が、ギターの第1弦26−1〜第6弦26−6を含む画像を取得することができる。カメラ16として、たとえば、CCDカメラ(Charge Coupled Device Image Sensor)を使用することができる。
【0024】
図2に示すように、各画像撮影領域30−1〜30−6は、ギター25のナット201からサドル202までの弦26−1〜26−6の画像を撮影可能である。なお、実際にはギター25のネックにはフレット(符号203〜205参照)が含まれるが、画像データ入力I/F17或いはCPU11は、各画像撮影領域30−1〜30−6におけるフレットの位置を予め取得しておくことで、フレットの撮影された画像の部分を除去して弦の画像のみを取り出すことができる。各弦の画像データにおいては、弦の位置がたとえば黒点として示される。
【0025】
また、各画像撮影領域30−1〜60−5は、各弦26−1〜26−6の張設方向において振動する弦の部分を撮影することができれば良い。したがって、指などで所定のフレット(図示せず)が押されている場合には、画像撮影領域は、指で押さえられたフレットからサドルに至るまでの弦の部分が含まれれば良い。したがって、CPU11は、画像データにおいて、指などで所定のフレットが押されたことが検出された場合には、押されたフレットからサドルまでを画像撮影領域と認識する処理を実行しても良い。
【0026】
図3は、本実施の形態にかかる楽音発生装置にて実行される処理を示すフローチャートである。楽音発生装置10のCPU11は、たとえば、RAM13に一時的に記憶された画像データ、波形生成処理により得られ、RAM13中の複数の波形データエリアに格納された波形データなどのクリアを含むイニシャライズ処理を行う(ステップ301)。また、イニシャライズ処理においては、後述する波形データエリアを指定するためのパラメータjも「0」に初期化される。イニシャライズ処理(ステップ301)が終了すると、CPU11は、操作部18のスイッチの操作を検出し、検出された操作にしたがった処理を実行するスイッチ処理を実行する(ステップ302)。
【0027】
スイッチ処理においては、たとえば、音色指定スイッチの操作にしたがって、ROM12のプリセット波形データエリアに格納されたプリセット波形データの種別(音色)を指定する情報がRAM13に格納される。また、ミックス比設定のスイッチにしたがって、プリセット波形データに基づく楽音波形データ(第2の楽音波形データ)と、画像データに基づいて波形データ生成処理において得られた波形データに基づいて生成される楽音波形データ(第1の楽音波形データ)とのミックス比を示す情報がRAM13に格納される。さらに、本実施の形態にかかるスイッチ処理においては、各弦について発生される楽音の周波数を規定する基本周波数が、演奏者による所定のスイッチの操作に基づいて指定され、当該指定された基本周波数がRAM13に格納される。
【0028】
スイッチ処理(ステップ302)の後、CPU11は、読み出し周波数設定処理を実行する(ステップ303)。なお、以下の読み出し周波数設定処理(ステップ303)、波形データ生成処理(ステップ304)、発音処理(ステップ305)および消音処理(ステップ306)において、単一の弦に関する処理について記載するが、実際には、ステップ303〜306の各処理においては、6つの弦のそれぞれについて同様な処理が繰り返される。
【0029】
図4は、本実施の形態にかかる読み出し周波数設定処理の例を示すフローチャートである。図4に示すようにCPU11は、スイッチ処理において、基本周波数が入力され、当該基本周波数を示す情報がRAM13に格納されているかを判断する(ステップ401)。基本周波数の入力があった場合には、CPU11は、RAM13に格納された基本周波数fを取得し(ステップ402)、波形データの読み出し時間F=1/fを算出する(ステップ403)。また、CPU11は、波形データ生成処理において生成すべき波形データのデータ数(サンプル数)Nを、N=fs/fに基づいて算出する(ステップ404)。なお、fsは、サンプリング周波数である。その後、CPU11は、RAM13中に、サンプル数分の波形データを格納できる波形データエリアを複数確保する(ステップ405)。本実施の形態においては、2つの波形データエリアが確保される。
【0030】
たとえば、基本周波数が440Hzであれば、波形データの読み出し時間F=1/440秒となり、また、サンプリング周波数fs=44KHzであれば、サンプル数N=44000/440=100となる。
【0031】
読み出し周波数設定処理(ステップ303)が終了すると、CPU11は、波形データ生成処理を実行する(ステップ304)。図5は、本実施の形態にかかる波形データ生成処理の例を示すフローチャートである。図5に示すように、CPU11は、カメラ16に画像撮影を指示し、カメラ16は指示に応答して、各画像撮影領域を撮影する。CPU11は、画像データI/F17を介して、画像撮影領域の画像データを取得する(ステップ502)。
【0032】
CPU11は、得られた画像データを、弦の張設方向と平行なX軸上のある位置xiにおける変位量(ゲインG’(xi))の形式に変換する(ステップ503)。ステップ503においては、画像撮影領域中のY軸方向の所定の値を基準位置として、Y軸と直交するX軸上の各位置において、Y軸方向にどれだけ基準位置から離間した位置に弦に相当する黒点があるかを検出し、基準位置からの変位量(距離)を、当該X軸上の位置(G’(xi))とする。これにより、x軸方向の画素数nに応じた、n個の変位量(ゲイン)(G’(x0)〜G’(xn)を得ることができる。なお、Y軸方向は、弦の張設方向の垂直方向に平行である。
【0033】
次いで、CPU11は、得られたn個の変位量を、サンプル数Nだけのポイント数となる画像データG(0)〜G(N−1)に変換する(ステップ504)。たとえば、サンプル数Nと、画像データから得られたデータ数nが、n=m×N(mは整数)であれば、
G’(i×m)=G(i)となるように、いわゆるデータの間引きをすれば良い。或いは、サンプル数Nと、データ数nとの間が、N=m×n(mは整数)であれば、
G(i×m)=G’(i)として、それ以外のG(i)については、直線補間により値を得れば良い。データ数の関係が、上述したように整数値mで表せない場合にも、直線補間などを利用することで、ゲインG(i)を求めることができる。
【0034】
その後、CPU11は、波形データエリアを指定するためのパラメータjが偶数であるかを判断する(ステップ505)。ステップ505でYesと判断された場合には、得られたゲインG(i)(i=0〜N−1)を、波形データエリア0に格納する(ステップ506)。その一方、ステップ506でNo、すなわち、パラメータjが奇数である場合には、ゲインG(i)(i=0〜N−1)を、波形データエリア1に格納する(ステップ507)。その後、CPU11は、パラメータjをインクリメントして(ステップ508)、処理を終了する。
【0035】
図6は、波形データエリアに格納された波形データG(i)の例を示す図である。図6に示すように、波形データ600は、Y軸上の基準位置601からの変位(たとえば、G(0)(符号611)、G(1)(符号612))であり、N個のデータ(G(0)〜G(N−1))から構成される。
【0036】
波形データ生成処理(ステップ304)が終了すると、CPU11は発音処理を実行する(ステップ305)。図7は、本発明の実施の形態にかかる発音処理の例を示すフローチャートである。図7に示すように、CPU11は、弦の振動レベルが所定値以上であるかを判断する(ステップ701)。ステップ701においては、波形データエリアに格納された波形データの変位の最大値Gmaxが所定値以上であるかを判断すれば良い。或いは、ギター25のピックアップ(図示せず)から出力される弦の信号(原信号)が所定のレベル以上であるか否かを判断しても良い。
【0037】
ステップ701でYesと判断された場合には、CPU11は、基本周波数fにしたがって、所定の音色のプリセット波形データを、基本周波数fにしたがって読み出すように指示を与える。音源部21は、指示にしたがって、所定のプリセット波形データを、基本周波数fに基づく読み出し速度で読み出す(ステップ702)。これにより、プリセット波形データに基づく,基準周波数fにしたがった音高を有する第2の楽音波形データを得ることができる。
【0038】
次いでCPU11は、現在読み出し中の波形データエリアではない他の波形データエリアに新たな波形データが格納されたか否かを判断する(ステップ703)。他の波形データエリアに新たな波形データエリアが格納された場合には、波形の切り替えが行われる可能性があるため、ステップ703の判断が行なわれる。ステップ703でNoと判断された場合には、CPU11は、読み出し時間Fにしたがって、現在読み出し中の波形データエリアから波形データを読み出す(ステップ704)。波形データエリアからの波形データG(i)が取得される。なお、新たな波形データが他の波形データエリアに格納されない限り、読み出し中の一方の波形データエリアからの波形データが繰り返し読み出される。ステップ703において、現在読み出し中の波形データエリアが、波形データエリア0であれば、他の波形データエリアは波形データエリア1となる。その逆に、現在読み出し中の波形データエリアが波形データエリア1であれば、他の波形データエリアは波形データエリア0である。以下に説明するクロスフェード処理においても同様である。
【0039】
ステップ703でYesと判断された場合には、読み出すべき波形のX座標の値がクロスフェード期間内であるか否かを判断する(ステップ705)。ステップ705でNoと判断された場合には、ステップ704に進む。その一方、ステップ705でYesと判断された場合には、クロスフェード処理を実行する(ステップ701)。
【0040】
図8は、本実施の形態にかかるクロスフェード処理の例を示すフローチャートである。CPU11は、クロスフェード期間X、クロスフェード開始位置N−X−1、クロスフェード終了位置N−1を取得し、現在読み出し中の波形データエリアから波形データGp(ip)を読み出し、クロスフェード係数を乗じて以下の波形データg1(i)を算出する(ステップ802)。
【0041】
g1(i)=((N−1)−ip)/X)・Gp(ip)
図9は、本実施の形態にかかるクロスフェードを説明するための図である。図9に示すように、本実施の形態においては、現在読み出し中の波形データエリアにおける第(N−X−1)番の波形データの出力からクロスフェードが開始され、第(N−1)番、つまり、末尾の波形データの出力でクロスフェードが終了する。したがって現在読み出し中の波形データエリアからの波形データGp(i)について、N−X−1≦i≦N−1であれば、上記ステップ705においてYesと判断される。
【0042】
また、図9に示すように、ステップ802で算出された波形データg1(i)は、符号900に示すように、波形データを指定するパラメータipが、(N−X−1)以下である場合は、元の値であり(符号901)、パラメータipが(N−X−1)から(N−1)に至るまで、値が減少し、パラメータipがNであるときに「0」となる。
【0043】
次いで、CPU11は、新たに波形データが格納された他の波形データエリアから波形データGq(iq)(iq=ip−(N−X−1))を読み出し、クロスフェード係数を乗じて、以下の波形データg2(i)を算出する(ステップ803)。
【0044】
g2(i)=(iq/X)・Gq(iq)
図9に示すように、ステップ803で算出された波形データg2(i)は、符号910に示すように、波形データを指定するパラメータiqが、(N−X−1)以下である場合は、「0」であり、パラメータiqが(N−X−1)から(N−1)に至るまで、値が増大し、パラメータiqがN以上で元の値となる(符号911参照)。
【0045】
CPU11は、得られた2つの波形データg1(i)とg2(i)とを合成して、合成された楽音波形データG(i)(第1の楽音波形データ)を得る(ステップ804)。合成された楽音波形データG(i)は音源部21に与えられる。
【0046】
ステップ706のクロスフェード処理が終了し、或いは、ステップ704が終了すると、音源部21は、波形データエリアから取得された波形データG(i)と、プリセット波形データから取得された波形データGPRE(i)とを、RAM13に格納されたミックス比にしたがって加算して、合成楽音波形データGOUT(i)を算出する(ステップ707)。合成楽音波形データGOUT(i)は以下のようなものとなる。
【0047】
GOUT(i)=A・G(i)+(1−A)・GPRE(i)
(A(0<A<1)はミックス比)
オーディオ回路22は、合成楽音波形データをアナログ信号に変換し、変換により得られたアナログ信号を増幅してスピーカ23から出力する。
【0048】
発音処理(ステップ305)の後、CPU11は、消音処理を実行する(ステップ306)。図10は、本実施の形態にかかる消音処理の例を示すフローチャートである。図8に示すように、CPU11は、弦の振動レベルが所定値未満であるか否かを判断する(ステップ1001)。ステップ1001においては、波形データエリアに格納された波形データの変位の最大値Gmaxが所定値未満であるかを判断すれば良い。或いは、ギター25のピックアップ(図示せず)から出力される弦の信号(原信号)が所定のレベル未満であるか否かを判断しても良い。
【0049】
ステップ1001でYesと判断された場合には、プリセット波形データに基づく楽音波形データ(第2の楽音波形データ)および画像データに基づく楽音波形データ(第1の楽音波形データ)が出力中であるか否かを判断する(ステップ1002)。ステップ1002でYesと判断された場合には、CPU11は、音源部21に対して、プリセット波形データに基づく楽音波形データ(第2の楽音波形データ)の消音を指示する。音源部21は、指示に応答して、その出力レベルを徐々に減衰させるような第2の楽音波形データを生成する(ステップ1003)。また、CPU11は、画像データに基づく楽音波形データ(第1の楽音波形データ)の出力レベルを徐々に減衰させる係数を第1の楽音波形データに乗じて、乗算結果のデータを、第1の楽音波形データとして音源部21に与える(ステップ1004)。
【0050】
ステップ1001でNo、ステップ1002でNo、或いは、ステップ1004が終了すると、消音処理は終了する。消音処理が終了した後、CPU11は、他の必要な処理を実行する(ステップ307)。ステップ307における処理には、たとえば、表示部15への画像表示や、LEDの点灯などが含まれる。
【0051】
本実施の形態によれば、カメラが、ギター25の弦の張設方向に、弦の振動する部分にわたった画像撮影領域を撮影する。CPU11は、画像撮影領域の画像データに基づいて、弦の張設方向(X軸方向)の基準位置からの変位量、つまり、Y軸方向の変位量をゲイン値として、弦の張設方向における複数のゲイン値を含む波形データを生成してRAM13の波形データエリアに格納する。CPU11は、所定音読み出し速度で波形データエリアの波形データを読み出して、サウンドシステム14に与え、サウンドシステム14においてアナログ信号に変換されて出力される。これにより、画像撮影領域における弦全体の振動に基づく楽音波形データを生成し出力することが可能となる。また、画像撮影領域における弦全体の画像データを用いて波形データを生成するため良好なレスポンスで楽音波形データを出力することが可能となる。
【0052】
本実施の形態によれば、操作部18を構成するスイッチの操作により入力された基本周波数f(Hz)に基づいて、波形データエリアの波形データが読み出される。これにより、演奏者のスイッチ操作による所望の音高の楽音を出力することができる。
【0053】
また、本実施の形態によれば、CPU11は、波形データのサンプル数Nを、N=fs/f(fs:サンプリング周波数)となるように、波形データを生成する。これにより、サンプリング周波数で波形データを読み出すことで、設定された時間1/fで波形データエリアの波形データを読み取り終わることができる。
【0054】
また、本実施の形態によれば、ROM12には、所定の音色の波形データが格納されたプリセット波形データエリアが設けられ、音源部21が、基本周波数fに基づいて、プリセット波形データを読み出して第2の楽音波形データを生成し、波形データエリアから読み出された第1の楽音波形データと合成して出力する。これにより、弦楽器の弦振動自体から得られた楽音と、音源部21で生成された楽音(いわゆるシンセ音)とをミックスした楽音を得ることが可能となる。
【0055】
さらに、本実施の形態においては、新たな画像データが取得されたときに、CPU11は、波形データが読み出されていない他の波形データエリアに、新たな画像データに基づく新たな波形データを格納する。CPU11は、波形データを読み出している一方の波形データエリアからの波形データの読み出しが終了する場合に、他の波形データエリアから新たな波形データの読み出しを開始する。これにより、新たな画像データが取得されるたびに、当該新たな画像データに基づく新たな波形データを生成し、当該波形データに基づく楽音波形データを生成することが可能となる。
【0056】
また、本実施の形態においては、CPU11は、一方の波形データエリアからの波形データの読み出しを終了する際に、波形データのレベルを徐々に減少させるとともに、他の波形データエリアから読み出された新たな波形データのレベルを徐々に増大させ、これら波形データを合成して出力する。このように、クロスフェード処理を行うことにより、波形データを滑らかに切り替えることが可能となる。
【0057】
次に、本発明の第2の実施の形態について説明する。第1の実施の形態においては、画像データに基づいて生成された楽音波形データ(第1の楽音波形データ)は、音源部21が生成した、ROM12に記憶されていたプリセット波形データに基づく楽音波形データ(第2の楽音波形データ)と合成されて出力される。第2の実施の形態においては、音源部21を設けず、ギター25のピックアップから出力された弦振動に基づく電気信号から得られた楽音信号と、第1の楽音波形データとを合成して出力する。
【0058】
図11は、本発明の第2の実施の形態にかかる楽音発生装置の構成を示すブロックダイヤグラムである。図11において、図1に示す楽音発生装置の構成部分と同様のものには同一の符号を付している。図11に示すように、第2の実施の形態にかかる楽音発生装置100は、CPU11、ROM12、RAM13、サウンドシステム114、表示部15、カメラ16、画像データ入力I/F17および操作部18を備える。
【0059】
本実施の形態においては、サウンドシステム114は、オーディオ・ミキシング回路114をする。また、ギター25のピックアップ121の出力は、サウンドシステム114のオーディオ・ミキシング回路114に入力される。本実施の形態においては、後述するように、オーディオ・ミキシング回路14が、画像データに基づく楽音波形データ(第1の楽音波形データ)をアナログ変換した楽音信号と、ピックアップ121から出力された楽音信号とを、設定されたミックス比で合成する。
【0060】
第2の実施の形態にかかる楽音発生装置100における処理の概要も、図3に示すものとなる。スイッチ処理(ステップ302)、読み出し周波数設定処理(ステップ303)、波形データ生成処理(ステップ304)は、第2の実施の形態においても同様である。
【0061】
図12は、第2の実施の形態にかかる発音処理の例を示すフローチャートである。第2の実施の形態においては、第1の実施の形態の発音処理におけるステップ702、つまり、ROM12に格納されたプリセット波形データに基づく第2の楽音波形データの生成が行なわれない。図12に示すように、第2の実施の形態にかかる発音処理においては、弦の振動レベルが所定値以上である場合に(ステップ1201でYes)、現在読み出し中の波形データエリアではない他の波形データエリアに新たな波形データが格納されず(ステップ1202でNo)、或いは、クロスフェード期間内でなければ(ステップ1204でNo)、CPU11は、読み出し時間Fにしたがって、現在読み出し中の波形データエリアから波形データを読み出す(ステップ1203)。これらステップ1201、1202、1203、1204は、それぞれ、図7のステップ701、703、704、705と同様である。
【0062】
ステップ1201およびステップ1204の双方でYesと判断された場合にはクロスフェード処理が実行される(ステップ1205)。クロスフェード処理も図8に示すものと同様である。ステップ1203において生成された波形データ或いはクロスフェード処理において生成された波形データは、オーディオ・ミキシング回路122に出力される。ステップ1205のクロスフェード処理が終了し、或いは、ステップ1203が終了すると、オーディオ・ミキシング回路122は、波形データG(i)をアナログ信号に変換し、変換により得られた楽音波形信号と、ピックアップ122から出力された弦振動に基づく楽音波形信号とを、RAM13に格納されたミックス比にしたがって加算して、合成楽音信号を生成する。生成された合成楽音信号は、スピーカ23から出力される。
【0063】
第2の実施の形態によれば、ギター25のピックアップ121から出力された弦振動に基づく楽音信号と、第1の楽音信号データに基づく第1の楽音信号とを合成して出力する。したがって、弦振動の画像データに基づく楽音と、弦振動に基づく電気信号に基づく楽音とを合成することが可能となる。
【0064】
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【0065】
たとえば、前記実施の形態においては、弦楽器としてギターを利用しているがギターに限定されるものではなく、他の弦楽器、たとえば、ベース、バイオリン、ヴィオラ、チェロなどにも本発明を適用することができる。
【0066】
また、前記第1の実施の形態においては、楽音発生装置10は、音源部21を備え、ROM12に記憶された波形データを読み出して楽音波形データ(第2の楽音波形データ)を生成し、画像データに基づく楽音波形データ(第1の楽音波形データ)と合成された合成楽音波形データを出力している。また、第2の実施の形態においては、楽音発生装置100は、ピックアップ121からの電気信号に基づく第2の楽音信号と、第1の楽音波形データをアナログ変換した楽音信号とを合成して出力している。しかしながら、上記構成に限定されるものではない。たとえば、楽音発生装置10は、単に画像データに基づく楽音波形データ(第1の楽音波形データ)を生成して出力するような構成であっても良い。
【符号の説明】
【0067】
10 楽音発生装置
11 CPU
12 ROM
13 RAM
14 サウンドシステム
15 表示部
16 カメラ
17 画像データ入力I/F
18 操作部
21 音源部
22 オーディオ回路
23 スピーカ
25 ギター
【特許請求の範囲】
【請求項1】
弦楽器の弦の振動に基づく楽音を発生する楽音発生装置であって、
当該弦の張設方向に、前記弦の振動する部分にわたった画像撮影領域の画像データを取得する画像取得手段と、
前記画像取得手段により得られた画像データに基づいて、前記弦の張設方向と垂直方向の基準位置からの変位量をゲイン値として、前記弦の張設方向における複数のゲイン値を含む波形データを生成して記憶手段の波形データエリアに格納する波形データ生成手段と、
前記波形データエリアに格納された波形データを、所定の読み出し速度で読み出して第1の楽音波形データを生成する楽音波形データ生成手段と、を備えたことを特徴とする楽音発生装置。
【請求項2】
前記楽音波形データ生成手段が、入力された基本周波数f(Hz)に基づいて、1/f(秒)で、前記波形データエリアに格納された波形データを読み取り終わる速度で、前記波形データエリアに格納された波形データを読み取るように構成されたことを特徴とする請求項1に記載の楽音発生装置。
【請求項3】
前記波形データ生成手段が、前記波形データのサンプル数Nを、N=fs/f(fs:サンプリング周波数)となるように、波形データを生成することを特徴とする請求項2に記載の楽音発生装置。
【請求項4】
前記記憶装置が、所定の音色の波形データが格納された音色波形データエリアを有し、
楽音波形データ生成手段が、前記基本周波数に基づいて、前記音色波形データエリアの前記所定の音色の波形データを読み出し、第2の楽音波形データを生成し、前記第1の楽音波形データと前記第2の楽音波形データとを合成した合成楽音波形データを生成することを特徴とする請求項2または3に記載の楽音発生装置。
【請求項5】
前記楽音波形データ生成手段が、ピックアップから出力された弦振動に基づく第2の楽音信号と、前記第1の楽音信号データに基づく第1の楽音信号とを合成して出力することを特徴とする請求項2または3に記載の楽音発生装置。
【請求項6】
複数の波形データエリアを有し、
前記波形データ生成手段が、新たな画像データが取得されたときに、前記楽音波形データ生成手段により波形データが読み出されていない他の波形データエリアに、前記新たな画像データに基づく新たな波形データを格納し、
前記楽音波形データ生成手段は、前記波形データを読み出している一方の波形データエリアからの波形データの読み出しが終了する場合に、前記他の波形データエリアから前記新たな波形データの読み出しを開始することを特徴とする請求項1ないし5の何れか一項に記載の楽音発生装置。
【請求項7】
前記楽音波形データ生成手段は、前記一方の波形データエリアからの波形データの読み出しを終了する際に、前記波形データのレベルを徐々に減少させるとともに、前記他の波形データエリアから読み出された前記新たな波形データのレベルを徐々に増大させ、前記波形データおよび前記新たな波形データを合成して出力することを特徴とする請求項6に記載の楽音発生装置。
【請求項8】
弦楽器の弦の振動に基づく楽音を発生するための楽音発生プログラムであって、コンピュータに、
当該弦の張設方向に、前記弦の振動する部分にわたった画像撮影領域の画像データを取得する画像取得ステップと、
前記画像取得ステップにおいて得られた画像データに基づいて、前記弦の張設方向と垂直方向の基準位置からの変位量をゲイン値として、前記弦の張設方向における複数のゲイン値を含む波形データを生成して記憶手段の波形データエリアに格納する波形データ生成ステップと、
前記波形データエリアに格納された波形データを、所定の読み出し速度で読み出して第1の楽音波形データを生成する楽音波形データステップと、を実行させることを特徴とする楽音発生プログラム。
【請求項1】
弦楽器の弦の振動に基づく楽音を発生する楽音発生装置であって、
当該弦の張設方向に、前記弦の振動する部分にわたった画像撮影領域の画像データを取得する画像取得手段と、
前記画像取得手段により得られた画像データに基づいて、前記弦の張設方向と垂直方向の基準位置からの変位量をゲイン値として、前記弦の張設方向における複数のゲイン値を含む波形データを生成して記憶手段の波形データエリアに格納する波形データ生成手段と、
前記波形データエリアに格納された波形データを、所定の読み出し速度で読み出して第1の楽音波形データを生成する楽音波形データ生成手段と、を備えたことを特徴とする楽音発生装置。
【請求項2】
前記楽音波形データ生成手段が、入力された基本周波数f(Hz)に基づいて、1/f(秒)で、前記波形データエリアに格納された波形データを読み取り終わる速度で、前記波形データエリアに格納された波形データを読み取るように構成されたことを特徴とする請求項1に記載の楽音発生装置。
【請求項3】
前記波形データ生成手段が、前記波形データのサンプル数Nを、N=fs/f(fs:サンプリング周波数)となるように、波形データを生成することを特徴とする請求項2に記載の楽音発生装置。
【請求項4】
前記記憶装置が、所定の音色の波形データが格納された音色波形データエリアを有し、
楽音波形データ生成手段が、前記基本周波数に基づいて、前記音色波形データエリアの前記所定の音色の波形データを読み出し、第2の楽音波形データを生成し、前記第1の楽音波形データと前記第2の楽音波形データとを合成した合成楽音波形データを生成することを特徴とする請求項2または3に記載の楽音発生装置。
【請求項5】
前記楽音波形データ生成手段が、ピックアップから出力された弦振動に基づく第2の楽音信号と、前記第1の楽音信号データに基づく第1の楽音信号とを合成して出力することを特徴とする請求項2または3に記載の楽音発生装置。
【請求項6】
複数の波形データエリアを有し、
前記波形データ生成手段が、新たな画像データが取得されたときに、前記楽音波形データ生成手段により波形データが読み出されていない他の波形データエリアに、前記新たな画像データに基づく新たな波形データを格納し、
前記楽音波形データ生成手段は、前記波形データを読み出している一方の波形データエリアからの波形データの読み出しが終了する場合に、前記他の波形データエリアから前記新たな波形データの読み出しを開始することを特徴とする請求項1ないし5の何れか一項に記載の楽音発生装置。
【請求項7】
前記楽音波形データ生成手段は、前記一方の波形データエリアからの波形データの読み出しを終了する際に、前記波形データのレベルを徐々に減少させるとともに、前記他の波形データエリアから読み出された前記新たな波形データのレベルを徐々に増大させ、前記波形データおよび前記新たな波形データを合成して出力することを特徴とする請求項6に記載の楽音発生装置。
【請求項8】
弦楽器の弦の振動に基づく楽音を発生するための楽音発生プログラムであって、コンピュータに、
当該弦の張設方向に、前記弦の振動する部分にわたった画像撮影領域の画像データを取得する画像取得ステップと、
前記画像取得ステップにおいて得られた画像データに基づいて、前記弦の張設方向と垂直方向の基準位置からの変位量をゲイン値として、前記弦の張設方向における複数のゲイン値を含む波形データを生成して記憶手段の波形データエリアに格納する波形データ生成ステップと、
前記波形データエリアに格納された波形データを、所定の読み出し速度で読み出して第1の楽音波形データを生成する楽音波形データステップと、を実行させることを特徴とする楽音発生プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2010−210757(P2010−210757A)
【公開日】平成22年9月24日(2010.9.24)
【国際特許分類】
【出願番号】特願2009−54762(P2009−54762)
【出願日】平成21年3月9日(2009.3.9)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】
【公開日】平成22年9月24日(2010.9.24)
【国際特許分類】
【出願日】平成21年3月9日(2009.3.9)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】
[ Back to top ]