IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ パナソニック株式会社の特許一覧 ▶ クラウド・テン株式会社の特許一覧

特許7274082音楽生成装置、音楽生成方法、及び音楽生成プログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-08
(45)【発行日】2023-05-16
(54)【発明の名称】音楽生成装置、音楽生成方法、及び音楽生成プログラム
(51)【国際特許分類】
   G10G 1/00 20060101AFI20230509BHJP
   G10H 1/00 20060101ALI20230509BHJP
【FI】
G10G1/00
G10H1/00 102Z
【請求項の数】 16
(21)【出願番号】P 2021133991
(22)【出願日】2021-08-19
(65)【公開番号】P2023028345
(43)【公開日】2023-03-03
【審査請求日】2021-08-31
(73)【特許権者】
【識別番号】000005821
【氏名又は名称】パナソニックホールディングス株式会社
(73)【特許権者】
【識別番号】516168780
【氏名又は名称】クラウド・テン株式会社
(74)【代理人】
【識別番号】100115381
【弁理士】
【氏名又は名称】小谷 昌崇
(74)【代理人】
【識別番号】100118049
【弁理士】
【氏名又は名称】西谷 浩治
(72)【発明者】
【氏名】南方 郁夫
(72)【発明者】
【氏名】針谷 爽
(72)【発明者】
【氏名】松田 剛英
【審査官】菊池 智紀
(56)【参考文献】
【文献】特開2017-215375(JP,A)
【文献】特開平09-120283(JP,A)
【文献】深山覚、外5名,音楽要素の分解再構成に基づく日本語歌詞からの旋律自動作曲,情報処理学会論文誌,日本,情報処理学会,2013年05月15日,第54巻、第5号,第1709-1720頁
(58)【調査した分野】(Int.Cl.,DB名)
G10G 1/00-7/02
G10H 1/00-7/12
(57)【特許請求の範囲】
【請求項1】
音楽を生成する音楽生成装置であって、
第1ストリームデータ及び前記第1ストリームデータとは異なる第2ストリームデータを取得する取得部と、
前記第1ストリームデータの変化に基づいて伴奏を示す音楽データである伴奏情報を生成する伴奏生成部と、
前記第2ストリームデータの変化に基づいて、メロディを示す音楽データであるメロディ情報を生成するメロディ生成部と、
生成された前記伴奏情報が示す伴奏の和音に合うように、前記メロディ情報が示すメロディの1拍の音高を調整するメロディ調整部と、
前記伴奏情報と調整された前記メロディ情報とを合成して曲情報を生成する音楽合成部と、
生成された曲情報を出力する出力部と、を備え、
前記メロディ調整部は、前記メロディの1拍を構成する音が同時刻に置かれた伴奏の和音を構成する音以外の音である場合、当該音の音高を、当該伴奏の和音を構成する音のうち最も近い音の音高に移動させる、
音楽生成装置。
【請求項2】
前記第2ストリームデータは、複数のストリームデータを含み、
前記メロディ生成部は、各ストリームデータの変化に基づいて複数のメロディを示す前記メロディ情報を生成する、
請求項1記載の音楽生成装置。
【請求項3】
前記伴奏生成部は、小節単位で前記伴奏情報を生成し、
前記メロディ生成部は、拍単位で前記メロディ情報を生成する、
請求項1又は2記載の音楽生成装置。
【請求項4】
前記メロディ生成部は、前記第2ストリームデータの変化に基づいて、前記メロディの上昇又は下降、リズム、和音、音量、及び楽器の少なくとも一つを変化させる、
請求項1~3のいずれかに記載の音楽生成装置。
【請求項5】
前記メロディ生成部は、前記第2ストリームデータの変化量が所定の閾値より大きい場合、前記変化量に基づいて前記メロディの上昇又は下降の傾きを変化させ、前記変化量が所定の閾値より小さい場合、前記メロディの上昇又は下降の傾きを変化させない、
請求項1~4のいずれかに記載の音楽生成装置。
【請求項6】
前記メロディ生成部は、前記第2ストリームデータの変化量が所定の閾値より大きい場合、前記メロディの1拍を複数の音符で表される音で構成し、前記変化量が所定の閾値よりも小さい場合、前記メロディの1拍を1つの音符で表される音で構成してリズムを表現する、
請求項1~5のいずれかに記載の音楽生成装置。
【請求項7】
前記メロディ生成部は、前記第2ストリームデータの変化量が所定の閾値より大きい場合、前記メロディの1拍を和音を含む音で構成し、前記第2ストリームデータの変化量が所定の閾値よりも小さい場合、前記メロディの1拍を単音で構成する、
請求項1~6のいずれかに記載の音楽生成装置。
【請求項8】
前記メロディ生成部は、前記第2ストリームデータの変化量が所定の閾値より大きい場合、前記メロディの音量が第1音量に設定され、前記第2ストリームデータの変化量が所定の閾値よりも小さい場合、前記メロディの音量が前記第1音量よりも小さい第2音量に設定される、
請求項1~7のいずれかに記載の音楽生成装置。
【請求項9】
前記メロディ生成部は、前記メロディの上昇又は下降、前記リズム、及び前記和音は、拍単位で変化させ、前記音量は小節単位で変化させ、前記楽器は曲単位又は小節単位で変化させる、
請求項4記載の音楽生成装置。
【請求項10】
前記メロディ調整部は、前記メロディの1拍を構成する複数の音のうち、前記伴奏が有する和音に含まれない音については、当該音の音高を、前記和音のうち最も近い音の音高に移動させる、
請求項1~9のいずれかに記載の音楽生成装置。
【請求項11】
前記メロディの激しさを示す複数のレベルに応じた複数の決定関数をさらに備え、
各レベルは、前記第2ストリームデータの変化量を区画する複数のバンドを備え、
各決定関数は、前記複数のバンドのそれぞれに対応する前記メロディの設定内容を規定する関数であり、
前記メロディ生成部は、前記複数のレベルの中からいずれかのレベルに対応する決定関数を設定し、設定された前記決定関数の設定内容に基づいて前記メロディを生成する、
請求項1~10のいずれかに記載の音楽生成装置。
【請求項12】
前記決定関数が規定するメロディの設定内容は、前記メロディの上昇又は下降の傾き、1拍のリズム、及び1拍に含ませる和音の確率、の少なくとも1つを含む、
請求項11記載の音楽生成装置。
【請求項13】
複数のメロディのそれぞれについて鳴らす又は鳴らさないかの条件を予め規定する発火条件をさらに備え、
前記メロディ生成部は、前記発火条件を満足する1以上のメロディを前記メロディ情報に含ませる、
請求項1~12のいずれかに記載の音楽生成装置。
【請求項14】
前記発火条件は、第2ストリームデータの変化量がある閾値を越えた場合、設定した時間条件を満足した場合、設定したイベントが発生した場合のいずれかを含む、
請求項13に記載の音楽生成装置。
【請求項15】
音楽を生成する音楽生成装置における音楽生成方法であって、
前記音楽生成装置のプロセッサが、
第1ストリームデータ及び前記第1ストリームデータとは異なる第2ストリームデータを取得し、
前記第1ストリームデータの変化に基づいて伴奏を示す音楽データである伴奏情報を生成し、
前記第2ストリームデータの変化に基づいて、メロディを示す音楽データであるメロディ情報を生成し、
生成された前記伴奏情報が示す伴奏の和音に合うように、前記メロディ情報が示すメロディの1拍の音高を調整し、
前記伴奏情報と調整された前記メロディ情報とを合成して曲情報を生成し、
生成された曲情報を出力し、
前記音高の調整では、前記メロディの1拍を構成する音が同時刻に置かれた伴奏の和音を構成する音以外の音である場合、当該音の音高を、当該伴奏の和音を構成する音のうち最も近い音の音高に移動させる、
音楽生成方法。
【請求項16】
音楽を生成する音楽生成装置における音楽生成プログラムであって、
前記音楽生成装置のプロセッサに、
第1ストリームデータ及び前記第1ストリームデータとは異なる第2ストリームデータを取得し、
前記第1ストリームデータの変化に基づいて伴奏を示す音楽データである伴奏情報を生成し、
前記第2ストリームデータの変化に基づいて、メロディを示す音楽データであるメロディ情報を生成し、
生成された前記伴奏情報が示す伴奏の和音に合うように、前記メロディ情報が示すメロディの1拍の音高を調整し、
前記伴奏情報と調整された前記メロディ情報とを合成して曲情報を生成し、
生成された曲情報を出力する、処理を実行させ、
前記音高の調整では、前記メロディの1拍を構成する音が同時刻に置かれた伴奏の和音を構成する音以外の音である場合、当該音の音高を、当該伴奏の和音を構成する音のうち最も近い音の音高に移動させる、
音楽生成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、入力データに基づいて音楽を自動生成する技術に関するものである。
【背景技術】
【0002】
特許文献1は、車両の外部環境センサの出力信号に基づき「曲」を生成し、障害物センサの出力信号に基づき「効果音」を生成し、両センサのうち少なくとも一方のセンサからの出力信号の変化に応じて、生成された「曲」及び「効果音」を変化させて、障害物による危険度に対応した音楽を作成する技術を開示する。
【0003】
特許文献2は、環境検出センサの出力信号又は対象検出センサの出力信号に基づいて曲を示す音楽データを生成し、車両の危険性に応じて、曲のスケール、和音、タイミング、及びテンポを変化させる技術を開示する。
【先行技術文献】
【特許文献】
【0004】
【文献】特許第6575101号公報
【文献】特許第6398960号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1、2の技術では、入力データに対する追従性と音楽の情緒性とのバランスが図られていないため、さらなる改善の必要がある。ここで、入力データに対する追従性とは、例えば入力データの傾向変化を反映して音楽の曲調を変化させる等、入力データの変化に対して音楽が追従していくことを意味する。
【0006】
本開示は、このような課題を解決するためになされたものであり、入力データに対する追従性と情緒性とのバランスが図られた音楽を生成することを目的とする。
【課題を解決するための手段】
【0007】
本開示の一態様における音楽生成装置は、音楽を生成する音楽生成装置であって、第1ストリームデータ及び前記第1ストリームデータとは異なる第2ストリームデータを取得する取得部と、前記第1ストリームデータの変化に基づいて伴奏を示す音楽データである伴奏情報を生成する伴奏生成部と、前記第2ストリームデータの変化に基づいて、メロディを示す音楽データであるメロディ情報を生成するメロディ生成部と、生成された前記伴奏情報が示す伴奏の調に合わせて、前記メロディ情報を調整するメロディ調整部と、前記伴奏情報と調整された前記メロディ情報とを合成して曲情報を生成する音楽合成部と、生成された曲情報を出力する出力部と、を備える。
【発明の効果】
【0008】
本開示によれば、入力データに対する追従性と情緒性とのバランスが図られた音楽を生成することができる。
【図面の簡単な説明】
【0009】
図1】本開示の実施の形態1における音楽生成装置の構成の一例を示すブロック図である。
図2A】メロディの上昇または下降を決定する決定関数の仕組みを示す図である。
図2B】メロディの上昇または下降を決定する決定関数の仕組みを示す図である。
図2C】メロディの上昇または下降を決定する決定関数の仕組みを示す図である。
図3A】メロディのリズムを決定する決定関数の仕組みを示す図である。
図3B】メロディのリズムを決定する決定関数の仕組みを示す図である。
図3C】メロディのリズムを決定する決定関数の仕組みを示す図である。
図4A】メロディ音を操作してメロディのリズム変化させる仕組みを示す図である。
図4B】メロディ音を操作してメロディのリズム変化させる仕組みを示す図である。
図5A】メロディの和音の使用の有無を決定する決定関数の仕組みを示す図である。
図5B】メロディの和音の使用の有無を決定する決定関数の仕組みを示す図である。
図6】本開示の実施の形態1における音楽生成装置の処理の一例を示すフローチャートである。
図7A】本開示の実施の形態2における音楽生成装置の構成の一例を示すブロック図である。
図7B】レベルに応じた決定関数を纏めた表である。
図8】本開示の実施の形態3における音楽生成装置の構成の一例を示すブロック図である。
図9A】各メロディの設定状況を示した表である。
図9B図9Aの表の設定状況を示した表である。
図10】本開示の実施の形態3における音楽生成装置の処理の一例を示すフローチャートである。
図11】本開示の実施の形態4に係る音楽生成システムの全体構成の一例を示す図である。
【発明を実施するための形態】
【0010】
(本開示の基礎となる知見)
視覚を用いて情報の状態又は変化を伝達する手法は世の中で広く用いられている。グラフや表がその代表例である。視覚を用いた情報表現は、定量性及び正確性に富むという長所を持つ一方、表現された記号や文字を注視して、それを逐次解釈しなければ意味を理解できない、という弱点もある。また、視覚を用いた情報表現は、その情報を伝えたい相手の視野にその情報が入らない場合には、その情報が相手に伝わらない、という欠点もある。
【0011】
一方、聴覚を利用した情報表現は、視覚による情報表現と比較すると、これまでその応用は限定されていた。聴覚を利用した情報表現の多くは、ブザー音などによる「警告」のレベルにとどまっており、伝達される情報量は非常に少ない。しかし、聴覚による情報表現は、集中していなくても情報の概要を理解できる、多人数且つ広範囲に情報が伝わる、などの視覚による情報表現にはない長所がある。その一方、定量性に欠けるという短所がある。
【0012】
聴覚を利用した情報表現は、「合図」、「言語」、「音楽」の3つに分類されると言われる(大橋力、「音と文明-音の環境学ことはじめ」、岩波書店、2003年10月28日)。
【0013】
「合図」は何らかの状態変化を単発の音(ブザー音など)で表現したものである。「合図」では、音色を変える、音を連続的に鳴らす、などのバリエーションで複数種の情報を表現する工夫がなされているが、基本的にはその情報表現能力は低く、シンプルなメッセージしか伝えられない。
【0014】
「言語」はヒトの話し言葉である。「言語」は、音声で符号化された言語情報であるので、非常にリッチな情報表現能力を持っている。
【0015】
「音楽」は前者2つとは異なり、音の高低、リズム、及び和音などの技法により、楽音で感情や雰囲気などの「情緒」を表現することができる芸術的な情報表現手段である。
【0016】
情報システムのユーザーインターフェイス(出力インターフェイス)においては、従来、視覚では対応できない場合、又は視覚を補完する目的で、様々な聴覚インターフェイスが実現されてきた。イベントの発生を知らせるブザー音(合図の一種)、text-to-speech、音声応答の音声合成メッセージ(言語の一種)などの例がある。
【0017】
しかし、これらの聴覚インターフェイスは、周囲に流れている音との音響的調和が考慮されておらず、また多くの場合は突然に発音されるため、感性的に優れたユーザーインターフェイスとは言えない。
【0018】
このような聴覚インターフェイスの欠点に対して、「音楽」を用いて、情緒を表現しながら情報を伝達するという手法で改善することが考えられる。
【0019】
例えば、ある状況において、その状況の持つ雰囲気を表すような音楽が音響的な背景(バックグラウンド音楽)として流れている状態において、伝達したい情報をバックグラウンド音楽とは別の音楽(フォアグラウンド音楽)に変換して、それをバックグラウンド音楽と音楽的に整合、合体させて演奏する、という手法が考えられる。
【0020】
すなわち、バックグラウンド音楽としてゆったりとした音楽(いわゆるBGM音楽)が流れている中で、注意を払うべき情報に変化があったときにはそれに対応するフォアグラウンド音楽を変動させることにより、注意を払うべき情報の変化を音楽の変化で伝える、という手法である。
【0021】
ここで、バックグラウンド音楽は、比較的長いサイクルで変動する音楽であり、ヒーリング音楽などの特にテーマや方向性の無い音楽であってもよいが、季節、時刻、天候、気温、周囲の状況などを反映した音楽のほうがより感性的にふさわしくなる。
【0022】
一方、フォアグラウンド音楽は、注意を払うべき情報に変化があったときには、その変化量に応じて即座に音の流れが変化する音楽である。すなわち、フォアグラウンド音楽はデータの変化に対する追従性が高い。
【0023】
ここで言う「バックグランド音楽」及び「フォアグラウンド音楽」は、1つの音楽として合体して演奏されるものであり、一般的にはそれぞれ「伴奏」及び「メロディ(または旋律)」と呼ばれることが多い。以下ではそれぞれを伴奏、メロディと呼ぶ。
【0024】
このような伴奏とメロディを組み合わせた音楽を用いることにより、入力データに対する追従性と音楽の情緒性との良いバランスを保ったまま、周囲の環境変化を聴覚によって伝達することができる、との知見が得られた。
【0025】
上述の特許文献1、2は、いずれも、車両に設けられたセンサからの出力信号に基づいて音楽を変化させる技術であり、危険性に応じてバックグラウンド音楽(伴奏)とフォアグラウンド音楽(メロディ)との変更は行われていない。そのため、特許文献1、2は、入力データに対する追従性と音楽の情緒性とのバランスを保つことができる音楽を生成することはできない。
【0026】
本開示は、このような知見に基づいてなされたものである。
【0027】
本開示の一態様における音楽生成装置は、音楽を生成する音楽生成装置であって、第1ストリームデータ及び前記第1ストリームデータとは異なる第2ストリームデータを取得する取得部と、前記第1ストリームデータの変化に基づいて伴奏を示す音楽データである伴奏情報を生成する伴奏生成部と、前記第2ストリームデータの変化に基づいて、メロディを示す音楽データであるメロディ情報を生成するメロディ生成部と、生成された前記伴奏情報が示す伴奏の調に合わせて、前記メロディ情報を調整するメロディ調整部と、前記伴奏情報と調整された前記メロディ情報とを合成して曲情報を生成する音楽合成部と、生成された曲情報を出力する出力部と、を備える。
【0028】
この構成によれば、第2ストリームデータの変化に基づいて生成されたメロディ情報の示すメロディが、第1ストリームデータの変化に基づいて生成された伴奏情報の示す伴奏の調に合わせて調整され、伴奏情報と調整されたメロディ情報とが合成され、曲を示す曲情報が生成され、当該曲情報が出力される。これにより、入力データに対する追従性と音楽の情緒性とのバランスを保つことができる音楽を生成することができる。
【0029】
上記音楽生成装置において、前記第2ストリームデータは、複数のストリームデータを含み、前記メロディ生成部は、各ストリームデータの変化に基づいて複数のメロディを示す前記メロディ情報を生成してもよい。
【0030】
この構成によれば、第2ストリームデータは複数のストリームデータを含み、各ストリームデータの変化に基づいて複数のメロディを示すメロディ情報が生成されているので、より追従性と情緒性とに富んだ音楽を生成できる。
【0031】
上記音楽生成装置において、前記伴奏生成部は、小節単位で前記伴奏情報を生成し、前記メロディ生成部は、拍単位で前記メロディ情報を生成してもよい。
【0032】
この構成によれば、伴奏情報は小節単位で生成され、メロディ情報は拍単位で生成されているため、追従性と情緒性とのバランスをより確実に図ることができる。
【0033】
上記音楽生成装置において、前記メロディ生成部は、前記第2ストリームデータの変化に基づいて、前記メロディの上昇又は下降、リズム、和音、音量、及び楽器の少なくとも一つを変化させてもよい。
【0034】
この構成によれば、第2ストリームデータの変化に基づいて、メロディの上昇、下降、リズム、和音、音量、及び楽器音の少なくとも一つが変化されるため、より追従性の高い音楽を生成できる。
【0035】
上記音楽生成装置において、前記メロディ生成部は、前記第2ストリームデータの変化量が所定の閾値より大きい場合、前記変化量に基づいて前記メロディの上昇又は下降の傾きを変化させ、前記変化量が所定の閾値より小さい場合、前記メロディの上昇又は下降の傾きを変化させなくてもよい。
【0036】
この構成によれば、第2ストリームデータの変化が大きい場合はメロディを急峻に上昇又は下降させ、第2ストリームデータの変化が小さい場合はメロディの流れを変化させないため、第2ストリームデータの変化に対してより追従性の高いメロディを生成することができる。
【0037】
上記音楽生成装置において、前記メロディ生成部は、前記第2ストリームデータの変化量が所定の閾値より大きい場合、前記メロディの1拍を複数の音符で表される音で構成し、前記変化量が所定の閾値よりも小さい場合、前記メロディの1拍を1つの音符で表される音で構成してリズムを表現してもよい。
【0038】
この構成によれば、第2ストリームデータの変化が大きい場合はメロディの1拍が複数の音符で表される音で構成され、第2ストリームデータの変化が小さい場合はメロディの1拍が1つの音符で表される音のみで構成される。そのため、第2ストリームデータの変化に応じたリズムの変化を持った躍動感を有するメロディを生成することができる。
【0039】
上記音楽生成装置において、前記メロディの1拍を構成する複数の音符の少なくとも1つは休符であってもよい。
【0040】
この構成によれば、1拍に割り当てられた複数の音符で表される音のうち少なくとも1つの音が休符で構成されるため、より躍動感のあるメロディを生成することができる。
【0041】
上記音楽生成装置において、前記メロディ生成部は、前記第2ストリームデータの変化量が所定の閾値より大きい場合、前記メロディの1拍を和音を含む音で構成し、前記第2ストリームデータの変化量が所定の閾値よりも小さい場合、前記メロディの1拍を単音で構成してもよい。
【0042】
この構成によれば、第2ストリームデータの変化が大きい場合はメロディの1拍が和音を含む音で構成され、第2ストリームデータの変化が小さい場合はメロディの1拍が単音のみで構成される。そのため、第2ストリームデータの変化に応じた躍動感を有するメロディを生成することができる。
【0043】
上記音楽生成装置において、前記メロディ生成部は、前記第2ストリームデータの変化量が所定の閾値より大きい場合、前記メロディの音量が第1音量に設定され、前記第2ストリームデータの変化量が所定の閾値よりも小さい場合、前記メロディの音量が前記第1音量よりも小さい第2音量に設定されてもよい。
【0044】
この構成によれば、第2ストリームデータの変化が大きい場合はメロディの音量が第1音量に設定され、第2ストリームデータの変化が小さい場合はメロディの音量が第1音量よりも小さい第2音量に設定される。そのため、第2ストリームデータの変化に応じてメロディの音量を制御することができる。
【0045】
上記音楽生成装置において、前記メロディ生成部は、前記メロディの上昇又は下降、前記リズム、及び前記和音は、拍単位で変化させ、前記音量は小節単位で変化させ、前記楽器は曲単位又は小節単位で変化させてもよい。
【0046】
この構成によれば、メロディの上昇又は下降、リズム、及び和音は、拍単位で変化され、音量は小節単位で変化され、楽器は曲単位又は小節単位で変化されるため、違和感のないメロディを生成することができる。
【0047】
上記音楽生成装置において、前記メロディ調整部は、前記メロディの1拍を構成する複数の音のうち、前記伴奏が有する調に含まれない音については、当該音の音高を、前記調の和音のうち最も近い音の音高に移動させてもよい。
【0048】
この構成によれば、メロディの1拍を構成する複数の音のうち、伴奏が有する調に含まれない音については、当該音の音高が、調の和音のうち最も近い音の音高に移動されるため、調和のとれたメロディを生成することができる。
【0049】
上記音楽生成装置において、前記メロディの激しさを示す複数のレベルに応じた複数の決定関数をさらに備え、各レベルは、前記第2ストリームデータの変化量を区画する複数のバンドを備え、各決定関数は、前記複数のバンドのそれぞれに対応する前記メロディの設定内容を規定する関数であり、前記メロディ生成部は、前記複数のレベルの中からいずれかのレベルに対応する決定関数を設定し、設定された前記決定関数の設定内容に基づいて前記メロディを生成してもよい。
【0050】
この構成によれば、メロディの激しさを示す複数のレベルの中からいずれかのレベルに対応する決定関数が設定され、設定された決定関数が区画する複数のバンドのうち、第2ストリームデータの変化量に応じたバンドを決定し、決定したバンドの設定内容に基づいてメロディが生成される。そのため、レベルを選択することにより生成されるメロディの激しさを制御できる。
【0051】
上記音楽生成装置において、前記決定関数が規定するメロディの設定内容は、前記メロディの上昇又は下降の傾き、1拍のリズム、及び1拍に含ませる和音の確率、の少なくとも1つを含んでもよい。
【0052】
この構成によれば、メロディの上昇又は下降の傾き、1拍のリズム、及び1拍に含ませる和音の確率の少なくとも1つを設定されるので、第2ストリームデータの変化量に応じて、メロディの華やかさを変更できる。
【0053】
上記音楽生成装置において、複数のメロディのそれぞれについて鳴らす又は鳴らさないかの条件を予め規定する発火条件をさらに備え、前記メロディ生成部は、前記発火条件を満足する1以上のメロディを前記メロディ情報に含ませてもよい。
【0054】
この構成によれば、発火条件に応じて鳴るメロディの数を変更できる。
【0055】
上記音楽生成装置において、前記発火条件は、第2ストリームデータの変化量がある閾値を越えた場合、設定した時間条件を満足した場合、設定したイベントが発生した場合のいずれかを含んでもよい。
【0056】
この構成によれば、第2ストリームデータの変化量、設定した時間条件、設定したイベントの発生のいずれかの条件に応じて複数のメロディのそれぞれを鳴らしたり鳴らさなかったりすることができる。
【0057】
本開示の別の一態様における音楽生成方法は、音楽を生成する音楽生成装置における音楽生成方法であって、前記音楽生成装置のプロセッサが、第1ストリームデータ及び前記第1ストリームデータとは異なる第2ストリームデータを取得し、前記第1ストリームデータの変化に基づいて伴奏を示す音楽データである伴奏情報を生成し、前記第2ストリームデータの変化に基づいて、メロディを示す音楽データであるメロディ情報を生成し、生成された前記伴奏情報が示す伴奏の調に合わせて、前記メロディ情報を調整し、前記伴奏情報と調整された前記メロディ情報とを合成して曲情報を生成し、生成された曲情報を出力する。
【0058】
この構成によれば、上記音楽生成装置と同様の効果が得られる音楽生成方法を提供できる。
【0059】
本開示のさらに別の一態様における音楽生成プログラムは、音楽を生成する音楽生成装置における音楽生成プログラムであって、前記音楽生成装置のプロセッサに、第1ストリームデータ及び前記第1ストリームデータとは異なる第2ストリームデータを取得し、前記第1ストリームデータの変化に基づいて伴奏を示す音楽データである伴奏情報を生成し、前記第2ストリームデータの変化に基づいて、メロディを示す音楽データであるメロディ情報を生成し、生成された前記伴奏情報が示す伴奏の調に合わせて、前記メロディ情報を調整し、前記伴奏情報と調整された前記メロディ情報とを合成して曲情報を生成し、生成された曲情報を出力する、処理を実行させる。
【0060】
この構成によれば、上記音楽生成装置と同様の効果が得られる音楽生成プログラムを提供できる。
【0061】
本開示は、このような音楽生成プログラムによって動作する音楽生成システムとして実現することもできる。また、このような音楽生成プログラムを、CD-ROM等のコンピュータ読取可能な非一時的な記録媒体あるいはインターネット等の通信ネットワークを介して流通させることができるのは、言うまでもない。
【0062】
なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また全ての実施の形態において、各々の内容を組み合わせることもできる。
【0063】
(実施の形態1)
図1は、本開示の実施の形態1における音楽生成装置1の構成の一例を示すブロック図である。音楽生成装置1は、センサ11、メモリ12、スピーカ13、操作部15、及びプロセッサ14を含む。これらの構成要素は、バスラインを介して相互に接続されている。
【0064】
センサ11は、音楽生成装置1の周辺の環境情報を所定のサンプリングレートで時系列に検知する1つまたは複数のセンサである。センサ11は、例えばイメージセンサ、温度センサ、及び位置センサ等である。センサ11が検知したセンシングデータは所定のサンプリングレートでプロセッサ14に入力される。
【0065】
メモリ12は、RAM(Random Access Memory)、ROM(Read Only Memory)、及びフラッシュメモリ等の記憶装置で構成される。メモリ12は、例えばコンピュータを音楽生成装置1として機能させる音楽生成プログラム及びプロセッサが種々の種処理を行うために必要なデータを予め記憶する。
【0066】
スピーカ13は、音の波形データを音に変換するデバイスである。スピーカ13は、例えば、出力部146が出力する曲情報が示す音の波形データを音に変換して外部に出力する。これにより、音楽生成装置1の周囲の人物に曲情報が示す曲を聴かせることができる。
【0067】
操作部15は、ディスプレイなどの出力装置とキーボード及びマウス等の入力装置で構成され、ユーザから決定関数の選択指示を受け付ける。
【0068】
プロセッサ14は、例えば中央演算処理装置で構成され、取得部141、伴奏生成部142、メロディ生成部143、メロディ調整部144、音楽合成部145、出力部146、及び決定関数設定部147を含む。これらの構成要素は、プロセッサ14が音楽生成プログラムを実行することで実現される。但し、これは一例であり、プロセッサ14が備える各ブロックは専用の半導体回路で構成されてもよい。
【0069】
取得部141は、センサ11により生成されたセンシングデータを入力データとして取得する。入力データは、第1ストリームデータ及び第1ストリームデータとは異なる第2ストリームデータを含む。ここで、入力データは、経時的に変化する、いわゆるストリームデータである。例えば、入力データは、イメージセンサが音楽生成装置1の周囲の環境を所定のフレームレートで撮影することで得られる動画データ列であってもよいし、温度センサにより所定のサンプリングレートで時系列に検知される温度データ列であってもよいし、位置センサにより所定のサンプリングレートで時系列に検知される位置データ列であってもよい。取得部141は、入力データから第1ストリームデータと第2ストリームデータを生成して、それぞれを伴奏生成部142とメロディ生成部143に入力する。例えば、取得部141は、入力データが動画データ列の場合、動画データ列をそのまま第1ストリームデータとして伴奏生成部142に入力すればよい。また、取得部141は、例えば動画データ列から各画像フレームに含まれる物体を抽出し、抽出した物体を示す物体情報のデータ列を第2ストリームデータとしてメロディ生成部143に入力すればよい。
【0070】
入力データは、複数のストリームデータを多重化したものであってもよい。この場合、取得部141は、多重化されたストリームデータを、必要に応じて分離して個別のストリームデータとして処理してもよい。例えば、入力データとして動画データ列と、その動画を構成する画像データ列を外部で処理して生成された物体情報のデータ列とが多重化されたストリームデータとして取り込まれた場合、取得部141は、ストリームデータを分離して、動画データ列を第1ストリームデータとして伴奏生成部142に入力し、物体情報のデータ列を第2ストリームデータとしてメロディ生成部143に入力する。
【0071】
なお、取得部141が取得するデータは、センサ11から入力されるセンシングデータに代えて、ファイルに記録されたデータ(例えば動画ファイル)のデータであってもよい。この場合、取得部141は、メモリ12に記録されたファイルを入力データとして取得してもよいし、インターネット等のネットワークを介して取得したファイルを入力データとして取得してもよい。さらに、入力データは、外界の環境変化に関するデータ以外のデータであってもよい。例えば、入力データは、株価など経時的に変化するデータ列であってもよい。
【0072】
伴奏生成部142は、第1ストリームデータの変化に基づいて、伴奏を示す音楽データである伴奏情報を生成する。ここでは、第1ストリームデータは動画データ列であるものとして説明する。音楽データは、音楽を構成する複数の音について、発音のタイミング、音の高さ、強さ、長さ、及び楽器等の音楽の演奏情報をプロセッサ14が認識可能に表された記号情報である。たとえば、音楽データはmidi形式の情報である。
【0073】
伴奏は、小節の単位で生成することが好ましい。これは、伴奏を小節よりも短い単位で生成すると、不安定且つ不快な音楽になる傾向があるからである。
【0074】
伴奏生成部142は、小節単位で伴奏情報を生成する。この小節単位は、1小節であってもよいし、2小節あるいは4小節というように1小節より長い小節数であってもよく、表現する音楽の目的及び入力データの性質に応じて小節単位を設定すればよい。例えば、人の流れや街の騒音など変動周期の比較的短い入力データを使って、ある程度変化のある伴奏を生成する場合、伴奏生成部142は、1小節単位で伴奏情報を生成すればよい。一方、雲の流れや外気温の変化などの変動周期の長い入力データから、変化の少ない安定した伴奏を生成する場合、伴奏生成部142は、4小節又は8小節等の小節単位で伴奏情報を生成させてもよい。
【0075】
伴奏生成部142は、入力される第1ストリームデータ(動画データ列)を小節単位(例えば1小節)の時間間隔でサンプリングして、サンプリングした画像フレームに含まれる画素の色及び明るさの分布からその時間間隔に相当する長さの伴奏情報を生成すればよい。伴奏生成部142は、例えば、特許第6058192号公報及び特開2017-219699号公報に開示された音楽自動生成アルゴリズムを用いて伴奏情報を生成してもよい。この音楽自動生成アルゴリズムは、音の高さに対応する縦軸及び音の進行時間に対応する横軸で画像を格子状のブロックに分割し、各ブロックの代表色を決定し、複数の色属性値の範囲及び複数の音源名称に対応付けられた色名の中から、各ブロックの代表色に対応する色名を決定し、色名が決定された各ブロックを所定の基準で選別することで図形楽譜を生成するアルゴリズムである。例えば、このアルゴリズムでは、図形楽譜を示す画像が全体的に明るければ長調、画像が全体的に暗ければ短調というように調が決定され、図形楽譜の各列の音が和音になるようにブロックを再配列して和音が決定され、ブロックの明度に比例させて音の強弱が決定される。但し、これは一例であり、伴奏生成部142は、この自動生成アルゴリズム以外の種々の音楽の自動生成アルゴリズムを用いて伴奏を生成してもよい。
【0076】
なお、生成される伴奏情報には、例えば、midiなどの発音情報とともに、各拍のキー(調)の情報が含まれる。このキー情報はメロディ情報の生成に利用される。
【0077】
以上が伴奏生成部142の説明である。
【0078】
メロディ生成部143は、第2ストリームデータの変化に基づいて、メロディを示す音楽データであるメロディ情報を生成する。
【0079】
ここでは、第2ストリームデータは、入力された動画データ列に含まれる物体の個数のデータ列であるとして説明する。
【0080】
メロディは、入力データの変化への高い追従性が要求される。そこで、メロディ生成部143は、基本的に1拍ごとにメロディを構成する音を生成する。ここではメロディの1拍を構成する1つまたは複数の音を「メロディ音」と呼ぶ。
【0081】
メロディ生成部143は、入力される第2ストリームデータ(物体の個数のデータ列)を1拍の時間間隔でサンプリングして、1拍分のメロディ情報を生成すればよい。
【0082】
例えば、4分の4拍子、テンポが120BPMのメロディを生成する場合、メロディ生成部143は、1拍の時間幅に当たる0.5秒ごとに第2ストリームデータをサンプリングして1つのメロディ音を生成する。テンポが速いときはサンプリング間隔が短くなり、テンポが遅いときはサンプリング間隔が長くなる。このようなメロディ音を入力データの流れに応じて連続して生成することにより、1つのメロディができる。
【0083】
メロディ生成部143は、第2ストリームデータの変化をメロディ情報に変換するために、以下の音楽要素を用いることができる。
【0084】
(上昇又は下降)
入力データが大きく変化するときはメロディの流れが上下に大きく激しく変化し、入力データの変化が少ないときはメロディはゆったりと流れるようにすることで入力データの変化の度合いを表現する。そのためにメロディ生成部143は、第2ストリームデータの変化に応じて、メロディ音の音高を音階の上昇方向又は下降方向に変化させるか、或いは、変化させずに同じ音高に維持するかを決定する。さらに、メロディ生成部143は、メロディを上昇又は下降させる場合、上昇又は下降の傾きをどれだけ急峻にするか、或いはどれだけなだらかにするかを決定する。
【0085】
例えば、第2ストリームデータの変化量が所定の閾値より大きい時、メロディ生成部143は、変化量に比例した値に当該傾きを決定する。一方、第2ストリームデータの変化量が所定の閾値より小さい時、メロディ生成部143は、メロディ音の音高を同じに決定する。また、メロディ生成部143は、第2ストリームデータの変化が増加方向の時は傾きを正として音高を上昇させ、減少方向の時は傾きを負として下降させるというように、メロディの流れを直観に合うように決定してもよい。但し、これは一例であり、これとは異なる決定をしてもよい。また、メロディ生成部143は、第2ストリームデータの変化量に基づいてメロディの上昇又は下降の傾きを段階的に変化させてもよい。
【0086】
(リズム)
リズムは「サンバのリズム」等のように曲全体を通しての音の並びの特徴を言うことが多いが、本実施の形態ではリズムは局所的な1拍の中での「音の長さの並び」のことを言う。
【0087】
入力データが大きく変化するときはメロディ音のリズムが多彩に変化し、入力データの変化が少ないときはメロディ音のリズムは変化しないようにすることで入力データの変化の度合いを表現する。そのためにメロディ生成部143は、第2ストリームデータの変化量によってメロディ音を構成する音符及び休符の組み合わせを決定する。メロディが4分の4拍子の場合、例えば、メロディ生成部143は、第2ストリームデータの変化量が所定の閾値よりも小さい時は、メロディ音を1個の4分音符で鳴らす。一方、第2ストリームデータの変化量が所定の閾値より大きい時は、8分音符、16分音符、及び休符などの組み合わせでメロディ音を鳴らす。例えば、「1拍=8分音符+16文音符+16分音符」、或いは「1拍=16分音符+16分休符+16文音符+16分音符」などというようにする。
【0088】
このようにすることで、第2ストリームデータの変化が少ない時はメロディはゆっくりしたリズムになる。特に、第2ストリームデータの変化が少ない時は上述の上昇又は下降の項目で述べたようにメロディ音は同じ音高が続く確率が高くなるので、メロディ生成部143は、音高が同じ音符が連続する時は音楽の演奏手法におけるタイを適用して、それらの音符を連結してより長い音符にしてもよい。これにより、第2ストリームデータの変化が微少な時は、メロディ生成部143は、ゆっくりした長い単音でメロディを構成することができる。一方、第2ストリームデータの変化が大きい時は、メロディ音が短い音符及び休符の組み合わせとなり、メロディは躍動感のあるリズムになる。またこの場合、メロディ生成部143は、メロディ音を構成する音の音高をすべて同じにする必要はなく、ある程度の範囲内で上下させてもよい。これにより、より躍動的なメロディを生成することができる。さらにこの場合、メロディ生成部143は、音高の上下の有無及び上下の幅を、ランダム関数で決定してもよい。また、メロディ生成部143は、ランダム関数に代えて、音高の上下の有無及び上下の幅を入力データの変化の過去の履歴に基づいて決定してもよい。
【0089】
(和音)
入力データが大きく変化するときはメロディ音を和音で鳴らし、入力データの変化が少ないときはメロディ音を単音で鳴らすようにすることで入力データの変化の度合いを表現する。
【0090】
和音としては、1度、3度、及び5度の音からなる3和音、或いは、1度、3度、5度、7度の音からなる4和音がある。
【0091】
一般に音を単音で鳴らす場合に比べて、和音で鳴らすほうが華やかに聴こえる。その特性を利用して、メロディ生成部143は、第2ストリームデータの変化量が所定の閾値より小さい時はメロディ音を単音で構成しておとなしい表現にする。一方、メロディ生成部143は、第2ストリームデータの変化量が所定の閾値よりも大きい時はメロディ音を和音で構成して躍動的に表現する。
【0092】
これと前述のリズムの項目で述べた処理を合わせることにより、メロディ生成部143は、例えば1拍を「8分音符単音+16文音符和音+16分音符単音」等のように和音と単音の組み合わせにすることにより、単音だけの組み合わせよりも躍動感の大きいメロディの表現が可能となる。
【0093】
(音量)
入力データが大きく変化するときはメロディの音量を大きくして目立たせ、入力データの変化が少ないときはメロディの音量を小さくして控えめにすることで入力データの変化の度合いを表現する。単純には、メロディ生成部143は、第2ストリームデータの変化量が所定の閾値よりも小さい時はメロディ音の音量を小さく設定し、第2ストリームデータの変化量が所定の閾値よりも大きい時はメロディ音の音量を大きく設定すればよい。しかし、こうすると音量が拍ごとにふらついて、非常に不安的に聞こえるメロディが生成されるおそれがある。そこで、メロディ生成部143は、よりマクロな単位(例えば1小節単位)で第2ストリームデータの変化量を算出し、算出結果に基づいてその小節全体の音量を決定してもよい。マクロな単位の第2ストリームデータの変化量は、例えばマクロな単位における第2ストリームデータの変化量の平均値が採用できる。
【0094】
(楽器)
メロディを鳴らす楽器により、メロディの表情が大きく変わる。ここで言う楽器は、人が演奏する楽器のみならず、シンセサイザーの合成音、あるいは鳥の鳴き声などの予めサンプリングされた環境音(効果音)を含む。
【0095】
メロディのリズム及び和音は拍ごとに変動するが、1つのメロディに割り当てられた楽器は曲の最初から最後まで変わらない、あるいは数小節にわたって変わらないことが普通である。このように、メロディの楽器の選択は入力データとは無関係にアプリオリに決める必要がある。
【0096】
例えば、主要な入力データに対してはピアノなどの変化を追いやすいはっきりした音色を持った楽器を割り当て、副次的な入力データに対してはストリングス系のなだらかな音色の楽器を割り当て、入力データの単発的な変化を強調したい時はベルやドラムなどの楽器を割り当てればよい。
【0097】
以上が入力データの変化をメロディ情報に変換するために使用する音楽要素の説明である。
【0098】
さて、メロディを使って入力データの変化を表現する目的又は局面によっては、入力データの変化が同程度であっても、変化量に敏感に反応して大きく躍動的に変化するメロディが望ましい場合がある。逆に、入力データの多少の変化には反応せず、ゆったりとなだらかに変化するメロディが望ましい場合もある。
【0099】
そこで、メロディ生成部143は、メロディの音楽要素のうち、上昇又は下降、リズム、及び和音を、「決定関数」を用いて決定してもよい。
【0100】
この決定関数は、入力に第2ストリームデータの変化量を取り、出力が単調に増加する階段関数(ステップ関数)である。この階段関数においては、入力値がある閾値から次の閾値の間は同じ出力値になる。
【0101】
決定関数において、段階を定める区間の閾値範囲と、段階に応じた傾き(出力増分値)とを変化させることにより、第2ストリームデータの変化に対するメロディの音楽要素の敏感さを制御することができる。
【0102】
以下、メロディの上昇又は下降の場合を例に挙げて説明する。図2A図2B図2Cは、メロディの上昇または下降を決定する決定関数の仕組みを示す図である。
【0103】
図2Aは、第2ストリームデータの変化量(入力)が「0~20(区間の下限の閾値が0、上限の閾値が20)」のとき、上昇の傾きを「0(同じ音高を保つ)」に設定し、「21~50」のとき、傾きを「1(1度音程が上がる)」に設定し、「51~100」のとき、傾きを「2(2度音程が上がる)」とする決定関数の例である。ここで、第2ストリームデータの変化量は、最大変化量を「100」としたときの相対値とする。
【0104】
図2Bは、図2Aと同じ区間の設定のままで、それぞれの傾きを変えた決定関数の例である。具体的には、第2ストリームデータの変化量(入力)が「0~20」のとき傾きを「1」、「21~50」のとき傾きを「2」、「51~100」のとき傾きを「3」、に設定するようなケースである。図2Bの決定関数を用いると、図2Aの場合よりもより急峻に音高が上下するメロディになる可能性が高くなる。
【0105】
図2Cは、図2Aと同じ傾きの設定のままで、区間の設定を変えた決定関数の例である。具体的には、第2ストリームデータの変化量(入力)が「0~40」のとき傾きを「0」、「41~70」のとき傾きを「1」、「71~100」のとき傾きを「2」、に設定するようなケースである。図2Cの決定関数を用いると、図2Aの場合よりも第2ストリームデータの変化量に対してより鈍感になり、メロディの上昇又は下降はゆったりとしたものになりやすくなる。
【0106】
決定関数設定部147は、予め定められた決定関数の選択肢リストを持ち、例えば、操作部15のディスプレイに選択肢を表示する。そして、ユーザがマウスなどで適切なものを選択すると、決定関数設定部147はメロディ生成部143にその決定関数を設定する。また、ユーザが選択する以外の方法として、例えば、選択肢リストの中で使用する決定関数を表すインデックスを入力データに多重化しておいて、取得部141がストリームデータを分離するときに決定関数のインデックスを感知して、取得部141が決定関数設定部147にその旨を通知し、決定関数設定部147は保持している決定関数の選択肢リストからインデックスに対応した決定関数を取り出し、メロディ生成部143にその決定関数を設定する、などというようにしてもよい。
【0107】
決定関数設定部147によりメロディ生成部143にメロディの上昇又は下降の決定関数が設定されると、メロディ生成部143は入力データから決定関数に応じた傾きを持ったメロディの上昇または下降を生成する。
【0108】
メロディのリズムも決定関数を変えることで変化する。図3Aは、メロディのリズムを決定する決定関数の仕組みを示す図である。
【0109】
図3Aは、第2ストリームデータの変化量(入力)が「0~20」のときはメロディ音の構成を「4分音符」に設定し、「21~50」のときは「8分音符+8分音符」に設定し、「51~100」のときは「8分音符+16分音符+16分音符」とする決定関数の例である。このとき、よりリズムの変化を大きくするために、メロディ音の構成に休符を加えてもよい。例えば、図3Bは、「8分音符+16分音符+16分音符」のパターンに加えて、第2ストリームデータの変化量が「81~100」のとき、「8分音符+16分休符+16分音符」とする決定関数の例である。これにより、メロディは入力データの変化が大きくなると、図3Aに比べてさらに躍動感の増したリズムになる。
【0110】
また、メロディ音の構成がランダムに変わるような決定関数であってもよい。例えば、図3Cは、図3Aの決定関数と似ているが、第2ストリームデータの変化量が「21~50」のときは「8分音符+8分音符」あるいは「8分音符+8分休符」あるいは「8分休符+8分音符」のいずれかにランダムに決まり、「51~100」のときは「8分音符+16分音符+16分音符」あるいは「8分音符+16分休符+16分音符」あるいは「8分音符+16分音符+16分休符」のいずれかにランダムに決まる決定関数の例である。なお、このランダムな選択の方法はよく知られたランダム関数などを使って確率的に決定すればよい。このような決定関数を使えば、メロディのリズムのバラエティが広がり、入力データの変化が大きくなると、図3Aに比べてさらに躍動感の増したリズムになる。
【0111】
決定関数設定部147によりメロディ生成部143にメロディのリズムの決定関数が設定されると、メロディ生成部143は入力データから決定関数に応じた構成のリズムでメロディ音を生成する。
【0112】
また、生成されたメロディ音を構成する音を個別に上げ下げすることで、さらにメロディのリズムに変化を与えることができる。メロディ音が4分音符以外の時には、それを構成する個々の音の音高を数度、上下させると、より躍動感の増したリズムを持ったメロディになる。
【0113】
図4A図4Bは、メロディ音を操作してメロディのリズムを変化させる仕組みを示す図で、ピアノロール形式で1小節分のメロディを表示したものである。例えば、メロディ生成部143は、ある決定関数を用いて図4Aのような1小節のメロディを生成する場合を考える。この1小節のメロディは、1拍目が4分音符の「レ♯」、2拍目が8分音符の「レ♯」が2つ並んだもの、3拍目も8分音符の「レ♯」が2つ、4拍目は4分音符の「ファ♯」、で構成され、比較的ゆったりとした流れである。
【0114】
ここで、図4Aにおいて、丸で囲んだ2拍目、3拍目に注目する。例えば、2拍目の前半の8分音符の音を5度下げて下のオクターブの「シ」に移動させ、後半の8分音符の音を4度上げてそのオクターブの「ファ♯」に移動させる。そして、3拍目の前半の8分音符の音は変化させずにそのままの「レ♯」、後半の8分音符の音は5度下げて下のオクターブの「シ」に移動させる。すると図4Bのように音が跳ねるようなメロディになる。
【0115】
このように、メロディ生成部143は生成中のメロディ音が4分音符以外の時には、それを構成する個々の音の音高を数度、上下させる処理を加えることにより、より躍動感の増したリズムを持ったメロディにすることができる。なお、メロディ生成部143は、メロディ音を構成する音のうち音高を上下させる音の選択、およびそれぞれの音の音高を上下させる幅を、ランダム関数などを使って確率的に決定してもよい。
【0116】
メロディの和音も決定関数を変えることで変化する。図5Aは、メロディの和音の使用の有無を決定する決定関数の仕組みを示す図である。
【0117】
図5Aは、第2ストリームデータの変化量(入力)が「0~20」のときはメロディ音を和音にする確率を「0%(常に単音)」に設定し、「21~50」のときは「10%」に設定し、「51~100」のときは「20%」とする決定関数の例である。
【0118】
図5Bは、第2ストリームデータの変化量(入力)が「0~50」のときは図5Aと同じであるが、「51~80」のときはメロディ音を和音にする確率を「30%」に設定し、「81~100」のときは「50%」とする決定関数の例である。
【0119】
図5Bの決定関数を用いると、図5Aの場合よりも第2ストリームデータの変化量が増大するに従ってメロディ音の構成音が和音で鳴る確率が増え、より華やかなメロディになる。
【0120】
決定関数設定部147によりメロディ生成部143にメロディの和音の決定関数が設定されると、メロディ生成部143は入力データから決定関数に応じた確率でメロディ音を和音で発音するメロディを生成する。
【0121】
以上がメロディ生成部143の説明である。
【0122】
メロディ調整部144は、伴奏生成部142により生成された伴奏情報が示す伴奏の調(キー)に合わせて、メロディ生成部143により生成されたメロディ情報の調性を調整する。メロディ生成部143により生成されたメロディ音を構成するそれぞれの音の音高は、必ずしも伴奏を構成する拍のキー(調)に合致しているとは限らない。その場合、伴奏のキーに合致しない音高でメロディ音が構成されるので不協和音になり、不快な音楽になってしまう。そこで、メロディ調整部144は、メロディ生成部143により生成されたメロディ音を構成する複数の音のうち、伴奏が有する調に一致しない音については、当該音の音高を調の構成音のうち最も近い構成音の音高に移動させる。
【0123】
具体的には、メロディ調整部144は、メロディ生成部143により生成されたメロディ音を構成する音の音高が、伴奏を構成する当該拍のキーの根音から1度、3度、及び5度(加えて、4和音を使用している場合は7度)の音程にあればその音高をそのまま採用する。一方、メロディ調整部144は、メロディ音の音高が、伴奏を構成する当該拍のキーの根音から1度、3度、及び5度(加えて、4和音を使用している場合は7度)の音程になければ、1度、3度、及び5度(加えて、4和音を使用している場合は7度)の音程うち、音高が最も近い音程に、該当する音の音高を移動させればよい。これにより、メロディ音の音高を伴奏が有するキーに合致させることができる。
【0124】
なお、ここでは音程が1オクターブを超えない単音程として説明したが、1オクターブを超える複合音程の場合においても、1回ないし数回オクターブ音程を差し引いて単音程に還元すればよい。
【0125】
音楽合成部145は、伴奏生成部142により生成された伴奏情報とメロディ調整部144により調整されたメロディ情報とを合成して曲情報を生成する。曲情報は、伴奏情報と調整されたメロディ情報とを含む音楽データである。
【0126】
出力部146は、音楽合成部145により生成された曲情報をスピーカ13を介して外部に出力する。具体的には、出力部146は、曲情報を音の波形データに変換し、変換した音の波形データをスピーカ13を介して外部に出力する。これにより、入力データの変化に追従する音楽が出力される。
【0127】
以上が音楽生成装置1の構成である。次に、音楽生成装置1の処理について説明する。図6は、本開示の実施の形態1における音楽生成装置1の処理の一例を示すフローチャートである。ここでは、入力データは、音楽生成装置1の周囲の環境を撮影した動画データ列であるものとし、第1ストリームデータは、動画を構成する画像フレームを用い、第2ストリームデータは、動画を構成する各画像フレームから抽出された人物の人数情報であるものとする。
【0128】
ステップS0において、決定関数設定部147はメロディ生成部143が使用するメロディの上昇又は下降、メロディのリズム、およびメロディの和音の決定関数を、ユーザが操作部15から選択したものに設定する。
【0129】
ステップS1において、取得部141は、時刻カウンタを0にリセットする。時刻カウンタは例えばミリ秒で常に計時される。
【0130】
ステップS2において、取得部141は、センサ11により検知されたセンシングデータの入力データから第1ストリームデータと第2ストリームデータとを取得する。すなわち、画像フレームが第1ストリームデータとして取得され、画像フレームから抽出された人物の人数情報が第2ストリームデータとして取得される。第1ストリームデータ及び第2ストリームデータは例えば0.1秒毎に取得される。
【0131】
ステップS3において、取得部141は、時刻カウンタが小節サンプリングのタイミングに達しているかどうか判断する。例えばテンポが120BPMの場合、1小節の長さは2秒なので、時刻カウンタが2秒の刻みに達したかどうかで容易に判断できる。
【0132】
小節サンプリングのタイミングの場合は(ステップS3でYES)、処理はステップS4に進み、伴奏生成部142は、伴奏情報を生成する。そうでない場合は(ステップS3でNO)、伴奏生成部142は、伴奏情報を生成せずに処理をステップS5に進める。
【0133】
ステップS4において、伴奏生成部142は、第1ストリームデータに対して上述の音楽自動生成アルゴリズムを適用して、1小節分の伴奏情報を生成する。
【0134】
ステップS5において、取得部141は、時刻カウンタが拍サンプリングのタイミングに達しているかどうか判断する。例えばテンポが120BPMの場合、1拍の長さは0.5秒なので、時刻カウンタが0.5秒の刻みに達したかどうかで容易に判断できる。
【0135】
拍サンプリングのタイミングの場合は(ステップS5でYES)、処理はステップS6に進み、メロディ生成部143は、メロディ情報を生成する。そうでない場合は(ステップS5でNO)、メロディ生成部143は、メロディ情報を生成せずに処理をステップS10に進める。
【0136】
ステップS6において、メロディ生成部143は、第2ストリームデータから取得したデータの変化量に基づいて、メロディ情報を生成する。データの変化量は、例えば1つ前の拍サンプリング(0.5秒前)のタイミングで取得したデータと今回取得したデータとの比較によって算出してもよいし、1つ前に取得した第2ストリームデータのデータ(0.1秒前のデータ)と今回取得したデータとの比較によって算出してもよいし、第2ストリームデータの数個前(例えば3つ前=0.3秒前)までのデータの平均値と今回取得したデータとの比較によって算出してもよい。
【0137】
メロディ生成部143は、このデータの変化量をステップS0で設定したメロディの上昇又は下降、リズム、和音のそれぞれの決定関数に入力することで、メロディの上昇又は下降の傾き、リズム、及び和音を決定し、メロディの1拍にあたるメロディ音のメロディ情報を生成する。なおここではメロディの音楽要素のうち音量および楽器は特に指定しておらず、最初から最後まで何らかの決まった楽器と音量を使用する、としているが、例えば何らかの条件を設定してステップS6でメロディの楽器や音量を変更するようにしてもよい。
【0138】
ステップS7において、メロディ調整部144は、ステップS6で生成されたメロディ音が、ステップS4で生成された小節の伴奏情報から、その拍のキーに合うようにメロディ情報を調整する。
【0139】
ステップS8において、音楽合成部145は、ステップS4で生成された小節の伴奏情報とステップS7で調整されたメロディ音のメロディ情報から1拍分の曲情報を生成する。
【0140】
ステップS9において、出力部146は、ステップS8で生成された1拍分の曲情報を音の波形データに変換し、変換された音の波形データをスピーカ13を介して外部に出力する。例えば、曲情報がmidiデータであるときは、midiシークエンサーおよびシンセサイザーを使うと、midiデータから1拍分の波形データが生成される。
【0141】
ステップS10において、入力データがまだあるかどうか判定して、まだ入力データがあれば(ステップS10でYES)、ステップS2に戻って処理は継続する。入力データが終わっていれば(ステップS10でNO)、処理は終了する。
【0142】
このように、本実施の形態によれば、第2ストリームデータの変化に基づいて1拍ごとに生成されたメロディ情報の示すメロディが、第1ストリームデータの変化に基づいて1小節ごとに生成された伴奏情報の示す伴奏の調に合わせて調整され、伴奏情報と調整されたメロディ情報とが合成され、曲を示す曲情報が生成され、当該曲情報が出力される。これにより、入力データに対する追従性と音楽の情緒性とのバランスの取れた音楽を生成することができる。
【0143】
(実施の形態2)
実施の形態2は、実施の形態1で説明した決定関数を、「レベル」により簡便に且つ構造的に設定できるようにしたものである。なお、本実施の形態において実施の形態1と同一の構成要素には同一の符号を付し、説明を省く。
【0144】
レベルは、生成するメロディの激しさ(あるいは穏やかさ)を簡便に設定できるように、関連する音楽要素の決定関数を組にしたものである。ここで、メロディの激しさとは、音高や音量、リズムなどの変化度合いによって、聴き手に与える印象の深さであり、一般的に変化度合いが大きいほど激しいという印象を与える。
【0145】
図7Bは、レベルの決定関数の設定内容の一例を示す表である。この例では、レベルは、最も穏やかな「レベルL1」から最も激しい「レベルL3」までの3段階があるものとし、これら3つのレベルに対応するメロディの上昇又は下降、メロディのリズム、およびメロディの和音の決定関数が予め定められている。
【0146】
各レベルは第2ストリームデータの変化量により分割された複数の「バンド」に分けられる。この例では、「弱バンド」、「中バンド」、「強バンド」の3つがある。「弱バンド」は第2ストリームデータの変化量が少ない状況に対応するバンドであり、バンドが強くなるほど第2ストリームデータの変化量が大きくなる。
【0147】
これらのバンドに対して、その適用範囲でのメロディの上昇又は下降、メロディのリズム、およびメロディの和音の決定関数の出力値を設定する。実施の形態1では、決定関数の適用範囲はそれぞれ個別に定義されたが、本実施の形態ではバンドを用いて各決定関数の適用範囲を統一することにより、これらの音楽要素を複合的に組み合わせたメロディを簡便に設定できるようになる。
【0148】
各バンドは、第2ストリームデータの変化量の閾値の上限値と下限値とで適用範囲が定義される。各バンドの適用範囲は、隣接するバンドとは重ならないように、また隙間が開かないように設定される。また、後に述べるように、バンドの適用範囲は空であっても良い。
【0149】
次に、レベルにおけるバンドの設定について説明する。
【0150】
レベルが低いほど穏やかなメロディが生成されやすく、レベルが高いほど激しく躍動するメロディが生成されやすいことが望まれる。そのためには、低いレベルに対しては弱バンドの適用範囲を広くし、また強バンドの適用範囲を狭くする(あるいは空とする)。それにより、決定関数への入力値(すなわち第2ストリームデータの変化量)が弱バンドの範囲内に入る確率が高くなり、その結果、穏やかなメロディを生成する可能性が高くなる。逆に、高いレベルに対しては強バンドの適用範囲を広くし、また、弱バンドの適用範囲を狭くすることにより、決定関数への入力値が強バンドの範囲内に入る確率が高くなり、その結果、激しいメロディを生成する可能性が高くなる。
【0151】
図7Bを用いて説明する。例えば、レベルL1を選択した場合において、メロディ生成部143は、第2ストリームデータの変化量が「55」であったとすると、それは弱バンドの適用範囲(「0~60」)なので弱バンドの音楽要素を選択する。すなわちメロディの上昇又は下降の傾きを「0」に設定し、1拍のリズムを「4分音符」に設定し、1拍の和音の確率を「0%(すなわち単音)」に設定する。この場合、上下変化の少ないおとなしいメロディが生成される。
【0152】
また、例えば、レベルL2を選択した場合において、メロディ生成部143は、第2ストリームデータの変化量が前例と同じ「55」であったとすると、それは中バンドの適用範囲(「41~80」)なので中バンドの音楽要素を選択し、メロディの上昇又は下降の傾きを「1」に設定し、1拍のリズムを「8分音符+8分音符」に設定し、和音の確率を「10%」に設定する。この場合、ときどき和音の入る8分音符の組み合わせで、多少音高が上下する動きのあるメロディが生成される。
【0153】
また、例えば、レベルL3を選択した場合において、メロディ生成部143は、第2ストリームデータの変化量が前例と同じ「55」であったとすると、それは強バンドの適用範囲(「51~100」)なので強バンドの音楽要素を選択し、メロディの上昇又は下降の傾きを「3」に設定し、1拍のリズムを「4つの16分音符」に設定し、和音の確率を「50%」に設定する。これにより、高い確率で和音になる16分音符の組み合わせで、音高が激しく上下する躍動感のあるメロディが生成される。
【0154】
図7Aは、本開示の実施の形態2における音楽生成装置1Aの構成の一例を示すブロック図である。音楽生成装置1Aは、音楽生成装置1に対して決定関数設定部147に代わりレベル設定部148を含む。
【0155】
レベル設定部148は、予め定められたレベルの選択肢リストを持ち、例えば、操作部15のディスプレイに選択肢を表示する。そして、ユーザがマウスなどで適切なものを選択すると、レベル設定部148は、レベルに定義されている音楽要素の決定関数をメロディ生成部143に設定する。
【0156】
以上が音楽生成装置1Aの構成である。次に、音楽生成装置1Aの処理について説明する。本開示の実施の形態2における音楽生成装置1Aの処理の一例を示すフローチャートは、実施の形態1の図6のフローチャートとほぼ同じである。唯一の違いは、ステップS0において、レベル設定部148がユーザが操作部15から選択したレベルに基づき、メロディ生成部143が使用するメロディの上昇又は下降、メロディのリズム、およびメロディの和音の決定関数を設定する、という点である。それ以外は、実施の形態1と同じなので、説明を省く。
【0157】
このように、本実施の形態によれば、レベルを選択するだけで、簡単に生成するメロディの性格を変えることができる。
【0158】
なお、この例では、レベルを3段階、バンドを3段階に設定したが、それ以外の設定でも構わない。例えば、レベルやバンドの段階数を増やすと、生成するメロディの「おとなしい」~「激しい」の幅を広げることができる。また、この例では、レベルとバンドの組のそれぞれに対して1つの決定関数が定義されているが、本開示はこれに限定されず、レベルとバンドの組のそれぞれに対してある確率で分散した複数の決定関数の組が含まれていてもよい。例えば、レベルL2、中バンドのリズムの決定関数を、「8分音符+8分音符」の固定ではなく、40%の確率で「8分音符+8分音符」、20%の確率で「8分音符+8分休符」、20%の確率で「8分休符+8分音符」、20%の確率で「8分音符+16分音符+16分音符」などとなるように設定してもよい。この場合、生成されるメロディは、偶然に左右される非決定的なリズムになり、より躍動感が出る。
【0159】
(実施の形態3)
実施の形態3は、複数のメロディを持った曲情報を生成するものである。なお、本実施の形態において、実施の形態2と同一の構成要素には同一の符号を付し、説明を省く。
【0160】
図8は、本開示の実施の形態3における音楽生成装置1Bの構成の一例を示すブロック図である。
【0161】
プロセッサ14Bは、メロディ生成部143B、レベル設定部148B、及びメロディ生成情報設定部149をさらに含む。
【0162】
メロディ生成部143Bは、複数のメロディのそれぞれについて、鳴らす又は鳴らさない、の条件を予め規定する発火条件を参照し、発火条件を満足するメロディだけをメロディ情報に含ませる。
【0163】
メロディ生成情報設定部149は、予め定められたメロディ生成情報の選択肢リストを持ち、各メロディに対して、例えば、操作部15のディスプレイに選択肢を表示する。メロディ生成情報としては、レベル、楽器、発火条件の3つがある。そして、ユーザがマウスなどで適切なものを選択すると、メロディ生成情報設定部149は、そのメロディに対するメロディ生成情報のうち、楽器と発火条件をメロディ生成部143Bに設定する。そして、メロディ生成情報設定部149は、メロディ生成情報のうち、レベルをレベル設定部148Bに設定する。
【0164】
レベル設定部148Bは、メロディ生成情報設定部149により設定されたレベルに定義されている音楽要素の決定関数の組をメロディ生成部143Bに設定する。
【0165】
伴奏の上にメロディを複数鳴らすと、音楽の表現が広がる。単純に、複数のメロディが鳴るだけで、メロディが1つだけの場合よりも華やかな曲になる。また、それぞれのメロディを対応する入力データの変化に関連付ければ、複数のデータの変化をダイナミックに表現した曲になる。
【0166】
具体的には、第2ストリームデータに複数のストリームデータが含まれている場合、各ストリームデータに個別のメロディを割り当てると、メロディ生成部143Bは、各メロディに対して実施の形態2の方法でメロディ情報を生成することで、複数のメロディを持った曲を生成できる。
【0167】
しかし、複数のメロディを常時鳴らすことは好ましいとは言えない。オーケストラの演奏のように音楽の山場の時は多数のメロディが演奏され、そうでない時は1または少数のメロディだけが演奏されることが望ましい。そこで、それぞれのメロディに「鳴らす又は鳴らさない」の条件(「発火条件」と呼ぶ)を設定し、その条件が満たされるときだけメロディが鳴るようにすれば、このようなメロディを重ねた曲を生成することができる。また、これ以外にも、時間経過や外部イベントによって、メロディを鳴らす/鳴らさない、を制御することで様々な効果を持った曲を生成することができる。
【0168】
次に、メロディの発火条件について説明する。ここでは、発火条件の例として、第2ストリームデータの変化量がある閾値を越えた(条件C1)、設定した時間条件を満足した(条件C2)、設定したイベントが発生した(条件C3)、の3つを説明する。
【0169】
条件C1は、例えば閾値を50に設定すると、第2ストリームデータの変化量が少ない時(50未満)はメロディを演奏しないが、50以上になるとメロディを演奏する、という条件である。これを複数のメロディに対して異なる閾値を設定すると、第2ストリームデータの変化量によって演奏されるメロディ数が増減するオーケストラの演奏のような音楽が得られる。
【0170】
条件C2は、あるメロディを5分おきに20秒間だけ演奏する、という条件である。
【0171】
条件C3は、第2ストリームデータとは無関係なイベントを設定し、そのイベントが発生した場合、メロディを鳴らす、という条件である。イベントの例としては、例えば電池の残量が一定以下になった、人感センサが人を検知した等である。
【0172】
複数のメロディの生成を具体的な例で説明する。
【0173】
例えば、入力データとして繁華街の定点カメラからのライブ動画を用い、動画に写っている人物の人数によってピアノのメロディが変化し、人数がある閾値以上になるとトランペットのメロディが加わる、という設定とする。また、10分おきにチャイムのメロディが10秒間加わり、定点カメラとは別の外部センサ(例えば、温度センサで気温が35℃を越えた場合にオンになる)がオンになっている間は、太鼓のメロディが鳴る、というように全体で4つのメロディから構成されているとする。
【0174】
各メロディのメロディ生成情報を示したのが図9Aの表である。また、メロディ生成情報に含まれるレベルL1~L3に対する決定関数は図9Bに示されている。
【0175】
メロディ「1」は、動画に写っている人数の増減に合わせて、常にピアノのメロディが比較的ゆるやかに変化(レベルL1)しながら流れるように設定されている。発火条件は条件C1で閾値が0となっているので、メロディ「1」は第2ストリームデータの変化量がどのような値でも常に発火条件を満足する。具体的には、第2ストリームデータの変化量が40以下のときは「弱バンド」として4分音符、単音で音高の変化が非常に少ないメロディになる。第2ストリームデータの変化量が41~80のときは、「中バンド」として8分音符の刻みで、時々和音が入り、すこし上昇・下降のあるメロディになる。第2ストリームデータの変化量が81以上のときは「強バンド」として、8分音符と16分音符が混じり、和音で鳴る場合が増え、より上昇・下降がきついメロディになる。
【0176】
メロディ「2」は、人数が多くなったときに、トランペットで強く変化(レベルL2)するメロディが流れるように設定されている。発火条件が条件C1で閾値が10となっているので、第2ストリームデータの変化量が10を越えたときのみメロディ「2」が流れるようになっている。具体的には、第2ストリームデータの変化量が10以下のときは発火条件が満足されないので、メロディ「2」は鳴らない。第2ストリームデータの変化量が11~20のときは「弱バンド」として4分音符、10%の確率で和音が入り、上昇・下降が非常に少ないメロディになる。第2ストリームデータの変化量が21~50のときは、「中バンド」として8分音符と16分音符が混じり、20%の確率で和音が入り、多少上昇・下降のあるメロディになる。第2ストリームデータの変化量が51以上のときは「強バンド」として、16分音符の刻みで、和音で鳴る場合が50%になり、大きく上昇・下降するような激しいメロディになる。
【0177】
メロディ「3」は、動画とは無関係に、発火条件が10分間隔で10秒間だけ満足されるようになっているので、その間だけチャイムのメロディがレベルL3で流れるように設定されている。具体的には、その決定関数はすべての入力範囲において、4分音符、単音、上昇・下降が無いメロディになる。
【0178】
メロディ「4」も動画とは無関係に、発火条件が気温が35℃を越えた場合に満足されるようになっているので、その間だけ太鼓のメロディがレベルL3で鳴るように設定されている。
【0179】
この例によると、第2ストリームデータの変化量が10以下のときは、ピアノのメロディ「1」だけがゆったりと鳴り、第2ストリームデータの変化量が11を越えるとトランペットのメロディ「2」が加わり、変化量が増えるに従いメロディ「1」、メロディ「2」はそれぞれ違った傾斜でリズムが激しくなっていく。また、第2ストリームデータの変化量とは無関係に、10分間隔で10秒間だけチャイムのメロディ「3」が鳴り、気温が35℃を越えている間は太鼓のメロディ「4」が鳴る、というように外界の変化に多彩に追従する音楽を作り出すことができる。
【0180】
次に、この実施例における音楽生成装置1Bの処理について説明する。
【0181】
図10は、本開示の実施の形態3における音楽生成装置1Bの処理の一例を示すフローチャートである。
【0182】
このフローチャートは実施の形態1の図6のフローチャートとよく似ているので、実施の形態1と同一の構成要素には同一の符号を付し、説明を省く。
【0183】
ステップS0において、メロディ生成情報設定部149は、ユーザが操作部15から選択したメロディ生成情報基づき、各メロディに対して、メロディ生成情報のうち、楽器と発火条件をメロディ生成部143Bに設定する。そして、メロディ生成情報設定部149は、メロディ生成情報のうち、レベルをレベル設定部148Bに設定する。レベル設定部148Bは、設定されたレベルに定義されている音楽要素の決定関数をメロディ生成部143Bに設定する。
【0184】
ステップS5において、取得部141は、時刻カウンタが拍サンプリングのタイミングに達しているかどうか判断し、時刻カウンタが拍サンプリングのタイミングに達している場合(ステップS5でYES)、処理はステップS61に進む。
【0185】
ステップS61において、メロディ生成部143Bは、次のメロディのメロディ生成情報(レベル、楽器、発火条件)を取得する。具体的には、ステップS5からステップS61に到達したときは、メロディ「1」のメロディ生成情報を取得する。ステップS64からステップS61に到達したときは、次のメロディのメロディ生成情報を取得する。例えば直前にメロディ「1」の処理をしたのであればメロディ「2」のメロディ生成情報が取得される。
【0186】
ステップS62において、メロディ生成部143Bは、取得したメロディ生成情報の発火条件を評価する。発火条件が条件C1の場合は、メロディ生成部143Bは、第2ストリームデータの変化量と発火条件に設定された閾値とを比較し、第2ストリームデータの変化量の方が閾値より大きければ発火条件を満足したと評価する。発火条件が条件C2の場合は、メロディ生成部143は、時刻カウンタと、発火条件に設定された時間間隔と、継続時間と、を用いて発火条件を評価する。この例の場合、現在の時刻カウンタ(例えばステップS0から15分経過した時点であれば、900000(=15×60×1000))を時間間隔(この例では600000=60×10×1000)で除算して、その剰余が継続時間(この例では10000)以下であれば、メロディ生成部143Bは、発火条件を満足したと評価する。発火条件が条件C3の場合は、メロディ生成部143Bは、発火条件に設定されたセンサのその時点での状態を評価し、オンであれば発火条件を満足したと評価する。
【0187】
発火条件を満足していれば(ステップS62でYES)、処理はステップS63に進み、メロディ生成部143Bは、そのメロディのメロディ情報を生成する。そうでない場合は(ステップS62でNO)、メロディ生成部143Bは、メロディ情報を生成せずに処理をステップS64に進める。
【0188】
ステップS63において、メロディ生成部143Bは、そのメロディのメロディ情報を生成する。メロディ生成部143Bは、第2ストリームデータの変化量に基づき、設定されたメロディの上昇又は下降、リズム、和音の決定関数を用いて、メロディの上昇又は下降の傾き、リズム、及び和音を決定し、メロディの1拍にあたるメロディ音のメロディ情報を生成する。またメロディ生成情報に設定された楽器が用いられる。
【0189】
ステップS64において、メロディ生成部143Bは、すべてのメロディを処理したかどうか判定し、そうであればこの拍でのメロディ生成は完了したので(ステップS64でYES)、処理をステップS7に進める。そうでなければ(ステップS64でNO)、処理はステップS61に戻り、次のメロディが処理される。
【0190】
実施の形態3によれば、入力データの変化量に応じて、メロディが上昇又は下降、リズム、及び和音等が変化する複数のメロディがあり、各メロディに個別の発火条件が設定されているので、複数のメロディを適切に束ねることが可能となり、それによって、多数の用途及び目的に合致する音楽を自動生成することができる。
【0191】
(実施の形態4)
実施の形態4は、実施の形態3で説明した音楽生成装置1Bをクラウドシステムに適用したものである。図11は、本開示の実施の形態4に係る音楽生成システム100の全体構成の一例を示す図である。なお、本実施の形態において、実施の形態3と同一の構成要素には同一の符号を付し、説明を省略する。
【0192】
音楽生成システム100は、音楽生成装置1C及び端末2を含む。音楽生成装置1Cはクラウドサーバで構成されている。端末2は、音楽生成装置1Cが生成した曲が出力される場所に設置される。端末2は、据え置き型コンピュータで構成されてもよいし、タブレット型コンピュータで構成されてもよいし、スマートフォンで構成されてもよい。音楽生成装置1C及び端末2はネットワークNTを介して相互に通信可能に接続されている。ネットワークNTは、例えばインターネットである。
【0193】
音楽生成装置1Cは、通信部16及びプロセッサ14Cを含む。通信部16は音楽生成装置1CをネットワークNTに接続する通信回路である。プロセッサ14Cは、取得部141B、伴奏生成部142、メロディ生成部143B、メロディ調整部144、音楽合成部145、出力部146B、レベル設定部148B、及びメロディ生成情報設定部149Bを含む。
【0194】
取得部141Bは、端末2から送信されたセンサ21のセンシングデータを通信部16を用いて取得する。これ以外の取得部141Bの機能は取得部141と同じである。
【0195】
出力部146Bは、音楽合成部145により生成された曲情報を通信部16を用いて端末2に送信する。
【0196】
メロディ生成情報設定部149Bは、端末2の操作部26によって選択されたメロディ生成情報を通信部16を用いて取得する。これ以外のメロディ生成情報設定部149Bの機能はメロディ生成情報設定部149と同じである。
【0197】
端末2は、センサ21、メモリ22、スピーカ23、制御部24、通信部25、及び操作部26を含む。センサ21は、図1のセンサ11と同様、センシングデータを生成し、生成したセンシングデータを通信部25を用いて音楽生成装置1Cに送信する。メモリ22は、制御部24が処理を行う上で必要なデータを記憶する。
【0198】
制御部24は、音楽生成装置1Cにより送信された曲情報を通信部25を用いて取得し、取得した曲情報を音の波形データに変換し、スピーカ23に入力する。スピーカ23は、音の波形データを音に変換し、外部に出力する。これにより、端末2の周囲において入力データの変化に追従する曲が出力される。通信部25は、端末2をネットワークNTに接続する通信回路である。操作部26は、ディスプレイなどの出力装置とキーボード及びマウス等の入力装置で構成され、ユーザからメロディ生成情報の選択指示を受け付ける。
【0199】
このように、実施の形態4によれば入力データの変化に追従する曲を生成するクラウドサービスを実現できる。
【0200】
なお、この例では取得部141Bが取得するデータは端末2に装着されたセンサ21から送られるものとしたが、端末2とは異なる他の端末に装着されたセンサから送られるものであってもよい。また、センサからのデータに限らず、インターネット等のネットワークを介して取得したデータであってもよい。同様にスピーカ23も、端末2とは異なる他の端末に装着されたスピーカであってもよい。
【0201】
(応用例A1)
次に、本開示の応用例について説明する。応用例A1は、駅やショッピングモールなど人通りの多い場所に置かれた定点カメラの動画データから、人の流れに応じた音楽をリアルタイムに生成し、生成した曲をスピーカから出力する、というものである。入力データは、カメラの動画データのフレーム列である。このフレーム列から、伴奏生成部142は、前述の方法で伴奏を1小節ずつ生成する。また、伴奏生成部142は、季節、時刻、及び気温等の環境情報を用いて、楽器の組み合わせ、テンポ等を決定することによって伴奏を生成すればよい。さらに、伴奏生成部142は、季節、時刻、及び気温に応じて異なる性格の音楽を生成してもよい。
【0202】
メロディ生成部143は、例えば動画フレームを画像処理して人物の数と移動方向とを検知して、画面の右から左へ移動する人物の数と、画面の左から右へ移動する人物の数とを所定間隔(例えば0.5秒間隔)でカウントする。メロディ生成部143は、これら2つの人数の変化を2種類の第2ストリームデータとし、それぞれにメロディを割り当てる。そしてそれぞれのメロディに異なる楽器を設定する。例えば、メロディ生成部143は、左から右への人物の移動に対応するメロディにはピアノを割り当て、右から左への人物の移動に対応するメロディにはバイオリンを割り当てる。そして、メロディ生成部143は、2種類の第2ストリームデータに対して、例えば図7Bで示したレベル及びバンド設定から、同じレベルを選択して適用し、2つのメロディ情報を生成する。これにより、2つの方向の人物の流れの変化が、2つの楽器のメロディで表現された音楽が生成される。また、メロディ生成部143は、例えば右から左への人物の移動に対応するメロディのレベルを上げて、その方向の人物の流れに敏感に変化する音楽にしてもよい。或いは、メロディ生成部143は、左から右への人物の移動に対してある閾値を設定して、入力データがその閾値を超えた場合は(条件C1)、更に別のメロディを異なるレベルで鳴るようにしてもよい。これにより、様々に変化するメロディ情報を生成することができる。このように、少数のパラメータを設定及び変更するだけで、入力データの変化に合わせて変化する様々な曲を作り出すことができる。
【0203】
(応用例A2)
応用例A2は、音楽生成装置1をVR(バーチャルリアリティ)に適用したものである。VRゴーグルを装着すると、顔の向き、歩く方向などに合わせてVRゴーグルのディスプレイに風景を含む画像が表示され、VRゴーグルを装着した人物は、手の動きで画面上のモノを操作することができる。VRゴーグルを装着した人物は、視覚的には体の動きとディスプレイに表示される画面とが連動した、リアリティのある画像により刺激の高い経験ができる。しかし、従来のVRゴーグルは、聴覚的には環境音楽のようなBGMと、体の動き、モノへの接触、及び風の音などの効果音とが繰り返し出力されるに過ぎず、視覚に比べてリアリティ及び面白さに欠けていた。
【0204】
本技術をVRゴーグルに適用した場合、VRゴーグルのディスプレイに表示される動画を第1ストリームデータとし、VRゴーグルが備える角度センサ、手足に装着された角度センサなどのセンシングデータを第2ストリームデータとすることにより、人物の動作に合わせてリアルタイムに変化する音楽を人物に聴かせることが可能になり、より面白いVR体験を与えることができる。
【産業上の利用可能性】
【0205】
本開示は、入力データの変化に追従する音楽を生成できるため、周囲の環境に適した音楽を生成する技術分野において有用である。
【符号の説明】
【0206】
1 :音楽生成装置
11 :センサ
12 :メモリ
13 :スピーカ
14 :プロセッサ
15 :操作部
141 :取得部
142 :伴奏生成部
143 :メロディ生成部
144 :メロディ調整部
145 :音楽合成部
146 :出力部
147 :決定関数設定部
図1
図2A
図2B
図2C
図3A
図3B
図3C
図4A
図4B
図5A
図5B
図6
図7A
図7B
図8
図9A
図9B
図10
図11