複数の演奏者がアコースティック楽器を演奏する場合、各演奏者は他の演奏者の演奏を聴きながら自分の演奏の進行度(又はテンポ)を調整する。例えば、楽曲の演奏を練習する際、一人の演奏者が演奏途中で一時的に演奏を停止した場合、他の演奏者も一時的に演奏を停止し、一時停止した演奏進行位置(例えば、一時停止した小節の冒頭)から練習を再開することがある。この場合、例えば打楽器の演奏者が前記打楽器を打奏した直後にその演奏を一時停止したとしても、演奏者が前記打楽器の打面の振動を意図的に静止(チョーク奏法)させない限り、打奏音は、減衰してその音量が「0」になるまで発せられ続ける。
特許文献1の電子楽器の制御部は、発光させたガイドランプに対応する鍵が押されない場合、前記楽曲データの再生を一時停止する。ここで、1つのノート情報が音源回路に供給されることにより楽音の発生が開始され、その直後に前記楽曲データの再生が一時停止されたという状況を想定する。前記楽音が所定の減衰速度で減衰するように設定されていれば、制御部(音源回路)は、前記楽音をすぐに消音するのではなく、前記所定の減衰速度で減衰させる。したがって、この場合、アコースティック楽器(減衰音を発する楽器)の演奏を一時停止した際の音の発生態様を模擬できる。
これに対し、特許文献2及び3の電子楽器の制御部は、主旋律の演奏が一時停止されたとしても、伴奏データの再生を一時停止させるのではなく、伴奏データのうちの一部の区間を繰り返し再生する。つまり、演奏者が主旋律の演奏を一時停止したとしても、伴奏音は減衰することなく発生され続ける。伴奏データのうちの一部の区間が繰り返されることにより発生される音は、アコースティック楽器では発生され得ない音であることが多い。そのため、演奏者は、伴奏音の発生態様が不自然であると感じることがある。
また、上記従来のオーディオ再生装置では、音が減衰している途中(例えば、打楽器を打奏して発せられた音のアタック部分を経過した後の区間であって、音量が徐々に小さくなっていく区間)でその再生を一時停止したとき、図6Bに破線で示すように、一時停止を指示した瞬間に音量が「0」になる。そして、音楽の再生を再開したとき、前記一時停止した箇所から音楽が再生される。つまり、同図に示すように、前記音が少し減衰した部分から再生される。このように、上記従来のオーディオ再生装置において音楽の再生を一時停止したとき及び音楽の再生を再開したときの音の発生態様は、アコースティック楽器(減衰音を発する楽器)の演奏を一時停止したとき及びその演奏を再開したときの音の発生態様とは異なる。したがって、演奏者は、上記従来のオーディオ再生装置による音楽の再生の一時停止時及び再開時の音の発生態様が不自然であると感じることがある。
本発明は上記問題に対処するためになされたもので、その目的は、音楽の再生を一時停止したときの音の発生態様が自然に感じられるオーディオ再生装置を提供することにある。なお、下記本発明の各構成要件の記載においては、本発明の理解を容易にするために、実施形態の対応箇所の符号を括弧内に記載しているが、本発明の各構成要件は、実施形態の符号によって示された対応箇所の構成に限定解釈されるべきものではない。
上記目的を達成するために、本発明の特徴は、音楽の音響波形を表すオーディオ信号に基づいて音楽を再生する再生手段であって、前記オーディオ信号のいずれかのタイミングにおいて前記オーディオ信号に基づく音楽の再生を一時停止可能な再生手段(RD、WF、TR、SG、SW、IT、SY、16、17)と、前記音楽の一時停止タイミング以前の区間における周波数特性の変化に基づいて、前記オーディオ信号の各周波数成分の減衰特性を推定する推定手段(ES)と、を備え、前記再生手段は、前記減衰特性に基づいて、前記一時停止タイミングより後の区間において前記各周波数成分が減衰していく様子を表す減衰音を再生する減衰音再生手段(DG、SW、IT、SY、16、17)を備えたオーディオ再生装置(10)としたことにある。なお、再生手段は、所定のトリガ条件が満たされたとき、音楽の再生を一時的に停止するとよい。例えば、ユーザのマニュアル演奏に同期して伴奏パターンを再生する装置において、前記マニュアル演奏が一時的に停止されているとき、再生手段は音楽の再生を一時的に停止するとよい。また、例えば、オーディオ信号が再生手段に逐次供給される装置において、オーディオ信号の供給が一時的に滞っているとき、再生手段は音楽の再生を一時的に停止するとよい。
上記のように構成したオーディオ再生装置は、音楽の再生の一時停止期間中において、前記一時停止した箇所の直前に発音開始した音を減衰させる。これにより、アコースティック楽器(減衰音を発する楽器)の演奏を一時停止した際の音の発生態様を模擬できる。
また、本発明の他の特徴は、前記再生手段は、前記一時停止を解除して前記音楽の再生を再開するとき、前記減衰特性、及び前記減衰音の長さに応じて、前記オーディオ信号における前記一時停止タイミングより後の区間を修正する修正手段(SG)を有することにある。
これによれば、一時停止期間中に発生された減衰成分が、前記音楽の再生を再開した際にもう一度再生されてしまうことを防止できる。したがって、再生再開時の音の発生態様が自然に感じられる。なお、一時停止期間が比較的長く、前記一時停止した箇所の直前に発音開始した楽音が完全に減衰した場合には、前記音楽の再生を再開する際、前記オーディオデータのうち、前記音楽の再生を一時停止した箇所の直後の区間に相当する部分から、前記一時停止した箇所の直前の区間において発音開始した楽音の減衰成分が削除される。
また、本発明の他の特徴は、前記再生制御手段は、前記減衰特性の推定誤差に基づいて、前記一時停止タイミングを決定する決定手段(CT)を有することにある。
これによれば、一時停止位置に適した再生進行位置が検出されるまで、一時停止の開始を延期させることができる。すなわち、例えば、音の立ち上がり部分(アタック)のように、各周波数成分が激しく変動していて、減衰速度を決定し難い部分(誤差が大きい部分)にて一時停止を開始することを防止できる。
なお、本発明は、オーディオ再生装置としての実施に限られず、オーディオ再生装置が備えるコンピュータに適用されるコンピュータプログラム(オーディオ再生プログラム)としても実施可能である。
本発明の一実施形態に係るオーディオ再生装置が適用された電子楽器10について説明する。まず、電子楽器10の概略について説明する。電子楽器10は、複数種類の楽曲にそれぞれ対応した複数の楽曲データを記憶している。楽曲データは、楽曲の主旋律パートの楽譜に相当する主旋律データと、伴奏パートの演奏音の音響波形を表す伴奏データからなる。主旋律データは、所謂MIDIデータである。つまり、主旋律データは、複数のノートデータからなる。ノートデータは、押鍵(離鍵)する鍵の番号を表す鍵番号及び押鍵(離鍵)するタイミングを表すタイミング情報を含む。伴奏データは、所謂オーディオデータである。つまり、各伴奏データは、伴奏パートの楽器(例えば、ドラム、ベース及びギター)を演奏して発せられた音を所定のサンプリング周期(例えば、1/44100秒)でサンプリングして得られた複数のサンプル値からなる。なお、前記演奏において、複数の楽音が同時に発音されていても良い。主旋律データが表す主旋律パートのテンポは、伴奏パートのテンポに一致している。なお、伴奏データは本発明のオーディオ信号に相当する。
電子楽器10は、演奏操作子(例えば鍵盤装置)及び設定操作子を備える。ユーザは、設定操作子を操作して、楽曲データを1つ選択し、伴奏パートの再生を開始させるとともに、鍵盤装置を操作して、主旋律パートを演奏(手動演奏)する。電子楽器10は、前記タイミング情報を参照して、主旋律データを構成するノートデータのうち、現在のタイミング(演奏進行度)に対応するノートデータを選択する。そして、電子楽器10は、前記選択したノートデータの鍵番号に対応する鍵が所定の時間内(例えば、1秒以内)に押されない(離されない)場合、ユーザによる手動演奏が一時停止されたと判定し、伴奏パートの再生を一時停止する。その際、電子楽器10は、すぐに伴奏パートの音量を「0」にするのではなく、伴奏パートの楽音が減衰していく様子を再現する。具体的には、電子楽器10は、伴奏データのうちの前記一時停止した箇所の直前の区間(複数のフレーム)を構成する複数のサンプル値に基づいて、伴奏パートの楽音が減衰していく様子を表す減衰成分を推定し、前記推定した減衰成分を再生する。
また、電子楽器10は、ユーザによる手動演奏が再開されたことを検出して、前記一時停止した箇所から伴奏パートの演奏の再生を再開する。その際、伴奏データをそのまま用いて伴奏パートの演奏の再生を再開した場合には、図6Bに破線で示すように、前記一時停止した箇所の直前に発音開始した楽音の途中(減衰成分の途中)から再生されてしまう。電子楽器10は、伴奏パートの演奏の再生を一時停止したとき、減衰成分を推定して再生するので、伴奏データをそのまま用いて伴奏パートの再生を再開した場合には、演奏者(又は聴取者)は、減衰成分が2度再生されたように感じる。そこで、電子楽器10は、減衰成分が2度再生されないように、伴奏データのうち、前記一時停止した箇所の直後の区間のデータを修正する。言い換えれば、電子楽器10は、伴奏パートの再生を再開する際、伴奏データのうち、伴奏パートの再生を一時停止した箇所の直後の区間に相当する部分を、前記一時停止した箇所の直前の区間において発音開始した楽音が前記一時停止期間中に減衰した状態を表すように修正する。そして、電子楽器10は、前記修正した伴奏データに基づいて伴奏パートの再生を再開する。
つぎに、電子楽器10の具体的構成について説明する。電子楽器10は、図1に示すように、入力操作子11、コンピュータ部12、表示器13、記憶装置14、外部インターフェース回路15、及び音源回路16を備えており、これらがバスBUSを介して接続されている。また、音源回路16には、波形メモリWM及びサウンドシステム17が接続されている。
入力操作子11は、設定操作子及び演奏操作子を含む。設定操作子は、オン・オフ操作に対応したスイッチ、回転操作に対応したボリューム又はロータリーエンコーダ、スライド操作に対応したボリューム又はリニアエンコーダ、マウス、タッチパネルなどから構成される。これらの設定操作子は、例えば、楽曲データを選択する際に用いられる。演奏操作子は、鍵盤装置、ペダル装置などから構成される。演奏者が入力操作子11を操作すると、その操作内容を表す操作情報がバスBUSを介して、次に説明するコンピュータ部12に供給される。
コンピュータ部12は、バスBUSにそれぞれ接続されたCPU12a、ROM12b、RAM12c及びタイマー12dを有する。CPU12aは、各種プログラムをROM12bから読み出して実行する。例えば、CPU12aは、演奏者によって押された鍵に関するノート情報(鍵番号、押鍵強さなど)を、後述する音源回路16に供給して楽音を発生させる手動演奏プログラムを実行する。また、CPU12aは、伴奏パートを再生する伴奏再生プログラムを実行する。CPU12aが伴奏再生プログラムを実行することにより、電子楽器10がオーディオ再生装置として機能する。伴奏パートの再生シーケンスについては後述する。ROM12bには、前記各種プログラムに加えて、初期設定パラメータ、表示器13に表示される画像を表わす表示データを生成するための図形データ、文字データなどが記憶されている。RAM12cには、各種プログラムの実行時に、各種データが一時的に記憶される。タイマー12dは、時間を計測するカウンタ回路を備える。タイマー12dは、例えば、音源回路16にノート情報を供給するタイミング、伴奏データを構成するサンプル値を読み出すタイミングなどを決定する際に用いられる。
表示器13は、液晶ディスプレイ(LCD)によって構成される。コンピュータ部12は、図形データ、文字データなどを用いて表示すべき内容を表わす表示データを生成して表示器13に供給する。表示器13は、コンピュータ部12から供給された表示データに基づいて画像を表示する。例えば、現在選択されている楽曲データの名称が表示される。
また、記憶装置14は、HDD、CD、DVDなどの大容量の不揮発性記録媒体と、各記録媒体に対応するドライブユニットから構成されている。上記の伴奏データは、記憶装置14に記憶されている。
外部インターフェース回路15は、電子楽器10を他の電子楽器、パーソナルコンピュータなどの外部機器に接続可能とする接続端子を備えている。電子楽器10は、外部インターフェース回路15を介して、LAN(Local Area Network)、インターネットなどの通信ネットワークにも接続可能である。
波形メモリWMには、ピアノ、オルガン、バイオリン、トランペットなどの楽音の音響波形をそれぞれ表す複数の音色波形データが記憶されている。音源回路16は、CPU12aから指定された音色波形データを波形メモリWMから読み出して、前記読み出した音色波形データを用いてノート情報に対応する楽音の音響波形を表す音響波形データを生成し、サウンドシステム17に供給する。また、音源回路16は、CPU12aから音響波形データを取得し、前記ノート情報に対応する音響波形データと重畳加算してサウンドシステム17に供給するミキシング回路を備えている。
サウンドシステム17は、ディジタル音信号をアナログ音信号に変換するD/A変換器、前記変換したアナログ音信号を増幅するアンプ、及び増幅されたアナログ音信号を音響信号に変換して出力する左右一対のスピーカを備えている。なお、サウンドシステム17は、各種楽音にリバーブ、コーラスなどの効果を付与する効果回路を含んでもよい。
つぎに、上記のように構成された電子楽器10による伴奏パートの再生シーケンスについて説明する。とくに、伴奏パートの再生を一時停止させる際のコンピュータ部12の動作、及び前記一時停止を解除して伴奏パートの再生を再開する際のコンピュータ部12の動作について説明する。CPU12aが伴奏再生プログラムを実行することにより、図2に示すように、コンピュータ部12は、読み出し部RD、窓掛け部WF、変換部TR、バッファ部BF、推定部ES、減衰信号生成部DG、再生信号生成部SG、切り替え部SW、逆変換部IT、再合成部SY及び再生制御部CTを含む伴奏再生装置(オーディオ再生装置)として機能する。
読み出し部RDは、伴奏データを構成するサンプル値を記憶装置14から順次読み出して、窓掛け部WFに供給する。ただし、読み出し部RDは、後述する再生制御部CTから一時停止信号psが供給されると、サンプル値の読み出し処理及び供給処理を一時停止する。これにより、伴奏パートの再生が一時停止する。また、読み出し部RDは、再生制御部CTから再生開始信号ssが供給されると、サンプル値の読み出し処理及び供給処理を再開する。
窓掛け部WFは、読み出し部RDから供給されたサンプル値を、それらの供給順に記憶する。窓掛け部WFは、所定数(例えば、512個)のサンプル値が供給されるごとに、直近の所定数(例えば、2048個)のサンプル値を選択する。つまり、窓掛け部WFは、図3に示すように、伴奏データの一部を切り出す。以下、前記切り出された部分をフレームFRと呼ぶ。以下、各フレームを区別して説明する必要があるときは、フレーム番号t(=1,2,・・・)を用いて、「フレームFRt」と記載する。フレーム番号tは、伴奏の再生進行位置に相当する。フレームFRの切り出し位置は、順次後方(伴奏データの末尾側)へシフトする。以下、フレームFRの切り出し位置をシフトする周期をフレーム周期と呼ぶ。フレームFRt=nの先頭側の部分(例えば、フレームFRt=nの4分の3に相当する部分)は、その1つ前のフレームFRt=n−1の末尾側の部分(例えば、フレームFRt=n−1の4分の3に相当する部分)と重なっている。窓掛け部WFは、フレームFRを切り出すごとに、前記切り出したフレームFRに窓掛け処理を実行(窓関数(例えば、ハニング窓)を適用)し、その演算結果を変換部TRへ供給する。なお、フレーム周期及び1つのフレームの長さ(つまり、フレームを構成するサンプル数)は、上記の例に限られない。
変換部TRは、窓掛け部WFから供給されたフレームFRをフーリエ変換(FFT)して、バッファ部BF及び再生信号生成部SGへ供給する。つまり、変換部TRは、各周波数ビンfに関する振幅X及び位相φを計算して、バッファ部BF及び再生信号生成部SGへ供給する(図4参照)。なお、「f」は周波数ビンのインデックスである。つまり、「周波数ビンf」は、周波数自体を表しているのではなく、周波数特性図における複数の周波数ビンのうち、周波数が最も低い(又は最も高い)周波数ビンから数えて「f」番目の周波数ビンであることを表す。以下の説明において、振幅X及び位相φの周波数ビンf及びフレーム番号tを区別して説明する必要があるときは、「振幅X(f,t)」、「位相φ(f,t)」と表記する。つまり、「振幅X(f,t)」及び「位相(f,t)」は、伴奏データの先頭から数えて「t」番目のフレームの周波数特性図における低周波側から数えて「f」番目の周波数ビンに関する、振幅の大きさ及び位相をそれぞれ表す。
バッファ部BFは、変換部TRから供給された振幅X及び位相φを一時的に(所定数(例えば50個)のフレームの処理時間だけ)記憶する。バッファ部BFは、後述するように、振幅X及び位相φを推定部ESへ供給する。例えば、バッファ部BFは、各フレームにおいて(1つのフレームに関する振幅X及び位相φが新たに供給されたとき)、直近の50個のフレームに関する振幅X及び直近の2個のフレームに関する位相φを推定部ESへ供給する。つまり、現在のフレーム番号tの値が「n」であるとき、バッファ部BFは、フレームFRt=n,FRt=n−1,・・・,FRt=n−49の各周波数ビンfに関する振幅X及びフレームFRt=n,FRt=n−1に関する位相φを推定部ESへ供給する。
推定部ESは、各フレームにおいて、各周波数ビンfに関する振幅Xの減衰速度を推定する。具体的には、推定部ESは、図5に示すように、現在のフレーム番号tの値が「n」であるとき、バッファ部BFから取得したフレームFR
t=n,FR
t=n−1,・・・,FR
t=n−49間における振幅Xの変動を最も尤もらしく表す近似曲線を推定する。なお、図5においては、観測値としてのフレームFR
t=n,FR
t=n−1,・・・,FR
t=n−49間における周波数ビンf(=k)の振幅Xの変動を破線で示す。また、同図において、前記近似曲線を実線で示す。本実施形態では、振幅Xの減衰の態様が指数関数的であるとみなす。したがって、近似曲線F(f,t)は、周波数ビンfに関する減衰係数a(f)及びゲインg(f)を用いて、下記の式(1)のように表される。
推定部ESは、回帰分析法を用いて、減衰係数a(f)及びゲインg(f)を計算する。この減衰係数a(f)が、振幅Xの減衰速度に相当する。推定部ESは、減衰係数a(f)を減衰信号生成部DG、再生信号生成部SG及び再生制御部CTへ供給する。また、推定部ESは、ゲインg(f)を再生制御部CTへ供給する。なお、減衰係数a(f)の計算において、「a(f)>0」という制約を課すとよい。
また、推定部ESは、各フレームにおいて、直近の2つのフレームの各周波数ビンfに関する位相φをバッファBFから取得し、前記直近の2つのフレーム間の位相差Δφ(f)を計算する。現在のフレーム番号tの値が「n」であるとき、位相差Δφ(f)は、下記の式(2)のように表される。
推定部ESは、位相差Δφ(f)を減衰信号生成部DG及び再生信号生成部SGへ供給する。
減衰信号生成部DGは、推定部ESから供給された最新の減衰係数a(f)に基づいて、伴奏パートの再生が一時停止している期間中の各フレームに関する振幅X´を計算して、切り替え部SWへ供給する。具体的には、フレーム番号tの値が「n」であるときに一時停止を開始した場合、減衰信号生成部DGは、各周波数ビンfに関する振幅X(f,n)を推定部ESから取得する。そして、減衰信号生成部DGは、一時停止開始からの経過時間がフレーム周期にフレーム数mを乗算した時間に相当するとき(つまり、一時停止開始から数えて「m」番目のフレーム)の各周波数ビンfに関する振幅X´(f,n+m)を、下記の式(3)に基づいて計算する。
また、減衰信号生成部DGは、推定部ESから供給された最新の位相差Δφ(f)に基づいて、伴奏パートの再生が一時停止している期間中の各フレームに関する位相φ´(f,t)を計算して、切り替え部SWへ供給する。減衰信号生成部DGは、一時停止開始からの経過時間がフレーム周期にフレーム数mを乗算した時間に相当するとき(つまり、一時停止開始から数えて「m」番目のフレーム)の各周波数ビンfに関する位相φ´(f,n+m)を、下記の式(4)に基づいて計算する。
減衰信号生成部DGは、前記計算した振幅X´及び位相φ´を切り替え部SWへ供給する。
再生信号生成部SGは、一時停止が解除されている期間の各フレームに関する振幅X´を計算する。ここで、原波形データ(つまり、伴奏データ)における、フレーム番号tの値が「t
1」である第1フレームとフレーム番号tの値が「t
2」である第2フレームについて考察する(図6A参照)。第2フレームは第1フレームよりも後のフレームである。すると、第2フレームの周波数ビンfの振幅X(f,t
2)は、第1フレームの周波数ビンfの振幅X(f,t
1)及び第1フレームにおける減衰係数a(f)を用いて、下記の式(5)のように表される。
なお、式(5)において、第1フレームから第2フレームに至るまでの間に、減衰係数a(f)に相当する速度で振幅Xが減衰すると仮定している。すなわち、式(5)の右辺第2項は、減衰後の振幅に相当する。「s(f,t2)」は、前記右辺第2項が表す振幅と、実際の振幅(伴奏データから切り出したフレームをフーリエ変換して得られる振幅)との差分である。
つぎに、第1フレームにおいて一時停止を開始した場合について考察する(同図参照)。一時停止開始からの経過時間がフレーム周期にフレーム数mを乗算した時間に相当するとき、再生を再開すると仮定する。この場合、原波形データの第2フレームに至るまで(つまり、第2フレームを構成する全てのサンプル値が読み出されるまで)に、振幅Xは、一時停止しない場合に比べて、一時停止中に減衰した分だけ大きく減衰している(図6B参照)。したがって、伴奏パートの再生を再開するとき、下記の式(6)に示すような、振幅X´(f,t
2+m)が生成されれば良い。
すると、式(5)及び式(6)から、差分s(f,t
2)に依存しない式(7)が導かれる。
再生信号生成部SGは、式(7)に基づいて振幅X´(f,t2+m)を計算する。なお、後述するように、一時停止した期間の長さを表すフレーム数mは、再生制御部CTから再生信号生成部SGに供給される。前記計算した振幅X´(f,t2+m)の値が「0」より小さい場合、再生信号生成部SGは、振幅X´(f,t2+m)の値を「0」に設定する。再生信号生成部SGは、振幅X´(f,t2+m)を切り替え部SWに供給する。
また、再生信号生成部SGは、変換部TRから供給された位相φを位相φ´として、切り替え部SWへ供給する。
切り替え部SWは、一時停止中(一時停止信号psが供給されてから再生開始信号ssが供給されるまでの間)において、減衰信号生成部DGから供給された振幅X´及び位相φ´を逆変換部ITへ供給する。一方、切り替え部SWは、再生中(再生開始信号ssが供給されてから一時停止信号psが供給されるまでの間)において、再生信号生成部SGから供給された振幅X´及び位相φ´を逆変換部ITへ供給する。
逆変換部ITは、切り替え部SWから供給された振幅X´及び位相φ´を逆フーリエ変換して、1つのフレームに対応する音響波形データ(複数のサンプル値)を生成する。
再合成部SYは、逆変換部ITから順次供給された直近の所定数のフレームの音響波形データを、フレーム周期に相当するサンプル数だけずらして重畳加算する。そして、前記重畳加算して得られた音響波形データのうち、前記重畳加算に用いた全てのフレームが重なった部分を音源回路16のミキシング回路へ供給する。例えば、各フレームが2048個のサンプル値から構成され、フレーム周期に相当するサンプル数が512個である場合、直近の4つのフレーム(FRt=n−3,FRt=n−2,FRt=n−1,FRt=n,)を512サンプルずつずらして重畳加算する。そして、前記重畳加算して得られた音響波形データのうち、上記の4つのフレームが重なった部分を音源回路16のミキシング回路へ供給する。音源回路16は、再合成部SYから供給された音響波形データと、他の音響波形データ(例えば、ノート情報に対応する楽音を表す音響波形データ)とを重畳加算して、サウンドシステム17へ供給する。
再生制御部CTは、上記のように、ユーザによる手動演奏が、一時停止されたか否か、及び再開されたか否かを判定する。ユーザによる手動演奏が一時停止されたとき、現在の伴奏パートの再生進行位置(現在のフレーム)が一時停止するのに適しているか否かを判定する。具体的には、再生制御部CTは、推定誤差εを下記の式(8)に基づいて計算する。なお、例えば、「i」の範囲は「0」〜「5」である。すなわち、現在のフレームから5個前のフレームまでの区間に関する推定誤差を計算する。
推定誤差εが所定の閾値(例えば、「1.0」)より小さければ、現在のフレームの近傍は、各周波数成分がある程度定常的であると考えられる。この場合、再生制御部CTは、現在のフレーム(実際には、現在のフレームと次のフレームとの境界のタイミング)が伴奏パートの再生を一時停止するのに適していると判定し、一時停止信号psを読み出し部RD、減衰信号生成部DG及び切り替え部SWへ供給する。そして、再生制御部CTは、1つのフレーム周期が経過するごとに、フレーム数mをカウントアップする。一方、推定誤差εが前記所定の閾値以上であれば、現在のフレームの近傍は各周波数成分が激しく変動していると考えられる。この場合、再生制御部CTは、伴奏パートの再生進行位置を後続のフレームへ進め、推定誤差εが前記所定の閾値よりも小さいフレームにて、一時停止信号psを読み出し部RD、減衰信号生成部DG及び切り替え部SWへ供給する。上記のようにして、再生制御部CTは、一時停止するフレーム(タイミング)を決定する。なお、再生制御部CTは、本発明の決定手段に相当する。
ユーザによる手動演奏が再開されたとき、再生制御部CTは、フレーム数mのカウントを終了する。そして、再生制御部CTは、再生開始信号ssを読み出し部RD、減衰信号生成部DG及び切り替え部SWへ供給するとともに、フレーム数mを再生信号生成部SGへ供給する。
上記のように、電子楽器10は、伴奏パートの一時停止期間中において、前記一時停止した箇所の直前に発音開始した楽音を減衰させる。これにより、アコースティック楽器(減衰音を発する楽器)の演奏を一時停止した際の音の発生態様を模擬できる。
また、一時停止位置に適した再生進行位置が検出されるまで、一時停止の開始が延期される。すなわち、ユーザによる手動演奏が一時停止されたと判定された瞬間に伴奏パートが一時停止して減衰音が生成され始めるとは限られず、僅かに遅れて伴奏パートが一時停止して減衰音が生成され始めることもある。これによれば、より適切な位置で伴奏パートが一時停止されて減衰音が生成され始める。言い代えれば、例えば、音の立ち上がり部分(アタック)のように、各周波数成分が激しく変動していて、前記近似曲線(式(1))を決定し難い部分にて一時停止を開始することを防止できる。
また、再生再開時に、伴奏データのうち、伴奏パートの再生を一時停止した箇所の直後の区間に相当する部分が、前記一時停止した箇所の直前の区間において発音開始した楽音が前記一時停止期間中に減衰した状態を表すように修正される。なお、一時停止期間が比較的長く、前記一時停止した箇所の直前に発音開始した楽音が完全に減衰した場合には、伴奏パートの再生を再開する際、伴奏データのうち、前記伴奏パートの再生を一時停止した箇所の直後の区間に相当する部分から、前記一時停止した箇所の直前の区間において発音開始した楽音の減衰成分が削除される。これによれば、一時停止期間中に発生された減衰成分が、伴奏パートの再生を再開した際にも再生されてしまうことを防止できる。したがって、再生再開時の音の発生態様が自然に感じられる。
さらに、本発明の実施にあたっては、上記実施形態に限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変更が可能である。
例えば、入力操作子11の1つとして伴奏パートの再生を一時停止するスイッチを設けてもよい。この場合、再生制御部CTは、伴奏パートの再生中に前記スイッチが押されたことを検出して、一時停止信号psを読み出し部RD、切り替え部SWなどに供給すればよい。また、再生制御部CTは、伴奏パートの一時停止中に前記スイッチが押されたことを検出して、再生開始信号ssを読み出し部RD、切り替え部SWなどに供給すればよい。
また、電子楽器10は、楽曲の全体(つまり、主旋律パートも含む全ての演奏パートの演奏)を表すオーディオデータを記憶していて、前記オーディオデータに基づいて前記楽曲を再生しても良い。この場合も、上記実施形態と同様に、電子楽器10は、前記楽曲の再生の一時停止及び再生の再開を実行すればよい。
また、上記実施形態においては、バッファ部BFは、直近の所定数のフレーム(つまり、現在のフレーム及び過去の数フレーム)に関する振幅X及び位相φを記憶している。しかし、現在再生中のフレーム(音響波形データを生成して音源回路16へ供給するフレーム)よりも後の数フレームに関する振幅X及び位相φを事前に計算し、それらをバッファ部BFに一時的に記憶してもよい。例えば、読み出し部RDが再生中のフレームから5個後のフレームまで事前に読み出し、それらを窓掛け部WF及び変換部TRにて処理することにより得られた振幅X及び位相φをバッファ部BFに一時的に記憶するとよい。この場合、フレームFRt=n+5,FRt=n+4,・・・,FRt=n,・・・,FRt=n−44に関する振幅X及び位相φがバッファ部BFに記憶されるとよい。そして、再生制御部CTは、再生中のフレームFRt=nの前後に位置する所定数のフレームに関する振幅Xに基づいて、再生中のフレームが一時停止するのに適しているか否かを判定しても良い。すなわち、上記式(8)において、「i」の範囲を「−5」〜「+5」に設定してもよい。なお、この場合であっても、推定部ESによる減衰係数a(f)、ゲインg(f)及び位相差Δφ(f)の計算方法は、上記実施形態と同様である。すなわち、推定部ESは、現在再生中のフレーム以前のフレームに関する振幅X及び位相φを用いて、減衰係数a(f)、ゲインg(f)及び位相差Δφ(f)を計算する。
また、上記実施形態においては、直近の2つのフレームの位相差Δφを計算し、この位相差Δφを用いて、一時停止した後の各フレームの位相を推定している。しかし、これに代えて、一時停止タイミング以前のフレームであって、上記実施形態より多くのフレーム間における位相の推移の態様に基づいて、一時停止した後の各フレームの位相を推定しても良い。また、一時停止するフレーム(タイミング)を再生制御部CTが決定する際、直近の複数のフレームからなる区間において位相の進む速度が激しく変化している場合には一時停止を延期するように構成してもよい。
また、上記実施形態においては、再生制御部CTは、推定誤差εが所定の閾値より小さい場合に、一時停止信号psを出力する。しかし、これに代えて、推定誤差εを評価した区間のパワーに所定の定数(例えば0.01)を乗算した値よりも推定誤差εが大きい場合(下記の式(9)参照)に、一時停止信号psを出力してもよい。
また、上記実施形態においては、処理対象としてのオーディオ信号(伴奏データ)が記憶装置14に記憶されている。しかし、処理対象としてのオーディオ信号が外部インターフェース回路15を介して外部機器から読み出し部RDに逐次供給されてもよい。この場合、再生制御部CTは、読み出し回路RD又は外部インターフェース回路15の動作状態に基づいて、一時停止信号ps及び再生開始信号ssを出力しても良い。例えば、再生制御部CTは、通信障害によってオーディオ信号の供給が中断されたことを検出して、一時停止信号psを出力してもよい。そして、再生制御部CTは、前記オーディオ信号の供給が再開されたことを検出して、再生開始信号ssを出力してもよい。
また、上記実施形態においては、読み出した複数のサンプル値からなるフレームに窓掛け処理を実行してフーリエ変換することにより、振幅X及び位相φを計算している。しかし、これに代えて、所謂フィルタバンク分析を用いても良い。例えば、複数の双2次フィルタを用いてフィルタバンクを構成し、各フィルタに対応する帯域ごとに振幅X及び位相φを取得しても良い。また、定Qフィルタバンク分析、ウェーブレット分析を用いても良い。また、上記実施形態においては、切り替え部SWから出力された振幅X及び位相φを逆フーリエ変換し、その結果を重畳加算することにより、再生用のオーディオ信号を合成している。しかし、これに代えて、オシレータバンク再合成により、再生用のオーディオ信号を合成しても良い。
また、本発明は、電子楽器に限られず、音響信号を再生する装置であれば、何れの装置にも適用可能である。例えば、インターネットを介して配信される音楽データを逐次受信して再生する装置(ストリーミング再生装置)において、前記音楽データの配信が中断された場合に、音楽データの再生を一時停止する際、減衰音を推定して再生しても良い。また、音楽データの再生を再開する際、一時停止期間中に再生した減衰音が再び再生されないように、音楽データを修正すればよい。また、デジタルオーディオワークステーション(DAW)、DJ機器などにおいて、ドラムパートを含む音楽データの長さを所定の時間長に変更する機能の一部に本発明を利用しても良い。また、波形データを繰り返し再生する際の周期を変更する機能の一部に本発明を利用しても良い。