(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-19
(45)【発行日】2024-04-30
(54)【発明の名称】自動編曲プログラム及び自動編曲装置
(51)【国際特許分類】
G10G 1/04 20060101AFI20240422BHJP
G10H 1/00 20060101ALI20240422BHJP
【FI】
G10G1/04
G10H1/00 102Z
(21)【出願番号】P 2020112612
(22)【出願日】2020-06-30
【審査請求日】2023-03-23
(73)【特許権者】
【識別番号】000116068
【氏名又は名称】ローランド株式会社
(74)【代理人】
【識別番号】110000534
【氏名又は名称】弁理士法人真明センチュリー
(72)【発明者】
【氏名】須佐美 亮
(72)【発明者】
【氏名】伊藤 智子
【審査官】大野 弘
(56)【参考文献】
【文献】特開2008-145564(JP,A)
【文献】特開2002-202776(JP,A)
【文献】特開平11-237879(JP,A)
【文献】米国特許第05484957(US,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10G 1/00-7/02
G10H 1/00-1/46
(57)【特許請求の範囲】
【請求項1】
コンピュータに、楽曲データの編曲処理を実行させる自動編曲プログラムであって、
前記楽曲データを取得する楽曲取得ステップと、
その楽曲取得ステップで取得された楽曲データからメロディパートのノートを取得するメロディ取得ステップと、
そのメロディ取得ステップで取得されたノートにおいて発音の開始時刻
が同一のノートのうち、音高が最も高いノートを外声ノートとして特定する外声特定ステップと、
前記メロディ取得ステップで取得されたノートにおいて、前記外声特定ステップで特定された外声ノートの発音期間内に発音が開始され、且つ前記外声ノートよりも音高が低いノートを内声ノートとして特定する内声特定ステップと、
前記メロディ取得ステップで取得されたノートから前記内声特定ステップで特定された内声ノートを削除することで、編曲後のメロディパートを作成する編曲メロディ作成ステップと、
前記楽曲取得ステップで取得された楽曲データからコードと、そのコードの発音タイミングとを取得するコード情報取得ステップと、
そのコード情報取得ステップで取得された各コードにおける根音の音名を取得する音名取得ステップと、
所定の音高の範囲である音高レンジにおける前記音名取得ステップで取得された音名に該当する音高の音を、その音に該当する前記コード情報取得ステップで取得されたコードの発音タイミングで発音させる編曲後の伴奏パートを作成する編曲伴奏作成ステップと、
前記編曲メロディ作成ステップで作成されたメロディパート
と、前記編曲伴奏作成ステップで作成された伴奏パートとに基づいて編曲データを作成する編曲データ作成ステップと、
を前記コンピュータに実行させることを特徴とする自動編曲プログラム。
【請求項2】
前記内声特定ステップは、前記メロディ取得ステップで取得されたノートにおいて、前記外声特定ステップで特定された外声ノートの発音期間内に発音開始から発音停止まで行われ、かつ前記外声ノートよりも音高が低いノートを内声ノートとして特定することを特徴とする請求項1記載の自動編曲プログラム。
【請求項3】
前記外声特定ステップは、前記メロディ取得ステップで取得されたノートにおいて発音開始時刻が同一のノートのうち、音高が最も高く、且つ発音時間が所定時間以上のノートを外声ノートとして特定することを特徴とする請求項1又は2に記載の自動編曲プログラム。
【請求項4】
前記編曲伴奏作成ステップは、
前記音高レンジの音高における位置を、1半音ずつ変化させる範囲変化ステップと、
その範囲変化ステップで変化させた音高レンジ毎に、その音高レンジにおける前記音名取得ステップで取得された音名に該当する音高の音と、その音に該当する前記コード情報取得ステップで取得されたコードの発音タイミングとから、伴奏パートの候補である候補伴奏パートを作成する候補伴奏作成ステップと、
その候補伴奏作成ステップで作成された候補伴奏パートに含まれる音の音高に基づいて、前記候補伴奏パートの中から編曲後の伴奏パートを選択する選択ステップとを備え、
前記編曲データ作成ステップは、前記選択ステップで選択された伴奏パートに基づいて編曲データを作成することを特徴とする請求項
1から3のいずれかに記載の自動編曲プログラム。
【請求項5】
コンピュータに、楽曲データの編曲処理を実行させる自動編曲プログラムであって、
前記楽曲データを取得する楽曲取得ステップと、
その楽曲取得ステップで取得された楽曲データからコードと、そのコードの発音タイミングとを取得するコード情報取得ステップと、
そのコード情報取得ステップで取得された各コードにおける根音の音名を取得する音名取得ステップと、
所定の音高の範囲である音高レンジの音高における位置を、1半音ずつ変化させる範囲変化ステップと、
その範囲変化ステップで変化させた音高レンジ毎に、その音高レンジにおける前記音名取得ステップで取得された音名に該当する音高の音と、その音に該当する前記コード情報取得ステップで取得されたコードの発音タイミングとから、伴奏パートの候補である候補伴奏パートを作成する候補伴奏作成ステップと、
その候補伴奏作成ステップで作成された候補伴奏パートに含まれる音の音高に基づいて、前記候補伴奏パートの中から編曲後の伴奏パートを選択する選択ステップと、
その選択ステップで選択された伴奏パートに基づいて編曲データを作成する編曲データ作成ステップと、
を前記コンピュータに実行させることを特徴とする自動編曲プログラム。
【請求項6】
前記音高レンジは、1オクターブ分の音高の範囲であることを特徴とする請求項
4又は
5に記載の自動編曲プログラム。
【請求項7】
前記選択ステップは、前記候補伴奏作成ステップで作成された候補伴奏パートのうち、前記候補伴奏パートに含まれる音と、その音と同時に発音されるメロディパートの音との音高の差の標準偏差が小さいものを、編曲後の伴奏パートとして選択することを特徴とする請求項
4から
6のいずれかに記載の自動編曲プログラム。
【請求項8】
前記選択ステップは、前記候補伴奏作成ステップで作成された候補伴奏パートのうち、前記候補伴奏パートに含まれる音と、特定の音高の音との音高の差が小さいものを、編曲後の伴奏パートとして選択することを特徴とする請求項
4から
7のいずれかに記載の自動編曲プログラム。
【請求項9】
前記選択ステップは、前記候補伴奏作成ステップで作成された候補伴奏パートのうち、前記候補伴奏パートに含まれる最も高い音高の音と、最も低い音高の音との音高の差が小さいものを、編曲後の伴奏パートとして選択することを特徴とする請求項
4から
8のいずれかに記載の自動編曲プログラム。
【請求項10】
前記音名取得ステップは、前記コード情報取得ステップで取得されたコードが分数コードの場合は、その分数コードの分母側の音名を取得することを特徴とする請求項
1から
9のいずれかに記載の自動編曲プログラム。
【請求項11】
楽曲データを取得する楽曲取得手段と、
その楽曲取得手段で取得された楽曲データからメロディパートのノートを取得するメロディ取得手段と、
そのメロディ取得手段で取得されたノートにおいて発音の開始時刻
が同一のノートのうち、音高が最も高いノートを外声ノートとして特定する外声特定手段と、
前記メロディ取得手段で取得されたノートにおいて、前記外声特定手段で特定された外声ノートの発音期間内に発音が開始され、且つ前記外声ノートよりも音高が低いノートを内声ノートとして特定する内声特定手段と、
前記メロディ取得手段で取得されたノートから前記内声特定手段で特定された内声ノートを削除することで、編曲後のメロディパートを作成する編曲メロディ作成手段と、
前記楽曲取得手段で取得された楽曲データからコードと、そのコードの発音タイミングとを取得するコード情報取得手段と、
そのコード情報取得手段で取得された各コードにおける根音の音名を取得する音名取得手段と、
所定の音高の範囲である音高レンジにおける前記音名取得手段で取得された音名に該当する音高の音を、その音に該当する前記コード情報取得手段で取得されたコードの発音タイミングで発音させる編曲後の伴奏パートを作成する編曲伴奏作成手段と、
前記編曲メロディ作成手段で作成されたメロディパート
と、前記編曲伴奏作成手段で作成された伴奏パートとに基づいて編曲データを作成する編曲データ作成手段と、
を備えていることを特徴とする自動編曲装置。
【請求項12】
楽曲データを取得する楽曲取得手段と、
その楽曲取得手段で取得された楽曲データからコードと、そのコードの発音タイミングとを取得するコード情報取得手段と、
そのコード情報取得手段で取得された各コードにおける根音の音名を取得する音名取得手段と、
所定の音高の範囲である音高レンジの音高における位置を、1半音ずつ変化させる範囲変化手段と、
その範囲変化手段で変化させた音高レンジ毎に、その音高レンジにおける前記音名取得手段で取得された音名に該当する音高の音と、その音に該当する前記コード情報取得手段で取得されたコードの発音タイミングとから、伴奏パートの候補である候補伴奏パートを作成する候補伴奏作成手段と、
その候補伴奏作成手段で作成された候補伴奏パートに含まれる音の音高に基づいて、前記候補伴奏パートの中から編曲後の伴奏パートを選択する選択手段と、
その選択手段で選択された伴奏パートに基づいて編曲データを作成する編曲データ作成手段と、
を備えていることを特徴とする自動編曲装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自動編曲プログラム及び自動編曲装置に関するものである。
【背景技術】
【0002】
特許文献1には、演奏情報ファイル24に含まれるノートのうち、同時に発音が開始される和音構成音となるノートを特定し、特定されたノートのうち所定の閾値を超える分のノートを音高の低い順に削除することで、新たな演奏情報ファイルを作成する自動編曲装置が開示されている。これにより、作成された新たな演奏情報ファイルは、演奏情報ファイル24よりも同時に発生させる和音の数が減少されるので、演奏者が演奏し易いものとなる。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2008-145564号公報(例えば、段落0026)
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、演奏情報ファイル24には、同時に発音されない複数の音高の音が、部分的に重なるようにノートが記録されている場合がある。このような演奏情報ファイル24を特許文献1の自動編曲装置に入力すると、複数の音高が部分的に重なっているノートは、同時に発音が開始されないため、和音構成音とは認識されない。従って、かかる場合は、ノートの数が減少されずに、そのまま新たな演奏情報ファイルに出力されてしまうので、該演奏情報ファイルから演奏し易い楽譜が作成できないという問題点があった。
【0005】
本発明は、上述した問題点を解決するためになされたものであり、楽曲データから、同時に発音する音の数を減少させた演奏し易い編曲データを作成できる自動編曲プログラム及び自動編曲装置を提供することを目的としている。
【課題を解決するための手段】
【0006】
この目的を達成するために本発明の自動編曲プログラムは、コンピュータに、楽曲データの編曲処理を実行させるプログラムであって、前記楽曲データを取得する楽曲取得ステップと、その楽曲取得ステップで取得された楽曲データからメロディパートのノートを取得するメロディ取得ステップと、そのメロディ取得ステップで取得されたノートにおいて発音の開始時刻が同一のノートのうち、音高が最も高いノートを外声ノートとして特定する外声特定ステップと、前記メロディ取得ステップで取得されたノートにおいて、前記外声特定ステップで特定された外声ノートの発音期間内に発音が開始され、且つ前記外声ノートよりも音高が低いノートを内声ノートとして特定する内声特定ステップと、前記メロディ取得ステップで取得されたノートから前記内声特定ステップで特定された内声ノートを削除することで、編曲後のメロディパートを作成する編曲メロディ作成ステップと、前記楽曲取得ステップで取得された楽曲データからコードと、そのコードの発音タイミングとを取得するコード情報取得ステップと、そのコード情報取得ステップで取得された各コードにおける根音の音名を取得する音名取得ステップと、所定の音高の範囲である音高レンジにおける前記音名取得ステップで取得された音名に該当する音高の音を、その音に該当する前記コード情報取得ステップで取得されたコードの発音タイミングで発音させる編曲後の伴奏パートを作成する編曲伴奏作成ステップと、前記編曲メロディ作成ステップで作成されたメロディパートと、前記編曲伴奏作成ステップで作成された伴奏パートとに基づいて編曲データを作成する編曲データ作成ステップと、を前記コンピュータに実行させる。
【0007】
本発明の別の自動編曲プログラムは、コンピュータに、楽曲データの編曲処理を実行させるプログラムであって、前記楽曲データを取得する楽曲取得ステップと、その楽曲取得ステップで取得された楽曲データからコードと、そのコードの発音タイミングとを取得するコード情報取得ステップと、そのコード情報取得ステップで取得された各コードにおける根音の音名を取得する音名取得ステップと、所定の音高の範囲である音高レンジの音高における位置を、1半音ずつ変化させる範囲変化ステップと、その範囲変化ステップで変化させた音高レンジ毎に、その音高レンジにおける前記音名取得ステップで取得された音名に該当する音高の音と、その音に該当する前記コード情報取得ステップで取得されたコードの発音タイミングとから、伴奏パートの候補である候補伴奏パートを作成する候補伴奏作成ステップと、その候補伴奏作成ステップで作成された候補伴奏パートに含まれる音の音高に基づいて、前記候補伴奏パートの中から編曲後の伴奏パートを選択する選択ステップと、その選択ステップで選択された伴奏パートに基づいて編曲データを作成する編曲データ作成ステップと、を前記コンピュータに実行させる。
【0008】
また本発明の自動編曲装置は、楽曲データを取得する楽曲取得手段と、その楽曲取得手段で取得された楽曲データからメロディパートのノートを取得するメロディ取得手段と、そのメロディ取得手段で取得されたノートにおいて発音の開始時刻が同一のノートのうち、音高が最も高いノートを外声ノートとして特定する外声特定手段と、前記メロディ取得手段で取得されたノートにおいて、前記外声特定手段で特定された外声ノートの発音期間内に発音が開始され、且つ前記外声ノートよりも音高が低いノートを内声ノートとして特定する内声特定手段と、前記メロディ取得手段で取得されたノートから前記内声特定手段で特定された内声ノートを削除することで、編曲後のメロディパートを作成する編曲メロディ作成手段と、前記楽曲取得手段で取得された楽曲データからコードと、そのコードの発音タイミングとを取得するコード情報取得手段と、そのコード情報取得手段で取得された各コードにおける根音の音名を取得する音名取得手段と、所定の音高の範囲である音高レンジにおける前記音名取得手段で取得された音名に該当する音高の音を、その音に該当する前記コード情報取得手段で取得されたコードの発音タイミングで発音させる編曲後の伴奏パートを作成する編曲伴奏作成手段と、前記編曲メロディ作成手段で作成されたメロディパートと、前記編曲伴奏作成手段で作成された伴奏パートとに基づいて編曲データを作成する編曲データ作成手段と、を備えている。
【0009】
本発明の別の自動編曲装置は、楽曲データを取得する楽曲取得手段と、その楽曲取得手段で取得された楽曲データからコードと、そのコードの発音タイミングとを取得するコード情報取得手段と、そのコード情報取得手段で取得された各コードにおける根音の音名を取得する音名取得手段と、所定の音高の範囲である音高レンジの音高における位置を、1半音ずつ変化させる範囲変化手段と、その範囲変化手段で変化させた音高レンジ毎に、その音高レンジにおける前記音名取得手段で取得された音名に該当する音高の音と、その音に該当する前記コード情報取得手段で取得されたコードの発音タイミングとから、伴奏パートの候補である候補伴奏パートを作成する候補伴奏作成手段と、その候補伴奏作成手段で作成された候補伴奏パートに含まれる音の音高に基づいて、前記候補伴奏パートの中から編曲後の伴奏パートを選択する選択手段と、その選択手段で選択された伴奏パートに基づいて編曲データを作成する編曲データ作成手段と、を備えている。
【図面の簡単な説明】
【0010】
【
図2】(a)は、楽曲データのメロディパートを表す図であり、(b)は、編曲後のメロディパートを表す図である。
【
図4】候補伴奏パートからの編曲後の伴奏パートの選択を説明する図である。
【
図5】(a)は、PCの電気的構成を示すブロック図であり、(b)は、演奏データとメロディデータとを模式的に示す図である。
【
図6】(a)は、コードデータと入力コードデータとを模式的に示す図であり、
(b)は、候補伴奏テーブルを模式的に示す図であり、(c)は、出力伴奏データを模式的に示す図である。
【
図7】(a)は、メイン処理のフローチャートであり、(b)は、メロディパート処理のフローチャートである。
【
図9】(a)は、楽曲データを楽譜形式で示した図であり、(b)は、トランスポーズ処理された楽曲データを楽譜形式で示した図であり、(c)は、編曲データを楽譜形式で示した図である。
【発明を実施するための形態】
【0011】
以下、好ましい実施例について、添付図面を参照して説明する。
図1を参照して、本実施形態のPC1の概要を説明する。
図1は、PC1の外観図である。PC1は、後述の演奏データPを含む楽曲データMにおける同時に発音する音を減少させることで、演奏者であるユーザHが演奏し易い態様とした編曲データAを作成する情報処理装置(コンピュータ)である。PC1には、ユーザHからの指示を入力するマウス2及びキーボード3と、編曲データAから作成された楽譜等を表示する表示装置4とが設けられる。
【0012】
楽曲データMには、MIDI(Musical Instrument Digital Interface)形式による楽曲の演奏情報が記憶される演奏データPと、その楽曲におけるコード進行が記憶されるコードデータCとが設けられる。本実施形態では、楽曲データMの演奏データPから楽曲における主旋律であって、ユーザHが右手で演奏するメロディパートMaを取得し、取得したメロディパートMaにおいて同時に発音されるノートを減少させた編曲後のメロディパートMbを作成する。
【0013】
また楽曲データMのコードデータCから取得したコードの根音等から、楽曲における伴奏音であって、ユーザHの左手で演奏する編曲後の伴奏パートBbを作成する。そして、これらメロディパートMbと伴奏パートBbとから編曲データAを作成する。まず
図2を参照して、編曲後のメロディパートMbの作成手法を説明する。
【0014】
図2(a)は、楽曲データMのメロディパートMaを表す図であり、
図2(b)は、編曲後のメロディパートMbを表す図である。
図2(a)においては、楽曲データMのメロディパートMaには、時刻T1~T8までノート番号68で発音するノートN1と、時刻T1~T3までノート番号66で発音するノートN2と、時刻T2~T4までノート番号64で発音するノートN3と、時刻T5~T6までノート番号64で発音するノートN4と、時刻T7~T9までノート番号62で発音するノートN5とが記憶されている。なお、
図2(a),(b)において時刻T1~T9は、符号の数字が小さいほど早い時刻であることを表す。
【0015】
メロディパートMaにおいては、最も音高が高く、発音期間が長いノートN1がノートN2と共に発音が開始され、ノートN1の発音中に、ノートN2の発音の停止、ノートN3,N4の発音の開始から停止およびノートN5の発音の開始が行われる。かかるメロディパートMaに基づいて楽譜を作成すると、ノートN1を発音中にノートN2~N5を発音させなければならず、ユーザHにとって演奏し難いものとなる。
【0016】
本実施形態では、かかるメロディパートMaにおいて、同時に発音する音が減少される。具体的には、まずメロディパートMaにおいて同一のタイミングで発音が開始されるノートを取得する。
図2(a)ではノートN1,N2が同一のタイミングで発音が開始されるノートに該当するので、ノートN1,N2が取得される。
【0017】
そして取得されたノートのうち音高が最も高いノートが外声ノートVg、外声ノートVgよりも音高が低いノートが内声ノートViとそれぞれ特定される。
図2(a)においては、ノートN1,N2のうち、音高が最も高いノートN1が外声ノートVgに特定され、ノートN1よりも音高が低いノートN2が内声ノートViに特定される。
【0018】
更に外声ノートVgに特定されたノートの発音期間内に、発音開始から発音停止までが行われるノートを取得し、更に内声ノートViに特定される。
図2(a)においては、外声ノートVgであるノートN1の発音期間内に、発音開始から発音停止までが行われるノートはノートN3,N4なので、これらも内声ノートViに特定される。
【0019】
そして、メロディパートMaから内声ノートViと特定されたノートを削除することで、編曲後のメロディパートMbが作成される。
図2(b)においては、メロディパートMaのノートN1~N5のうち、内声ノートViと特定されたノートN2~N4が削除されることで、ノートN1とノートN5とによる編曲後のメロディパートMbが作成される。
【0020】
これにより、編曲後のメロディパートMbにおいては、外声ノートVgであるノートN1と同時に発音される音のうち、ノートN1の発音期間内に発音の開始および停止が行われるノートN2~N4が削除されるので、メロディパートMbの全体において同時に発音される音を減少させることができる。また、メロディパートMbに含まれる外声ノートVgは、楽曲データMのメロディパートMaのうち音高が高く、聴取者にとって目立って聞こえる音とされる。これにより、編曲後のメロディパートMbを、楽曲データMのメロディパートMaらしさを維持したメロディパートとすることができる。
【0021】
ここでノートN1と共に、編曲後のメロディパートMbに記録されるノートN5は、ノートN1の発音期間内に発音が開始され、発音の停止はノートN1の発音の停止後である。このようなノートが編曲後のメロディパートMbに残されることで、楽曲データMのメロディパートMaの音高の変化といった曲調を維持したメロディパートMbとすることができる。
【0022】
次に、
図3,4を参照して編曲後の伴奏パートBbの作成手法を説明する。
図3は、候補伴奏パートBK1~Bk12を説明する図である。編曲後の伴奏パートBbは、楽曲データMのコードデータCに基づいて作成される。本実施形態におけるコードデータCには、コード(C,D等)とそのコードの発音タイミング、即ち発音の開始時刻が記憶されており(
図6(a)参照)、コードデータCに記憶される各コードの根音(ルート音)の音名、またはコードが分数コードである場合は分母側の音名(例えば分数コードが「C/E」の場合、分母側の音名は「E」)に基づいて、伴奏パートBbが作成される。以下「分数コードの分母側」のことを単に「分母側」と略す。
【0023】
具体的には、
図3に示すように、1オクターブ分の音高の範囲である音高レンジにおいて、コードデータCから取得されたコードの根音の音名または分母側の音名を該当する音高の音を、そのコードの発音タイミングで発音させるように配置した伴奏パートである候補伴奏パートBK1~BK12が作成され、これら候補伴奏パートBK1~BK12の中から、編曲後の伴奏パートBbが選択される。
【0024】
本実施形態において候補伴奏パートBK1~BK12は、それぞれ音高レンジを1半音ずつずらした音高の範囲から作成される。具体的には、本実施形態における候補伴奏パートBK1における音高レンジは、C4(ノート番号60)~C#3(ノート番号49)の1オクターブ分の音高の範囲に設定され、候補伴奏パートBK1はかかる範囲で作成される。即ちコードデータCから取得されたコードの根音の音名または分母側の音名の進行が「C→F→G→C」である場合、上記の音高レンジにおいて、これらの音名に該当する音高の音である「C4→F3→G3→C4」が取得され、これらをコードデータCにおける該当するコードの発音タイミングで発音させるように配置したものが、候補伴奏パートBK1とされる。
【0025】
候補伴奏パートBK1に続く候補伴奏パートBK2では、その音高レンジが候補伴奏パートBK1よりも1半音下の音高の範囲に設定される。即ち候補伴奏パートBK2では、B3(ノート番号59)~C3(ノート番号48)が音高レンジに設定される。よって、候補伴奏パートBK2として「C3→F3→G3→C3」が作成される。
【0026】
以下同様に、音高レンジを1半音ずつずらしながら、候補伴奏パートBK3~候補伴奏パートBK12が作成される。これにより、候補伴奏パートBK1~候補伴奏パートBK12による、音高レンジを12半音、即ち1オクターブ分変化させた複数の伴奏パートが作成される。このように作成された候補伴奏パートBK1~候補伴奏パートBK12の中から、編曲後の伴奏パートBbが選択される。
図4を参照して、編曲後の伴奏パートBbを選択する手法を説明する。
【0027】
図4は、候補伴奏パートBK1~候補伴奏パートBK12からの編曲後の伴奏パートBbの選択を説明する図である。候補伴奏パートBK1~候補伴奏パートBK12において、それぞれ以下に説明する評価値Eが算出され、算出された評価値Eに基づいて候補伴奏パートBK1~候補伴奏パートBK12から編曲後の伴奏パートBbが選択される。なお、
図4において、候補伴奏パートBK1~候補伴奏パートBK12のいずれかのことを「候補伴奏パートBKn」(n=1~12の整数)と表す。
【0028】
まず、候補伴奏パートBKnを構成するノートNN1~NN4と、同時に発音する編曲後のメロディパートMbのノートNM1~NM8との音高差D1~D8を算出し、算出された音高差D1~D8による標準偏差Sが算出される。なお、標準偏差Sの算出手法は、公知の手法が適用されるので、詳細な説明は省略する。
【0029】
次に、候補伴奏パートBKnを構成するノートNN1~NN4の音高の平均値Avを算出し、その平均値Avと、特定の音高(本実施形態ではノート番号53)との差分値の絶対値である差分値Dを算出する。更に候補伴奏パートBKnを構成するノートNN1~NN4のうちの最も高い音高と、最も低い音高との音高の差である鍵盤範囲Wが算出される。なお、差分値Dの算出で用いられる特定の音高は、ノート番号53に限られず、53以下でも53以上でも良い。
【0030】
算出されたこれら標準偏差S、差分値D及び鍵盤範囲Wから、以下の数式1によって評価値Eが算出される。
【数1】
なお、数式1で標準偏差S、差分値D及び鍵盤範囲Wに乗じられる係数は、上記に限られず、適宜、任意の値を用いても良い。
【0031】
このような評価値Eが候補伴奏パートBK1~候補伴奏パートBK12の全てで算出され、候補伴奏パートBK1~候補伴奏パートBK12のうち評価値Eの最も小さなものが、編曲後の伴奏パートBbに選択される。
【0032】
以上より、候補伴奏パートBK1~候補伴奏パートBK12は、楽曲データMのコードデータCにおけるコードの根音の音名または分母側の音名のみによって構成される。これにより、ユーザHが左手で演奏する候補伴奏パートBK1~候補伴奏パートBK12においても、その全体として同時に発音される音の数を減少させることができる。
【0033】
ここで、楽曲データMのコードデータCのコードは、その楽曲のコード進行を表すものであり、更にコードにおける根音または分母側の音は、そのコードの基本となる音である。よって、候補伴奏パートBK1~候補伴奏パートBK12をコードの根音または分母側の音で構成することで、楽曲データMのコード進行を適切に維持したものとできる。
【0034】
このように作成された候補伴奏パートBK1~候補伴奏パートBK12から、評価値Eが算出され、評価値Eが最も小さいものが編曲後の伴奏パートBbに選択される。具体的に、評価値Eを構成する標準偏差Sが小さいものを編曲後の伴奏パートBbとすることで、上記したメロディパートMbとの音高差が小さい候補伴奏パートBK1~候補伴奏パートBK12が伴奏パートBbに選択される。これにより、メロディパートMbを演奏するユーザHの右手と伴奏パートを演奏する左手との距離が小さく、更に右手と左手との動きのバラツキが小さい伴奏パートが伴奏パートBbに選択されるので、ユーザHが初心者であっても、演奏し易い編曲データAとできる。
【0035】
評価値Eを構成する差分値Dが小さいものを、編曲後の伴奏パートBbとすることで、伴奏パートBbに含まれる音と特定の音高(即ちノート番号53)の音との音高の差を小さくできる。これにより、伴奏パートBbを演奏するユーザHの左手の移動を、特定の音高の音付近に限定できるので、演奏し易い編曲データAとできる。
【0036】
更に評価値Eを構成する鍵盤範囲Wが小さいものを、編曲後の伴奏パートBbとすることで、伴奏パートBbに含まれる最も高い音高の音と最も低い音高の音との差を小さくできる。これにより、伴奏パートBbを演奏するユーザHの左手の最大の移動量を小さくできるので、演奏し易い編曲データAとできる。
【0037】
評価値Eは、これら標準偏差S、差分値D及び鍵盤範囲Wを加算した値で構成される。よって、かかる評価値Eに応じて候補伴奏パートBK1~候補伴奏パートBK12を伴奏パートBbに選択することで、メロディパートMbを演奏するユーザHの右手と、伴奏パートBbを演奏する左手との距離が小さく、伴奏パートBbに含まれる音と特定の音高の音との音高の差を小さく、更に伴奏パートBbに含まれる最も高い音高の音と最も低い音高の音との差が小さな、ユーザHにとって演奏し易いバランスのとれた伴奏パートを、伴奏パートBbに選択できる。
【0038】
次に
図5,6を参照して、PC1の電気的構成を説明する。
図5(a)は、PC1の電気的構成を示すブロック図である。PC1は、CPU20と、ハードディスク・ドライブ(HDD)21と、RAM22とを有し、これらはバスライン23を介して入出力ポート24にそれぞれ接続されている。入出力ポート24には更に、上記したマウス2と、キーボード3と、表示装置4とが接続される。
【0039】
CPU20は、バスライン23により接続された各部を制御する演算装置である。HDD21は、CPU20により実行されるプログラムや固定値データ等を格納した書き換え可能な不揮発性の記憶装置であり、自動編曲プログラム21aと、楽曲データ21bとが記憶される。CPU20において自動編曲プログラム21aが実行されると、
図7(a)のメイン処理が実行される。楽曲データ21bには、上記した楽曲データMが記憶され、演奏データ21b1とコードデータ21b2とが設けられる。
図5(b),
図6(a)を参照して、演奏データ21b1とコードデータ21b2とを説明する。
【0040】
図5(b)は、演奏データ21b1と後述のメロディデータ22aとを模式的に示す図である。演奏データ21b1は、上記した楽曲データMにおける演奏データPが記憶されるデータテーブルである。演奏データ21b1には、演奏データPにおける各ノートのノート番号と、その開始時刻および発音時間とが対応付けられて記憶される。本実施形態において、開始時刻や発音時間等の時間の単位として「tick」が用いられるが、「秒」や「分」等の他の時間の単位を用いても良い。また、本実施形態の演奏データ21b1に記憶される演奏データPには、上記したメロディパートMaの他に楽曲データMに予め設定されている伴奏パートや装飾音等が含まれるが、メロディパートMaのみが含まれていても良い。
【0041】
図6(a)は、コードデータ21b2と後述の入力コードデータ22bとを模式的に示す図である。コードデータ21b2は、上記した楽曲データMのコードデータCが記憶されるデータテーブルである。コードデータ21b2には、コードデータCにおけるコードの音名(即ちコード名、コードネーム)と、その開始時刻とが対応付けられて記憶される。本実施形態では、コードは同時に1つのみ発音可能とされ、具体的には、コードデータ21b2に記憶されたあるコードがその開始時刻で発音が開始された場合、その次のコードの開始時刻で発音が停止され、その直後に、次のコードの発音が開始される。
【0042】
図5(a)に戻る。RAM22は、CPU20が自動編曲プログラム21aの実行時に各種のワークデータやフラグ等を書き換え可能に記憶するためのメモリであり、メロディデータ22aと、入力コードデータ22bと、候補伴奏テーブル22cと、出力伴奏データ22dと、上記した編曲データAが記憶される編曲データ22eとが設けられる。
【0043】
メロディデータ22aには、上記した楽曲データMのメロディパートMa又は編曲後のメロディパートMbが記憶される。メロディデータ22aのデータ構造は、
図5(b)で上記した演奏データ21b1と同一なので、説明は省略する。メロディデータ22aに記憶されたメロディパートMaのノートを、
図2で上記した手法によって削除することで、メロディデータ22aには、メロディパートMbが記憶される。
【0044】
入力コードデータ22bには、上記した楽曲データ21bのコードデータ21b2から取得したコードデータCが記憶される。入力コードデータ23bのデータ構造は、
図6(a)で上記したコードデータ21b2と同一なので、説明は省略する。
【0045】
候補伴奏テーブル22cは、
図3,4で上記した候補伴奏パートBK1~候補伴奏パートBK12が記憶されるデータテーブルであり、出力伴奏データ22dは、候補伴奏パートBK1~候補伴奏パートBK12から選択された編曲後の伴奏パートBbが記憶されるデータテーブルである。
図6(b),(c)を参照して、候補伴奏テーブル22c及び出力伴奏データ22dを説明する。
【0046】
図6(b)は、候補伴奏テーブル22cを模式的に示す図である。
図6(b)に示す通り、候補伴奏テーブル22cには、候補伴奏パートBK1~候補伴奏パートBK12毎に、ノート番号と、
図4で上記した標準偏差S、差分値D、鍵盤範囲W及び評価値Eとが対応付けられて記憶される。
図6(b)においては、「No.1」が「候補伴奏パートBK1」に該当し、「No.2」が「候補伴奏パートBK2」に該当し、同様に「No.3」~「No.12」がそれぞれ「候補伴奏パートBK3」~「候補伴奏パートBK12」に該当する。
【0047】
図6(c)は、出力伴奏データ22dを模式的に示す図である。
図6(c)に示す通り、出力伴奏データ22dには、候補伴奏パートBK1~候補伴奏パートBK12から選択された編曲後の伴奏パートBbにおける、ノート番号と、各ノート番号の開始時刻とが対応付けられて記憶される。出力伴奏データ22dにおいても、
図6(a)のコードデータ21b2と同様に、出力伴奏データ22dに記憶されたあるノート番号の音がその開始時刻で発音が開始された場合、その次のノート番号の音の開始時刻で発音が停止され、その直後に、次のノート番号の音の発音が開始される。
【0048】
次に、
図7~9を参照して、PC1のCPU20で実行されるメイン処理を説明する。
図7(a)は、メイン処理のフローチャートである。メイン処理は、PC1において自動編曲プログラム21aの実行指示が行われた場合に、実行される処理である。
【0049】
メイン処理はまず、楽曲データ21bから楽曲データMを取得する(S1)。なお、楽曲データMの取得先は楽曲データ21bに限られず、例えば、図示しない通信装置を介して他のPC等から取得しても良い。
【0050】
S1の処理の後、取得した楽曲データMにクオンタイズ処理し、ハ長調またはイ短調へトランスポーズ(移調)処理を行う(S2)。クオンタイズ処理は、リアルタイム録音を行った際の、わずかな発音タイミングのずれを補正する処理である。
【0051】
楽曲データMに含まれるノートは、生演奏を録音することによって記録される場合があり、その場合は発音タイミングがわずかにずれることがある。そこで、楽曲データMにクオンタイズ処理を行うことで、楽曲データMに含まれるノートの発音の開始時刻や停止時刻を補正できるので、楽曲データMに含まれるノートのうち、同時に発音が開始されるノート等を正確に特定し、
図2で上記した外声ノートVgや内声ノートViの特定を正確にすることができる。
【0052】
また、楽曲データMをハ長調またはイ短調へトランスポーズ(移調)処理することで、楽曲データMを編曲した編曲データAを鍵盤楽器で演奏する場合に、黒鍵を使用する頻度を低下させることができる。
図9(a),(b)を参照して、楽曲データMのトランスポーズ処理の前後を比較する。
【0053】
図9(a)は、楽曲データMを楽譜形式で示した図であり、
図9(b)は、トランスポーズ処理された楽曲データMを楽譜形式で示した図である。
図9(a)~(c)においては、ヘンデル作曲の「オンブラ・マイ・フ」の一部を楽曲データMとして、かかる楽曲データMから編曲データAを作成する例を表している。
図9(a)~(c)において、楽譜の上段側(即ちト音記号側)が、メロディパートを表し、楽譜の下段側(即ちヘ音記号側)が、伴奏パートを表し、楽譜の上部に記載されるGやD7/A等が、コードを表す。即ち
図9(a)における楽譜の上段が、メロディパートMaを表す。
【0054】
図9(a)に示す通り、楽曲データMの「調」は「ト長調」とされる。ト長調における長音階には、鍵盤楽器の白鍵と共に黒鍵を用いるものが含まれるので、演奏する技量が低いユーザHにとっては演奏し難い「調」とされる。そこで、
図7(a)のS2の処理で、楽曲データMの「調」を、長音階が鍵盤楽器の白鍵のみで構成される「ハ長調」へトランスポーズ処理することで、ユーザHが黒鍵を操作する頻度を低下させることができる。これにより、ユーザHにとって演奏し易くすることができる。この際、楽曲データにおけるコードデータCも、同様に「ハ長調」へトランスポーズ処理される。
【0055】
なお、クオンタイズ処理やトランスポーズ処理は公知技術によって行われるので、これらの詳細の説明は省略する。また、S2の処理においてクオンタイズ処理やトランスポーズ処理を共に行うものに限られず、例えば、クオンタイズ処理のみを行っても良いし、トランスポーズ処理のみを行っても良いし、クオンタイズ処理およびトランスポーズ処理を省略しても良い。更にトランスポーズ処理は、「ハ長調」に変換するものに限られず、ト長調等の他の調に変換しても良い。
【0056】
図7(a)に戻る。S2の処理の後、クオンタイズ処理およびトランスポーズ処理された楽曲データMの演奏データPからメロディパートMaを抽出し、メロディデータ22aに保存する(S3)。なお、演奏データPからメロディパートMaを抽出する手法は、公知技術によって実行されるので、その説明は省略する。S3の処理の後、クオンタイズ処理およびトランスポーズ処理された楽曲データMのコードデータCを入力コードデータ22bに保存する(S4)。
【0057】
S4の処理の後、メロディパート処理(S5)を実行する。
図7(b)を参照して、メロディパート処理を説明する。
【0058】
図7(b)は、メロディパート処理のフローチャートである。メロディデータ22aのメロディパートMaから編曲後のメロディパートMbを作成する処理である。メロディパート処理はまず、メロディデータ22aにおける位置(即ち
図5(b)における「No.」)を表すカウンタ変数Nに0を設定する。
【0059】
S20の処理の後、メロディデータ22aからN番目のノートを取得する(S21)。S21の処理の後、S21で取得したN番目のノートと同一の開始時刻かつN番目のノートよりも低い音高、即ちN番目のノートのノート番号よりも小さいノート番号のノートをメロディデータ22aから削除する(S22)。S22の処理の後、N番目のノートの発音期間内に発音の開始から停止されるノートであって、N番目のノートよりも低い音高のノートをメロディデータ22aから削除する(S23)。
【0060】
S23の処理の後、カウンタ変数Nに1を加算し(S24)、カウンタ変数Nがメロディデータ22aのノートの数よりも大きいかを確認する(S25)。S25の処理において、カウンタ変数Nがメロディデータ22aのノートの数以下の場合は、S21以下の処理を繰り返し、S25の処理において、カウンタ変数Nがメロディデータ22aのノートの数よりも大きい場合は、メロディパート処理を終了する。
【0061】
即ちS22,S23の処理によって、N番目のノートが外声ノートVgであった場合は、メロディデータ22aにおけるN番目のノートと同一の開始時刻で、かつN番目のノートよりも音高が低いノートが内声ノートViと特定されてメロディデータ22aから削除される。更にN番目のノートの発音期間内に発音の開始から停止されるノートであって、N番目のノートよりも低い音高のノートも、内声ノートViに特定されてメロディデータ22aから削除される。このような処理をメロディデータ22aに記憶される全てのノートで行うことで、メロディデータ22aには楽曲データMのメロディパートMaから内声ノートViが削除された、編曲後のメロディパートMbが記憶される。
【0062】
図7(a)に戻る。S5のメロディパート処理の後、伴奏パート処理(S6)を実行する。
図8を参照して、伴奏パート処理を説明する。
【0063】
図8は、伴奏パート処理のフローチャートである。伴奏パート処理は、入力コードデータ22bのコードに基づいて
図3で上記した候補伴奏パートBK1~BK12を作成し、作成された候補伴奏パートBK1~BK12から編曲後の伴奏パートBbを選択する処理である。
【0064】
伴奏パート処理はまず、
図3で上記した音高レンジにおける最も高い音高のノート番号を表す最高ノートに「60(C4)」を、音高レンジにおける最も低い音高のノート番号を表す最低ノートに「49(C#3)」をそれぞれ設定する(S40)。
図3で説明した通り、候補伴奏パートBK1における音高レンジは「60(C4)~49(C#3)」なので、「60(C4)」が最高ノートの初期値に、そして「49(C#3)」が最低ノートの初期値にそれぞれ設定される。
【0065】
S40の処理の後、候補伴奏テーブル22cの位置(即ち
図6(b)における「No.」)を表すカウンタ変数Mに1を設定し(S41)、入力コードデータ22bの位置(即ち
図6(a)における「No.」)を表すカウンタ変数Kに1を設定する(S42)。
【0066】
S42の処理の後、入力コードデータ22bのK番目のコードの根音の音名、またはK番目のコードが分数コードである場合は、分母側の音名を取得する(S43)。S43の処理の後、音高レンジの最高ノートから最低ノートにおけるS43の処理で取得した音名に該当するノート番号を取得し、候補伴奏テーブル22cのM番目のコードに追加する(S44)。
【0067】
例えば、音高レンジの最高ノートが60(C4)、最低ノートが49(C#3)である場合に、S43の処理で取得された音名が「C」である場合は、かかる音高レンジ内の「C」に該当する音高である「C4」が取得され、候補伴奏テーブル22cにそのノート番号が追加される。
【0068】
S44の処理の後、カウンタ変数Kに1を加算し(S45)、カウンタ変数Kが入力コードデータ22bに記憶されるコード数よりも大きいかを確認する(S46)。S46の処理において、カウンタ変数Kが入力コードデータ22bに記憶されるコード数以下の場合は(S46:No)、入力コードデータ22bに未処理のコードが含まれているので、S43以下の処理を繰り返す。
【0069】
S46の処理において、カウンタ変数Kが入力コードデータ22bに記憶されるコード数より大きいの場合は(S46:No)、入力コードデータ22bのコードから候補伴奏パートBK1~BK12のうちのM番目の伴奏パートの作成が完了したと判断される。そこで
図4で上記した、作成された候補伴奏テーブル22cのM番目の各音と、同時に発音されるメロディデータ22aの編曲後のメロディパートMbの音との音高差による標準偏差Sを算出し、候補伴奏テーブル22cのM番目に保存する(S47)。
【0070】
S47の処理の後、
図4で上記した候補伴奏テーブル22cのM番目に含まれる音の音高の平均値Avを算出し(S48)、算出された平均値Avとノート番号53との差である差分値Dを算出し、候補伴奏テーブル22cのM番目に保存する(S49)。S49の処理の後、
図4で上記した候補伴奏テーブル22cのM番目に含まれる音のうち、最も高い音高の音と、最も低い音高の音との音高の差である鍵盤範囲Wを算出し、候補伴奏テーブル22cのM番目に保存する(S50)。
【0071】
S50の処理の後、候補伴奏テーブル22cのM番目に記憶された標準偏差S、差分値D及び鍵盤範囲Wから上記した数式1を用いて評価値Eを算出し、候補伴奏テーブル22cのM番目に保存する(S51)。
【0072】
S51の処理の後、次の候補伴奏パートBK1~BK12の作成のため、音高レンジの最高ノート及び最低ノートをそれぞれ1減算することで、音高レンジを1半音下の音高の範囲に設定する(S52)。S52の処理の後、カウンタ変数Mに1を加算し(S53)、カウンタ変数Mが12よりも大きいかを確認する(S54)。S54の処理において、カウンタ変数Mが12以下の場合は(S54:No)、未作成の候補伴奏パートBK1~BK12が存在するので、S42以下の処理を繰り返す。
【0073】
S54の処理において、カウンタ変数Mが12より大きい場合は(S54:Yes)、候補伴奏テーブル22cのうち評価値Eが最小の候補伴奏パートBK1~BK12を取得し、取得された候補伴奏パートBK1~BK12を構成する音のノート番号と、入力コードデータ22bから取得された各ノート番号に該当するコードの開始時刻とを、出力伴奏データへ保存する(S55)。S55の処理の後、伴奏パート処理を終了する。
【0074】
これにより、入力コードデータ22bのコードから、コードの根音または分母側の音のみによる候補伴奏パートBK1~BK12が作成され、これらのうち評価値Eが最も小さいものが、伴奏パートBbとして出力伴奏データ22dに記憶される。
【0075】
図7(a)に戻る。S6の伴奏パート処理の後、メロディデータ22aと出力伴奏データ22dとから、編曲データAを作成し、編曲データ22eに保存する(S7)。具体的には、メロディデータ22aの編曲後のメロディパートMbをメロディパートとし、出力伴奏データ22dの伴奏パートBbを伴奏パートとした編曲データAが作成され、編曲データ22eに保存される。この際、伴奏パートBbの各音に該当するコード進行も編曲データ22eに保存しても良い。
【0076】
S7の処理の後、編曲データ22eに記憶された編曲データAを楽譜形式にして表示装置4に表示し(S8)、メイン処理を終了する。ここで、楽曲データMから作成された編曲データAについて、
図9(b),(c)を用いて説明する。
【0077】
図9(c)は、編曲データAを楽譜形式で示した図である。
図9(b)に示す、
図9(a)の楽曲データMをトランスポーズ処理した楽譜において、メロディパートMa(即ち楽譜の上段、ト音記号側)には、2以上の音を同時に発生させるものが複数含まれており、演奏技能が低いユーザHにとっては、演奏し難いものとなっている。
【0078】
そこで、かかるメロディパートMaにおいて同一に発音が開始されるノートのうち、音高が最も高いノートが外声ノートVgに、その外声ノートVgよりも音高が低いノートN2が内声ノートViに特定され、更に外声ノートVgに特定されたノートの発音期間内に、発音開始から発音停止までが行われるノートを取得し、更に内声ノートViに特定される。そして、メロディパートMaから内声ノートViを削除することで、
図9(c)におけるメロディパートMbのように、同時に発音される音の数を減少させることができる。これにより、ユーザHにとって演奏し易いメロディパートMbとできる。
【0079】
また、編曲データAに含まれる外声ノートVgは、楽曲データMのメロディパートMaのうち音高が高く、聴取者にとって目立って聞こえる音によって構成される。これにより、編曲データAのメロディパートMbを、楽曲データMのメロディパートMaらしさを維持したものとすることができる。
【0080】
一方で編曲データAにおける伴奏パートBb(即ち
図9(c)における楽譜の下段、ヘ音記号側)は、楽曲データMのコードデータCのコードの根音または分母側の音のみから作成される。これにより、伴奏パートBbにおいてもその全体として同時に発音される音の数が減少されるので、ユーザHにとって演奏し易い伴奏パートBbとできる。
【0081】
ここで、楽曲データMのコードデータCのコードは、その楽曲のコード進行を表すものであり、更にコードにおける根音または分母側の音は、そのコードの基本となる音である。よって、伴奏パートBbをコードの根音または分母側の音で構成することで、楽曲データMのコード進行を適切に維持したものとできる。
【0082】
更にコードデータCのコードは、楽曲データMに元々含まれる伴奏パート(即ち
図9(b)の楽譜の下段、ヘ音記号側)よりも音が変化する頻度が一般的に低い。よって、楽曲データMのコードデータCから伴奏パートBbを作成することで、伴奏パートBbにおいて音を変化させる頻度を低下させることができる。更に、コードの和音構成が根音または分母側の音のみとなるので、同時に発音される音の数も減少される。これによっても、ユーザHにとって演奏し易い伴奏パートBbとできる。
【0083】
以上、上記実施形態に基づき説明したが、種々の改良変更が可能であることは容易に推察できるものである。
【0084】
上記実施形態では、外声ノートVgを楽曲データMにおいて開始時刻が同一のノートのうち、音高が最も高いものを選択した。しかし、これに限られず、楽曲データMにおいて開始時刻が同一のノートのうち、音高が最も高く且つ発音時間が所定時間(例えば4分音符に相当する時間)以上のノートを、外声ノートVgとして特定しても良い。これにより、発音時間が所定時間よりも短く、短時間で和音を同時に発音するような場合には、外声ノートVgが特定されず、かかる和音を編曲後のメロディパートMbに残すことができるので、編曲後のメロディパートMbを、楽曲データMのメロディパートMaらしさをより好適に維持したものとできる。
【0085】
上記実施形態では、外声ノートVgの発音期間内に、発音の開始から停止までが行われるノートを内声ノートViと特定した。しかし、これに限られず、外声ノートVgの発音期間内に、発音の開始される全てのノートを内声ノートViと特定しても良い。また、外声ノートVgの発音期間内に発音が開始され、外声ノートVgの発音停止後に発音が停止されるノートのうち、発音時間が所定時間(例えば4分音符に相当する時間)以下のノートを、内声ノートViと特定しても良い。
【0086】
上記実施形態では、候補伴奏パートBK1~候補伴奏パートBK12の作成において、音高レンジを1半音ずつ下にずらしたものをそれぞれ設定した。しかし、これに限られず、音高レンジを1半音ずつ上にずらしても良い。また、音高レンジは1半音ずつずらすものに限られず、2半音以上ずつずらしても良い。
【0087】
上記実施形態では、標準偏差Sを用いて、候補伴奏パートBK1~候補伴奏パートBK12と編曲後のメロディパートMbとの音高差による標準偏差Sを用いて、これらの音高差の状態を評価した。しかし、これに限られず、候補伴奏パートBK1~候補伴奏パートBK12と編曲後のメロディパートMbとの音高差における平均値や中央値、分散等の他の指標によって、これらの音高差の状態を評価しても良い。
【0088】
上記実施形態では、
図8のS47~S51の処理において、候補伴奏パートBK1~候補伴奏パートBK12の作成時に、候補伴奏パートBK1~候補伴奏パートBK12の全てを候補伴奏テーブル22cに記憶し、S55の処理で候補伴奏テーブル22cのうち、最も評価値Eの小さいものを伴奏パートBbに選択した。しかし、これに限られず、予め標準偏差S、差分値D及び鍵盤範囲Wの上限値(例えば、標準偏差Sの上限値:「8」、差分値Dの上限値:「8」、鍵盤範囲Wの上限値:「6」等)を設定しておき、標準偏差S、差分値D及び鍵盤範囲Wが全て上限値以下となった候補伴奏パートBK1~候補伴奏パートBK12を候補伴奏テーブル22cに記憶しても良い。これにより、候補伴奏テーブル22cに記憶される候補伴奏パートBK1~候補伴奏パートBK12を低減できるので、候補伴奏テーブル22cに要する記憶容量や、S55の処理の評価値Eに基づく伴奏パートBbの選択を迅速にすることができる。
【0089】
上記実施形態では、編曲データAを編曲後のメロディパートMbと伴奏パートBbとから作成した。しかし、これに限られず、編曲データAを編曲後のメロディパートMbと、楽曲データMから抽出された伴奏パートとから作成しても良いし、楽曲データMのメロディパートMaと編曲後の伴奏パートBbとから作成しても良い。また、編曲データAを編曲後のメロディパートMbのみから作成しても良いし、編曲データAを編曲後の伴奏パートBbのみから作成しても良い。
【0090】
上記実施形態では、楽曲データMを演奏データPとコードデータCとで構成した。しかし、これに限られず、例えば、楽曲データMからコードデータCを省略し、公知技術によって楽曲データMの演奏データPからコードを認識し、認識されたコードからコードデータCを構成しても良い。
【0091】
上記実施形態では、
図7(a)のS8の処理において、編曲データAを楽譜形式にして表示した。しかし、編曲データAを出力するのはこれに限られず、例えば、編曲データAを再生し、その楽音を図示しないスピーカから出力しても良いし、編曲データAを図示しない通信装置によって他のPCに送信しても良い。
【0092】
上記実施形態では、自動編曲プログラム21aを実行するコンピュータとして、PC1を例示したが、これに限られず、スマートフォン、タブレット端末等の情報処理装置や電子楽器で自動編曲プログラム21aを実行しても良い。また、自動編曲プログラム21aをROM等に記憶し、自動編曲プログラム21aのみを実行する専用装置(自動編曲装置)に、本発明を適用しても良い。
【0093】
上記実施形態に挙げた数値は一例であり、他の数値を採用することは当然可能である。
【符号の説明】
【0094】
1 PC(コンピュータ)
21a 自動編曲プログラム
M 楽曲データ
Ma メロディパート
Vg 外声ノート
Vi 内声ノート
Mb 編曲後のメロディパート
A 編曲データ
S1 楽曲取得ステップ、楽曲取得手段
S3 メロディ取得ステップ、メロディ取得手段
S7 編曲データ作成ステップ、編曲データ作成手段
S22,S23 外声特定ステップ、外声特定手段、内声特定ステップ、内声特定手段、編曲メロディ作成ステップ、編曲メロディ作成手段
S4 コード情報取得ステップ、コード情報取得手段
S43 音名取得ステップ、音名取得手段
S6 編曲伴奏作成ステップ
S41~S54 範囲変化ステップ、範囲変化手段
S44 候補伴奏作成ステップ、候補伴奏作成手段
S47~S55 選択ステップ、選択手段