米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 楽器;音響 -> カシオ計算機株式会社

発明の名称 楽音制御装置および楽音制御処理のプログラム
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2007−17818(P2007−17818A)
公開日 平成19年1月25日(2007.1.25)
出願番号 特願2005−201066(P2005−201066)
出願日 平成17年7月11日(2005.7.11)
代理人 【識別番号】100090619
【弁理士】
【氏名又は名称】長南 満輝男
発明者 南高 純一
要約 課題
複数種類の音源が混在する信号波形の中から、メロディやコードなどの周期的な音源とドラム、パーカッションなどのリズムセクションの非周期的な音源やベースの音源とを分離して、新たな楽音発生に利用できるようにする。

解決手段
CPU1は、複数種類の音源が混在する信号波形のスペクトルを分析して、分析したスペクトルの振幅の極小点を検出し、検出した極小点に基づいてスペクトルの分離ポイントを算出し、周期的成分を有する信号波形と非周期的成分を有する信号波形とをその分離ポイントによって分離する。
特許請求の範囲
【請求項1】
入力された信号波形のスペクトルを分析する分析手段と、
前記分析手段によって分析されたスペクトルの振幅の極小点を検出する検出手段と、
前記検出手段によって検出された極小点に基づいてスペクトルの分離ポイントを算出し、周期的成分を有する信号波形と非周期的成分を有する信号波形とを当該分離ポイントによって分離する分離手段と、
を備えた楽音制御装置。
【請求項2】
前記分離手段は、演奏強度に応じて分離態様を変更することを特徴とする請求項1に記載の楽音制御装置。
【請求項3】
前記分離手段は、リズムセクションの信号波形を非周期的成分として分離することを特徴とする請求項1に記載の楽音制御装置。
【請求項4】
前記分離手段は、算出した分離ポイントに対して算術平均処理を行うことを特徴とする請求項1に記載の楽音制御装置。
【請求項5】
前記分離手段は、設定されている周波数ポイントに基づいて周期的成分を有する信号波形と非周期的成分を有する信号波形とを分離する周波数範囲を決定することを特徴とする請求項1に記載の楽音制御装置。
【請求項6】
前記分離手段は、所定のパラメータに基づいて、スペクトルにおける隣接する極小点の間を直線および曲線の少なくとも一方で補間して分離ポイントを算出することを特徴とする請求項1に記載の楽音制御装置。
【請求項7】
前記分離手段は、前記所定のパラメータを演奏強度に応じて補正することを特徴とする請求項6に記載の楽音制御装置。
【請求項8】
入力された信号波形のスペクトルを分析するステップAと、
前記ステップAによって分析されたスペクトルの振幅の極小点を検出するステップBと、
前記ステップBによって検出された極小点に基づいてスペクトルの分離ポイントを算出し、周期的成分を有する信号波形と非周期的成分を有する信号波形とを当該分離ポイントによって分離するステップCと、
をコンピュータに実行させる楽音制御処理のプログラム。
【請求項9】
前記ステップCは、演奏強度に応じて分離態様を変更することを特徴とする請求項8に記載の楽音制御処理のプログラム。
【請求項10】
前記ステップCは、リズムセクションの信号波形を非周期的成分として分離することを特徴とする請求項8に記載の楽音制御処理のプログラム。
【請求項11】
前記ステップCは、算出した分離ポイントに対して算術平均処理を行うことを特徴とする請求項8に記載の楽音制御処理のプログラム。
【請求項12】
前記ステップCは、設定されている周波数ポイントに基づいて周期的成分を有する信号波形と非周期的成分を有する信号波形とを分離する周波数範囲を決定することを特徴とする請求項8に記載の楽音制御処理のプログラム。
【請求項13】
前記ステップCは、所定のパラメータに基づいて、スペクトルにおける隣接する極小点の間を直線および曲線の少なくとも一方で補間して分離ポイントを算出することを特徴とする請求項8に記載の楽音制御処理のプログラム。
【請求項14】
前記ステップCは、前記所定のパラメータを演奏強度に応じて補正することを特徴とする請求項13に記載の楽音制御処理のプログラム。
発明の詳細な説明
【技術分野】
【0001】
本発明は、楽音制御装置および楽音制御処理のプログラムに関し、特に、複数種類の音源が混在する信号波形から特定の音源の信号波形を分離する楽音制御装置および楽音制御処理のプログラムに関するものである。
【背景技術】
【0002】
一般的な楽音信号波形は、曲を構成する複数のパートをそれぞれ独立した音源とし、それらの音源の信号波形を混在させることにより生成される。音源であるパートの種類には、メロディ、コード、ドラム、ベースなどがあり、さらに、ヴォーカルが加わる場合もある。このような複数種類の音源が混在する信号波形の中から特定の音源の信号波形を抽出して、その抽出した信号波形又は残りの信号波形を利用して新たな曲を構成する要求がある。例えば、ヴォーカルの音源の信号波形を分離して除去し、メロディ、コード、ドラム、ベースの音源の信号波形をカラオケの伴奏として使用することが要求されている。あるいは、ドラムおよびベースの音源の信号波形と他の音源の信号波形とを分離して、メロディ演奏の伴奏としてドラムおよびベースの信号波形を使用したり、その反対に、ドラム演奏やベース演奏にメロディおよびコードの信号波形を利用することが要求されている。
【0003】
ある特許文献による音声信号処理装置においては、LチャンネルおよびRチャンネルのステレオ音声として特定の定位、特定の周波数帯の音声成分をキャンセルするために、L側フィルタ手段、R側フィルタ手段において、例えばヴォーカル音声としての帯域など所定の帯域(実施形態においては、90Hz〜6kHz)を抽出し、これをLチャンネル減算手段、Rチャンネル減算手段での減算に用いることで、例えばセンター定位されている音声の中からキャンセルを求める音声成分のみをキャンセルできるようになっている。(特許文献1参照)
【特許文献1】特許平11−38980号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
上記特許文献1における明細書の段落番号0031には、ドラムスやベースの低域の演奏音声がセンター定位であったとしても、それらはキャンセルされず、音楽として不自然にならない音声出力が可能になると記載されている。しかしながら、ドラムやベースの音源は、低域の周波数成分を多く含んではいるが、高域の周波数成分も含んでおり、その高域成分によって豊かな音楽性を醸し出している。また、ドラムの音源は、低域のバスドラムだけでなく、中域のスネアや比較的高域のシンバルを含んでいるので、特許文献1における図面の図1および図11に記載されているローパスフィルタやバンドパスフィルタによって周波数分離すると、ドラムスやベースの中域および高域の成分がキャンセルされて、その豊かな音楽性が失われてしまうことになる。
【0005】
本発明は、このような従来の課題を解決するためのものであり、複数種類の音源が混在する信号波形の中から、メロディやコードなどの周期的な音源とドラム、パーカッションなどのリズムセクションの非周期的な音源やベースの音源とを分離して、新たな楽音発生に利用できるようにすることを目的とする。
【課題を解決するための手段】
【0006】
請求項1に記載の楽音制御装置は、入力された信号波形のスペクトルを分析する分析手段(実施形態においては、図1のCPU1の機能に相当する)と、分析手段によって分析されたスペクトルの振幅の極小点を検出する検出手段(実施形態においては、図1のCPU1の機能に相当する)と、検出手段によって検出された極小点に基づいてスペクトルの分離ポイント(実施形態においては、図10(A)の直線又は曲線で示すbias[n]に相当する)を算出し、周期的成分を有する信号波形と非周期的成分を有する信号波形とを当該分離ポイントによって分離する分離手段(実施形態においては、図1のCPU1の機能に相当する)と、を備えた構成になっている。
【0007】
請求項1の楽音制御装置において、請求項2に記載したように、分離手段は、演奏強度に応じて分離態様を変更するような構成にしてもよい。
【0008】
請求項1の楽音制御装置において、請求項3に記載したように、分離手段は、リズムセクションの信号波形を非周期的成分として分離するような構成にしてもよい。
【0009】
請求項1の楽音制御装置において、請求項4に記載したように、分離手段は、算出した分離ポイントに対して算術平均処理を行うような構成にしてもよい。
【0010】
請求項1の楽音制御装置において、請求項5に記載したように、分離手段は、設定されている周波数ポイントに基づいて周期的成分を有する信号波形と非周期的成分を有する信号波形とを分離する周波数範囲を決定するような構成にしてもよい。
【0011】
請求項1の楽音制御装置において、請求項6に記載したように、分離手段は、所定のパラメータ(実施形態においては、レベル調整パラメータlevelに相当する)に基づいて、スペクトルにおける隣接する極小点の間を直線(実施形態においては、図10でlevel=0 の場合にbias[n]の直線に相当する)および曲線(実施形態においては、図10で0<level<1 の場合にbias[n]の曲線に相当する)の少なくとも一方で補間して分離ポイントを算出するような構成にしてもよい。
【0012】
請求項6の楽音制御装置において、請求項7に記載したように、分離手段は、所定のパラメータを演奏強度に応じて補正するような構成にしてもよい。
【0013】
請求項8に記載の楽音制御処理のプログラムは、入力された信号波形のスペクトルを分析するステップAと、ステップAによって分析されたスペクトルの振幅の極小点を検出するステップBと、ステップBによって検出された極小点に基づいてスペクトルの分離ポイント(実施形態においては、図10(A)の直線又は曲線で示すbias[n]に相当する)を算出し、周期的成分を有する信号波形と非周期的成分を有する信号波形とを当該分離ポイントによって分離するステップCと、をコンピュータに実行させる。
ステップAないしステップCは、実施形態においては図1のCPU1の処理に相当する。
【0014】
請求項8の楽音制御処理において、請求項9に記載したように、ステップCは、演奏強度に応じて分離態様を変更するような構成にしてもよい。
【0015】
請求項8の楽音制御処理において、請求項10に記載したように、ステップCは、リズムセクションの信号波形を非周期的成分として分離するような構成にしてもよい。
【0016】
請求項8の楽音制御処理において、請求項11に記載したように、ステップCは、算出した分離ポイントに対して算術平均処理を行うような構成にしてもよい。
【0017】
請求項8の楽音制御処理において、請求項12に記載したように、ステップCは、設定されている周波数ポイントに基づいて周期的成分を有する信号波形と非周期的成分を有する信号波形とを分離する周波数範囲を決定するような構成にしてもよい。
【0018】
請求項8の楽音制御処理において、請求項13に記載したように、ステップCは、所定のパラメータ(実施形態においては、レベル調整パラメータlevelに相当する)に基づいて、スペクトルにおける隣接する極小点の間を直線(実施形態においては、図10でlevel=0 の場合にbias[n]の直線に相当する)および曲線(実施形態においては、図10で0<level<1 の場合にbias[n]の曲線に相当する)の少なくとも一方で補間して分離ポイントを算出するような構成にしてもよい。
【0019】
請求項13の楽音制御処理において、請求項14に記載したように、ステップCは、所定のパラメータを演奏強度に応じて補正するような構成にしてもよい。
【発明の効果】
【0020】
本発明の楽音制御装置および楽音制御処理のプログラムによれば、複数種類の音源が混在する信号波形の中から、メロディやコードなどの周期的な音源とドラム、パーカッションなどのリズムセクションの非周期的な音源やベースの音源とを分離して、新たな楽音発生に利用できるという効果が得られる。
【発明を実施するための最良の形態】
【0021】
以下、本発明による装置の実施形態について、電子鍵盤楽器を例に採って説明する。
図1は、実施形態における電子鍵盤楽器の構成を示すブロック図である。CPU1は、システムバスを介して、鍵盤2、スイッチ部3、ROM4、RAM5、表示部6、A/D変換器8、楽音生成部9に接続されており、これら各部との間で指令およびデータを授受して、この電子鍵盤楽器全体を制御する。さらに、A/D変換器8には、複数種類の音源の信号波形を入力するサウンド入力システム7が接続されている。また、楽音生成部9には、D/A変換器10が接続され、D/A変換器10には増幅器やスピーカ(図示せず)を有するサウンド出力システム11が接続されている。
【0022】
鍵盤2は、押鍵に応じてその鍵に対応する音高、押鍵の演奏強度に応じたベロシティなどをCPU1に入力する。スイッチ部3は、分離スイッチやその他の複数のスイッチで構成されている。ROM4には、CPU1によって実行される楽音制御処理のプログラム、種々の変数の初期値などがあらかじめ記憶されている。RAM5は、CPU1のワークエリアであり、CPU1によって処理されるデータを一時的に記憶する格納領域、楽音制御処理の実行に必要なレジスタ、フラグ、パラメータの領域が設けられている。表示部6は、操作に関するメッセージや信号波形の分離状態などを表示する。A/D変換器8は、サウンド入力システム7から入力された信号波形をアナログからディジタルに変換してCPU1に入力する。楽音生成部9は、CPU1から入力された波形データに応じて楽音信号を生成してD/A変換器10に入力する。D/A変換器10は、楽音生成部9から入力された楽音信号をディジタルからアナログに変換してサウンド出力システム11に出力して発音させる。
【0023】
図2は、図1のRAM5のレジスタ、フラグ、パラメータの構成図である。図2において、レジスタ、フラグ、パラメータの名称およびその内容は以下の通りである。
sp 分離実行フラグ(0:分離しない、1:分離する)
pa 分離ポイントの傾き補正パラメータ1
pb 分離ポイントの傾き補正パラメータ2
level 分離ポイントのレベル調整パラメータ
ml ユーザ演奏強度反映フラグ(0:反映しない、1:反映する)
vbias 分離ポイントの直線特性を変動的に補正する変動補正パラメータ
fbias 分離ポイントの直線特性を固定的に補正する固定補正パラメータ
db 分離方法フラグ(0:ドラム・ベース音以外の音を残す、1:ドラム・ベース音を残す)
fp スペクトルのパワー修正処理の範囲の分岐を設定する周波数ポイント
mean 移動平均実行フラグ(0:実行しない、1:実行する)
ratio 移動平均動作パラメータ
(以上は、ユーザによって設定される。)
kamp ユーザ演奏強度
dmax FFT分析による振幅最大値
re[0]・・・・re[Len-1] FFT分析の実部格納領域
im[0] ・・・・im[Len-1] FFT分析の虚部格納領域
d[0] ・・・・d[Len-1] re[ ],im[ ]から計算される振幅格納領域
pole[0] ・・・・pole[Len-1] 極小フラグ(0:極小でない、1:極小である)
bias[0] ・・・・bias[Len-1] 分離ポイント値の格納領域
【0024】
次に、図1の電子鍵盤楽器の動作について、図3ないし図9に示すCPU1のフローチャートおよび図10に示す信号波形のスペクトル列に基づいて説明する。
図3はメインルーチンのフローチャートである。初期処理(ステップSA1)の後、スイッチ処理(ステップSA2)、鍵盤処理(ステップSA3)、表示処理(ステップSA4)、その他の処理(ステップSA5)を繰り返す。
【0025】
図4は、メインルーチンにおけるステップSA2のスイッチ処理のフローチャートである。分離スイッチがオンされたか否かを判別し(ステップSB1)、このスイッチがオンされたときは、spが0であるか否かを判別する(ステップSB2)。spが0である場合には、分離開始処理に遷移し、spを1(分離する)にセットする(ステップSB3)。ステップSB2においてspが1である場合には、分離終了処理に遷移し、spを0(分離しない)にセットする(ステップSB4)。ステップSB3若しくはステップSB4の処理の後、又は、ステップSB1において分離スイッチがオンでない場合には、その他のスイッチ処理(ステップSB5)を行って、メインルーチンに戻る。その他のスイッチ処理では、例えば図2のレジスタ、フラグ、パラメータのうち、sp〜ratioの値について、ユーザによる設定が行われる。
【0026】
図5は、メインルーチンにおけるステップSA3の鍵盤処理のフローチャートである。鍵盤2をサーチして、押鍵、離鍵、又は変化なしの状態を検出する(ステップSC1)。鍵盤状態が押鍵に変化したときは、楽音発生部9に発音チャンネルを割り当てて、押鍵ベロシティよりエンベロープ波形を選択し、発音開始処理を行う(ステップSC2)。一方、鍵盤状態が押鍵から離鍵に変化したときは、離鍵キーに対応するチャンネルの発音終了処理を行う(ステップSC3)。ステップSC2若しくはステップSC3の処理の後、又は、ステップSC1において鍵盤状態に変化がない場合には、メインルーチンに戻る。
【0027】
図6は、メインルーチンにおける一定時間ごとのインタラプト処理のフローチャートである。発音チャンネルについて発音更新処理を行い、全発音チャンネルにおけるエンベロープの現在値等に基づいて、0から1の範囲の値で表される演奏強度を算出し、kampにストアする(ステップSE1)。次に、spが1であるか否かを判別する(ステップSE2)。spが1(分離する)である場合には、A/D変換器8からの入力音声をRAM5の入力バッファに書き込む(ステップSE3)。次に、高速フーリエ変換(FFT)の対象となるフレーム抽出のタイミングであるか否かを判別する(ステップSE4)。フレーム抽出のタイミングであるときは、そのフレームを抽出して高速フーリエ変換を実行する(ステップSE5)。
【0028】
この後、メロディやコードなどの周期的な信号波形と、ドラムやベースなどの非周期的な信号波形とを分離する分離処理(ステップSE6)を実行し、分離処理で算出した分離ポイントに対する移動平均処理(ステップSE7)を実行し、周波数ポイントに基づく周波数範囲でのスペクトル振幅のパワー修正処理(ステップSE8)を実行する。次に、逆高速フーリエ変換(IFFT)を実行して、RAM5の出力バッファにフレームを加算する(ステップSE9)。ステップSE9の加算処理の後、又は、ステップSE4においてフレーム抽出のタイミングでない場合には、出力バッファの読み出し(ステップSE10)を行い、その出力音声を合成する(ステップSE11)。ステップSE2においてspが0(分離しない)場合には、分離処理を行うことなくステップSE11に移行して、出力音声を合成する。ステップSE11の出力音声の合成処理の後は、メインルーチンに戻る。
【0029】
図7は、インタラプト処理におけるステップSE6の分離処理のフローチャートである。まず、高速フーリエ変換におけるLen個の各周波数チャンネル(0〜Len-1)を指定する変数nを0にセットし、高速フーリエ変換の分析による振幅の最大値をストアするレジスタdmaxに0をストアする(ステップSF1)。次に、高速フーリエ変換の分析によるスペクトルの実部および虚部から計算される振幅の格納領域d[n]に演算式sqrt(re[n]×re[n]+im[n]×im[n])の結果をストアし、d[n]>dmaxならば、dmaxにd[n]の値をストアし、nの値をインクリメントする(ステップSF2)。そして、n>Len-1であるか否かを判別し(ステップSF3)、n≦Len-1の場合にはステップSF2の処理を繰り返す。
【0030】
ステップSF3において、n>Len-1の場合には、周波数チャンネルの両端の極小フラグpole[0],pole[Len-1]をともに1にセットし、nに1(2番目の周波数チャンネル)をセットする(ステップSF4)。そして、nの値をインクリメントしながら、nで指定された周波数チャンネルでスペクトルが極小点ならば、pole[n]に1をセットし、極小点でない場合には、pole[n]に0をセットする(ステップSF5)。nの値をインクリメントした結果、nの値がLen-1に達したか否かを判別し(ステップSF6)、nの値がLen-1に達しない場合にはステップSF5の処理を繰り返す。
【0031】
ステップSF6において、nの値がLen-1に達したときは、ユーザ演奏強度を示すlevelの値をlvにストアし、分離ポイントに演奏強度を反映させるか否かのフラグmlが1(反映させる)ならば、lvの値をlv×(1-kamp)に修正する(ステップSF7)。前述のように演奏強度kampは0から1の値をとるため、演奏強度が最大(1)の場合はlvの値は0になる一方、演奏強度が最小(0)の場合はlvの値は変化しない(すなわちlevelと同じである)。次に、分離ポイント値の格納領域bias[Len-1]にd[Len-1]の振幅値をストアし、nの値を0にセットする(ステップSF8)。すなわち、図10(A)に示す0からLen-1までのスペクトル列において、最大周波数チャンネルの分離ポイントをその周波数チャンネルの振幅値に設定する。そして、最小周波数チャンネルを出発点として、ステップSF9からステップSF13までのループ処理を実行して、ステップSF5の処理で求めた離散的な極小ポイント(pole[n]が1の周波数チャンネルn)の間を直線で補間する。
【0032】
すなわち、極小ポイントの周波数チャンネルnに対する次の極小ポイントの周波数チャンネルをs(>n)として、変数a,bを下記の演算式で算出する。ここで、変数aは直線(y=ax+b)の傾きを表し、変数bはその切片を表す。
a=(d[s]-d[n])/(s-n)
b=d[s]-a×s
また、次の極小ポイントの周波数チャンネルsまでの周波数チャンネルを指定する変数kの値にnの値をセットする(ステップSF9)。
【0033】
そして、kの値をインクリメントしながら、ステップSF10およびステップSF11のループ処理を実行して、補間すべき各スペクトルの分離ポイントを算出する。すなわち、ステップSF10において、変数cおよび分離ポイントbias[]を算出するために下記の演算を実行する。
c=a×k+b
bias[k]=c×(pa×k+pb)+(d[k]-c)×lv+vbias×dmax/100+fbias
【0034】
この演算式において、lvの値に応じて分離ポイントbias[]の値が直線から曲線に変化する。レベル調整パラメータlevelの値は、例えば前述のスイッチ処理(図4)のステップSB5において、0から1の範囲の値が設定される。mlの値が0、すなわちユーザ演奏強度を分離ポイントに反映させない場合は、lvの値は常にlevelの値に等しい。図10(A)において、lvの値が0の場合には、補間した分離ポイントbias[]は実線で表示された直線であり、lvの値が0から1までの値に応じて、補間した分離ポイントbias[]は点線で表示された曲線に補正され、lvの値が1に近くなるほど元のスペクトルに近づく形状になる。これに対して、mlの値が1、すなわちユーザ演奏強度を分離ポイントに反映させる場合は、lvの値は演奏強度kampの値に応じて変化する。図10(A)において、演奏強度kampが1(最大)ならばlvの値は0となり、補間した分離ポイントbias[]は実線で表示された直線になる。また演奏強度kampが1から0(最小)までの値に変化するのに応じてlvは0からlevelまでの値に変化し、補間した分離ポイントbias[]は点線で表示された曲線に補正され、演奏強度kampの値が0に近くなるほど元のスペクトルに近づく形状になる。
この他、この演算式においては、傾き補正パラメータpaおよびpbの値を用いた周波数に依存した補正(pa×k+pb)、変動補正パラメータvbiasの値を用いたスペクトル振幅最大値に依存した補正(vbias×dmax/100)、および周波数やスペクトル振幅最大値には依存しない固定補正パラメータfbiasの値による補正が行われ、分離ポイントbias[k]が算出される。各パラメータpa、pb、vbias、fbiasは、例えば前述のスイッチ処理(図4)のステップSB5において、ユーザにより適切な値が設定される。
【0035】
この演算の後、kの値をインクリメントする。そして、kの値がsの値よりも小さいか否かを判別し(ステップSF11)、kの値がsの値よりも小さい場合、すなわち、分離ポイントを算出すべき周波数チャンネルが残っている場合には、ステップSF10の演算処理を繰り返す。kの値がsの値に達したときは、nの値をsの値に更新し(ステップSF12)、nの値がLen-1に達したか否かを判別する(ステップSF13)。nの値がLen-1よりも小さい場合、すなわち、分離ポイントを補間すべきスペクトルが残っている場合には、ステップSF9に移行してステップSF13までのループ処理を繰り返す。nの値がLen-1に達したときは、図6のインタラプト処理に戻る。
【0036】
図8は、インタラプト処理におけるステップSE7の移動平均処理のフローチャートである。まず、meanが1(移動平均実行)であるか否かを判別し(ステップSH1)、meanが1である場合には、周波数チャンネルを指定する変数nを中央の周波数チャンネルを示す(Len/2)-1の値とし、移動平均の変数mdを0にセットする(ステップSH2)。そして、nの値をデクリメントしながら、下記の演算を実行する(ステップSH3)。
md=md×ratio+bias[n]×(1-ratio)
この演算で算出したmdの値をbias[n]およびbias[Len-n-1]にストアし、nの値をデクリメントする。すなわち、最初の中央の周波数チャンネルから両端の周波数チャンネルに向けて移動平均を算出する。そして、デクリメントしたnの値が0より小さいか否かを判別し(ステップSH4)、nの値が0以上である場合には、ステップSH3の移動平均の演算処理を繰り返す。nの値が0より小さくなって、スペクトル全体に対する移動平均を算出したときは、図6のインタラプト処理に戻る。
【0037】
図9は、インタラプト処理におけるステップSE8のパワー修正処理のフローチャートである。まず、周波数チャンネルを指定する変数nの値を1にセットして(ステップSG1)、nの値をインクリメントしながら、ステップSG2からステップSG9までのループ処理を以下の手順で実行する。フラグdbが1(ドラム・ベース音を残す)であるか否かを判別し(ステップSG2)、dbが1である場合には、n>fpであるか否かを判別する(ステップSG3)。すなわち、nの値で指定する周波数チャンネルの周波数が分岐の周波数ポイントfpが示す周波数よりも高く、パワー修正を実行する周波数範囲であるか否かを判別する。n>fpである場合には、FFT分析による実部re[n]および虚部im[n]を下記の演算によって修正する(ステップSG4)。
re[n]=re[n]×bias[n]/d[n]
im[n]=im[n]×bias[n]/d[n]
【0038】
一方、ステップSG2において、dbが0(ドラム・ベース以外の音を残す)である場合には、n>fpであるか否かを判別する(ステップSG5)。n>fpである場合には、FFT分析による実部re[n]および虚部im[n]を下記の演算によって修正する(ステップSG6)。
re[n]=re[n]×(d[n]-bias[n])/d[n]
im[n]=im[n]×(d[n]-bias[n])/d[n]
ステップSG5においてnがfp以下である場合には、低域を除去するために実部re[n]および虚部im[n]をともに0に設定する(ステップSG7)。
【0039】
ステップSG4における演算処理の後、ステップSG3においてnがfp以下である場合、ステップSG6における演算処理の後、又は、ステップSG7においてre[n]およびim[n]をともに0に設定した後は、nの値をインクリメントする(ステップSG8)。そして、nの値がLen-1より大きいか否かを判別する(ステップSG9)。nの値がLen-1以内である場合には、まだパワー修正すべき周波数チャンネルが残っているので、ステップSG2に移行してループ処理を繰り返す。nの値がLen-1より大きくなって、スペクトル全体に対するパワー修正が終了したときは、図6のインタラプト処理に戻る。
【0040】
いま図10(A)に示すスペクトルにおいて、レベル調整パラメータlevelが0、移動平均実行フラグmeanが0であるとする。フラグdbが1ならば、ステップSG4における演算の結果、図10(B)に示すように、分岐の周波数ポイントfp以上の高域の周波数範囲では、極小ポイント間を補間した直線の分離ポイントから下側のスペクトルが抽出される。すなわちこの周波数範囲では、分離ポイントから上側のスペクトルを周期的な信号波形によるものとみなし、これを除去することにより、ドラムの音源の非周期的な信号波形がより高い比率で含まれたスペクトルとして抽出するものである。またこの周波数範囲で抽出されたスペクトルには、ベースの音源の信号波形も部分的に含まれるため、ベース音の高域の周波数成分を完全に損なうことのないスペクトル抽出になっている。
一方、分岐の周波数ポイントfp以下の低域の周波数範囲については、図10(B)に示すように、図10(A)のスペクトルがそのまま残る。すなわち分岐の周波数ポイントfpをベース音の中心的な周波数帯域の上限の周波数ポイントに設定することにより、ベースの音源の信号波形で主要な低域の周波数成分が損なわれることなく抽出される。
したがって、複数種類の音源の信号波形からドラムの音源の非周期的な信号波形およびベースの音源の信号波形を抽出することができる。
ただし、非周期的な音源としてはドラムの音源に限定されない。例えば、タンバリン、トライアングル、カスタネット、鐘などのリズムセクションの非周期的な音源にも適用できることは言うまでもない。
【0041】
これに対して、フラグdbが0ならば、ステップSG6における演算の結果、図10(C)に示すように、極小ポイント間を補間した直線の分離ポイントから上側のスペクトルが抽出される。ただし、分岐の周波数ポイントfp以下の低域の周波数範囲については、ステップSG7の処理によってミュートされる。すなわち、この図10(C)の信号波形のスペクトル列は図10(A)に示すスペクトル列から非周期的な信号波形のスペクトルを除去して、分岐の周波数ポイントfp以上の高域の周波数範囲で周期的な信号波形のスペクトル列を抽出した状態を示している。したがって、複数種類の音源の信号波形からドラム・ベース以外のメロディ、コード、ヴォーカルなどの音源の周期的な信号波形を抽出することができる。
【0042】
このように、上記実施形態によれば、CPU1は、複数種類の音源が混在する信号波形のスペクトルを分析して、分析したスペクトルの振幅の極小点を検出し、検出した極小点に基づいてスペクトルの分離ポイントを算出し、周期的成分を有する信号波形と非周期的成分を有する信号波形とをその分離ポイントによって分離する。
したがって、複数種類の音源が混在する信号波形の中から、メロディやコードなどの周期的な音源とドラム、パーカッションなどのリズムセクションの非周期的な音源やベースの音源とを分離して、新たな楽音発生に利用することができる。
【0043】
この場合において、CPU1は、演奏強度に応じて分離態様を変更するので、ユーザ演奏に応じたバリエーションの豊かな楽音制御を行うことができる。
また、CPU1は、算出した分離ポイントに対して算術平均処理を行うので、簡易な手法で分離ポイントの調整を行うことができる。
また、CPU1は、設定されている周波数ポイントに基づいて周期的成分を有する信号波形と非周期的成分を有する信号波形とを分離する周波数範囲を決定するので、ドラム、パーカッションなどのリズムセクションに加え、ベースの低域の信号波形のスペクトルを容易に抽出又は除去を行うことができる。
さらに、CPU1は、所定のパラメータに基づいて、スペクトルにおける隣接する極小点の間を直線および曲線の少なくとも一方で補間して分離ポイントを算出するので、信号波形の周期的成分と非周期的成分との分離の度合いについて調整することができる。さらに、CPU1は、所定のパラメータを演奏強度に応じて補正するので、演奏強度が高い(演奏を活発に行っている)場合はドラム・ベース音が分離・抽出された楽音を発生させる一方、演奏強度が低い(演奏が行われていない)場合はドラム・ベース音の分離・抽出が行われない楽音を発生させることが可能になるため、ユーザが特別なスイッチ操作等を行わずに分離態様を変更させることができる。
【0044】
また、上記実施形態においては、ROM4にあらかじめ記憶された楽音制御処理のプログラムをCPU1が実行する装置の発明について説明したが、フレキシブルディスク(FD)、CD−ROM、MDなどの記憶媒体に記録されている楽音制御処理のプログラムを不揮発性メモリにインストールしたり、インターネットなどのネットワークからダウンロードした楽音制御処理のプログラムを不揮発性メモリにインストールして、そのプログラムをCPU1が実行することも可能である。この場合には、プログラムの発明やそのプログラムを記録した記録媒体の発明を実現できる。
【0045】
すなわち、本発明によるプログラムは、
入力された信号波形のスペクトルを分析するステップAと、前記ステップAによって分析されたスペクトルの振幅の極小点を検出するステップBと、前記ステップBによって検出された極小点に基づいてスペクトルの分離ポイントを算出し、周期的成分を有する信号波形と非周期的成分を有する信号波形とを当該分離ポイントによって分離するステップCと、をコンピュータに実行させる。
【0046】
前記ステップCは、演奏強度に応じて分離態様を変更することを特徴とする。
【0047】
前記ステップCは、リズムセクションの信号波形を非周期的成分として分離することを特徴とする。
【0048】
前記ステップCは、算出した分離ポイントに対して算術平均処理を行うことを特徴とする。
【0049】
前記ステップCは、設定されている周波数ポイントに基づいて周期的成分を有する信号波形と非周期的成分を有する信号波形とを分離する周波数範囲を決定することを特徴とする。
【0050】
前記ステップCは、所定のパラメータに基づいて、スペクトルにおける隣接する極小点の間を直線および曲線の少なくとも一方で補間して分離ポイントを算出することを特徴とする。
【0051】
前記ステップCは、前記所定のパラメータを演奏強度に応じて補正することを特徴とする。
【図面の簡単な説明】
【0052】
【図1】本発明の実施形態における電子鍵盤楽器の構成を示すブロック図。
【図2】図1のRAMの構成を示す図。
【図3】図1のCPUによって実行されるメインルーチンのフローチャート。
【図4】図3におけるスイッチ処理のフローチャート。
【図5】図3における鍵盤処理のフローチャート。
【図6】図1のCPUによって実行されるインタラプト処理のフローチャート。
【図7】図6における分離処理のフローチャート。
【図8】図6における移動平均処理のフローチャート。
【図9】図6におけるパワー修正処理のフローチャート。
【図10】本発明によって処理された信号波形のスペクトル列を示す図。
【符号の説明】
【0053】
1 CPU
2 鍵盤
3 スイッチ部
4 ROM
5 RAM
6 表示部
7 サウンド入力システム
8 A/D変換器
9 楽音生成部
10 D/A変換器
11 サウンド出力システム




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013