以下、本発明の実施の形態を図面に基づいて詳細に説明する。
図1は、本発明の一実施の形態に係る音楽データ生成装置100の概略構成を示すブロック図である。
同図に示すように、音楽データ生成装置100は、各種情報を入力するための複数のスイッチを含む設定操作子1と、音楽データ生成用のGUI(graphical user interface)を含む各種UI(user interface)を表示するとともに、ユーザが表示された各種UIを、たとえば指で触れることで各種情報を入力するタッチパネルディスプレイ(以下、「タッチパネル」と略して言う)2と、設定操作子1の操作状態を検出する検出回路3と、ユーザによるタッチパネル2上の操作位置や操作圧力などの押圧操作を検出する検出回路4と、上記各種UIをタッチパネル2上に表示させる表示回路5と、装置全体の制御を司るCPU6と、該CPU6が実行する制御プログラムや、各種テーブルデータ等を記憶するROM7と、各種入力情報および演算結果等を一時的に記憶するRAM8と、前記制御プログラムを含む各種アプリケーションプログラムや各種データ等を記憶する記憶装置9と、図示しない外部機器を接続し、この外部機器とデータの送受信を行う通信インターフェース(I/F)10と、前記GUIを用いて生成された音楽データを再生して得られた演奏情報等を楽音信号に変換するとともに、その楽音信号に各種効果を付与するための音源・効果回路11と、該音源・効果回路11からの楽音信号を音響に変換する、たとえば、DAC(digital-to-analog converter)やアンプ、スピーカ等のサウンドシステム12とにより構成されている。
上記構成要素3〜11は、バス13を介して相互に接続され、音源・効果回路11にはサウンドシステム12が接続されている。
タッチパネル2は、本実施の形態では、小型のものを採用している。これは、音楽データ生成装置100は、掌に載せて片手で操作可能な小型の携帯端末(具体的には、汎用のスレートPC(slate PC)やスマートフォン(smartphone)など)を想定しているからである。もちろん、音楽データ生成装置としては、小型の携帯端末に限らず、汎用のPC(パーソナルコンピュータ)を採用してもよい。この場合には、タッチパネルは通常、大型のものが採用される。
記憶装置9は、たとえば、フレキシブルディスク(FD)、ハードディスク(HD)、CD−ROM、DVD(digital versatile disc)、光磁気ディスク(MO)および半導体メモリなどの記憶媒体とその駆動装置である。記憶媒体は、駆動装置から着脱可能であってもよいし、記憶装置9自体が、音楽データ生成装置100から着脱可能であってもよい。あるいは、記憶媒体も記憶装置9も着脱不可能であってもよい。なお、記憶装置9(の記憶媒体)には、前述のように、CPU6が実行する制御プログラムも記憶でき、ROM7に制御プログラムが記憶されていない場合には、この記憶装置9に制御プログラムを記憶させておき、それをRAM8に読み込むことにより、ROM7に制御プログラムを記憶している場合と同様の動作をCPU6にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。
通信I/F10としては、たとえば、MIDI(musical instrument digital interface)信号などの音楽信号を専用に送受信する音楽専用有線I/F、USB(universal serial bus)やIEEE1394などの汎用近距離有線I/F、Ethernet(登録商標)などの汎用ネットワークI/F、無線LAN(local area network)やBluetooth(登録商標)などの汎用近距離無線I/F、デジタル電話回線網用の通信I/Fを挙げることができる。本実施の形態では、通信I/F10として、デジタル電話回線網用および/または無線LAN用の通信I/Fを採用している。
音源・効果回路11は、音源LSI(large scale integrated circuit)やDSP(digital signal processor)(+マイクロプログラム)などで構成される。音源LSIは、MIDIデータのような演奏イベントを変換し、オーディオデータ列をストリームとして生成する。また、DSPは、記憶装置9内のオーディオファイルをデコードし、オーディオデータ列をストリームとして生成したり、そのストリームや音源LSIによって生成された上記ストリームに対してミキシングや各種効果付与を行ったりするなどの信号処理を実行する。このように本実施の形態では、音源・効果回路11は、ハードウェアのみによって楽音信号を生成し、これに各種効果を付与するものを想定しているが、これに限らず、ソフトウェア処理のみによって楽音信号を生成し、これに各種効果を付与するものであってもよいし、ハードウェアとソフトウェアで処理を分担するようなものでもよい。
なお本実施の形態では、音楽データ生成装置100の形態として、上述のようにタッチパネル2を備えた汎用のスレートPCやスマートフォンを想定しているが、タッチパネル形式でない通常のLCD(liquid crystal display)やLED(light emitting diode)と物理的な操作子を備えたハードウェア構成としてもよい。
図2は、音楽データ生成装置100の機能構成を示すブロック図である。
同図に示すように、音楽データ生成装置100は主として、コンテンツ再生部100a、第1属性情報抽出部100b、第1属性情報取得部100c、範囲情報取得部100d、提示部100e、編集部100f、アイコン制御部100g、適用部100hおよび演奏部100iによって構成されている。各部100a〜100iは、前記CPU6、ROM7およびRAM8によって構成され、CPU6が後述する図4のメインルーチンを実行することによって実現される。
各部100a〜100iによって実行される制御処理の詳細は、図4および図5に基づいて後述するので、ここでは、RAM8と記憶装置9に記憶されるデータについて説明する。図2中、80番台の符号が付けられた破線のブロックが、RAM8に記憶されるデータを示し、90番台の符号が付けられた実線のブロックが、記憶装置9に記憶されるデータを示している。破線のブロックで示されるデータはいずれも、本制御処理(本願のアプリケーション)によって一から作成されるものである。実線のブロックで示されるデータのうち、他のアプリケーションソフトウェアのコンテンツライブラリ90と被適用情報(セクション)92は、予め記憶装置9に記憶されているものである。それ以外の実線のブロックで示されるデータは、本制御処理(本願のアプリケーション)によって一から作成されるものである。
コンテンツライブラリ90には、図示例では、#1コンテンツ90a〜#3コンテンツ90cの3種類が登録されている。コンテンツ90a〜90cはいずれも、時系列のオーディオデータによって構成されているが、データ形式は、オーディオ形式に限られる訳ではない。コンテンツ90a〜90cは、第1属性情報(本実施の形態では、コード進行)を抽出する基になるものであり、本実施の形態では、このような基になるデータとして、音楽データ生成装置100の内部に記憶されたものを用いているが、これに限らず、音楽データ生成装置100の外部、たとえばインターネット上のサーバコンピュータから取得するようにしてもよい。
範囲情報は、本実施の形態では、抽出された第1属性情報(コード進行)におけるある範囲の開始位置と、そこから終了位置までの長さとを示す情報である。このように範囲情報は、あるコード進行の一部の範囲を示すので、範囲がどこからどこまでかの情報しか表現していないとは言え、コード進行の一部を構成している、いくつかのコードの集合(セット)を間接的に示している。このため、図2中では、範囲情報(コードセット)と記載されている。なお範囲情報のデータ形式は、開始位置と長さに限らず、開始位置と終了位置であってもよい。
被適用情報(セクション)92は、範囲情報(コードセット)が適用されるものである。この適用後は、加工された被適用情報(セクション)85になる。被適用情報(セクション)92は、本実施の形態では、SMF(Standard MIDI File)のような形式の演奏データであり、たとえば、4小節長で、複数のパートからなり、各パートは演奏データを持つとともに、楽器音色が割り当てられる。演奏データは、音高を持つノートのオン/オフイベント情報をイベント間の時間を表すデルタタイム情報とともに持つ。このような被適用情報(セクション)92に範囲情報(コードセット)が適用されると、セクションを構成する演奏データの音高を、コードセット(コード進行の一部)に合致するように加工される。加工されたセクションは、後述するように、所定のテンポで繰り返し再生して楽しむことができる。
第2属性情報(波形画像)80は、コンテンツ90a〜90c(のうちの選択された1つ)から生成した第2属性情報(本実施の形態では、波形画像)である。
コード進行画像81は、後述する図3の表示領域23に表示するために作成されたものであり、波形拡大画像82は、図3の表示領域24に表示するために作成されたものである。
また、コードセットアイコン83a〜83cは、図3の表示領域25に表示するために作成されたものであり、セクションアイコン84a〜84cは、図3の表示領域26に表示するために作成されたものである。なお図3の表示領域26には、セクションアイコン26a〜26eの5つが表示され、図2には、セクションアイコン84a〜84cの3つが描かれ、アイコンの個数が異なっているが、これは、図2を描き易くするために便宜上そうしているに過ぎない。つまり、表示領域26に表示されている個数分のアイコンがRAM8内にも生成されていることは、言うまでもない。
以上のように構成された音楽データ生成装置100が実行する制御処理を、まず図3を参照してその概要を説明し、次に図4および図5を参照して詳細に説明する。
図3は、タッチパネル2上に表示された画面の一例を示す図であり、同図の表示画面20は、後述する図4の第1属性情報抽出&(および)記憶処理(ステップS2)が実行されたときのものである。
表示画面20の表示領域22には、コンテンツ90a〜90cからユーザによって選択された1つのコンテンツ、たとえば#1コンテンツ90aに基づいて作成された第2属性情報(波形画像)80(図2参照)が表示され、その波形上に、範囲情報91a1〜91a3によって示される各範囲を示す枠22a〜22cが表示され、さらに現在選択されている枠22aの内部の表示態様が変更されて表示される。図示例では、表示態様の変更を「斜線」で表現しているが、これは図面の描き易さを考慮してそうしているに過ぎず、実際には枠内部の色を変更している。もちろん、表示態様の変更は「色」や「斜線」に限らず、他の枠と区別できるものであれば、どのような態様を採用してもよい。
表示領域23には、コード進行画像81が表示され、表示領域24には、波形拡大画像82が表示される。コード進行画像81は、選択枠22aおよびその近傍のコード進行を拡大表示したものであり、波形拡大画像82は、選択枠22aおよびその近傍の波形画像を拡大表示したものである。
また、表示領域25には、コードセットアイコン25a〜25cが表示され、表示領域26には、セクションアイコン26a〜26eが表示される。コードセットアイコン25aは、現在選択中であることが分かるようにハイライト表示されている。
選択中の#1コンテンツ90aは、再生することができる。再生開始は、表示領域21に表示された再生ボタン21aをタッチすることで指示し、再生停止は、再生中に再生ボタン21aをタッチすることで指示する。再生位置はバーCP(表示領域23,24では、バーCP′)によって示される。バーCPは(バーCP′も)ドラッグにより移動させることができ、これにより再生位置を変更することができる。
このように再生音を聞くなどして、適用したい範囲情報(コードセット)と被適用情報(セクション)が決まると、ユーザは、適用したい範囲情報(コードセット)を示すコードセットアイコン(コードセットアイコン25a〜25cのうちのいずれか)をドラッグして、目的の被適用情報(セクション)を示すセクションアイコン(セクションアイコン26a〜26eのうちのいずれか)の上に持って行き、そこでドロップする。これにより、目的の範囲情報(コードセット)が目的の被適用情報(セクション)に適用されて、加工された被適用情報(セクション)が生成される。図示例では、セクションアイコン26dがハイライト表示されているが、このハイライト表示は、試聴された被適用情報(セクション)のうち、最後に試聴されたものであることを意味している。セクションアイコン26a〜26eに対応付けられた各被適用情報(セクション)は、対応するアイコンをタップ操作することで、試聴できるようになっている。試聴のための再生中は、当該アイコンは明るくハイライト表示され、再生が停止された後も、薄くハイライト表示される。この薄くハイライト表示された状態が、図3のセクションアイコン26dの表示状態である。
また選択枠22aは、ユーザ操作に応じて、その範囲を拡大/(または)縮小することができる。拡大/縮小の指示は、表示領域23,24に表示されているインデクスIXをドラッグにより移動させて行う。拡大/縮小の単位は、本実施の形態では「拍」とするが、これに限られる訳ではない。選択枠22aの範囲が変動するに従って、選択枠22aを表示するための基になる#1−1範囲情報(コードセット)91a1も変更される。
このように本実施の形態では、音楽コンテンツデータの連続する一部に、利用したい音楽的な属性がある場合、その一部を含むように範囲情報を設定するだけで、当該属性を取得でき、取得された属性を時系列被適用情報に適用することができるので、音楽コンテンツデータの特定部分についての音楽的な知識がないユーザでも、その特定部分の属性を用いて新たな音楽を創作することが可能となる。
また、設定された範囲情報は、音楽コンテンツデータの前記利用したい音楽的な属性と別の属性を表示したものの上に、識別可能な表示態様で表示されるので、ユーザは、設定された範囲情報が音楽コンテンツデータのどの部分かを一目で確認することができる。
さらに、適用したい範囲情報(コードセット)を示すコードセットアイコン(コードセットアイコン25a〜25cのうちのいずれか)をドラッグして、目的の被適用情報(セクション)を示すセクションアイコン(セクションアイコン26a〜26eのうちのいずれか)の上に持って行き、そこでドロップするだけで、目的の範囲情報(コードセット)が目的の被適用情報(セクション)に適用されて、加工された被適用情報(セクション)が生成されるので、目的の範囲情報(コードセット)を目的の被適用情報(セクション)に適用する際の操作性が向上するとともに、視覚的に分かり易く間違えのない操作が可能になる。
また、範囲情報は、拡大表示領域23,24に対する操作に応じて、その範囲の拡大/縮小を行うことができるので、特にタッチパネル2上に表示されたUIを指で操作することで一部区間を変動させる場合、操作がし易く、操作ミスを減少させることができる。
次に、この制御処理を詳細に説明する。
音楽データ生成装置100は、前述のように記憶装置9(およびROM7)内に各種アプリケーションを記憶し、ユーザがいずれかのアプリケーションを選択して起動指示すると、指示されたアプリケーションがRAM8内に読み出されて起動される。本制御処理も、このアプリケーションの1つであり、ユーザの起動指示に応じて起動される。
図4は、本制御処理のメインルーチンの手順を示すフローチャートであり、CPU6によって実行されるものである。
本メインルーチンは主として、第1属性情報抽出&記憶処理(ステップS2)と、範囲情報設定&適用処理(ステップS3)と、加工後被適用情報使用処理(ステップS4)とによって構成されている。
本メインルーチンが初めて起動されると、タッチパネル2上には、第1属性情報抽出&記憶処理、範囲情報設定&適用処理および加工後被適用情報使用処理をそれぞれ選択するためのボタン(図示せず)が表示される。ユーザがいずれかのボタンをタッチすると、CPU6は、そのタッチ操作に応じた処理を判定し、判定した処理に移行させる。
本メインルーチンは、一度起動すると、ユーザによる終了指示があるまで、繰り返し実行される。終了指示は、終了ボタン(図示せず)をタッチ操作することでなされる。
第1属性情報抽出&記憶処理は、前記図2の第1属性情報抽出部100bが実行する処理に相当する。第1属性情報抽出部100bは、選択された音楽コンテンツ、つまり図2では#1コンテンツ90aから、その全体に亘る第1属性情報を抽出する。第1属性情報は、本実施の形態では、コード進行である。この抽出に際して第1属性情報抽出部100bは、拍情報や小節線情報も抽出する。抽出は、選択された音楽コンテンツに対する信号処理で行うことにするが、外部から与えられ(人が作成して入力したり、何らかの方法で作成されインターネットからダウンロードしたりし)てもよい。なお本発明の特徴は、音楽コンテンツから第1属性情報などを抽出する方法にある訳ではないので、抽出方法は、公知のものを使用すればよい。抽出された第1属性情報、つまり#1コンテンツ90a全体のコード進行は、当該コード進行の抽出元である音楽コンテンツを特定する情報(たとえば、音楽コンテンツのID+名称)が付与されて、前記記憶装置9に記憶される。#1第1属性情報(コード進行)91aは、#1コンテンツ90aから抽出され、記憶装置9に記憶されたコード進行を示している。また#2第1属性情報(コード進行)91bは、同様にして、#2コンテンツ90bから抽出され、記憶装置9に記憶されたコード進行を示している。なお“#1”および“#2”が、基のコンテンツ90aおよび90bにそれぞれ付与されたIDを示している。これにより、音楽コンテンツの記憶場所と第1属性情報(コード進行)の記憶場所が離れていても、対応するものを的確に見つけることができる。
範囲情報設定&適用処理は、図2の第1属性情報取得部100c、範囲情報取得部100d、提示部100e、編集部100f、アイコン制御部100gおよび適用部100hが実行する処理に相当する。
図5は、本範囲情報設定&適用処理の詳細な手順を示すフローチャートであり、処理が本範囲情報設定&適用処理に進むと、まずCPU6は、ユーザ操作に応じてコンテンツを選択する(ステップS11)。具体的には、CPU6は、ユーザ操作に応じてメニュー画面を表示し、ユーザは各種メニューから「コンテンツ選択」を選択する。これにより、タッチパネル2上には、選択可能なコンテンツの(名称の)一覧が表示されるので、その一覧からユーザがいずれかのコンテンツ(の名称)をタッチして選択すると、CPU6は、当該コンテンツをRAM8に確保されたコンテンツ格納領域(図示せず)に格納する。これにより、目的のコンテンツが選択される。選択されるコンテンツは、本実施の形態では前述のように、時系列のオーディオデータである。
次にCPU6は、選択されたコンテンツから、第2属性情報を作成して表示する(ステップS12)。このステップS12の処理は、提示部100eが実行する処理の一部に相当する。提示部100eは、選択された音楽コンテンツ、つまり図2では#1コンテンツ90aから、その全体に亘る第2属性情報を作成する。第2属性情報は、本実施の形態では波形画像である。提示部100eは、作成した第2属性情報(波形画像)80をRAM8に確保された第2属性情報格納領域(図示せず)に格納するとともに、前記表示回路5に転送する。これにより、図3の表示画面20の表示領域22には、第2属性情報(波形画像)80に対応する波形が表示される。
次にCPU6は、被適用情報に対応するアイコンを並べて表示する(図5のステップS13)とともに、範囲情報に対応するアイコンを並べて表示する(ステップS14)。このステップS13,S14の処理は、アイコン制御部100gが実行する処理に相当する。アイコン制御部100gは、選択中の第1属性情報、つまり図2では#1第1属性情報(コード進行)91aに対する範囲情報(コードセット)91a1〜91a3にそれぞれ対応するアイコン、つまりコードセットアイコン83a〜83cを生成し、RAM8に確保されたコードセットアイコン格納領域(図示せず)に格納するとともに、被適用情報(セクション)92にそれぞれ対応するアイコン、つまりセクションアイコン84a〜84cをRAM8に確保されたセクションアイコン格納領域(図示せず)に格納する。コードセットアイコン83a〜83cは選択可能に構成されているので、アイコン制御部100gは、コードセットアイコン格納領域に格納されているコードセットアイコン83a〜83cのうち、現在選択中のコードセットアイコンに対してハイライト表示するとともに、当該コードセットアイコンとセクションアイコンがどれであるかの情報を適用部100hに供給する。ハイライト表示は、本実施の形態では、当該アイコン枠を他のアイコン枠より太くする表示態様を採用しているが、これに限らず、当該アイコンの背景色や形状を変更するようにしてもよい。要するに、選択中のアイコンと非選択中のアイコンとが分かる表示態様であれば、どのようなハイライト表示を採用してもよい。このようにしてハイライト表示の施されたコードセットアイコンを含む、コードセットアイコン格納領域およびセクションアイコン格納領域にそれぞれ格納されたコードセットアイコン83a〜83cおよびセクションアイコン84a〜84cは、表示回路5に転送される。
これにより、図3の表示画面20に示すように、表示領域25にコードセットアイコン25a〜25cが表示されるとともに、表示領域26にセクションアイコン26a〜26cが表示される(ただし図3の表示領域26には、5つのセクションアイコン26a〜26eが表示されている)。そして、選択中のコードセットアイコン25aがハイライト表示される。また、表示領域25には、選択中のコードセットアイコン25aに対応する範囲情報が示す小節長(“2”)の表示領域(“MEASURE LENGTH”)251も設けられ、表示領域26には、当該範囲情報が示すコードセットのうちの先頭のコード(“Csus4 on G”)の表示領域261も設けられている。
図5に戻り、CPU6は、第2属性情報の、範囲情報に対応する部分属性を別態様で表示する(ステップS15)。このステップS15の処理は、提示部100eが実行する処理の一部に相当する。提示部100eは、この処理を範囲情報取得部100dから供給される情報に基づいて実行するので、提示部100eが実行するこの処理を説明する前に、範囲情報取得部100dが実行する処理を説明する。範囲情報取得部100dは、選択された第1属性情報、つまり図2では#1第1属性情報(コード進行)91aについて、ユーザが指定した連続する一部範囲を示す範囲情報91a1〜91a3(この範囲情報は、ユーザの指定に応じて単数の場合も複数の場合もあるが、図示例では、3範囲指定された場合が示されている)からユーザによって選択されたもの(図示例では、#1−1範囲情報(コードセット)91a1が選択されている)を取得して、提示部100eに供給する。なお#2第1属性情報(コード進行)91bについては、範囲情報として、2範囲指定されたもの91b1および91b2が示されている。
提示部100eは、範囲情報取得部100dから供給された範囲情報91a1〜91a3に基づいて、第2属性情報格納領域に格納されている第2属性情報(波形画像)80に、範囲情報91a1〜91a3によって示される各範囲の枠の画像を重ねるとともに、その枠のうち、現在選択されている枠の内部の表示態様を変更する。このように加工された第2属性情報(波形画像)は、前記表示回路5に転送される。これにより、図3の表示画面20の表示領域22には、第2属性情報(波形画像)80に対応する波形上に各範囲を示す枠22a〜22cが表示され、さらに枠22aの内部の表示態様が変更されて表示される。
次にCPU6は、ユーザ操作に応じて、選択されたコンテンツについて、再生、停止、再生位置変更を指示する(ステップS16)。このステップS16の処理は、コンテンツ再生部100aに指示する処理に相当する。コンテンツ再生部100aは、CPU6からの指示に応じた処理を実行する。なおコンテンツ再生部100aは、本実施の形態では、他のアプリケーションソフトウェアのコンテンツライブラリ90に登録された各種音楽コンテンツ(図示例では、#1コンテンツ90a〜#3コンテンツ90cの3種類)からユーザによって選択されたもの(図示例では、#1コンテンツ90aが選択されている)を再生する。
次にCPU6は、ユーザ操作に応じて、対象とする範囲情報を決めるとともに、選択されたコンテンツから作成した第2属性情報および第1属性情報の、範囲情報に相当する部分を拡大表示する(ステップS17)。このステップS17の処理は、編集部100fが実行する処理の一部に相当する。編集部100fは、範囲情報の編集、つまり拡大/縮小が指示されないときでも範囲情報が選択されれば、選択された範囲情報に基づいてコード進行画像と波形拡大画像を生成し、RAM8に確保されたコード進行画像格納領域および波形拡大画像格納領域(ともに図示せず)にそれぞれ格納する。コード進行画像(と波形拡大画像)を生成するとき、編集部100fは、選択された範囲情報を直接参照して生成するが、範囲情報は、前述のように、当該範囲の開始位置と長さを示すものであるため、これを参照するだけではコード進行画像を生成することはできない。つまり、第1属性情報取得部100cによって取得されている第1属性情報も参照する必要がある。第1属性情報取得部100cは、記憶装置9に記憶された各種第1属性情報、つまり図2では#1および#2第1属性情報(コード進行)91aおよび91bからユーザによって選択されたもの(図示例では、#1第1属性情報(コード進行)91aが選択されている)を取得して、たとえばRAM8に確保された第1属性情報格納領域(図示せず)に格納する。したがって、編集部100fは、第1属性情報格納領域に格納されている#1第1属性情報(コード進行)91aのうち、選択された範囲情報が示す範囲の一部のコード進行を取得し、これに基づいてコード進行画像を生成する。なお第1属性情報取得部100cは、取得した第1属性情報を適用部100hに供給する機能も営んでいる。コード進行画像格納領域および波形拡大画像格納領域に格納されたコード進行画像81および波形拡大画像82は、表示回路5に転送される。
これにより、図3の表示画面20に示すように、当該範囲情報によって示される範囲およびその近傍のコード進行画像および波形拡大画像がそれぞれ、表示領域23および24に表示される。図示例では、選択中の範囲情報は、枠22aで示される#1−1範囲情報(コードセット)91a1(図2参照)であり、2小節長に相当する。これに対して、表示領域23および24は、3小節長のコード進行画像および波形拡大画像を表示できるので、編集部100fは、選択中の範囲情報によって示される範囲を含む範囲のコード進行画像および波形拡大画像を生成する。一方、枠22bで示される#1−2範囲情報(コードセット)91a2が選択された場合には、当該範囲情報は4小節長に相当するので、当該範囲内のコード進行画像および波形拡大画像がそれぞれ、表示領域23および24に表示される。
次にCPU6は、ユーザ操作に応じて、範囲情報を修正するとともに、表示を更新する(ステップS18)。このステップS18の処理も、編集部100fが実行する処理の一部に相当する。ユーザが、現在選択中の範囲情報に対してその範囲の拡大/縮小を指示すると、編集部100fは、その指示に応じた範囲に拡大/縮小を行う。範囲情報が編集されると、編集部100fは、編集後の範囲情報に基づいてコード進行画像と波形拡大画像を生成し、RAM8に確保されたコード進行画像格納領域および波形拡大画像格納領域にそれぞれ格納する。コード進行画像格納領域および波形拡大画像格納領域に格納されたコード進行画像81および波形拡大画像82は、表示回路5に転送される。
次にCPU6は、ユーザ操作に応じて、範囲情報を被適用情報に適用し、被適用情報を加工する(ステップS19)。このステップS19の処理は、適用部100hが実行する処理に相当する。アイコン制御部100gから適用部100hに、ユーザ操作に応じてコードセットアイコンのいずれかがセクションアイコンのいずれかに重ねられたという情報が伝達されると、適用部100hは、当該コードセットを当該被適用情報(セクション)に適用する。より具体的には、今コードセットアイコン25aがドラッグ・アンド・ドロップによりセクションアイコン26dに重ねられたとする。コードセットアイコン25aは、#1−1範囲情報(コードセット)91a1に対応付けられるが、#1−1範囲情報(コードセット)91a1は、前述のように開始位置と長さしか示していないので、適用部100hは、対応するコード進行、つまり#1第1属性情報(コード進行)91aから当該範囲内のコードセット(コード進行の一部)を抽出する。このとき、セクションアイコン26dが選択されているので、適用部100hは、記憶装置9に記憶された各種被適用情報92から、セクションアイコン26dによって示されるものを取得する。そして適用部100hは、抽出されたコードセットを取得された被適用情報に適用して加工し、RAM8に確保された加工後被適用情報格納領域(図示せず)に格納する。このようにして、各種加工された被適用情報(セクション)85が作成されて、RAM8内に蓄えられる。
次にCPU6は、ユーザ操作に応じて、セクションを再生する(ステップS20)。このステップS20の処理は、アイコン制御部100gが演奏部100iの機能を利用して実行される。具体的には、ユーザがセクションアイコン26a〜26eのうちのいずれか1つをタップ操作すると、CPU6は、当該タップ操作したセクションアイコンに対応する、加工された被適用情報(セクション)を繰り返し再生する。これにより、加工された被適用情報(セクション)を、後述する加工後被適用情報使用処理(図4のステップS4)で使用する前に、試聴することができる。
さらにCPU6は、ユーザ操作に応じて、その他設定を行う(ステップS21)。その他設定としては、たとえば、再生する際の音量やテンポの設定を挙げることができる。
そしてCPU6は、終了操作がなされたかどうかを判定し(ステップS22)、終了操作がなされないときには、処理を前記ステップS16に戻す一方、終了操作がなされたときには、本範囲情報設定&適用処理を終了する。ここで終了操作とは、具体的には、図3の表示領域21に表示されたEXITボタン21bをタッチすることである。
図4に戻り、加工後被適用情報使用処理は、演奏部100iが実行する処理に相当する。演奏部100iは、各種加工された被適用情報(セクション)85からユーザによって選択されたものを順次切り替えながら演奏する。加工された被適用情報、すなわちスタイルは、本実施の形態では、SMF(Standard MIDI File)のような形式の演奏データであり、たとえば4小節長で、複数のパートからなり、各パートは演奏データを持つとともに、楽器音色が割り当てられる。演奏データ内の音高情報は、第1属性情報(コード進行)に合致するように加工されている。この加工されたスタイルを、タイマ制御の下、順次読み、読み出されたノートオン/オフイベントに応じて、読み出された音色指定に応じた音の生成をする。加工されたスタイルは、たとえば4小節であり、加工されたスタイルの終端まで再生したら、再び先頭から再生するように繰り返す。
なお本実施の形態では、既に設定されている範囲情報(コードセット)を編集(拡大/縮小)することについては言及したものの、範囲情報(コードセット)を新たに設定することについては言及していない。もちろん、範囲情報(コードセット)は、編集だけでなく、新たに設定できるようにしてもよい。さらに、曲の先頭から所定サイズ(4小節など)ずつ、多数の範囲情報を自動的に切り出し、範囲情報(コードセット)に割り当てる機能を備えるようにしてもよい。
また本実施の形態では、第1属性情報として「コード進行」を採り、被適用情報として「演奏情報で構成されるセクション」を採るとしたが、これとは逆に、第1属性情報として「演奏情報」を採り、被適用情報として「コード進行」を採るようにしてもよい。この場合、「演奏情報」は、単一パートのメロディでもよいが、複数パートからなるものであってもよい。このようにすると、ユーザが創作した4小節程度のコード進行に対して、あるコンテンツの部分的なメロディ等が適用される。なお、この「演奏情報」は、1つの楽曲についてユーザが作成してもよいし、誰かが作成したものをインターネット経由で取得してもよい。また、楽曲のオーディオ情報から信号処理によって抽出するようにしてもよい。
また、第1属性情報として「歌詞情報」を採り、被適用情報として「演奏情報」を採るようにしてもよい。あるいはその逆に、第1属性情報として「演奏情報」を採り、被適用情報として「歌詞情報」を採るようにしてもよい。
さらに、第1属性情報として「スペクトルエンベロープ情報」を採り、被適用情報として「励起信号情報」を採るようにしてもよい。あるいはその逆に、第1属性情報として「励起信号情報」を採り、被適用情報として「スペクトルエンベロープ情報」を採るようにしてもよい。
なお本実施の形態では、第2属性情報として「波形画像」を採るようにしたが、これに限らず、「楽譜表示情報」、「歌詞表示情報」、「曲に対応したプロモーションビデオや演奏動画を構成する、複数の所定フレームの情報」、「演奏情報を構成するイベント群を表示し得る、ピアノロール等の表示情報」、「曲のオーディオ情報を時間周波数分析した結果の時間周波数表示情報」を採るようにしてもよい。また、これらを複数同時に表示するようにしてもよい。
なお、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記憶媒体から読出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードおよび該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、たとえば、フレキシブルディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。また、通信ネットワークを介してサーバコンピュータからプログラムコードが供給されるようにしてもよい。
また、コンピュータが読出したプログラムコードを実行することにより、上述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOSなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。