(58)【調査した分野】(Int.Cl.,DB名)
複数のセクションの伴奏要素データを含みかつ少なくとも1つのセクションの伴奏要素データは複数のバリエーションの伴奏要素データを含む自動伴奏データの指定を受け付ける指定手段と、
前記バリエーションの選択条件の設定を受け付ける条件設定手段と、
予め定められた切替条件が満たされると、設定された選択条件に基づいて、前記複数のバリエーションのうち使用すべきバリエーションを選択するバリエーション選択手段と、
選択されたバリエーションの伴奏要素データに基づいて、出力されるべき自動伴奏を表す出力伴奏データを生成する出力伴奏データ生成手段と、
ユーザの演奏を表す演奏データを取得する演奏データ取得手段と、
取得された演奏データに基づいて、ユーザの演奏の盛り上がり度を検出する盛り上がり度検出手段とを備え、
前記選択条件は、検出された盛り上がり度に基づいて前記使用すべきバリエーションを選択することを含み、
前記条件設定手段は、複数の選択条件の設定を受付可能であり、
前記バリエーション選択手段は、検出された盛り上がり度に基づいて、設定された複数の選択条件のうち1つの選択条件を選択し、選択された選択条件に基づいて、前記使用すべきバリエーションを選択する、自動伴奏装置。
複数のセクションの伴奏要素データを含みかつ少なくとも1つのセクションの伴奏要素データは複数のバリエーションの伴奏要素データを含む自動伴奏データの指定を受け付けるステップと、
前記バリエーションの選択条件の設定を受け付けるステップと、
予め定められた切替条件が満たされると、設定された選択条件に基づいて、前記複数のバリエーションのうち使用すべきバリエーションを選択するステップと、
選択されたバリエーションの伴奏要素データに基づいて、出力されるべき自動伴奏を表す出力伴奏データを生成するステップと、
ユーザの演奏を表す演奏データを取得するステップと、
取得された演奏データに基づいて、ユーザの演奏の盛り上がり度を検出するステップとを、コンピュータに実行させ、
前記選択条件は、検出された盛り上がり度に基づいて前記使用すべきバリエーションを選択することを含み、
前記選択条件の設定を受け付けるステップにおいては、複数の選択条件の設定を受付可能であり、
前記バリエーションを選択するステップは、検出された盛り上がり度に基づいて、設定された複数の選択条件のうち1つの選択条件を選択し、選択された選択条件に基づいて、前記使用すべきバリエーションを選択することを含む、自動伴奏プログラム。
複数のセクションの伴奏要素データを含みかつ少なくとも1つのセクションの伴奏要素データは複数のバリエーションの伴奏要素データを含む自動伴奏データの指定を受け付けるステップと、
前記バリエーションの選択条件の設定を受け付けるステップと、
予め定められた切替条件が満たされると、設定された選択条件に基づいて、前記複数のバリエーションのうち使用すべきバリエーションを選択するステップと、
選択されたバリエーションの伴奏要素データに基づいて、出力されるべき自動伴奏を表す出力伴奏データを生成するステップと、
ユーザの演奏を表す演奏データを取得するステップと、
取得された演奏データに基づいて、ユーザの演奏の盛り上がり度を検出するステップとを含み、
前記選択条件は、検出された盛り上がり度に基づいて前記使用すべきバリエーションを選択することを含み、
前記選択条件の設定を受け付けるステップにおいては、複数の選択条件の設定を受付可能であり、
前記バリエーションを選択するステップは、検出された盛り上がり度に基づいて、設定された複数の選択条件のうち1つの選択条件を選択し、選択された選択条件に基づいて、前記使用すべきバリエーションを選択することを含む、出力伴奏データ生成方法。
【発明を実施するための形態】
【0017】
以下、本発明の実施の形態に係る自動伴奏装置、自動伴奏プログラムおよび出力伴奏データ生成方法について図面を用いて詳細に説明する。
【0018】
(1)電子音楽装置の構成
図1は本発明の実施の形態に係る自動伴奏装置を含む電子音楽装置の構成を示すブロック図である。
図1の電子音楽装置1によれば、ユーザは演奏および曲の制作等を行うことができる。また、電子音楽装置1は、ユーザの演奏に自動伴奏を付与する自動伴奏装置100を含む。
【0019】
電子音楽装置1は、演奏データ入力部2、入力I/F(インタフェース)3、設定操作子4、検出回路5、表示部6および表示回路8を備える。演奏データ入力部2は、鍵盤等の音高指定操作子またはマイク等を含み、入力I/F3を介してバス19に接続される。ユーザの演奏操作に基づく演奏データが演奏データ入力部2により入力される。設定操作子4は、オンオフ操作されるスイッチ、回転操作されるロータリエンコーダ、またはスライド操作されるリニアエンコーダ等を含み、検出回路5を介してバス19に接続される。設定操作子4は、音量の調整、電源のオンオフおよび各種設定を行うために用いられる。表示部6は、例えば液晶ディスプレイを含み、表示回路8を介してバス19に接続される。表示部6により、演奏または設定等に関する各種情報が表示される。表示部6がタッチパネルディスプレイにより構成されてもよい。
【0020】
電子音楽装置1は、RAM(ランダムアクセスメモリ)9、ROM(リードオンリメモリ)10、CPU(中央演算処理装置)11、タイマ12および記憶装置13をさらに備える。RAM9、ROM10、CPU11および記憶装置13はバス19に接続され、タイマ12はCPU11に接続される。外部記憶装置15等の外部機器が通信I/F(インタフェース)14を介してバス19に接続されてもよい。RAM9、ROM10、CPU11およびタイマ12がコンピュータを構成する。
【0021】
RAM9は、例えば揮発性メモリからなり、CPU11の作業領域として用いられるとともに、各種データを一時的に記憶する。ROM10は、例えば不揮発性メモリからなり、システムプログラムおよび自動伴奏プログラム等のコンピュータプログラムを記憶する。CPU11は、ROM10に記憶された自動伴奏プログラムをRAM9上で実行することにより後述する出力伴奏データ生成処理を行い、出力伴奏データを生成する。タイマ12は、現在時刻等の時間情報をCPU11に与える。
【0022】
記憶装置13は、ハードディスク、光学ディスク、磁気ディスクまたはメモリカード等の記憶媒体を含み、一または複数の曲構成データを記憶する。各曲は、情景の流れに従って分割された複数の区間で表される。曲構成データは、このような複数の区間を含む曲の構成を表し、具体的には、曲の各区間の長さ(小節数または拍数)を表すとともに、各区間に対応するセクションを表す。セクションは、曲の進行上の役割を意味し、例えば、曲の先頭に挿入される「イントロ」、曲の本体部である「メイン」、小節または楽節のつなぎ目部分等に挿入される「フィルイン」、および曲の末尾に挿入される「エンディング」等を含む。曲構成データは、他の付属データとともに各曲に対応付けて記憶されてもよい。他の付属データとしては、例えば、曲のMIDI(Musical Instrument Digital Interface)データまたはオーディオデータ、歌詞データ、楽譜表示データ、コード進行データ、主旋律および各パートのガイド用データ、コメント(メモ)データ、ならびに推奨の伴奏スタイルおよび音色等がある。曲構成データは、曲のオーディオデータまたはMIDIデータ等を分析することによって自動的に生成されてもよく、電子楽譜からリハーサルマークおよびバーライン等の位置を検出することによって自動的に生成されてもよい。あるいは、ユーザが曲構成データを入力してもよい。
【0023】
記憶装置13には、一または複数の自動伴奏データがさらに記憶される。各自動伴奏データは、複数のセクションの伴奏要素データを含む。少なくとも1つのセクションの伴奏要素データは、複数のバリエーションの伴奏要素データを含む。自動伴奏データの詳細については後述する。上記の自動伴奏プログラムが記憶装置13に記憶されてもよい。外部記憶装置15は、記憶装置13と同様に、ハードディスク、光学ディスク、磁気ディスクまたはメモリカード等の記憶媒体を含み、曲構成データ、自動伴奏データまたは自動伴奏プログラムを記憶してもよい。
【0024】
本実施の形態における自動伴奏プログラムは、コンピュータが読み取り可能な記録媒体に格納された形態で提供され、ROM10または記憶装置13にインストールされてもよい。また、通信I/F14が通信網に接続されている場合、通信網に接続されたサーバから配信された自動伴奏プログラムがROM10または記憶装置13にインストールされてもよい。同様に、曲構成データまたは自動伴奏データが記憶媒体から取得されてもよく、通信網に接続されたサーバから取得されてもよい。
【0025】
電子音楽装置1は、音源16、効果回路17およびサウンドシステム18をさらに備える。音源16および効果回路17はバス19に接続され、サウンドシステム18は効果回路17に接続される。音源16は、演奏データ入力部2から入力される演奏データまたはCPU11により生成される出力伴奏データ等に基づいて楽音信号を生成する。効果回路17は、音源16により生成される楽音信号に音響効果を付与する。
【0026】
サウンドシステム18は、デジタルアナログ(D/A)変換回路、増幅器およびスピーカを含む。サウンドシステム18は、音源16から効果回路17を通して与えられる楽音信号をアナログ音信号に変換し、アナログ音信号に基づく音を発生する。それにより、楽音信号が再生される。電子音楽装置1において、主として演奏データ入力部2、RAM9、ROM10、CPU11および記憶装置13が自動伴奏装置100を構成する。
【0027】
(2)自動伴奏装置の機能的な構成
図2は本発明の実施の形態に係る自動伴奏装置100の機能的な構成を示すブロック図である。
図2に示すように、自動伴奏装置100は、曲構成データ取得部21、指定部22、条件設定部23、演奏データ取得部24、盛り上がり度検出部25、バリエーション選択部26、伴奏要素決定部27、出力伴奏データ生成部28、表示部29、基本情報取得部30、開始終了検出部31および出力部32を含む。
図1のCPU11がROM10または記憶装置13に記憶された自動伴奏プログラムを実行することにより、
図2の各機能部が実現される。これらの機能部は、電子回路等のハードウエアにより実現されてもよい。
【0028】
曲構成データ取得部21は、ユーザにより演奏されるべき曲(以下、演奏曲と呼ぶ。)の曲構成データを取得する。指定部22は、後述の自動伴奏データの指定を受け付ける。条件設定部23は、指定された自動伴奏データにおけるバリエーションの選択条件の設定を受け付ける。この場合、複数の選択条件の設定が受け付けられてもよい。選択条件の詳細については後述する。演奏データ取得部24は、
図1の演奏データ入力部2により入力される演奏データを取得する。盛り上がり度検出部25は、取得された演奏データに基づいて、演奏曲の少なくとも一の区間で、ユーザによる演奏の盛り上がり度を検出する。盛り上がり度は、例えばユーザによる演奏の音量(ベロシティ)に対応する。
【0029】
バリエーション選択部26は、自動伴奏中に予め定められた切替条件が満たされると、設定された選択条件に基づいて、指定された自動伴奏データの複数のバリエーションのうち使用すべきバリエーションを選択する。複数の選択条件が設定された場合には、その複数の選択条件が選択的に用いられる。本例において、切替条件は、予め定められた切替タイミングが到来することである。伴奏要素決定部27は、選択されたバリエーションに基づいて、指定された自動伴奏データに含まれる複数の伴奏要素データのうち使用すべき伴奏要素データ(以下、使用伴奏要素データと呼ぶ。)を決定する。
【0030】
出力伴奏データ生成部28は、決定された使用伴奏要素データに基づいて、出力されるべき自動伴奏を表す出力伴奏データを生成する。表示部29は、盛り上がり度と複数のバリエーションとの関係を表示する。基本情報取得部30は、自動伴奏に関する基本情報を取得し、盛り上がり度検出部25、バリエーション選択部26および伴奏要素決定部27に与える。基本情報は、例えば、演奏テンポ、音量(ボリューム)、バリエーションの切替条件、「フィルイン」セクションの挿入の有無、および盛り上がり度の検出周期等を含み、例えばユーザが
図1の設定操作子4を操作して入力することにより取得される。
【0031】
開始終了検出部31は、自動伴奏の開始および終了を検出し、伴奏要素決定部27に与える。例えば、
図1の設定操作子4としてスタートボタンおよびストップボタンが設けられる。スタートボタンが押下されると、自動伴奏の開始が検出され、ストップボタンが押下されると、自動伴奏の終了が検出される。また、ユーザによる演奏の開始および終了が自動伴奏の開始および終了として検出されてもよい。あるいは、ユーザの演奏および自動伴奏に加えて演奏曲の歌唱音または他の伴奏音等が出力される場合に、その出力の開始および停止が自動伴奏の開始および終了として検出されてもよい。出力部32は、取得された演奏データ、および生成された出力伴奏データを
図1の音源16およびサウンドシステム18に出力する。それにより、演奏音および伴奏音がそれぞれ発生される。
【0032】
(3)自動伴奏データ
図3は自動伴奏データの例について説明するためのブロック図である。
図3に示すように、ジャズ、ロック、クラシック等のカテゴリー毎に1または複数の自動伴奏データADが用意される。このようなカテゴリーは階層的に設けられてもよい。例えばジャズの下位のカテゴリーとしてビックバンドおよびモダンジャズ等が設けられてもよい。
【0033】
図3の各自動伴奏データADは、「イントロ」セクション、「メイン」セクションおよび「エンディング」セクションの伴奏要素データを含む。各セクションの伴奏要素データは、雰囲気または盛り上がり度の異なる複数のバリエーションの伴奏要素データを含む。「イントロ」セクション、「メイン」セクションおよび「エンディング」セクションは、それぞれアルファベット“I”、“M”、“F”および“E”で表される。また、「イントロ」セクション、「メイン」セクションおよび「エンディング」セクションのバリエーションは、雰囲気または盛り上がり度に応じてアルファベット“A”(普通(静か))、“B”(少し派手)、“C”(派手)、および “D”(かなり派手)等で表される。
【0034】
「フィルイン」セクションは、他のセクション間のつなぎとして用いられるので、そのバリエーションは、前後のセクションの雰囲気または盛り上がり度の変化に対応した2つのアルファベットの組み合わせで表される。例えば、“AC”は、「静か」から「派手」への変化に対応する。この場合、直前のセクションのバリエーションが“A”であり、直後のセクションのバリエーションが“C”であることが自然であるが、バリエーションの選択は任意であるので、前後のセクションのバリエーションが“A”および“C”でない場合でも、「フィルイン」セクションのバリエーションとして“AC”を指定することは可能である。
【0035】
各伴奏要素データは、セクションのタイプを表すアルファベットとバリエーションを表すアルファベットとの組み合わせにより表される。例えば、伴奏要素データMAのセクションは「メイン」であり、バリエーションは“A”である。また、伴奏要素データFABのセクションは「フィルイン」であり、バリエーションは“AB”である。
【0036】
本例において、「メイン」セクションのバリエーションは、上記の“A”、“B”、“C”および“D”で表されるバリエーション(以下、基本バリエーションと呼ぶ。)に加えて、“A1”、“B1”、“C1”および“D1”、ならびに“A2”、“B2”、“C2”および“D2”で表される補助バリエーションを含む。補助バリエーション“A1”〜“D1”および“A2”〜“D2”は、基本バリエーション“A”〜“D”にそれぞれ対応する。一の基本バリエーションの伴奏要素データと他の基本バリエーションの伴奏要素データとの差異は、一の基本バリエーションの伴奏要素データと当該一の基本バリエーションに対応する補助バリエーションの伴奏要素データとの差異よりも大きい。例えば、伴奏要素データMAと伴奏要素データMBとの差異は、伴奏要素データMAと伴奏要素データMA1,MA2との差異、および伴奏要素データMBと伴奏要素データMB1,MB2との差異よりも大きい。
【0037】
各伴奏要素データは、ベーストラックおよびフレーズトラック等の複数のトラック(伴奏パート)の伴奏パターンデータを含むとともに、基準コード情報および音高変換規則(音高変換テーブル情報、音域、コード変更時の再発音規則等)を含む。伴奏パターンデータは、MIDI形式の音符列またはオーディオ形式のフレーズデータであり、基準コード情報および音高変換規則に基づいて任意の音高に変換することができる。したがって、複数の伴奏パターンデータを用いて、演奏曲の自動伴奏を表す出力伴奏データを生成することができる。
【0038】
例えば、ユーザは
図1の設定操作子4を操作して、予め登録された複数の曲から所望の曲を選択することによって一の曲構成データを指定するとともに、複数のカテゴリーから所望のカテゴリーを選択しかつそのカテゴリーに対応する一の自動伴奏データADを指定する。指定された曲構成データおよび自動伴奏データADに基づいて出力伴奏データが生成され、自動伴奏が出力される。
【0039】
(4)セクションおよびバリエーションの選択例
図4および
図5は、セクションおよびバリエーションの選択例について説明するための図である。
図4および
図5には、曲の区間R1,R2に関して、曲構成データにより表されるセクション(以下、規定セクションと呼ぶ。)、実際に選択されるセクション、バリエーションおよび伴奏要素データ、ならびに検出される盛り上がり度の変化が示される。横軸は時間軸である。時点t1で区間R1が開始し、時点t2で区間R1が終了するとともに区間R2が開始し、時点t3で区間R2が終了する。以下、区間が切り替わる時点t1,t2,t3をセクション切替タイミングと呼ぶ。
【0040】
本例では、基本情報として設定された検出周期(例えば20ms周期)で盛り上がり度の算出タイミングが到来する。算出タイミングにおいて、例えば、一定時間内に入力された演奏データに基づいて、ベロシティの積算値または平均値が盛り上がり度として算出される。ベロシティは、MIDI規格において音量(音の強弱)を表す。算出された盛り上がり度に対して、ノイズ除去処理、平滑化、またはユーザの打鍵の強さによる補正等が行われてもよい。
【0041】
図4の区間R1,R2の規定セクションはいずれも「メイン」である。そのため、区間R1,R2では、基本的に「メイン」セクションが選択される。また、本例では、基本情報として、「フィルイン」セクションを挿入するか否かが予め設定される。「フィルイン」セクションを挿入する場合、各区間の予め定められたフィルイン挿入タイミングにおいて、選択されるセクションが、規定セクションから「フィルイン」セクションに切り替えられる。
図4の例において、フィルイン挿入タイミングは、セクション切替タイミングである終了時点t2,t3よりも時間taだけ前の時点t1x,t2xである。時間taは、例えば1小節の時間長に相当する。
【0042】
予め定められた切替タイミングが到来する毎に、バリエーションが選択される。切替タイミングは、セクション切替タイミング、およびセクション切替タイミングから一定数の小節(例えば4小節)が経過する毎に到来する時点(以下、補助切替タイミングと呼ぶ。)を含む。
図4の例では、区間R1の時点t1a,t1bおよび区間R2の時点t2a,t2bが補助切替タイミングである。
【0043】
ユーザは、例えば
図1の設定操作子4を操作して、バリエーションの選択条件を設定する。本例では、選択条件として第1および第2の選択条件が設定される。第1の選択条件は、盛り上がり度に対応する基本バリエーションを選択することである。
図4の例では、盛り上がり度の基準としてしきい値TH1,TH2,TH3が設定される。第1の選択条件では、盛り上がり度がしきい値TH1よりも低い範囲E1にある場合に基本バリエーション“A”が選択され、盛り上がり度がしきい値TH1以上でかつしきい値TH2より低い範囲E2にある場合に基本バリエーション“B”が選択され、盛り上がり度がしきい値TH2以上でかつしきい値TH3より低い範囲E3にある場合に基本バリエーション“C”が選択され、盛り上がり度がしきい値TH3以上の範囲E4にある場合に基本バリエーション“D”が選択される。第2の選択条件は、前の切替タイミングで選択されたバリエーションに対応する補助バリエーションを順に(例えば“A1”、“A2”、“A1”、・・・の順に)選択することである。本例では、セクション切替タイミングで第1の選択条件が用いられ、補助切替タイミングで第2の選択条件が用いられる。
【0044】
区間R1の時点t1では、第1の選択条件が用いられる。この場合、盛り上がり度が範囲E1にあるため、基本バリエーション“A”が選択される。区間R1の時点t1a,t1bでは、第2の選択条件が用いられる。この場合、時点t1aで補助バリエーション“A1”が選択され、時点t1bで補助バリエーション“A2”が選択される。
【0045】
区間R1の時点t1xにおいて、「フィルイン」セクションのバリエーションが選択される。「フィルイン」セクションのバリエーションは、フィルイン挿入タイミングの直前のバリエーション、およびフィルイン挿入タイミングで暫定的に決定される次の区間の開始時のバリエーションに基づいて決定される。時点t1xにおいては、直前のバリエーションが“A2”である。また、時点t1xでの盛り上がり度は範囲E2にあるので、次の区間のバリエーションが暫定的に “B”に決定される。この場合、「フィルイン」セクションのバリエーションが“AB”に決定される。
【0046】
区間R2の時点t2では、第1の選択条件が用いられる。この場合、盛り上がり度が範囲E2にあるため、基本バリエーション“B”が選択される。区間R2の時点t2a,t2bでは、第2の選択条件が用いられる。この場合、時点t2aで補助バリエーション“B1”が選択され、時点t2bで補助バリエーション“B2”が選択される。
【0047】
また、区間R2の時点t2xにおいて、「フィルイン」セクションのバリエーションが選択される。時点t2xにおいては、直前のバリエーションが“B2”である。また、時点t2xでの盛り上がり度は範囲E2にあるので、次の区間のバリエーションが暫定的に“B”に決定される。そのため、「フィルイン」セクションのバリエーションが“BB”に決定される。
【0048】
選択されたセクションおよびバリエーションの伴奏要素データが使用伴奏要素データに決定される。区間R1においては、伴奏要素データMA,MA1,MA2,FABが順に使用伴奏要素データに決定され、区間R2においては、伴奏要素データMB,MB1,MB2,FBBが順に使用伴奏要素データに決定される。
【0049】
「フィルイン」セクションの挿入条件が任意に設定可能であってもよい。例えば、全てのセクション切替タイミングの直前に「フィルイン」セクションが挿入されるのではなく、一部のセクション切替タイミングの直前にのみ「フィルイン」セクションが挿入されてもよい。あるいは、補助切替タイミングの直前に「フィルイン」セクションが挿入されてもよい。
【0050】
図5の例について
図4の例と異なる点を説明する。
図5の例では、選択条件として第1、第2および第3の選択条件が設定される。第1および第2の選択条件は、
図4の例と同じである。第3の選択条件は、バリエーションの変化が抑制されるように基本バリエーションを選択することである。本例では、各切替タイミングでの盛り上がり度と、直前に選択されたバリエーションとに基づいて、第1〜第3の選択条件が選択的に用いられる。具体的には、各切替タイミングにおける盛り上がり度が、直前のバリエーションに対応する盛り上がり度の範囲にある場合、第2の選択条件が用いられる。各切替タイミングにおける盛り上がり度が、直前のバリエーションに対応する盛り上がり度の範囲と隣接する(連続する)範囲にある場合、第1の選択条件が用いられる。各切替タイミングにおける盛り上がり度が、直前のバリエーションに対応する盛り上がり度の範囲から離間する(連続しない)範囲にある場合、第3の選択条件が用いられる。なお、補助バリエーションは、対応する基本バリエーションと同じ盛り上がり度の範囲に対応する。
【0051】
図5の例において、区間R1の時点t1では、例えば第1の選択条件が用いられる。この場合、盛り上がり度が範囲E1にあるため、基本バリエーション“A”が選択される。時点t1aでも、盛り上がり度が範囲E1にある。範囲E1は、直前のバリエーション“A”に対応する盛り上がり度の範囲E1と同じである。そのため、第2の選択条件が用いられ、補助バリエーション“A1”が選択される。時点t1bでは、盛り上がり度が範囲E2にある。範囲E2は、直前のバリエーション“A1”に対応する盛り上がり度の範囲E1と隣接する。そのため、第1の選択条件が用いられ、基本バリエーション“B”が選択される。
【0052】
区間R2の開始時点t2でも、盛り上がり度が範囲E2にある。範囲E2は、直前のバリエーション“B”に対応する範囲E2と同じである。そのため、第2の選択条件が用いられ、補助バリエーション“B1”が選択される。時点t2aでは盛り上がり度が範囲E4にある。範囲E4は、直前のバリエーション“B1”に対応する範囲E2から離間するため、第3の選択条件が用いられる。この場合、前回のバリエーションである“B1”からの変化が抑制されるように、基本バリエーション“C”が選択される。時点t2bでも、盛り上がり度が範囲E4にある。範囲E4は、直前のバリエーション“C”に対応する範囲E3と隣接する。そのため、第1の選択条件が用いられ、基本バリエーション“D”が選択される。
【0053】
図5の例では、演奏の盛り上がり度が大きく変化しても、第3の選択条件に基づいて、バリエーションの変化が抑制される。これにより、自動伴奏の情景の急激な変化が抑制され、ユーザの演奏に合わせて自動伴奏が自然に変化される。
【0054】
図4および
図5の例において、基本バリエーションと補助バリエーションとが適宜入れ替えられてもよい。例えば、上記の第1および第3の選択条件において、基本バリエーションの代わりに補助バリエーションが選択されてもよい。また、上記の第2の選択条件において、基本バリエーションおよび補助バリエーションの選択の順序が適宜変更されてもよい。また、各選択条件と切替タイミングとの関係は、適宜変更可能である。例えば、セクション切替タイミングでのみ上記の第3の選択条件が用いられてもよく、全ての切り替えタイミングで上記の第1の選択条件が用いられてもよい。
【0055】
また、演奏の盛り上がり度に基づいて、複数の補助バリエーションのうち使用すべき補助バリエーションが選択されてもよい。例えば、補助バリエーション“A1”が補助バリエーション“A2”よりも比較的高い盛り上がり度に適合するように、伴奏要素データMA1,MB2が生成される。この場合、検出される盛り上がり度が比較的高い場合に補助バリエーション“A1”が選択され、検出される盛り上がり度が比較的低い場合に補助バリエーション“A2”が選択される。
【0056】
「イントロ」セクションおよび「エンディング」セクションにおいても同様に、設定された選択条件に基づいて、各切替タイミングで使用すべきバリエーションが選択されてもよい。また、セクションの種類によって異なる選択条件が設定されてもよい。また、各切替タイミングで選択されるべきバリエーションが、その切替タイミングでの盛り上がり度ではなく、例えばその切替タイミングよりも一定時間前の盛り上がり度に基づいて決定されてもよい。
【0057】
(5)表示例
図6は、
図1の表示部6による表示例を説明するための図である。
図6には、「メイン」セクションの演奏時における表示部6の画面6aが示される。画面6aの横軸は、時間に対応し、縦軸は、盛り上がり度に対応する。画面6aの左端に、指標B1,B2,B3,B4が縦方向に並ぶように表示される。指標B1〜B4は、
図4および
図5の範囲E1〜E4にそれぞれ対応する。指標B1〜B4の右側に、演奏の盛り上がり度の経時的変化を表す実線L1が表示される。画面6aには、現時点を基準とする一定時間内の盛り上がり度の変化が実線L1として表示される。実線L1の右端の縦方向における位置が現時点での盛り上がり度に相当する。
【0058】
これにより、ユーザは、現時点での盛り上がり度がいずれのバリエーションに対応するかを認識することができる。また、ユーザは、次の切替タイミングで所望のバリエーションが選択されるように演奏の盛り上がり度(例えば音量)を調整することができる。なお、現時点での盛り上がり度に対応するバリエーションをより容易に認識することができるように、対応する指標の表示形態が変化(例えば点灯または点滅)されてもよい。
【0059】
ユーザが切り替えタイミングを把握することができるように、切り替えタイミングが到来するまでの時間、またはその時間に対応する記号もしくは図形等が画面6a上に表示されてもよい。また、
図6の例では、「メイン」セクションのバリエーションに対応する指標B1〜B4が示されるが、他のセクションの演奏時には、そのセクションのバリエーションに対応する指標が表示されてもよい。
【0060】
また、実線L1が表示されずに、現時点での盛り上がり度に対応するバリエーションのみが明示されてもよい。例えば、指標B1〜B4のみが表示されかつ上記のように現時点での盛り上がり度に対応する指標の表示形態が変化されてもよく、あるいは現時点での盛り上がり度に対応するバリエーションを表すアルファベットのみが表示されてもよい。
【0061】
(6)出力伴奏データ生成処理
図7は、
図2の各機能部による出力伴奏データ生成処理の一例を示すフローチャートである。
図7の出力伴奏データ生成処理は、
図1のCPU11がROM10または記憶装置13に記憶された自動伴奏プログラムを実行することに行われる。本例では、「現在位置」、「現在のセクション」、「現在のバリエーション」、「次のバリエーション」、「現在の伴奏要素データ」、「次のセクション切替タイミング」、および「次の切替タイミング」が
図1の記憶装置13にそれぞれ記憶されている。出力伴奏データ生成処理の開始時には、これらの情報が例えば前回の伴奏生成処理の終了時の状態に保持されている。
【0062】
まず、ユーザは、
図2の設定操作子4を操作して、曲構成データおよび自動伴奏データADを指定する。これにより、
図2の曲構成データ取得部21は、曲構成データの指定を受け付け(ステップS1)、指定部22は、自動伴奏データADの指定を受け付ける(ステップS2)。曲構成データは、各演奏曲に対応して予め生成された、あるいは自動生成されたものであってもよいし、演奏曲とは無関係に4小節あるいは8小節単位等の固定長の区間を表すものであってもよい。ステップS1では、演奏曲に対応する曲構成データおよび所定の区間長のいずれかを選択可能であってもよい。所定の区間長が選択された場合は、その所定の区間長毎に曲構成(情景)が変化すると仮定される。
【0063】
また、ユーザは、
図2の設定操作子4を操作して、バリエーションの選択条件を設定するとともに基本情報を入力する。それにより、条件設定部23は選択条件の設定を受け付け(ステップS3)、基本情報取得部30は基本情報を取得する(ステップS4)。本例では、基本情報がバリエーションの切替条件を含む。ステップS1〜S4においては、予めデフォルトが決まっていてもよい。
【0064】
次に、伴奏要素決定部27は、「現在位置」を更新する(ステップS5)。「現在位置」は、演奏曲における現時点での位置を表す。ステップS5では、例えば曲の先頭位置に「現在位置」が更新される。また、ユーザは、
図2の設定操作子4を操作することにより、「現在位置」を変更することができる。次に、伴奏要素決定部27は、指定された曲構成データおよび記憶された「現在位置」に基づいて、「現在のセクション」を更新する(ステップS6)。具体的には、「現在位置」がいずれの区間に含まれるか特定され、特定された区間の規定セクションに「現在のセクション」が更新される。
【0065】
次に、伴奏要素決定部27は、指定された曲構成データ、取得された基本情報、および記憶された「現在位置」に基づいて、「次の切替タイミング」を更新する(ステップS7)。次に、伴奏要素決定部27は、「現在のバリエーション」および「次のバリエーション」をそれぞれデフォルトのバリエーションに更新する(ステップS8)。デフォルトのバリエーションは例えば“A”である。次に、伴奏要素決定部27は、「現在の伴奏要素データ」を「現在のセクション」および「現在のバリエーション」に対応する伴奏要素データに更新する(ステップS9)。次に、開始終了検出部31は、自動伴奏の開始を検出したか否かを判定する(ステップS10)。
【0066】
自動伴奏の開始が検出されるまで、開始終了検出部31は、ステップS10を繰り返す。自動伴奏の開始が検出されると、出力伴奏データ生成部28は、
図1のタイマ12を起動する(ステップS11)。次に、主として盛り上がり度検出部25、バリエーション選択部26、伴奏要素決定部27および出力伴奏データ生成部28は、伴奏出力処理を行う(ステップS12)。伴奏出力処理については後述する。伴奏出力処理が終了すると、出力伴奏データ生成部28は、タイマ12を停止するとともに(ステップS13)、音の発生を停止する消音処理を行う(ステップS14)。これにより、出力伴奏データ生成処理が終了する。
【0067】
図8および
図9は、伴奏出力処理の一例を示すフローチャートである。
図8に示すように、まず、出力伴奏データ生成部28は、「現在の伴奏要素データ」に基づいて出力伴奏データを生成し、出力部32は、生成された出力伴奏データを出力する(ステップS21)。これにより、
図1のサウンドシステム18が自動伴奏音を発生する。次に、開始終了検出部31は、自動伴奏の終了を検出したか否かを判定する(ステップS22)。
【0068】
自動伴奏の停止が検出されていない場合、演奏データ取得部24が、ユーザの演奏操作を受け付けたか否かを判定する(ステップS23)。ユーザが
図1の演奏データ入力部2を操作すると、演奏操作が受け付けられる。演奏操作が受け付けられていない場合、以下のステップS24,S25がスキップされる。演奏操作が受け付けられた場合、演奏データ取得部24は、演奏操作に基づいて演奏データを取得し、出力部32は、取得された演奏データを出力する(ステップS24)。これにより、
図1のサウンドシステム18がユーザの演奏音を発生する。次に、盛り上がり度検出部25は、取得された演奏データから、盛り上がり度を算出するための盛り上がり度算出情報を検出する(ステップS25)。盛り上がり度算出情報は、例えばベロシティの瞬時値であり、次の盛り上がり度の算出タイミングまで蓄積される。
【0069】
次に、盛り上がり度検出部25は、取得された基本情報および
図1のタイマ12からの時間情報に基づいて、盛り上がり度の算出タイミングが到来したか否かを判定する(ステップS26)。盛り上がり度の算出タイミングは、例えば基本情報として取得される検出周期で到来する。盛り上がり度の算出タイミングが到来していない場合、以下のステップS27、S28がスキップされる。盛り上がり度の算出タイミングが到来した場合、盛り上がり度検出部25は、蓄積された盛り上がり度算出情報に基づいて盛り上がり度を算出する(ステップS27)。次に、バリエーション選択部26は、
図7のステップS3で設定された選択条件、および算出された盛り上がり度に基づいて、次に選択されるべきバリエーションを暫定的に決定し、「次のバリエーション」を更新する(ステップS28)。
【0070】
次に、伴奏要素決定部27は、取得された基本情報に基づいて、「フィルイン」セクションを挿入するか否かを判定する(
図9のステップS29)。「フィルイン」セクションを挿入する場合、伴奏要素決定部27は、その時点で「フィルイン」セクションに対応する自動伴奏が出力中であるか否かを判定する(ステップS30)。フィルインに対応する自動伴奏が出力されていない場合、伴奏要素決定部27は、
図1のタイマ12からの時間情報に基づいて、フィルイン挿入タイミングが到来したか否かを判定する(ステップS31)。
【0071】
フィルイン挿入タイミングが到来した場合、伴奏要素決定部27は、「現在のバリエーション」および「次のバリエーション」に基づいて、挿入すべき「フィルイン」セクションのバリエーションを決定する(ステップS32)。例えば、「現在のバリエーション」が“A”であり、「次のバリエーション」が“B”である場合、挿入すべき「フィルイン」セクションのバリエーションは“AB”である。次に、伴奏要素決定部27は、「現在の伴奏要素データ」を決定されたバリエーションに対応する「フィルイン」セクションの伴奏要素データに更新し(ステップS33)、出力伴奏データ生成部28は
図8のステップS21に戻る。
【0072】
ステップS29で「フィルイン」セクションを挿入しない場合、ステップS30で「フィルイン」セクションに対応する自動伴奏が出力中である場合、またはステップS31でフィルイン挿入タイミングが到来していない場合、伴奏要素決定部27は、
図1のタイマ12からの時間情報に基づいて、「次の切替タイミング」が到来したか否かを判定する(ステップS34)。「次の切替タイミング」が到来していない場合、伴奏要素決定部27は
図8のステップS21に戻る。
【0073】
「次の切替タイミング」が到来した場合、伴奏要素決定部27は、その切替タイミングがセクション切替タイミングであるか否かを判定する(ステップS35)。その切替タイミングがセクション切替タイミングでない場合(補助切替タイミングである場合)、以下のステップS36がスキップされる。その切り替えタイミングがセクション切替タイミングである場合、伴奏要素決定部27は、
図7のステップS6と同様に、「現在のセクション」を更新する(ステップS36)。次に、伴奏要素決定部27は、
図7のステップS7と同様に、「次の切替タイミング」を更新する(ステップS37)。
【0074】
次に、バリエーション選択部26は、「現在のバリエーション」を「次のバリエーション」として記憶されたバリエーションに更新する(ステップS38)。次に、伴奏要素決定部27は、「現在の伴奏要素データ」を「現在のセクション」および「現在のバリエーション」に対応する伴奏要素データに更新する(ステップS39)。その後、伴奏要素決定部27がステップS21に戻る。
【0075】
ステップS21〜S39が繰り返されることにより、設定された切替条件および検出された盛り上がり度に応じて「次のバリエーション」が適宜更新され(ステップS28)、「次の切替タイミング」が到来する毎に、「現在のセクション」、「現在のバリエーション」および「現在の伴奏要素データ」が更新される(ステップS36,S38,S39)。また、フィルイン挿入タイミングが到来する毎に「現在の伴奏要素データ」が更新される(ステップS33)。更新された「現在伴奏要素データ」に基づいて出力伴奏データが継続的に生成され、自動伴奏が継続的に出力される。
【0076】
(7)実施の形態の効果
本実施の形態に係る自動伴奏装置100においては、予め定められた切替タイミングが到来する毎に、設定された選択条件に基づいて、使用すべきバリエーションが選択される。これにより、自動伴奏中に伴奏要素データのバリエーションが切り替えられるので、自動伴奏が単調にならず、ユーザに飽きが生じにくくなる。また、使用すべき伴奏要素データをユーザが選択する必要がないので、ユーザが伴奏要素データについての専門的な知識を有する必要がなく、かつ伴奏要素データを切り替えるための煩雑な操作を行う必要がない。また、ユーザが演奏中に伴奏要素データを切り替える操作を行う必要がないので、ユーザの演奏が妨げられない。
【0077】
また、本実施の形態では、ユーザの演奏の盛り上がり度に基づいてバリエーションが選択されるので、ユーザの演奏の盛り上がり度に応じた出力伴奏データを生成することができる。したがって、ユーザの演奏に合った自然な自動伴奏を出力することができる。また、本実施の形態では、複数の選択条件が設定可能であり、その複数の選択条件が選択的に用いられることにより、バリエーションが選択される。これにより、自動伴奏に多様な変化を加えることができる。
【0078】
(8)他の実施の形態
(a)上記実施の形態では、予め定められた切替タイミングが到来する毎にバリエーションが切り替えられるが、他の切替条件が用いられてもよい。
図10は、他の切替条件の例について説明するための図である。
図10の例について、
図4および
図5の例と異なる点を説明する。
図10の例では、演奏の盛り上がり度が範囲E1〜E4のうち一の範囲から他の範囲に移行したときに、バリエーションが切り替えられる。具体的には、区間R1の時点t1cにおいて、盛り上がり度が範囲E1から範囲E2に移行する。このとき、バリエーションが“A”から“B”に切り替えられる。同様に、区間R2の時点t2cにおいて、盛り上がり度が範囲E2から範囲E3に移行すると、バリエーションが“B”から“C”に切り替えられ、区間R2の時点t2dにおいて、盛り上がり度が範囲E3から範囲E2に移行すると、バリエーションが“C”から“B”に切り替えられる。
【0079】
このように、盛り上がり度の変化に対して即応的にバリエーションが切り替えられることにより、ユーザおよび聴者の情感が効果的に高められる。なお、自動伴奏が不自然に変化しないように、バリエーションの切替のタイミングは適宜調整されることが好ましい。例えば、伴奏要素データが一定数の小節単位で生成されている場合には、その一定数の小節の終了時にバリエーションが切り替えられることが好ましい。また、
図10の例では基本バリエーションのみが用いられるが、適宜補助バリエーションが用いられてもよい。また、
図5の例のように、盛り上がり度の変化が大きい場合にはバリエーションの変化が抑制されてもよい。
【0080】
(b)上記実施の形態では、「メイン」セクションの各基本バリエーションに対して2つの補助バリエーション(“A1”〜“D1”および“A2”〜“D2”)が用いられるが、各バリエーションに対して1つまたは3つ以上の補助バリエーションが用いられてもよい。また、「メイン」セクションと同様に他のセクションにも補助バリエーションが用いられてもよい。一方、補助バリエーションが用いられることなく、基本バリエーションのみが用いられてもよい。
【0081】
(c)上記実施の形態では、継続的に盛り上がり度が検出されつつ、切替タイミングでの盛り上がり度に基づいて、次の伴奏要素データが選択されるが、本発明はこれに限らない。例えば、切替タイミングでのみ盛り上がり度が検出されてもよい。あるいは、継続的に検出された盛り上がり度の平均値または積算値等が算出され、その算出値に基づいて切替タイミングで伴奏要素データが選択されてもよい。
【0082】
(d)曲の全ての区間で盛り上がり度が検出されるのではなく、一部の区間でのみ盛り上がり度が検出されてもよい。その場合、検出された盛り上がり度に基づいて一部の区間の伴奏要素データのみが選択される。例えば、「メイン」セクションに対応する区間においては、盛り上がり度に基づいて伴奏要素データが選択され、他の区間においては、予め定められたまたはユーザにより指定された伴奏要素データが用いられてもよい。
【0083】
(e)ユーザが演奏曲の各区間の基本バリエーションを指定し、指定された基本バリエーションとそれに対応する補助バリエーションとの切替が所定のタイミングで行われてもよい。この場合には、盛り上がり度が検出されなくてもよい。
【0084】
(f)セクションのタイプおよびバリエーションは上記の例に限定されず、例えば、「メイン」セクションの代わりに、「Aメロ」セクション、「Bメロ」セクションおよび「サビ」セクション等が用いられてもよい。また、盛り上がり度として、音量(ベロシティ)の代わりにまたは音量に加えて、一定拍内における音の数等の他の条件が用いられてもよい。例えば、音数が多いと、ユーザが演奏を盛り上げているつもりでも、各音を大きくする(強く弾く)ことが難しくなり、音量(ベロシティ)が相対的に小さくなる。このような場合には、音量および音数の両方に基づいて盛り上がり度を算出することが好ましい。
【0085】
(g)自動伴奏装置100は、電子音楽装置1に限らず、パーソナルコンピュータまたはスマートデバイス(smart device)等の他の電子機器に適用されてもよい。
【0086】
(9)請求項の各構成要素と実施の形態の各部との対応
以下、請求項の各構成要素と実施の形態の各部との対応の例について説明するが、本発明は下記の例に限定されない。請求項の各構成要素として、請求項に記載されている構成または機能を有する他の種々の要素を用いることができる。
【0087】
上記実施の形態では、自動伴奏装置100が自動伴奏装置の例であり、指定部22が指定手段の例であり、条件設定部23が条件設定手段の例であり、バリエーション選択部26がバリエーション選択手段の例であり、出力伴奏データ生成部28が出力伴奏データ生成手段の例であり、演奏データ取得部24が演奏データ取得手段の例であり、盛り上がり度検出部25が盛り上がり度検出手段の例である。