JP3704980B2 - 自動作曲装置と記録媒体 - Google Patents

自動作曲装置と記録媒体 Download PDF

Info

Publication number
JP3704980B2
JP3704980B2 JP35074298A JP35074298A JP3704980B2 JP 3704980 B2 JP3704980 B2 JP 3704980B2 JP 35074298 A JP35074298 A JP 35074298A JP 35074298 A JP35074298 A JP 35074298A JP 3704980 B2 JP3704980 B2 JP 3704980B2
Authority
JP
Japan
Prior art keywords
melody
data
feature
generation
storage means
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP35074298A
Other languages
English (en)
Other versions
JPH11237881A (ja
Inventor
栄一郎 青木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP35074298A priority Critical patent/JP3704980B2/ja
Priority to US09/212,192 priority patent/US6124543A/en
Publication of JPH11237881A publication Critical patent/JPH11237881A/ja
Application granted granted Critical
Publication of JP3704980B2 publication Critical patent/JP3704980B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0008Associated control or indicating means
    • G10H1/0025Automatic or semi-automatic music composition, e.g. producing random music, applying rules from music theory or modifying a musical piece
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/341Rhythm pattern selection, synthesis or composition
    • G10H2210/371Rhythm syncopation, i.e. timing offset of rhythmic stresses or accents, e.g. note extended from weak to strong beat or started before strong beat
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/201Physical layer or hardware aspects of transmission to or from an electrophonic musical instrument, e.g. voltage levels, bit streams, code words or symbols over a physical link connecting network nodes or instruments
    • G10H2240/241Telephone transmission, i.e. using twisted pair telephone lines or any type of telephone network
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/281Protocol or standard connector for transmission of analog or digital data to or from an electrophonic musical instrument
    • G10H2240/295Packet switched network, e.g. token ring
    • G10H2240/305Internet or TCP/IP protocol use for any electrophonic musical instrument data or musical parameter transmission purposes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Electrophonic Musical Instruments (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、自動作曲装置及び記録媒体に関し、特にユーザが入力したテーマメロディとメロディ特徴(又はメロディ)が一致又は類似するメロディ生成データをデータベースから抽出すると共に抽出したメロディ生成データに基づいてメロディデータを生成することによりテーマメロディに相応しく且つ起伏に富んだ音楽的なメロディを生成可能としたものである。
【0002】
【従来の技術】
従来、自動作曲装置としては、入力したテーマメロディの特徴を分析し、この分析結果に基づいて1曲のメロディを生成するものが知られている(例えば、特開平1−167782号公報参照)。
【0003】
【発明が解決しようとする課題】
上記した従来技術によると、テーマメロディの分析結果に基づいて演算によりメロディを発展させて1曲分のメロディを生成するので、1曲を通して起伏のある音楽的なメロディを生成しにくいという問題点があった。例えば、テーマメロディに相応しく且つサビ部分でテーマメロディと音楽的雰囲気を異にするような1曲のメロディを生成するのが困難であった。
【0004】
この発明の目的は、入力されたテーマメロディに相応しく且つ起伏に富んだ音楽的なメロディを簡単に生成することができる新規な自動作曲装置を提供することにある。
【0005】
【課題を解決するための手段】
この発明に係る第1の自動作曲装置は、
複数の曲生成データを記憶する記憶手段であって、各曲生成データは、参照メロディデータと、この参照メロディデータに付随したメロディ生成データとを含むものと、
所望のメロディデータを供給する供給手段と、
この供給手段により供給されたメロディデータと前記記憶手段に記憶された参照メロディデータとを比較し、供給に係るメロディデータと一致又は類似した参照メロディデータを検出する検出手段と、
この検出手段により検出された参照メロディデータに付随したメロディ生成データを前記記憶手段から読出す読出手段と、
前記記憶手段から読出されたメロディ生成データに基づいてメロディデータを生成する生成手段と
を備えたものである。
【0008】
第1の自動作曲装置によれば、ユーザが供給手段により所望のメロディデータを供給すると、供給したメロディデータと一致又は類似した参照メロディデータが検出手段により検出される。読出手段は、検出に係る参照メロディデータに付随したメロディ生成データを読出し、生成手段は、読出されたメロディ生成データに基づいてメロディデータを生成する。このように、供給したメロディデータと一致又は類似した参照メロディデータを検出すると共に検出に係る参照メロディデータに付随したメロディ生成データに基づいてメロディデータを生成するので、供給したメロディに相応しいメロディを生成することができる。また、メロディ生成データとして起伏のあるメロディを生成可能なものを記憶しておくことで1曲を通して起伏のある音楽的なメロディを簡単に生成することができる。さらに、供給したメロディデータと参照メロディデータとを直接比較するので、供給したメロディにより近いメロディを生成することができる。
【0009】
第1の自動作曲装置において、メロディ生成データとしては、メロディ生成用メロディ特徴データ及びメロディ生成用メロディデータのうちいずれか一方又は双方を用いることができる。メロディ生成データとしてメロディ生成用メロディ特徴データを用いると、例えば既存の曲の音楽的特徴を反映したメロディを容易に生成することができる。また、メロディ生成データとしてメロディ生成用メロディデータを用いると、例えば既存の曲のメロディデータをメロディ生成データとしてそのまま用いてメロディ生成が可能であり、処理が簡単になると共にメロディデータが持つ音楽的雰囲気を反映したメロディを生成することができる。さらに、メロディ生成データとしてメロディ生成用メロディ特徴データ及びメロディ生成用メロディデータを用いると、メロディ特徴データが持つ音楽的特徴とメロディデータが持つ音楽的雰囲気とを反映したメロディを生成することができる。
【0010】
この発明に係る第2の自動作曲装置は、
メロディ特徴を表わす参照特徴データと、この参照特徴データに付随したメロディ生成データとを記憶する記憶手段と、
所望のメロディデータを供給する供給手段と、
この供給手段により供給されたメロディデータに関してメロディ特徴を分析し、そのメロディ特徴を表わす特徴データを作成する分析手段と、
この分析手段により作成された特徴データと前記記憶手段に記憶された参照特徴データとを比較し、比較に係る両データのメロディ特徴の不一致状態に対応した不一致情報を検出する検出手段と、
前記記憶手段に記憶されたメロディ生成データを読出すと共に該メロディ生成データを前記検出手段により検出された不一致情報に応じて修正する修正手段と、
この修正手段により修正されたメロディ生成データに基づいてメロディデータを生成する生成手段と
を備えたものである。
【0011】
第2の自動作曲装置によれば、ユーザが供給手段により所望のメロディデータを供給すると、供給したメロディデータに関してメロディ特徴を表わす特徴データが分析手段により作成され、作成に係る特徴データと参照特徴データとのメロディ特徴の不一致状態に対応した不一致情報が検出手段により検出される。修正手段は、検出に係る不一致情報に応じてメロディ生成データを修正し、生成手段は、修正されたメロディ生成データに基づいてメロディデータを生成する。このように、供給したメロディデータとメロディ特徴が一致しない参照特徴データについては、参照特徴データに付随したメロディ生成データを不一致情報に応じて修正した後修正に係るメロディ生成データに基づいてメロディデータを生成するので、供給したメロディにより近いメロディを生成することができる。
【0012】
第2の自動作曲装置にあっては、不一致情報に応じてメロディ生成データを修正する代りに、メロディ生成データに基づいてメロディデータを生成した後生成に係るメロディデータを不一致情報に応じて修正するようにしてもよい。
【0013】
この発明に係る第3の自動作曲装置は、
参照メロディデータと、この参照メロディデータに付随したメロディ生成データとを記憶する記憶手段と、
所望のメロディデータを供給する供給手段と、
この供給手段により供給されたメロディデータと前記記憶手段に記憶された参照メロディデータとを比較し、比較に係る両データのメロディの不一致状態に対応した不一致情報を検出する検出手段と、
前記記憶手段に記憶されたメロディ生成データを読出すと共に該メロディ生成データを前記検出手段により検出された不一致情報に応じて修正する修正手段と、
この修正手段により修正されたメロディ生成データに基づいてメロディデータを生成する生成手段と
を備えたものである。
【0014】
第3の自動作曲装置によれば、ユーザが供給手段により所望のメロディデータを供給すると、供給したメロディデータと参照メロディデータとのメロディの不一致状態に対応した不一致情報が検出手段により検出される。修正手段は、検出に係る不一致情報に応じてメロディ生成データを修正し、生成手段は、修正されたメロディ生成データに基づいてメロディデータを生成する。このように、供給したメロディデータとメロディが一致しない参照メロディデータについては、参照メロディデータに付随したメロディ生成データを不一致情報に応じて修正した後修正に係るメロディ生成データに基づいてメロディデータを生成するので、供給したメロディにより近いメロディを生成することができる。
【0015】
第3の自動作曲装置にあっては、不一致情報に応じてメロディ生成データを修正する代わりに、メロディ生成データに基づいてメロディデータを生成した後生成に係るメロディデータを不一致情報に応じて修正するようにしてもよい。
【0016】
第1〜第3の自動作曲装置において、生成手段は、供給手段により供給されたメロディデータにも基づいてメロディデータを生成するようにしてもよい。このようにすると、供給したメロディにより近いメロディを生成することができる。
【0017】
第1〜第3の自動作曲装置において、供給手段は、作成すべき曲の一部区間のメロディデータを供給し、生成手段は、作成すべき曲の残区間のメロディデータを生成すると共に、一部区間のメロディデータと残区間のメロディデータとを結合して1曲分のメロディデータを生成するようにしてもよい。このようにすると、供給したメロディを一部区間に含む1曲分のメロディを生成することができる。
【0018】
この発明に係る第4の自動作曲装置は、
複数曲のうちの各曲毎に複数の演奏区間のメロディ特徴を表わす曲特徴データを記憶する記憶手段と、
前記複数の演奏区間のうち任意の1つの演奏区間を指定する指定手段と、
この指定手段での指定に係る演奏区間において使用すべきメロディデータを供給する供給手段と、
この供給手段により供給されたメロディデータに関してメロディ特徴を分析し、そのメロディ特徴を表わす特徴データを作成する分析手段と、
この分析手段により作成された特徴データが表わすメロディ特徴と一致又は類似したメロディ特徴を前記指定手段での指定に係る演奏区間において有する曲特徴データを前記記憶手段から選択して読出す読出手段と、
前記供給手段により供給されたメロディデータが表わすメロディの少なくとも一部を前記指定手段での指定に係る演奏区間において流用すると共に該演奏区間以外の演奏区間のメロディを前記記憶手段から読出された曲特徴データに基づいて作成することにより流用メロディ及び作成メロディを表わす1曲分のメロディデータを生成する生成手段と
を備えたものである。
【0019】
第4の自動作曲装置によれば、ユーザが指定手段により任意の1つの演奏区間を指定すると共に供給手段により所望のメロディデータを供給すると、供給したメロディデータに関してメロディ特徴を表わす特徴データが分析手段により作成され、作成に係る特徴データと一致又は類似したメロディ特徴を指定に係る演奏区間において有する曲特徴データが記憶手段から読出手段により読出される。生成手段は、供給したメロディデータが表わすメロディの少なくとも一部を指定に係る演奏区間において流用すると共に該演奏区間以外の演奏区間のメロディを読出しに係る曲特徴データに基づいて作成することにより流用メロディ及び作成メロディを表わす1曲分のメロディデータを生成する。このように、指定した演奏区間では供給したメロディデータが表わすメロディを流用すると共に該演奏区間以外の演奏区間では読出しに係る曲特徴データに基づいてメロディを作成することにより流用メロディ及び作成メロディを表わす1曲分のメロディデータを生成するので、所望の演奏区間に所望のメロディを含み且つ所望のメロディに相応しい1曲分のメロディを簡単に生成することができる。
【0020】
この発明に係る第5の自動作曲装置は、
複数曲のうちの各曲毎に複数の演奏区間のメロディを表わす曲データを記憶する記憶手段と、
前記複数の演奏区間のうち任意の1つの演奏区間を指定する指定手段と、
この指定手段での指定に係る演奏区間において使用すべきメロディデータを供給する供給手段と、
この供給手段により供給されたメロディデータが表わすメロディと一致又は類似したメロディを前記指定手段での指定に係る演奏区間において有する曲データを前記記憶手段から選択して読出す読出手段と、
前記供給手段により供給されたメロディデータが表わすメロディの少なくとも一部を前記指定手段での指定に係る演奏区間において流用すると共に該演奏区間以外の演奏区間のメロディを前記記憶手段から読出された曲データに基づいて作成することにより流用メロディ及び作成メロディを表わす1曲分のメロディデータを生成する生成手段と
を備えたものである。
【0021】
第5の自動作曲装置によれば、ユーザが指定手段により任意の1つの演奏区間を指定すると共に供給手段により所望のメロディデータを供給すると、供給したメロディデータと一致又は類似したメロディを指定に係る演奏区間において有する曲データが記憶手段から読出手段により読出される。生成手段は、供給したメロディデータが表わすメロディの少なくとも一部を指定に係る演奏区間において流用すると共に該演奏区間以外の演奏区間のメロディを読出しに係る曲データに基づいて作成することにより流用メロディ及び作成メロディを表わす1曲分のメロディデータを生成する。このように、指定した演奏区間では供給したメロディデータが表わすメロディを流用すると共に該演奏区間以外の演奏区間では読出しに係る曲データに基づいてメロディを作成することにより流用メロディ及び作成メロディを表わす1曲分のメロディデータを生成するので、所望の演奏区間に所望のメロディを含み且つ所望のメロディに相応しい1曲分のメロディを生成することができる。また、供給したメロディデータと一致又は類似したメロディを有する曲データに基づいてメロディを作成するので、供給したメロディにより近いメロディを生成することができる。
【0022】
【発明の実施の形態】
図1は、この発明の一実施形態に係る作曲処理を説明するためのもので、この作曲処理において使用される種々のデータを示す。
【0023】
図1では、一例としてフレーズ単位でメロディを生成する方法を説明する。まず、音楽的な起伏に富んだ既存の完成された複数曲について各曲毎にメロディ特徴を分析し、そのメロディ特徴を表わす曲特徴データを作成する。メロディ特徴は、リズム特徴とピッチ特徴とに分解される。リズム特徴の例としては、
(a)音符分布の粗密:フレーズの前半と後半とではいずれが粗(又は密)かあるいは互いに等しいか、
(b)シンコペーション:シンコペーション(弱拍から発音され、次の強拍を越える発音長を持つ音符)があるか否か、あればどの程度あるか、
(c)最短音価:8分音符か16分音符か、
(d)フレーズスタート時間:前小節に喰い、ジャスト、拍頭より遅れのいずれか
等が挙げられる。
【0024】
また、ピッチ特徴の例としては、
(e)フレーズのピッチ振幅、
(f)フレーズの開始音と終了音、
(g)ピッチの変化形状:フレーズ内ピッチの極大・極小列(時間情報あり又はなし)、ピッチ進行に伴うピッチ変化の傾き方向を表わす上行・下行列(度数あり又はなし、時間情報あり又はなし)
等が挙げられる。
【0025】
図1(A)は、複数曲のメロディ特徴をそれぞれ表わす曲特徴データM1〜Mnを示すもので、これらのデータM1〜Mnを記憶手段にデータベースとして記憶する。各曲の曲特徴データは、フレーズ毎にメロディ特徴を表わし、例えば曲特徴データM1は、第1(テーマ)フレーズのメロディ特徴を表わすフレーズ特徴データF1と、第2フレーズのメロディ特徴を表わすフレーズ特徴データF2と、第3フレーズのメロディ特徴を表わすフレーズ特徴データF3と、第4フレーズのメロディ特徴を表わすフレーズ特徴データF4と、第5(サビ)フレーズのメロディ特徴を表わすフレーズ特徴データF5と、第6フレーズのメロディ特徴を表わすフレーズ特徴データF6とを含んでいる。
【0026】
次に、ユーザがいずれかのフレーズを指定して所望のメロディデータを入力する。この入力に係るメロディデータについてメロディ特徴を分析し、そのメロディ特徴を表わすフレーズ特徴データを作成する。例えば図1(B)に示すように第1(テーマ)フレーズを指定してメロディデータUF11を入力したときは、第1(テーマ)フレーズのメロディ特徴を表わすフレーズ特徴データUF1を作成する。また、第2フレーズを指定してメロディデータUF12を入力したときは、第2フレーズのメロディ特徴を表わすフレーズ特徴データUF2を作成する。
【0027】
次に、データベースからユーザ入力に係るメロディデータとメロディ特徴が一致又は類似した曲特徴データを選択して読出す。このためには、例えばフレーズ特徴データUF1と曲特徴データM1の第1(テーマ)フレーズのフレーズ特徴データF1とを比較し、両者が一致又は類似していれば曲特徴データM1を読出し、両者が一致又は類似していなければデータUF1と曲特徴データM2の第1(テーマ)フレーズのフレーズ特徴データとを比較し…というように順次に比較を行ない、一致又は類似するとの比較結果が得られるたびに比較に係る曲特徴データを読出すようにすればよい。
【0028】
次に、ユーザ入力に係るメロディデータを流用すると共に読出しに係る曲特徴データに基づいてメロディデータを作成することにより流用メロディデータ及び作成メロディデータを含む1曲分のメロディデータを生成する。例えば第1(テーマ)フレーズを指定してメロディデータUF11を入力すると共に曲特徴データM1を読出したときは、図1(C)に示すように第1(テーマ)フレーズのメロディデータとしてメロディデータUF11を流用すると共に曲特徴データM1に基づいて第1(テーマ)以外のフレーズのメロディデータF12〜F16を作成することにより1曲分のメロディデータMD1を生成する。また、第2フレーズを指定してメロディデータUF12を入力すると共に曲特徴データM1を読出したときは、図1(D)に示すように第2フレーズのメロディデータとしてメロディデータUF12を流用すると共に曲特徴データM1に基づいて第2以外のフレーズのメロディデータF11,F13〜F16を作成することにより1曲分のメロディデータMD2を生成する。所望によりメロディデータUF12の一部を変更(一部を流用)して第2’フレーズとしたり、メロディデータF13の一部を変更して第3’フレーズとしたりすることもできる。
【0029】
なお、図2について後述するようにデータベースに曲特徴データと共に曲データを記憶しておくときは、データベースからユーザ入力のメロディデータとメロディが一致又は類似する曲データを比較により抽出し、抽出した曲データの一部(例えば1フレーズのメロディ)をMD1又はMD2等のメロディデータの一部として流用してもよい。
【0030】
データベースには、曲特徴データM1〜Mnの代りに複数曲分の曲データを記憶しておき、いずれかの曲データとユーザ入力に係るメロディデータとに基づいてメロディ生成を行なうようにしてもよい。各曲データは、複数フレーズ分のメロディを表わし、例えば図1(A)に示すように第1(テーマ)、第2、第3、第4、第5(サビ)、第6のフレーズメロディを表わすものとする。
【0031】
ユーザがいずれかのフレーズを指定して所望のメロディデータを入力する。例えば図1(B)に示すように第1(テーマ)フレーズを指定してメロディデータUF11を入力する。
【0032】
次に、データベースからユーザ入力に係るメロディデータとメロディが一致又は類似した曲データを選択して読出す。このためには、例えばメロディデータUF11とデータベース内の各曲データの第1(テーマ)フレーズのメロディデータとを比較し、メロディデータUF11とメロディが一致又は類似した曲データを選択して読出すようにすればよい。
【0033】
次に、ユーザ入力に係るメロディデータを流用すると共に読出しに係る曲データに基づいてメロディデータを作成することにより流用メロディデータ及び作成メロディデータを含む1曲分のメロディデータを生成する。例えば図1(C)に示すように第1(テーマ)フレーズのメロディデータとしてメロディデータUF11を流用すると共に読出しに係る曲データに基づいて第1(テーマ)以外のフレーズのメロディデータF12〜F16を作成することにより1曲分のメロディデータMD1を生成する。
【0034】
図1に関して上記した作曲処理によれば、ユーザが所望のフレーズを指定すると共に所望のメロディを入力することにより指定に係るフレーズに入力に係るメロディを含む1曲分のメロディを簡単に生成することができる。生成される1曲分のメロディは、入力に係るメロディとメロディ特徴が一致又は類似した曲特徴データに基づいてメロディを作成するので、入力に係るメロディに相応しいものとなる。入力に係るメロディとメロディが一致又は類似した曲データに基づいてメロディを作成すると、生成されるメロディは、入力に係るメロディにより近くなる。曲特徴データ又は曲データとして音楽的に起伏に富んだ曲(例えば既存の完成された曲)に対応するものを記憶しておくことにより起伏に富んだ音楽的な1曲分のメロディを生成することができる。
【0035】
図2は、この発明に係る自動作曲装置を示すものである。図2の自動作曲装置は、図1に関して上記したメロディ生成方法に従ってメロディ生成を遂行可能なもので、パーソナルコンピュータ10と、電子楽器12と、ディスプレイ14とを含んでいる。
【0036】
パーソナルコンピュータ10においては、バス16にCPU(中央処理装置)18、ROM(リード・オンリィ・メモリ)20、RAM(ランダム・アクセス・メモリ)22、検出回路24,26、インターフェース28、外部記憶装置30、表示回路32、タイマ34等が接続されている。
【0037】
CPU18は、ROM20にストアされたプログラムに従ってメロディ生成のための各種処理を実行するもので、これらの処理については図8〜18を参照して後述する。
【0038】
RAM22は、CPU18による各種処理に際して使用される種々の記憶部を含むもので、主な記憶部としては、参考曲データ記憶部22A、曲特徴データ記憶部22B、フレーズメロディデータ記憶部22C、フレーズ特徴データ記憶部22D、候補曲特徴データ記憶部22E、作成曲データ記憶部22F等を含んでいる。
【0039】
検出回路24は、文字入力及び数字入力が可能なキーボード36から操作情報を検出するものである。キーボード36では、各種の指示又は選択操作、メロディ情報入力操作等を行なうことができる。
【0040】
検出回路26は、入力操作子としてのマウス38から操作情報を検出するものである。マウス38では、各種の指示又は選択操作等を行なうことができる。例えば、登録モード、メロディ生成モード、自動演奏モード等のモード選択操作は、マウス38又はキーボード36により行なうことができる。
【0041】
インターフェース28は、MIDI(Musical InstrumentDigital Interface)規格に適合したもので、電子楽器12との間で演奏情報等の送受信を行なうために設けられたものである。電子楽器12は、鍵盤12A、音源装置、自動演奏装置等を含むもので、鍵盤12Aでの鍵操作に基づく音高情報及び/又は自動演奏装置から出力される音高情報に応じて音源装置から楽音信号を発生可能である。また、鍵盤12Aでの鍵操作に基づいてインターフェース28を介してパーソナルコンピュータ10にメロディ情報を入力可能である。
【0042】
外部記憶装置30は、HD(ハードディスク)、FD(フロッピーディスク)、CD(コンパクトディスク)、DVD(ディジタル多目的ディスク)、MO(光磁気ディスク)等のうち1又は複数種類の記録媒体を着脱可能なものである。外部記憶装置30に所望の記録媒体を装着した状態では、記録媒体からRAM22へデータを転送可能である。また、装着した記録媒体がHDやFDのように書込可能なものであれば、RAM22のデータを記録媒体に転送可能である。
【0043】
外部記憶装置30に装着する記録媒体では、参考曲としての多数曲の曲データがデータベース30Aとして記録されると共に多数のリズムデータがデータベース30Bとして記録される。データベース30Aには、参考曲としての多数曲のうちの複数曲について曲特徴データを予め記録しておいてもよい。後述する曲特徴登録の処理によれば、参考曲としての多数曲のうちの所望の曲について曲特徴データを作成し、データベース30Aに記録することができる。曲データ及び曲特徴データについては、図3及び図4を参照して後述し、リズムデータについては図5を参照して後述する。
【0044】
表示回路32は、ディスプレイ14の表示動作を制御することにより各種の表示を可能にするものである。
【0045】
タイマ34は、与えられるテンポデータに対応する周期でテンポクロック信号TCLを発生するもので、テンポクロック信号TCLは、割込命令としてCPU18に供給される。CPU18は、テンポクロック信号TCLの各クロックパルス毎に割込処理を開始する。このような割込処理を利用することにより記憶部22Fの作成曲データに基づいて自動演奏を行なうことができる。
【0046】
図3(A)及び(B)は、それぞれ記憶部22A及び22Bに記憶される曲データ及び曲特徴データのフォーマットを示すものである。
【0047】
曲データは、図3(A)に示すように、テンポデータTMP等を含むヘッドデータMHDの後に曲進行に従ってタイミングデータTMG1とキーオンデータKON1の組、タイミングデータTMG2とキーオフデータKOF1の組…というようにタイミングデータとキーオン又はキーオフのイベントデータの組を順次に配置し、最後にエンドデータMEDを配置したものである。
【0048】
各タイミングデータは、1つ前のイベントからの相対時間をテンポクロック信号TCLのクロック数で表わすもので、この実施形態では4分音符の長さに相当する時間を480クロックに対応させている。各キーオンデータは、楽音発生を指示するキーオン命令データKOと、発生楽音の音高を指示するノートナンバデータNMと、発生楽音の音量を指示するベロシティデータVLとを含んでいる。各キーオフデータは、キーオフ命令データと、ノートナンバデータとを含んでいる。
【0049】
曲特徴データは、図3(B)に示すように、ヘッドデータCHDの後にフレーズF1,F2…の順にフレーズ特徴データを配置し、最後にエンドデータCENを配置したものである。ヘッドデータCHDは、データ登録時に指定された登録ナンバを表わす登録ナンバデータRNと、曲のジャンル(例えばジャズ)を表わすジャンルデータMJと、曲の調(例えばハ長調)を表わす調データTDとを含んでいる。
【0050】
各フレーズ特徴データは、フレーズF1について代表的に示すように、フレーズが開始する小節(例えば第1小節)を表わすフレーズ開始小節データSTと、フレーズ種類(フレーズ番号(必要に応じてテーマあるいはサビを示すデータを含む)と各フレーズ間の類似関係を示すフレーズ記号とからなり、例えば「第1(テーマ)フレーズ,記号A」フレーズ)を表わすフレーズ種類データFSと、フレーズの長さを小節数(例えば2)で表わすフレーズ長データFLと、ピッチ特徴を表わすピッチ特徴データPCと、リズム特徴を表わすリズム特徴データRCとを含んでいる。なお、フレーズ記号としては、A,A’,B,Cなどがあり、同一(例えばAとA,BとB)、類似(AとA’)、非類似(例えばAとB,AとC)を意味する。
【0051】
図4(A)は、ピッチ特徴データPCの一構成例を示すものである。ピッチ特徴データPCは、開始・終了音データP1と、ピッチ変化データP2とを含んでいる。開始・終了音データP1は、フレーズ内の開始音について発音タイミングをクロック数(例えば0)で表わすと共にピッチを調の主音に対する度数(例えばIV)で表わす開始音データP11と、フレーズ内の終了音について発音タイミングをクロック数(例えば3360)で表わすと共にピッチを主音に対する度数(例えばII)で表わす終了音データP12を含んでいる。
【0052】
ピッチ変化データP2は、フレーズ内の隣り合う2音毎に傾きデータP21と、ピッチ差データP22と、時間間隔データP23とを含んでいる。傾きデータP21は、隣り合う2音(前音と後音)についてピッチ変化の傾きを「下行」、「水平」又は「上行」のいずれかで表わすもので、「下行」ならば前音より後音のピッチが低いことを表わし、「水平」ならば前音と後音とでピッチが等しいことを表わし、「上行」ならば前音よりも後音のピッチが高いことを表わす。ピッチ差データP22は、隣り合う2音のピッチの差を度数の差として表わすもので、例えば「−1」は1度低いことを、「0」は同一ピッチであることを、「1」は1度高いことをそれぞれ表わす。時間間隔データP23は、隣り合う2音間の時間間隔をクロック数(例えば4分音符相当ならば480)で表わすものである。
【0053】
図4(B)は、リズム特徴データRCの一構成例を示すものである。リズム特徴データRCは、ジャンルデータR1と、粗密状態データR2と、シンコペーションデータR3と、総音符数データR4とを含んでいる。ジャンルデータR1は、マーチ、ワルツ、ジャズ…等の音楽ジャンルのうちのいずれかを表わすものである。粗密状態データR2は、フレーズの前半及び後半における音符分布の粗密状態を「同密度」、「粗密」又は「密粗」のいずれかで表わすもので、「同密度」ならば前半と後半とで音符数が等しいことを、「粗密」ならば前半よりも後半の音符数が多いことを、「密粗」ならば前半よりも後半の音符数が少ないことをそれぞれ表わす。シンコペーションデータR3は、フレーズ内でのシンコペーションの有無を表わすものである。総音符数データR4は、フレーズ内の総音符数(前半の音符数と後半の音符数との合計)を表わすものである。
【0054】
図5は、データベース30Bに記録される多数のリズムデータRD1〜RDnを示すものである。各リズムデータは、RD1について代表的に示すようにリズム特徴データRCと、リズムパターンデータRPとを含んでいる。リズム特徴データRCは、図4(B)に関して前述したと同様のもので、ジャンルデータR1、粗密状態データR2、シンコペーションデータR3及び総音符数データR4を含んでいる。リズムパターンデータRPは、フレーズ内の各音符毎に発音タイミング及び消音タイミングを指示するものである。リズム特徴データRCは、リズムパターンデータRPに関してリズム特徴を表わすもので、一例としてデータR1では「ジャズ」を、データR2では「密粗」を、データR3では「無」を、データR4では「9」をそれぞれ表わす。
【0055】
データベース30Bから所望のリズムパターンデータを読出すときは、RD1〜RDnの各リズムデータ毎にリズム特徴データRCと所望のリズム特徴データとを比較し、両者が一致するのに応じて一致に係るリズムデータ中のリズムパターンデータを読出すようにすればよい。
【0056】
図6は、ユーザ入力に係るフレーズ特徴データUFのフォーマットを示すものである。フレーズ特徴データUFは、ユーザ入力のメロディデータに基づいて作成され、記憶部22Dに記憶される。
【0057】
フレーズ特徴データUFは、ジャンルデータMJと、調データTDと、フレーズ種類データFSと、フレーズ長データFLと、ピッチ特徴データPCと、リズム特徴データRCと、エンドデータFEDとを含んでいる。データMJ,TD,FS,FL,PC,RCは、図3(B)に関して前述したものと同様のものであるので、詳細な説明を省略する。ただし、フレーズ種類FSには、フレーズ番号のみが含まれ、フレーズ記号(A,A’など)は含まれていない。
【0058】
次に、図7を参照して1フレーズ分のメロディの生成過程を説明する。図7(A)は、図4(A)のピッチ特徴データPCに基づいて作成されたピッチ変化パターンを示す。
【0059】
曲作成に際しては、ユーザが所望の調を指定する。調の指定に応じて指定調の音階音と図4(A)のピッチ特徴データPCとを用いて音名型のピッチ特徴データを作成する。この音名型のピッチ特徴データは、フレーズ内の各音符毎に指定調の音階音の音名によりピッチを表わすものである。一例としてハ長調を指定した場合、ハ長調の音階音と図4(A)のピッチ特徴データとを用いて音名型のピッチ特徴データを作成する。このようにして作成された音名型のピッチ特徴データに基づいて音名変化パターンを作成すると、図7(B)の折れ線NPに示すようになる。
【0060】
一方、所望のリズムパターンデータとして図5のリズムデータRD1中のリズムパターンデータRPが読出されたものとする。このリズムパターンデータRPに相当するリズムパターンを図7(C)に示す。
【0061】
図7(C)に示されるフレーズ内の各音符毎に前述の音名型のピッチ特徴データ中から発音タイミングで対応する音名データを読出す。これは、図7で説明すると、図7(C)の各音符毎に図7(B)の音名変化パターン中から発音タイミングで対応する音名を選択することに相当する。そして、図7(C)に示されるフレーズ内の各音符毎に読出しに係る音名データに基づいてピッチを決定することにより図7(D)に示すような1フレーズ分のメロディデータを生成する。図7(D)のメロディデータのフォーマットは、図3(A)について前述したものと同様にすることができる。
【0062】
図8は、メインルーチンの処理の流れを示すものである。ステップ40では、RAM22に含まれる各種レジスタ等を初期設定する。そして、ステップ42に移る。
【0063】
ステップ42では、登録モードか判定する。この判定の結果が肯定的(Y)であればステップ44に移る。ステップ44では、曲特徴登録のサブルーチンを実行する。ステップ44の処理は、データベース30A中の所望の曲データに基づいて曲特徴データを作成し、データベース30Aに登録するもので、詳細については図9を参照して後述する。
【0064】
ステップ42の判定結果が否定的(N)であったとき又はステップ44の処理が終ったときは、ステップ46に移る。ステップ46では、メロディ生成モードか判定する。この判定の結果が肯定的(Y)であればステップ48に移り、フレーズ特徴分析のサブルーチンを実行する。ステップ48の処理は、ユーザ入力に係る1フレーズ分のメロディデータに基づいてフレーズ特徴データを作成し、記憶部22Dに記憶するもので、詳細については図13を参照して後述する。ステップ48の後は、ステップ50に移る。
【0065】
ステップ50では、曲特徴データ選択のサブルーチンを実行する。ステップ50の処理は、記憶部22Dのフレーズ特徴データに基づいてデータベース30A中から曲作成時に参考とすべき曲特徴データを選択し、記憶部22Eに記憶するもので、詳細については図14,15を参照して後述する。ステップ50の後は、ステップ52に移る。
【0066】
ステップ52では、メロディ生成のサブルーチンを実行する。ステップ52の処理は、記憶部22Cのフレーズメロディデータを流用すると共に、記憶部22E中の所望の曲特徴データに基づいて他のフレーズのメロディデータを作成することにより1曲分のメロディデータを生成し、記憶部22Fに記憶するもので、詳細については図16を参照して後述する。
【0067】
ステップ46の判定結果が否定的(N)であったとき又はステップ52の処理が終ったときは、ステップ54に移り、その他の処理を行なう。その他の処理としては、自動演奏モードの検出処理、自動演奏のスタート/ストップ処理、曲データの編集処理等がある。
【0068】
ステップ56では、処理終了か判定する。この判定の結果が否定的(N)であればステップ42に戻り、それ以降のステップを上記したと同様に繰返す。そして、ステップ56の判定結果が肯定的(Y)になったときは処理エンドとする。
【0069】
図9は、曲特徴登録のサブルーチンを示すもので、ステップ60では、データベース30A中に処理すべき曲データがあるか判定する。この判定の結果が肯定的(Y)であればステップ62に移る。
【0070】
ステップ62では、キーボード36、マウス38等の操作に応じて所望の曲データを指定する。そして、データベース30Aから指定に係る曲データを読出して図3(A)に示すようなフォーマットで記憶部22Aに記憶すると共にディスプレイ14に楽譜として表示する。
【0071】
ステップ64では、記憶部22Aに記憶した曲データに関してキーボード36、マウス38等の操作に応じて登録ナンバ、ジャンル及び調を指定する。そして、指定に係る登録ナンバ、ジャンル及び調をそれぞれ表わす登録ナンバデータRN、ジャンルデータMJ及び調データTDを図3(B)に示すようなフォーマットで記憶部22Bに記憶する。
【0072】
ステップ66では、ディスプレイ14に表示された曲データに関してキーボード36、マウス38等の操作に応じて小節区切り、フレーズ区切り、フレーズ種類を指定する。小節区切り及びフレーズ区切りの指定に応じて各フレーズ毎にフレーズ開始小節及びフレーズ長を決定する。そして、決定に係るフレーズ開始小節を表わすフレーズ開始小節データSTと、決定に係るフレーズ長を表わすフレーズ長データFLと、指定に係るフレーズ種類を表わすフレーズ種類データFSとを各フレーズ毎に図3(B)に示すようなフォーマットで記憶部22Bに記憶する。なお、フレーズ種類データのうちのフレーズ記号は、区切られた各フレーズの類似関係を考慮して指定する。
【0073】
ステップ68では、ピッチ特徴分析のサブルーチンを実行する。ステップ68の処理は、記憶部22Aに記憶した曲データに関してフレーズ毎にメロディ特徴を分析して図4(A)に示したようなピッチ特徴データを作成し、記憶部22Bに記憶するもので、詳細については図10,11を参照して後述する。
【0074】
ステップ70では、リズム特徴分析のサブルーチンを実行する。ステップ70の処理は、記憶部22Aに記憶した曲データに関してフレーズ毎にリズム特徴を分析して図4(B)に示したようなリズム特徴データを作成し、記憶部22Bに記憶するもので、詳細については図12を参照して後述する。
【0075】
ステップ72では、図3(B)に示すように記憶部22BにエンドデータCENを記憶する。そして、ステップ74では、1曲分の曲特徴データを記憶部22Bからデータベース30Aに転送し、登録する。
【0076】
この後、ステップ60に戻り、処理すべき曲データがあるか判定する。この判定の結果が肯定的(Y)であればステップ62以降の処理を次の曲データに関して実行する。このようにしてデータベース30Aには複数曲分の曲特徴データを登録することができる。
【0077】
最後の曲データについて曲特徴データの登録が終ったときは、ステップ60の判定結果が否定的(N)となり、図8のルーチンにリターンする。
【0078】
図10,11は、ピッチ特徴分析のサブルーチンを示すもので、ステップ80では、記憶部22Aに分析すべきフレーズありか判定する。上記のように記憶部22Aに所望の曲データを記憶したときは分析すべきフレーズがあるので、ステップ80の判定結果は肯定的(Y)となり、ステップ82に移る。
【0079】
ステップ82では、フレーズ内に読出すべきデータがあるか判定する。最初は、第1フレーズについて読出すべきデータがあるか判定する。通常、この判定の結果は肯定的(Y)となり、ステップ84に移る。
【0080】
ステップ84では、記憶部22Aからフレーズ内のデータを読出す。そして、ステップ86に移り、読出したデータがキーオンデータか判定する。図3(A)の曲データの場合、第1フレーズの最初のデータはタイミングデータTNG1であるので、ステップ86の判定結果は否定的(N)となり、ステップ82に戻る。ステップ84でキーオンデータKON1を読出すと、ステップ86の判定結果が肯定的(Y)となり、ステップ88に移る。
【0081】
ステップ88では、今回読出したキーオンデータと前回読出したキーオンデータとの間の時間間隔を両キーオンデータ間のタイミングデータに基づいて求める。そして、ステップ90に移り、今回読出したキーオンデータと前回読出したキーオンデータとの間のピッチ差を両キーオンデータ中のノートナンバに基づいて求める。ただし、ステップ84で最初のキーオンデータKON1を読出したときは、前回読出したキーオンデータが存在しないので、ステップ88,90では、今回読出したキーオンデータKON1を保存するだけにする。
【0082】
次にステップ92では、今回読出したキーオンデータがフレーズ内で最初のキーオンデータか判定する。上記のように最初のキーオンデータKON1を読出したときは、ステップ92の判定結果が肯定的(Y)となり、ステップ94に移る。
【0083】
ステップ94では、図4(A)に示したように開始音のピッチ及び発音タイミングを表わす開始音データP11を記憶部22Bに記憶する。そして、ステップ82に戻る。
【0084】
ステップ82からステップ86に至る処理を3回行なうことによりタイミングデータTMG2、キーオフデータKOF1及びタイミングデータTMG3を読出した後、ステップ84でキーオンデータKON2を読出すと、ステップ86の判定結果が肯定的(Y)となり、ステップ88に移る。
【0085】
ステップ88では、キーオンデータKON1,KON2について前述したように時間間隔を求める。そして、ステップ90では、キーオンデータKON1,KON2について前述したようにピッチ差を求める。
【0086】
次に、ステップ92では、今回読出したキーオンデータKON2が最初のキーオンデータではないので、判定結果が否定的(N)となり、ステップ96に移る。ステップ96では、今回読出したキーオンデータがフレーズ内で最後のキーオンデータか判定する。キーオンデータKON2は最後のキーオンデータではないので、ステップ96の判定結果が否定的(N)となり、ステップ98に移る。
【0087】
ステップ98では、今回読出したキーオンデータ中のノートナンバが前回読出したキーオンデータ中のノートナンバと同じか判定する。キーオンデータKON2を読出したときは、キーオンデータKON1,KON2についてノートナンバが同じか判定する。この判定の結果が肯定的(Y)であれがステップ100に移る。
【0088】
ステップ100では、ステップ88で求めた時間間隔と、ステップ90で求めたピッチ差と、水平データとをそれぞれ図4(A)の時間間隔データP23、ピッチ差データP22、傾きデータP21として記憶部22Bに記憶する。
【0089】
ステップ98の判定結果が否定的(N)であったときは、ステップ102に移り、今回読出したキーオンデータ中のノートナンバが前回読出したキーオンデータ中のノートナンバより大か判定する。この判定の結果が肯定的(Y)であればステップ104に移り、ステップ88で求めた時間間隔と、ステップ90で求めたピッチ差と、上行データとをそれぞれ図4(A)の時間間隔データP23、ピッチ差データP22、傾きデータP21として記憶部22Bに記憶する。
【0090】
ステップ102の判定結果が否定的(N)であったときは、ステップ106に移り、ステップ88で求めた時間間隔と、ステップ90で求めたピッチ差と、下行データとをそれぞれ図4(A)の時間間隔データP23、ピッチ差データP22、傾きデータP21として記憶部22Bに記憶する。
【0091】
ステップ100、104又は106が終ったときは、ステップ82に戻り、それ以降のステップを上記したと同様に繰返す。この結果、図4(A)に示したように傾きデータP21、ピッチ差データP22及び時間間隔データP23を含むピッチ変化データP2が次々に記憶部22Bに記憶される。そして、ステップ84でフレーズ内で最後のキーオンデータを読出したときは、ステップ96の判定結果が肯定的(Y)となり、ステップ108に移る。
【0092】
ステップ108では、図4(A)に示したように終了音のピッチ及び発音タイミングを表わす終了音データP12を記憶部22Bに記憶する。そして、ステップ98又は102の判定結果に応じてステップ100,104又は106のいずれかの処理を行なうことにより最後のキーオンデータについて傾きデータP21、ピッチ差データP22及び時間間隔データP23を含むピッチ変化データP2を記憶部22Bに記憶する。この結果、記憶部22Bには、図3(B)のフレーズF1に関して図4(A)に示すようなピッチ特徴データPCが記憶される。
【0093】
ステップ100,104,106のいずれかの処理が終ると、ステップ82に戻り、フレーズ内に読出すべきデータありか判定する。最後のキーオンデータの後は読出すべきデータが存在しないので、ステップ82の判定結果は否定的(N)となり、ステップ80に戻る。
【0094】
ステップ80では、分析すべきフレーズありか判定する。フレーズF1の処理が終了した段階であり、フレーズF2が分析すべきフレーズとなる。従って、ステップ80の判定結果が肯定的(Y)となり、ステップ82以降の処理をフレーズF2に関して実行する。この結果、記憶部22Bには、図3(B)のフレーズF2に関して図4(A)に示すようなピッチ特徴データPCが記憶される。最終フレーズの処理が終ると、ステップ80の判定結果が否定的(N)となり、図9のルーチンにリターンする。
【0095】
図12は、リズム特徴分析のサブルーチンを示すもので、ステップ110では、記憶部22Aに分析すべきフレーズありか判定する。上記のように記憶部22Aに所望の曲データを記憶したときは分析すべきデータがあるので、ステップ110の判定結果は肯定的(Y)となり、ステップ112に移る。
【0096】
ステップ112では、記憶部22BからフレーズF1のフレーズ長データFLを読出す。そして、ステップ114に移り、読出したフレーズ長データFLの示すフレーズ長の1/2のタイミングTMを求める。
【0097】
次に、ステップ116では、フレーズ前半の総音符数N1と、フレーズ後半の総音符数N2とを求める。ここで、N1は、記憶部22Aに記憶した曲データのうちフレーズF1に属するデータがステップ114で求めたタイミングTMより前にキーオンデータを何個含むか計数することにより求めることができ、N2は、記憶部22Aに記憶した曲データのうちフレーズF1に属するデータがステップ114で求めたタイミングTMより後にキーオンデータを何個含むか計数することにより求めることができる。
【0098】
ステップ118では、ステップ116で求めたN1,N2についてN1=N2か判定する。この判定の結果が肯定的(Y)であればステップ120に移り、図4(B)の粗密状態データR2として同密度データを記憶部22Bに記憶する。
【0099】
ステップ118の判定結果が否定的(N)であったときは、ステップ122に移り、N1>N2か判定する。この判定の結果が肯定的(Y)であればステップ124に移り、図4(B)の粗密状態データR2として密粗データを記憶部22Bに記憶する。ステップ122の判定結果が否定的(N)であればステップ126に移り、粗密状態データR2として粗密データを記憶部22Bに記憶する。
【0100】
ステップ120,124,126のいずれかの処理が終ったときは、ステップ128に移る。ステップ128では、記憶部22Aに記憶した曲データのうちフレーズF1に属するデータについてシンコペーションを検索し、シンコペーションの有無を図4(B)のシンコペーションデータR3として記憶部22Bに記憶する。そして、ステップ130に移る。
【0101】
ステップ130では、N1+N2=Nを図4(B)の総音符数データR4として記憶部22Bに記憶すると共に、記憶部22BのヘッドデータCHD中から読出したジャンルデータMJを図4(B)のジャンルデータR1として記憶部22Bに記憶する。
【0102】
以上によりフレーズF1の処理が終ったことになり、ステップ110に戻る。そして、フレーズF2以降の各フレーズ毎に上記したと同様の処理を行なう。この結果、図3(B)の各フレーズ毎に図4(B)に示したようなリズム特徴データRCが記憶部22Bに記憶される。最終フレーズの処理が終ると、ステップ110の判定結果が否定的(N)となり、図9のルーチンにリターンする。
【0103】
図13は、フレーズ特徴分析のサブルーチンを示すもので、ステップ140では、作成すべき曲についてキーボード36、マウス38等の操作に応じてジャンル、調、フレーズ長及びフレーズ種類(フレーズ記号を除く)を指定し、指定に係るジャンル、調、フレーズ長及びフレーズ種類をそれぞれ表わすジャンルデータMJ、調データTD、フレーズ長データFL及びフレーズ種類データFSを図6に示すようなフォーマットで記憶部22Dに記憶する。
【0104】
次に、ステップ142では、フレーズメロディを新規に作成するか判定する。ユーザは、ディスプレイ14の画面上でキーボード36、マウス38等によりフレーズメロディの入力方式(新規に作成して入力するか又はデータベース30A中から選択して入力するか)を選択することができる。ステップ142の判定結果が肯定的(Y)であればステップ144に移る。
【0105】
ステップ144では、電子楽器12の鍵盤12Aでのキー操作に応じて又はキーボード36での数値・文字キー操作に応じて1フレーズ分のメロディデータを入力し、記憶部22Cに記憶する。このとき入力されるメロディデータは、ステップ140で指定したフレーズ種類(例えば第1(テーマ)フレーズ)に関するものである。
【0106】
ステップ142の判定結果が否定的(N)であったときは、ステップ146に移る。ステップ146では、データベース30A中の曲データを1曲分ずつディスプレイ14の画面に表示する。ユーザは、表示された曲データ中からキーボード36、マウス38等により所望の種類のフレーズのメロディデータを選択する。このときの選択操作に応じて選択に係る1フレーズ分のメロディデータを記憶部22Cに記憶する。
【0107】
ステップ144,146のいずれかの処理が終ったときは、ステップ148に移り、ピッチ特徴分析のサブルーチンを実行する。すなわち、記憶部22Cに記憶したフレーズメロディデータに関して図10,11のサブルーチンを前述したと同様に実行することにより1フレーズ分のピッチ特徴データPCを作成し、図6に示すようなフォーマットで記憶部22Dに記憶する。そして、ステップ150に移る。
【0108】
ステップ150では、リズム特徴分析のサブルーチンを実行する。すなわち、記憶部22Cに記憶したフレーズメロディデータに関して図12のサブルーチンを前述したと同様に実行することにより1フレーズ分のリズム特徴データRCを作成し、図6に示すようなフォーマットで記憶部22Dに記憶する。そして、ステップ152に移る。
【0109】
ステップ152では、図6に示すようなフォーマットで記憶部22DにエンドデータFEDを記憶する。そして、図8のルーチンにリターンする。
【0110】
図14,15は、曲特徴データ選択のサブルーチンを示すもので、ステップ160では、データベース30A中に処理すべき曲特徴データがあるか判定する。予めデータベース30Aに多数曲の曲特徴データを記録しておくか又は前述したように複数曲の曲特徴データをデータベース30Aに登録しておいたときは、ステップ160の判定結果が肯定的(Y)となり、ステップ162に移る。
【0111】
ステップ162では、データベース30Aから記憶部22Bに1曲分の曲特徴データを読出す。そして、ステップ164に移り、読出した曲特徴データが記憶部22Dのフレーズ特徴データとジャンル及び調が一致するか判定する。このためには、図3(B)に示すような曲特徴データ中のジャンルデータMJ及び調データTDを図5に示すようなフレーズ特徴データ中のジャンルデータMJ及び調データTDとそれぞれ比較し、一致するか判定すればよい。
【0112】
なお、図6のフレーズ特徴データにジャンルデータMJと調データTDを含めなかったときは、ステップ160の前にステップ158を設け、作成したい曲のジャンル及び調をステップ158にてキーボード36、マウス38等の操作に応じて指定し、ステップ164では指定に係るジャンル及び調が曲特徴データ中のジャンルデータMJ及び調データTDの指示するジャンル及び調とそれぞれ一致するか判定するようにしてもよい。
【0113】
ステップ164の判定結果が否定的(N)であったときは、ステップ160に戻る。そして、ステップ162で次の曲特徴データを読出し、ステップ164で前回と同様にしてジャンル及び調に関する一致判定を行なう。
【0114】
ステップ164の判定結果が肯定的(Y)になると、記憶部22Bには記憶部22Dのフレーズ特徴データとジャンル及び調が一致した曲特徴データが記憶されていることになり、ステップ166に移る。ステップ166では、記憶部22Bの曲特徴データ中から記憶部22Dのフレーズ特徴データとフレーズ種類が同一のフレーズ特徴データを抽出する。例えば、記憶部22Dのフレーズ特徴データが指示するフレーズ種類が第1(テーマ)フレーズであり、図3(B)のフレーズF1のフレーズ種類(フレーズ番号)が第1(テーマ)フレーズであればフレーズF1のフレーズ特徴データを抽出する。そして、ステップ168に移る。
【0115】
ステップ168では、抽出したフレーズ特徴データと記憶部22Dのフレーズ特徴データとで粗密状態データ(図4(B)のR2)が一致するか判定する。この判定の結果が否定的(N)であればステップ160に戻り、それ以降のステップを上記したと同様に行なう。
【0116】
ステップ168の判定結果が肯定的(Y)であったときは、ステップ170に移る。ステップ170では、抽出したフレーズ特徴データと記憶部22Dのフレーズ特徴データとでピッチ特徴データ(図4(A))内の全データが一致するか判定する。この判定の結果が肯定的(Y)であればステップ172に移り、記憶部22Bの曲特徴データを優先順位1のデータとして記憶部22Eに記憶する。
【0117】
ステップ170の判定結果が否定的(N)であったときは、ステップ174に移る。ステップ174では、抽出したフレーズ特徴データと記憶部22Dのフレーズ特徴データとで時間間隔データ(図4(A)のP23)及びピッチ差データ(図4(A)のP22)のいずれも一致するか判定する。この判定の結果が肯定的(Y)であればステップ176に移り、記憶部22Bの曲特徴データを優先順位2のデータとして記憶部22Eに記憶する。
【0118】
ステップ174の判定結果が否定的(N)であったときは、ステップ178に移る。ステップ178では、抽出したフレーズ特徴データと記憶部22Dのフレーズ特徴データとで傾きデータ(図4(A)のP21)が一致するか判定する。この判定の結果が肯定的(Y)であればステップ180に移り、記憶部22Bの曲特徴データを優先順位3のデータとして記憶部22Eに記憶する。
【0119】
ステップ178の判定結果が否定的(N)であったとき又はステップ172,176,180のいずれかの処理が終ったときは、ステップ160に戻り、それ以降の処理を上記したと同様に実行する。この結果、記憶部22Eには、ユーザ入力に係るメロディ特徴データ(記憶部22Dのフレーズ特徴データ)と一致又は類似したメロディ特徴を有する複数の曲特徴データが優先順位を付して記憶されることになる。
【0120】
最後の曲特徴データの処理が終ると、ステップ160の判定結果が否定的(N)となり、図8のルーチンにリターンする。
【0121】
図16は、メロディ生成のサブルーチンを示すもので、ステップ190では、記憶部22Eから優先順位に従って複数の曲特徴データを読出し、ディスプレイ14に表示する。
【0122】
次に、ステップ192では、表示された複数の曲特徴データのうち所望の曲特徴データをキーボード36、マウス38等の操作に応じて選択する。そして、ステップ194に移る。
【0123】
ステップ194では、曲作成のサブルーチンを実行する。ステップ194の処理は、ステップ192で選択された曲特徴データとユーザ入力に係る記憶部22Cのフレーズメロディデータとに基づいて1曲分のメロディデータを生成し、記憶部22Fに記憶するもので、詳細については図17,18を参照して後述する。ステップ194の後は、ステップ196に移る。
【0124】
ステップ196では、コード(和音)変更ありか判定する。この判定の結果が肯定的(Y)であれば、ステップ198に移り、指示されたコード進行に従って記憶部22F中の曲メロディデータを変更する。記憶部22Fの曲メロディデータには、図示しないコード付与処理により曲メロディに適合したコード進行が自動的に付与される。ステップ196,198の処理は、このようにして付与されたコード進行についてユーザの希望する部分的な変更を可能にするために行なわれるものである。
【0125】
ステップ196の判定結果が否定的(N)であったとき又はステップ198の処理が終ったときは、ステップ200に移る。ステップ200では、歌詞入力ありか判定する。この判定の結果が肯定的(Y)であればステップ202に移る。ステップ202では、入力された歌詞データに従って記憶部22Fの曲メロディデータの音節数合せを実施する。
【0126】
ステップ200の判定結果が否定的(N)であったとき又はステップ202の処理が終ったときは、ステップ204に移る。ステップ204では、記憶部22Fの曲メロディデータについて不自然なメロディを訂正する。そして、図8のルーチンにリターンする。
【0127】
図17,18は、曲作成のサブルーチンを示すもので、ステップ210では、ステップ192で選択された曲特徴データ中から最初のフレーズ特徴データを抽出する。そして、ステップ212に移る。
【0128】
ステップ212では、抽出したフレーズ特徴データが前回迄の抽出データのいずれかとフレーズ種類のうちのフレーズ記号が一致するか判定する。最初のフレーズ特徴データについては前回迄の抽出データが存在しないので、ステップ212の判定結果が否定的(N)となり、ステップ214に移る。
【0129】
ステップ214では、抽出したフレーズ特徴データが記憶部22Dのフレーズ特徴データとフレーズ種類のうちのフレーズ記号が一致するか判定する。一例として、ユーザが第1(テーマ)フレーズのメロディデータを入力した場合、記憶部22Dには、図13の処理により第1(テーマ)フレーズのフレーズ特徴データが記憶されている。また、ステップ210で抽出した最初のフレーズ特徴データのフレーズ種類が第1(テーマ)フレーズであるとする。このような例では、ステップ214の判定結果が肯定的(Y)となり、ステップ216に移る。
【0130】
ステップ216では、記憶部22Cのフレーズメロディデータを読出す。上記例のように第1(テーマ)フレーズのメロディデータを入力した場合は、記憶部22Cから第1(テーマ)フレーズのフレーズメロディデータを読出す。ステップ216の後は、ステップ218に移る。
【0131】
ステップ218では、記憶部22Fにフレーズ種類データと共にフレーズメロディデータを記憶する。フレーズ種類データを記憶するのは、フレーズ種類を指定することで、指定に係るフレーズ種類を有するフレーズメロディデータを読出可能にするためである。上記例のように記憶部22Cから第1(テーマ)フレーズのフレーズメロディデータを読出したときは、第1(テーマ)フレーズを指示するフレーズ種類データと共に読出しに係るフレーズメロディデータを記憶部22Fに記憶する。これは、図1(C)に示したように曲の第1(テーマ)フレーズのデータとしてユーザ入力に係るフレーズメロディデータUF11を流用することに対応する。ステップ218の後は、ステップ220に移る。
【0132】
ステップ220では、ステップ192で選択された曲特徴データ中に次のフレーズ特徴データがあるか判定する。通常、この判定の結果は肯定的(Y)となり、ステップ210に戻る。ステップ210では、2番目のフレーズ特徴データを抽出する。そして、ステップ212に移る。
【0133】
最初のフレーズ特徴データのフレーズ記号がAであり、抽出した2番目のフレーズ特徴データのフレーズ記号がBであるとする。このような例では、ステップ212の判定結果が否定的(N)となり、ステップ214に移る。
【0134】
上記例のように記憶部22Dのフレーズ特徴データのフレーズ番号が第1(テーマ)フレーズであると共に抽出した2番目のフレーズ特徴データのフレーズ番号が第2フレーズであるとすると、ステップ214の判定結果が否定的(N)となり、ステップ222に移る。
【0135】
ステップ222では、抽出した2番目のフレーズ特徴データ中のリズム特徴データ(図4(B))に基づいてデータベース30Bからリズムパターンデータを読出してディスプレイ14に表示する。すなわち、図5に示したような各リズムデータ毎にその中のリズム特徴データと抽出したフレーズ特徴データ中のリズム特徴データとを比較し、両者が一致するのに応じて一致に係るリズムデータ中のリズムパターンデータを読出して表示する。そして、ステップ224に移る。
【0136】
ステップ224では、表示したリズムパターンデータを使うか判定する。ユーザは、表示されたリズムパターンデータについてキーボード36、マウス38等により使用するか否か意思表示することができる。ステップ224の判定結果が否定的(N)であったときはステップ222に戻り、前回と同様にしてデータベース30Bから他のリズムパターンデータを読出して表示する。このような読出し及び表示処理は、ステップ224の判定結果が肯定的(Y)になるまで行なわれる。
【0137】
ステップ224の判定結果が肯定的(Y)になると、所定のリズムパターンデータが選択されたことになる。リズムパターンデータの選択は、抽出したフレーズ特徴データ中のリズム特徴データとリズム特徴が一致する複数のリズムパターンデータを表示し、そのうちの1つを選択する方式で行なうようにしてもよい。また、リズムパターンは、自動的に選択されるようにしてもよい。
【0138】
次に、ステップ226では、ステップ192で選択された曲特徴データ中の調データ(図3(B)のTDに対応)と、抽出したフレーズ特徴データ中のピッチ特徴データ(図3(B)のPCに対応)と、ステップ224で選択されたリズムパターンデータ(図5のRPに対応)とに基づいて図7で述べたようにしてフレーズメロディデータを作成する。上記例のように第2フレーズのフレーズ特徴データを抽出したときは、第2フレーズのメロディデータを作成する。これは、図1(C)に示したように第2フレーズのデータとしてフレーズメロディデータF12を作成することに対応する。ステップ226の後は、ステップ218に移る。
【0139】
ステップ218では、ステップ226で作成されたフレーズメロディデータをフレーズ種類データと共に記憶部22Fに記憶する。
【0140】
この後、ステップ220を介してステップ210に戻り、3番目のフレーズ特徴データを抽出する。この3番目のフレーズ特徴データのフレーズ記号がAであり、前回迄に抽出したフレーズ特徴データのフレーズ記号の中にAが含まれているとすると、ステップ212の判定結果が肯定的(Y)となり、ステップ228に移る。
【0141】
ステップ228では、一致に係るフレーズ種類を有するフレーズメロディデータを記憶部22Fから読出す。そして、ステップ230に移り、メロディ変更ありか判定する。この判定結果が肯定的(Y)であればステップ232に移り、メロディ変更の指示に従って読出しに係るフレーズメロディデータを変更する。ステップ230,232の処理は、ユーザの希望する部分的なメロディ変更を可能にするために行なわれるものである。このような処理によれば、図1(D)に示したように第3フレーズのメロディデータF13の一部を変更して第3’フレーズとすることができる。
【0142】
ステップ230の判定結果が否定的(N)であったとき又はステップ232の処理が終ったときは、ステップ218に移る。ステップ218では、ステップ228で記憶部22Fから読出したフレーズメロディデータ又はこのフレーズメロディデータにステップ232で変更を加えて得られたフレーズメロディデータをフレーズ種類データと共に記憶部22Fに記憶する。
【0143】
この後は、ステップ220を介してステップ210に戻り、それ以降の処理を上記したと同様に実行する。この結果、記憶部22Fに記憶された第1、第2、第3等のフレーズに関するメロディデータをつなぎ合わせることにより図1(C)又は図1(D)に示したように1曲分のメロディデータを生成することができる。
【0144】
最後のフレーズ特徴データの処理が終ると、ステップ220の判定結果が否定的(N)となり、図16のルーチンにリターンする。
【0145】
図17,18のサブルーチンにあっては、ステップ216の後、破線で示すようにステップ230に移るようにしてもよい。このようにすると、例えば図1(D)に示したように第2フレーズのメロディデータUF12を流用するときにデータUF12の一部を変更して第2’フレーズとすることができる。
【0146】
図19は、この発明の他の実施形態に係る作曲処理を示すものである。データベース240には、複数曲にそれぞれ対応した複数の曲生成データK1,K2…Knが記憶されており、各曲生成データは、データK1について代表的に示すように参照特徴データKaと、このデータKaに付随したメロディ生成データKbとを含んでいる。
【0147】
各参照特徴データは、作成すべき曲の一部区間(例えば第1フレーズ)のメロディ特徴を表わすもので、一例として図3(B)でフレーズF1について前述したフレーズ特徴データと同様の構成にすることができる。各メロディ生成データは、作成すべき曲のメロディを生成するために使用されるもので、メロディ生成用メロディ特徴データ及びメロディ生成用メロディデータのうちいずれか一方又は双方を用いることができる。
【0148】
ステップ242では、ユーザが所望のメロディデータを入力する。このとき入力するメロディデータは、作成すべき曲の一部区間(例えば第1フレーズ)に関するものとする。メロディデータを入力する際に、メロディデータを入力する区間をユーザが任意に指定可能としてもよい。
【0149】
ステップ244では、入力に係るメロディデータに関してメロディ特徴を分析し、そのメロディ特徴を表わす特徴データを作成する。ステップ244の特徴分析は、図10〜12に関して前述したのと同様に行なうことができ、特徴データは、図6でフレーズUFについて前述したフレーズ特徴データと同様の構成にすることができる。
【0150】
ステップ246では、ステップ244で作成された特徴データをデータベース240内の各参照特徴データと比較し、作成に係る特徴データとメロディ特徴が一致又は類似した1又は複数の参照特徴データを検出する。複数の参照特徴データが検出された場合は、いずれか1つをランダムに自動選択するか又はすべてをユーザに提示してユーザに所望の1つを選択させるようにすればよい。また、類似に係る複数の参照特徴データが検出された場合は、各々の参照特徴データに優先順位(例えば入力メロディと音数が一致するものを最優先させるなど)をつけてユーザに提示し、ユーザが所望の1つを選択するようにしてもよい。
【0151】
ステップ246において一致に係る1つの参照特徴データが検出又は選択されたときは、ステップ248において該参照特徴データに付随したメロディ生成データをデータベース240から抽出する(選択して読出す)。ステップ250では、抽出したメロディ生成データに基づいて残区間のメロディデータを生成する。ここで、残区間とは、作成すべき曲において一部区間(ユーザがメロディデータを入力した区間)以外の区間である。ステップ250の残区間メロディ生成処理としては、図20〜22を参照して後述するものを用いることができる。
【0152】
ステップ252では、ステップ242でユーザが入力した一部区間のメロディデータとステップ250で生成した残区間のメロディデータとを結合して1曲分のメロディデータを生成する。
【0153】
ステップ246において類似に係る1つの参照特徴データが検出又は選択されたときは、ステップ254において該参照特徴データに付随したメロディ生成データをデータベース240から抽出する。
【0154】
ステップ256では、ステップ246での比較に係る特徴データ及び参照特徴データに基づいてメロディ特徴の不一致状態に対応した不一致情報を検出する。不一致情報としては、例えば参照特徴データの方がステップ244で作成された特徴データに比べて音高が2度低いことを表わす情報等が検出される。
【0155】
ステップ258では、ステップ254で抽出されたメロディ生成データをステップ256で検出された不一致情報に応じて修正する。例えば、検出に係る不一致情報が参照特徴データの音高が2度低いことを表わすときは、抽出に係るメロディ生成データの音高を2度高くするように修正を行なう。
【0156】
ステップ250では、ステップ258で修正されたメロディ生成データに基づいて残区間のメロディデータを生成する。そして、ステップ252では、ステップ242でユーザが入力した一部区間のメロディデータとステップ250で生成した残区間のメロディデータとを結合して1曲分のメロディデータを生成する。
【0157】
ステップ250の残区間メロディ生成処理においては、抽出又は修正されたメロディ生成データの他に、ステップ242で入力されたメロディデータも参照してメロディ生成を行なってもよい。このようにすると、入力したメロディにより近いメロディを生成することができる。このような処理の一例は、図23を参照して後述する。
【0158】
ステップ258で不一致情報に応じてメロディ生成データを修正する代りに、ステップ260で不一致情報に応じて残区間のメロディデータを修正するようにしてもよい。すなわち、ステップ250では、ステップ254により抽出されたメロディ生成データに基づいて残区間のメロディデータを生成し、ステップ260では、生成された残区間のメロディデータを不一致情報に応じて修正する。
【0159】
図19の作曲処理によれば、ユーザが所望のメロディを入力することにより例えば第1フレーズ等の所定の区間に所望のメロディを含む1曲分のメロディを簡単に生成することができる。入力したメロディとメロディ特徴が一致又は類似したメロディ生成データに基づいてメロディを生成し、しかも類似に係るメロディ生成データ又は類似に係る生成メロディを不一致情報に応じて修正するので、生成されるメロディは、入力に係るメロディに相応しいものとなる。メロディ生成データとして音楽的に起伏に富んだ曲(例えば既存の完成された曲)に対応するものを記憶しておくことにより起伏に富んだ音楽的な1曲分のメロディを生成することができる。
【0160】
図20は、メロディ生成データがメロディ生成用メロディ特徴データからなる場合に図19のステップ250で用いられる残区間メロディ生成処理を示すものである。図20では、1楽節分の処理を示し、メロディ生成用メロディ特徴データは、一例として調、拍子、小節数及び音域を指示するものとする。
【0161】
ステップ262では、ランダム発生器を用いて音高及び音長をランダムに発生させる。そして、ステップ264に移り、発生に係る音高が、与えられた調の音階音であるか判定する。与えられた調とは、メロディ特徴データが指示する調であり、例えばC長調である。
【0162】
ステップ264の判定結果が否定的(N)であればステップ262に戻り、再び音高を発生する。ステップ264の判定結果が肯定的(Y)になると、ステップ266に移る。
【0163】
ステップ266では、発生に係る音高が、与えられた音域内にあるか判定する。与えられた音域とは、メロディ特徴データが指示する音域である。
【0164】
ステップ266の判定結果が否定的(N)であればステップ262に戻り、ステップ264,266を繰返す。ステップ266の判定結果が肯定的(Y)になると、ステップ268に移る。
【0165】
ステップ268では、発生に係る音高をメロディ音として採用する。このメロディ音は、ステップ264,266を経由したことにより与えられた調の音階音であり且つ与えられた音域内に存在するものである。メロディ音の音長は、ステップ262で発生された音長とする。
【0166】
次に、ステップ270では、メロディ音の音長をその直前までのメロディ音の音長の合計に加算する。楽節内で最初のメロディ音についてはその直前の音長が存在しないので、最初のメロディ音の音長を次回の加算のために保存する。ステップ270の後、ステップ272に移る。
【0167】
ステップ272では、ステップ270で求めた音長の合計が「1小節当りの拍数×楽節の小節数」になったか判定する。一例として、1小節当りの拍数が4(4拍子)であり、楽節の小節数が4であるとすると、4×4=16拍となる。最初のメロディ音についてはステップ272の判定結果が否定的(N)となり、ステップ262に戻る。そして、ステップ262以降の処理を楽節内で2番目のメロディ音について実行する。このような処理を繰返すことによりステップ272での音長の合計が16拍に達すると、ステップ272の判定結果が肯定的(Y)となり、処理エンドとなる。
【0168】
この後は、楽節毎に上記のような処理を繰返す。そして、最終楽節の処理が終ると、1曲分のメロディデータが得られる。このような処理において、メロディ特徴データは、楽節毎に記憶してもよいし、1曲の全楽節に共通に記憶してもよい。また、生成されるメロディが音楽的に好ましいものとなるようにメロディ音としては音楽ルールを満たす音のみ採用するようにしてもよい。
【0169】
図20に関して上記した処理によれば、メロディ特徴データが持つ音楽的特徴を反映したメロディを簡単に生成することができる。
【0170】
図21は、メロディ生成データがメロディ生成用メロディデータからなる場合に図19のステップ250で用いられる残区間メロディ生成処理を示すものである。メロディ生成用メロディデータは、複数の楽節のメロディを表わすものとする。
【0171】
ステップ274では、メロディデータに関してメロディ変更区間指定処理を行なう。例えば、図2において、ディスプレイ14の画面上にメロディデータを表示し、ユーザにキーボード36、マウス38等によりメロディ変更区間(メロディを変更したい区間)を指定させる。
【0172】
次に、ステップ276では、指定に係るメロディ変更区間についてメロディ変更処理を行なう。メロディ変更処理としては、(イ)メロディの反転、(ロ)メロディの逆読み、(ハ)発音タイミングの変更、(ニ)時間軸上での圧縮又は伸張、(ホ)音高軸上での圧縮又は伸張、(ヘ)一部音高の差し替え、(ト)音高変化傾向を保存した状態での音高の差し替えなどがある。メロディ反転の一例を示すとCDEGのメロディが与えられた場合、Dを中心に反転することによりEDCAのメロディに変更される。
【0173】
図21の処理によれば、メロディデータが持つ音楽的雰囲気を反映したメロディを簡単に生成することができる。
【0174】
図22は、メロディ生成データがメロディ生成用メロディデータ及びメロディ生成用メロディ特徴データからなる場合に図19のステップ250で用いられる残区間メロディ生成処理を示すものである。メロディ生成用メロディデータは、複数の楽節のメロディを表わすものとし、メロディ生成用メロディ特徴データは、「メロディ変更後に最初と最後の音をコード構成音にする」旨指示するものとする。
【0175】
図22のステップ274,276は、図21のステップ274,276とそれぞれ同様の処理であり、簡単のため説明を省略する。上記例で示したようにメロディ反転によりCDEGのメロディをEDCAのメロディに変更した場合、CDEGはコードCメジャーの感覚であるのに対し、EDCAはコードAマイナーの感覚になってしまい、コード感覚が異常となる不都合がある。
【0176】
このような不都合をなくし、音楽性を高めるために付加されたのが、前述のメロディ特徴データとステップ278である。すなわち、ステップ278では、変更後のメロディをメロディ特徴データに応じて修正することによりコード感覚の正常化を図っている。前述例のようにステップ276でEDCAのメロディに変更された場合には、メロディ特徴データの指示に従って最後の音AをコードCメジャーの構成音であり且つAに最も近い音であるGに変更することによりEDCGのメロディを得ている。
【0177】
図22の処理によれば、メロディデータが持つ音楽的雰囲気とメロディ特徴データが持つ音楽的特徴とを反映したメロディを簡単に生成することができる。
【0178】
図23は、メロディ生成データの他に入力メロディデータを利用する場合に図19のステップ250で用いられる残区間メロディ生成処理を示すものである。この場合、作成すべき曲の楽節構成が、A,A’,B,A,であり、ユーザが先頭の第1楽節Aのメロディデータを入力するものとする。図23の処理は、ユーザが第1楽節Aのメロディデータを入力完了するのに応じてスタートする。
【0179】
ステップ280では、次の区間が楽節Aか判定する。次の区間は楽節A’であるので、ステップ280の判定結果は否定的(N)となり、ステップ282に移る。ステップ282では、次の区間が楽節A’であるか判定する。この判定の結果は肯定的(Y)となり、ステップ284に移る。
【0180】
ステップ284では、入力に係る楽節Aのメロディデータを参照して該メロディデータとメロディが類似した楽節A’のメロディデータを生成する。類似したメロディデータを生成する方法としては、(イ)楽節A’の前半のメロディを楽節Aの前半のメロディと同一又は類似とすると共に楽節A’の後半のメロディを新規に生成する方法、(ロ)楽節A’の前半のメロディを新規に生成すると共に楽節A’の後半のメロディを楽節Aの後半のメロディと同一又は類似とする方法、(ハ)楽節Aのメロディに音高シフト処理を施して楽節A’のメロディとする方法等を用いることができる。ステップ284の後は、ステップ286に移る。
【0181】
ステップ286では、メロディ生成に係る区間が最後の区間か判定する。楽節A’は最後の区間ではないので、ステップ286の判定結果は否定的(N)となり、ステップ280に戻る。
【0182】
ステップ280では、次の区間が楽節Aか判定する。次の区間は楽節Bであるので、ステップ280の判定結果は否定的(N)となり、ステップ282に移る。ステップ282では、次の区間が楽節A’か判定する。この判定結果は否定的(N)となり、ステップ288に移る。
【0183】
ステップ288では、入力に係る楽節Aのメロディデータを参照して該メロディデータとメロディが対比する(類似しない)楽節Bのメロディデータを生成する。対比するメロディデータを生成する方法としては、(イ)楽節Aのメロディに前述したメロディ反転処理を施して楽節Bのメロディを生成する方法、(ロ)楽節Aのメロディに関してリズムの粗密を変更する(例えば楽節Aの前半及び後半で音符分布がそれぞれ粗及び密であれば密及び粗に変更する)ことにより楽節Bのメロディを生成する方法等を用いることができる。ステップ288の後は、ステップ286に移る。
【0184】
ステップ286では、メロディ生成に係る区間が最後の区間か判定する。楽節Bは最後の区間ではないので、ステップ286の判定結果は否定的(N)となり、ステップ280に戻る。
【0185】
ステップ280では、次の区間が楽節Aか判定する。次の区間は楽節Aであるので、ステップ280の判定結果は肯定的(Y)となり、ステップ290に移る。
【0186】
ステップ290では、入力に係る楽節Aのメロディデータを最後の楽節Aのメロディデータとして採用する。そして、ステップ286で最後の区間か判定すると、判定結果が肯定的(Y)となり、処理エンドとする。
【0187】
図23の処理において、ステップ284では、楽節A’の前半又は後半のメロディを新規に生成する際にメロディ生成データ(メロディ生成用メロディ特徴データ又はメロディ生成用メロディデータ)を用いてもよいし、ステップ288で述べたような入力メロディを利用する方法を用いてもよい。また、ステップ288では、入力メロディを利用する方法の代りに、メロディ生成データを用いて楽節Bのメロディを生成するようにしてもよい。いずれにしても、ステップ284及び288のうち少なくとも一方のステップでは、メロディ生成データを用いるようにする。
【0188】
図23の処理にあっては、例えば楽節A’’のように「’」の数が2以上の楽節のメロディを生成するようにしてもよい。この場合、「’」の数が1つの場合とは異なる類似ルールに従ってメロディを生成する。また、楽節C,D等のメロディを生成するようにしてもよい。この場合、楽節Bの場合とは異なる対比ルールに従ってメロディを生成する。
【0189】
図23に関して上記した処理によれば、ユーザが入力した楽節Aのメロディデータを用いると共にメロディ生成データを用いることによりA,A’,B,Aのような楽節構成を有する1曲分のメロディデータを生成することができる。生成される1曲分のメロディには、入力に係る楽節Aのメロディが含まれると共に、メロディ生成データが持つ音楽的特徴又は音楽的雰囲気が反映される。
【0190】
図24は、この発明の更に他の実施形態に係る作曲処理を示すものである。データベース300には、複数曲にそれぞれ対応した複数の曲生成データS1,S2…Snが記憶されており、各曲生成データは、データS1について代表的に示すように参照メロディデータSaと、このデータSaに付随したメロディ生成データSbとを含んでいる。
【0191】
各参照メロディデータは、作成すべき曲の一部区間(例えば第1フレーズ)のメロディを表わすもので、例えば1音毎に音高及び音長を表わすデータにより構成される。
【0192】
各メロディ生成データは、作成すべき曲のメロディを生成するために使用されるもので、図20〜22に関して前述したようにメロディ生成用メロディ特徴データ及びメロディ生成用メロディデータのうちいずれか一方又は双方を用いることができる。
【0193】
ステップ302では、ユーザが所望のメロディデータを入力する。このとき入力するメロディデータは、作成すべき曲の一部区間(例えば第1フレーズ)に関するものとする。メロディデータを入力する際に、メロディデータを入力する区間をユーザが任意に指定可能としてもよい。
【0194】
ステップ304では、入力に係るメロディデータをデータベース300内の各参照メロディデータと比較し、入力に係るメロディデータとメロディが一致又は類似した1又は複数の参照メロディデータを検出する。複数の参照メロディデータが検出された場合は、いずれか1つをランダムに自動選択するか又はすべてをユーザに提示してユーザに所望の1つを選択させるようにすればよい。また、類似に係る複数の参照メロディデータが検出された場合は、各々の参照メロディデータに優先順位(例えば入力メロディと音数が一致するものを最優先させるなど)をつけてユーザに提示し、ユーザが所望の1つを選択するようにしてもよい。
【0195】
ステップ304において一致に係る1つの参照特徴データが検出又は選択されたときは、ステップ306において該参照メロディデータに付随したメロディ生成データをデータベース300から抽出する(選択して読出す)。ステップ308では、抽出したメロディ生成データに基づいて残区間のメロディデータを生成する。ここで、残区間とは、作成すべき曲において一部区間(ユーザがメロディデータを入力した区間)以外の区間である。ステップ308の残区間メロディ生成処理としては、図20〜22を参照して前述したものを用いることができる。
【0196】
ステップ310では、ステップ302でユーザが入力した一部区間のメロディデータとステップ308で生成した残区間のメロディデータとを結合して1曲分のメロディデータを生成する。
【0197】
ステップ304において類似に係る1つの参照メロディデータが検出又は選択されたときは、ステップ312において該参照メロディデータに付随したメロディ生成データをデータベース300から抽出する。
【0198】
ステップ314では、ステップ304での比較に係る入力メロディデータ及び参照メロディデータに基づいてメロディの不一致状態に対応した不一致情報を検出する。不一致情報としては、例えば参照メロディデータの方が入力メロディデータに比べて音高が2度低いことを表わす情報等が検出される。
【0199】
ステップ316では、ステップ312で抽出されたメロディ生成データをステップ314で検出された不一致情報に応じて修正する。例えば、検出に係る不一致情報が参照メロディデータの音高が2度低いことを表わすときは、抽出に係るメロディ生成データの音高を2度高くするように修正を行なう。
【0200】
ステップ308では、ステップ316で修正されたメロディ生成データに基づいて残区間のメロディデータを生成する。そして、ステップ310では、ステップ302でユーザが入力した一部区間のメロディデータとステップ308で生成した残区間のメロディデータとを結合して1曲分のメロディデータを生成する。
【0201】
ステップ308の残区間メロディ生成処理においては、抽出又は修正されたメロディ生成データの他に、ステップ302で入力されたメロディデータも参照してメロディ生成を行なってもよい。このようにすると、入力したメロディにより近いメロディを生成することができる。このような処理としては、図23を参照して前述したものを用いることができる。
【0202】
ステップ316で不一致情報に応じてメロディ生成データを修正する代りに、ステップ318で不一致情報に応じて残区間のメロディデータを修正するようにしてもよい。すなわち、ステップ308では、ステップ312により抽出されたメロディ生成データに基づいて残区間のメロディデータを生成し、ステップ318では、生成された残区間のメロディデータを不一致情報に応じて修正する。
【0203】
図24の作曲処理によれば、ユーザが所望のメロディを入力することにより例えば第1フレーズ等の所定の区間に所望のメロディを含む1曲分のメロディを簡単に生成することができる。入力したメロディデータとメロディが一致又は類似したメロディ生成データに基づいてメロディを生成し、しかも類似に係るメロディ生成データ又は類似に係る生成メロディを不一致情報に応じて修正するので、生成されるメロディは、入力に係るメロディに相応しいものとなる。メロディ生成データとして音楽的に起伏に富んだ曲(例えば既存の完成された曲)に対応するものを記憶しておくことにより起伏に富んだ音楽的な1曲分のメロディを生成することができる。また、ステップ304において、入力したメロディデータと参照メロディデータとを直接比較するので、メロディ特徴を比較する場合に比べて入力メロディにより近いメロディを生成することができる。
【0204】
図25は、図24の作曲処理において用いられる比較及び不一致情報検出処理の一例を示すものである。
【0205】
ステップ320では、ユーザ入力に係るメロディデータ(入力メロディデータ)と最初の参照メロディデータとを比較用のレジスタ(図示せず)にロードする。そして、ステップ322に移り、入力メロディデータと参照メロディデータとを比較し、音数が「同じ」、「入力メロディの方が多い」及び参照メロディの方が多い」のいずれに該当するか判定する。
【0206】
ステップ322で「同じ」と判定された場合は、ステップ324に移る。ステップ324では、入力メロディデータと参照メロディデータとに基づいて、
(1)入力メロディと参照メロディの対応する音同士の音高差e、
(2)入力メロディの音高変化傾向f、
(3)参照メロディの音高変化傾向g及び
(4)入力メロディと参照メロディの対応する音同士のタイミング差hを求める。
【0207】
ここで、入力メロディの順次の音高からなる音高列aと、参照メロディの順次の音高からなる音高列bと、入力メロディの順次のタイミングからなるタイミング列cと、参照メロディの順次のタイミングからなるタイミング列dとを、
列a:a1、a2…a(n−1)、an
列b:b1、b2…b(n−1)、bn
列c:c1、c2…c(n−1)、cn
列d:d1、d2…d(n−1)、dn
のように表わすものとすると、音高差e、音高変化傾向f,g及びタイミング差hは、次の表1に示すような算出式で求められる。
【0208】
【表1】
Figure 0003704980
次に、ステップ326では、求めたe,f,g,hに基づいて入力するメロディと参照メロディとが一致又は類似するか判定する。そして、ステップ328では、ステップ326の判定結果が一致又は類似であるか判定する。
【0209】
ステップ328の判定結果が肯定的(Y)であったときは、ステップ330に移る。ステップ330では、ステップ324での判定結果が類似である場合に限り、入力メロディと参照メロディとの不一致状態(類似状態)に対応した不一致情報を検出する。
【0210】
ステップ328の判定結果が否定的(N)であったときは、ステップ332に移り、比較に係る参照メロディデータを不使用とする。
【0211】
ステップ330又は332の処理が終ったときは、ステップ334に移り、全参照メロディデータの検査が終了したか判定する。この判定の結果が否定的(N)であれば、ステップ336で次の参照メロディデータをロードしてからステップ322に戻る。
【0212】
ステップ322で「入力メロディの方が多い」と判定された場合は、ステップ338に移る。ステップ338では、多い分だけ入力メロディの音数を減らし、入力メロディと参照メロディとで音数を同じにする。そして、ステップ340に移る。
【0213】
ステップ340では、一致・類似判定処理を行なう。この処理は、前述のステップ324,326を含む処理Pと同様に行なう。そして、ステップ342に移り、ステップ340での判定結果が一致又は類似であるか判定する。
【0214】
ステップ342の判定結果が肯定的(Y)であったときは、ステップ344に移り、今回の比較結果を類似とする。この場合、入力メロディの音数を減らして比較を行なっているので、ステップ340の判定結果が一致であるとしても、比較結果は類似とされる。この後、ステップ346では、入力メロディと参照メロディとの不一致状態(類似状態)に対応した不一致情報を検出する。
【0215】
ステップ342の判定結果が否定的(N)であったときは、ステップ348に移る。ステップ348では入力メロディに関して減らしてない音がまだあるか判定する。一例として、入力メロディ音がm1〜m6の6音であった場合、ステップ338でm6を減らした後初めてステップ348に来たときは、減らしてない音としてm1〜m5が存在することになる。ステップ348の後は、ステップ350に移る。
【0216】
ステップ350では、減らす音を変更する。上記したように減らしてない音としてm1〜m5が存在する例では、例えばm5を減らす。そして、ステップ340に戻り、ステップ340以降の処理を上記したと同様に実行する。
【0217】
この後、再びステップ348に来て、減らしてない音があるものとするとステップ350で減らす音を変更する。上記のようにm5を減らした例では、例えばm4を減らしてステップ340に戻る。この例では、この後ステップ348,350を3回通ると、m1〜m3が減らされることになる。
【0218】
この後、ステップ348に来ると、入力メロディでは減らす音がもうないので、ステップ348の判定結果が否定的(N)となり、ステップ352に移る。ステップ352では、比較に係る参照メロディデータを不使用とする。
【0219】
ステップ346又は352の処理が終ったときは、ステップ334に移り、全参照メロディデータの検査終了か判定する。この判定の結果が否定的(N)であれば、ステップ336で次の参照メロディデータをロードしてからステップ322に戻る。
【0220】
ステップ322で「参照メロディの方が多い}と判定されたときは、ステップ354に移る。ステップ354では、多い分だけ参照メロディの音を減らして一致・類似判定音変更処理を行なう。この処理は、前述のステップ340〜352を含む処理Qと同様に行なう。
【0221】
ステップ354の処理が終ったときは、ステップ334に移り、全参照メロディデータの検査終了か判定する。この判定の結果が否定的(N)であれば、ステップ336で次の参照メロディデータをロードしてからステップ322に戻る。
【0222】
上記した処理を何回か実行することによりデータベース300内の全参照メロディデータの検査が終了すると、ステップ334の判定結果が肯定的(Y)となり、処理エンドとする。
【0223】
図26は、図25の処理において比較される入力メロディ及び参照メロディをグラフ形式で示すものであり、横軸はタイミングを、縦軸は音高をそれぞれ示す。
【0224】
図26において、四角印は、入力メロディMの構成音を示し、丸印は、参照メロディR1の構成音を示し、三角印は、参照メロディR2の構成音を示す。入力メロディMと参照メロディR1又はR2とを比較し、前掲の表1に示した式に従って音高差e、音高変化傾向f,g及びタイミング差hを求め、求めたe,f,g,hに基づいてタイミングや音高について一致又は類似を判定する。
【0225】
タイミング判定では、比較に係る入力メロディと参照メロディとでタイミング差hがすべてゼロであれば一致とする。複数のタイミングのうち一部のタイミングでのみタイミング差hがあるときは、類似とし、殆ど又は全タイミングでタイミング差hがあるときは、一致にも類似にもしない。図26の例では、参照メロディR1,R2のいずれも、入力メロディMと全タイミングでタイミング差h(h1〜h5)がゼロであるので、一致と判定される。
【0226】
音高の一致判定では、比較に係る入力メロディと参照メロディとで音高差eがすべてゼロであれば一致とする。例えば、入力メロディMと参照メロディR1とを比較して音高差eを求めると、
e1=0、e2=−1、e3=0、e4=+1、e5=+1
のようになる。また、入力メロディMと参照メロディR2とを比較して音高差eを求めると、
e1=+2、e2=+2、e3=+2、e4=+2、e5=+2
のようになる。従って参照メロディR1,R2のいずれについても、一致とはならない。
【0227】
音高の類似判定では、比較に係る入力メロディと参照メロディとで音高変化傾向f,gが一致すれば類似とする。また、音高変化量が異なっていてもすべての符号(+又は−)が一致していれば類似とする。
【0228】
例えば、参照メロディR1について音高変化傾向gを求めると、
g1=0、g2=+1、g3=0、g4=+1
のようになる。また、参照メロディR2について音高変化傾向gを求めると、
g1=+1、g2=0、g3=−1、g4=+1
のようになる。
【0229】
一方、入力メロディMについて音高変化傾向fを求めると、
f1=+1、f2=0、f3=−1、f4=+1
のようになる。
【0230】
従って、入力メロディMと参照メロディR2とは、音高変化傾向f,gが一致するので、類似と判定される。このときのメロディの不一致状態(類似状態)は、音高差eから求められ、「参照メロディの方が音高が2度高い」となる。このようなメロディの不一致状態に対応した不一致情報を図25のステップ330で検出する。そして、図24のステップ316(又は318)では、検出された不一致情報に応じてメロディ生成データ(又は生成メロディデータ)を音高が2度低くなるように修正する。なお、参照メロディR1については、音高変化傾向f,gが一致せず、すべての符号も一致しないので、類似とはしない。
【0231】
入力メロディと参照メロディとで音高変化傾向f,gを比較した場合、音高変化量が異なっていてもすべての符号が一致していれば類似とすることは前述した通りである。これは、すべての符号が一致していることで音高変化傾向が類似していると認められることによるものである。この場合、入力メロディと参照メロディとで音域(最低音から最高音までの幅)が異なることが多いので、音域の広さの違いを不一致情報として検出し、この不一致情報に応じてメロディ生成データ(又は生成メロディデータ)の音域を修正するようにしてもよい。
【0232】
この発明は、上記した実施形態に限定されるものではなく、種々の改変形態で実施可能なものである。例えば、次のような変更が可能である。
【0233】
(1)ユーザが所望のメロディデータを供給するには、鍵盤型、弦楽器型(例えばギター型)、管楽器型等の電子楽器や電気楽器をリアルタイム演奏してメロディデータを入力してもよいし、音高指示スイッチ及び音長指示スイッチを操作して1音分ずつメロディデータを入力してもよい。あるいは入力すべきメロディのリズムパターンを所定のスイッチのタッピング操作によって入力するとともに、入力されたリズムパターンの各打点を時間軸と音高軸とからなる2次元座標上に表示し、各打点を音高軸に沿ってマウス操作によりドラッグすることで音高を入力するようにしてもよい。また、外部記憶装置30から入力する代りに、ROM20に記憶したメロディデータを選択して入力してもよい。さらに、この発明に係る自動作曲装置又は他の自動作曲装置、例えば、与えられたモチーフ(テーマ)特徴パラメータに基づいてモチーフメロディを生成し、その後、このモチーフメロディを反映させた1曲メロディを生成する自動作曲装置によって作成されたメロディデータを入力してもよい。なお、このようなモチーフ生成タイプの自動作曲装置にあっては、モチーフ生成に用いた特徴パラメータが既に存在しているので、参照特徴データとの比較に、この特徴パラメータを利用してもよい。
【0234】
(2)リアルタイム演奏によりメロディデータを入力する場合、メトロノーム等の音に合わせて演奏をすると、テンポの乱れが少なくなり、音長(タイミング)を正確に入力することができる。また、テンポを遅くして演奏をすると、難しいメロディであっても容易に演奏することができ、メロディデータを正確に入力することができる。さらに、入力に係るメロディデータについては、音長(タイミング)データをクオンタイズ処理により8分音符等のジャストタイミングのデータに修正してもよいし、1音毎に入力ミスの修正を可能としてもよい。
【0235】
(3)メロディ生成データや自動作曲のアルゴリズムとしては、前述したものに限らず、種々のものを使用可能である。
【0236】
(4)プログラムを記録する記録媒体としては、ROM20に限らず、外部記憶装置30に装着する記録媒体(前述のHD、FD、CD、DVD、MO等)を用いることができる。この場合、記録媒体に記録したプログラムは、外部記憶装置30からRAM22へ転送する。そして、RAM22に記憶したプログラムに従ってCPU18を動作させる。このようにすると、プログラムの追加やバージョンアップ等を容易に行なうことができる。
【0237】
(5)この発明の実施に必要なプログラムや各種データは、サーバコンピュータ等から通信ネットワーク(例えばLAN(ローカル・エリア・ネットワーク)、インターネット、電話回線等)及び通信インターフェースを介してRAM22又は外部記憶装置30へダウンロード要求に応じて取込むようにしてもよい。
【0238】
(6)パーソナルコンピュータ10に相当する小型コンピュータは、電子楽器12に内蔵させたり、電子楽器12と一体化させたりしてもよい。
【0239】
(7)曲データのフォーマットは、イベントの発生時刻を1つ前のイベントからの相対時間で表わす「イベント+相対時間」方式に限らず、イベントの発生時刻を曲や小節内の絶対時間で表わす「イベント+絶対時間」方式、音符の音高と音符長及び休符と休符長で曲の内容を表す「音高(休符)+符長」方式、イベント発生の最小時間単位毎に記憶領域を確保し、イベントの発生時刻に対応する記憶領域にイベントを記憶する方式等の任意の方式を用いることができる。
【0240】
(8)電子楽器は、鍵盤、音源装置、自動演奏装置等をそれぞれ別体とし、適宜接続して構成されるものでもよい。
【0241】
(9)ユーザがメロディ特徴データを作成したり、編集したりするようにしてもよい。
【0242】
【発明の効果】
以上のように、この発明によれば、ユーザ入力に係るメロディデータとメロディが一致又は類似した参照メロディデータを検出すると共に検出に係る参照メロディデータに付随したメロディ生成データに基づいてメロディデータを生成する構成にしたので、ユーザ入力に係るテーマメロディに相応しく且つ起伏に富んだ音楽的なメロディを簡単に生成できる効果が得られる。
【0243】
また、ユーザ入力に係るメロディデータとメロディ特徴(又はメロディ)が一致しない参照特徴データ(又は参照メロディデータ)については、参照特徴データ(又は参照メロディデータ)に付随したメロディ生成データを不一致情報に応じて修正した後修正に係るメロディ生成データに基づいてメロディデータを生成するか又は参照特徴データ(又は参照メロディデータ)に付随したメロディ生成データに基づいてメロディデータを生成した後生成に係るメロディデータを不一致情報に応じて修正する構成にしたので、ユーザ入力に係るテーマメロディにより近いメロディを生成できる効果も得られる。
【0244】
さらに、ユーザ指定に係る演奏区間ではユーザ入力に係るメロディを流用すると共に該演奏区間以外の演奏区間ではユーザ入力に係るメロディとメロディ特徴(又はメロディ)が一致又は類似した曲特徴データ(又は曲データ)に基づいてメロディを作成することにより流用メロディ及び作成メロディを表わす1曲分のメロディデータを生成する構成にしたので、所望の演奏区間に所望のメロディを含み且つ所望のメロディに相応しい1曲分のメロディを簡単に生成できる効果も得られる。
【図面の簡単な説明】
【図1】 この発明の一実施形態に係る作曲処理を説明するための説明図である。
【図2】 この発明に係る自動作曲装置を示すブロック図である。
【図3】 曲データ及び曲特徴データのフォーマットを示す図である。
【図4】 ピッチ特徴データ及びリズム特徴データを説明するための説明図である。
【図5】 リズムデータを説明するための説明図である。
【図6】 ユーザ入力に係るフレーズ特徴データのフォーマットを示す図である。
【図7】 1フレーズ分のメロディを生成する過程を説明するための説明図である。
【図8】 メインルーチンを示すフローチャートである。
【図9】 曲特徴登録のサブルーチンを示すフローチャートである。
【図10】 ピッチ特徴分析のサブルーチンの一部を示すフローチャートである。
【図11】 図10のサブルーチンの残部を示すフローチャートである。
【図12】 リズム特徴分析のサブルーチンを示すフローチャートである。
【図13】 フレーズ特徴分析のサブルーチンを示すフローチャートである。
【図14】 曲特徴データ選択のサブルーチンの一部を示すフローチャートである。
【図15】 図14のサブルーチンの残部を示すフローチャートである。
【図16】 メロディ生成のサブルーチンを示すフローチャートである。
【図17】 曲作成のサブルーチンの一部を示すフローチャートである。
【図18】 図17のサブルーチンの残部を示すフローチャートである。
【図19】 この発明の他の実施形態に係る作曲処理を説明するための説明図である。
【図20】 メロディ生成データがメロディ特徴データからなる場合に用いられる残区間メロディ生成処理を示すフローチャートである。
【図21】 メロディ生成データがメロディデータからなる場合に用いられる残区間メロディ生成処理を示すフローチャートである。
【図22】 メロディ生成データがメロディデータ及びメロディ特徴データからなる場合に用いられる残区間メロディ生成処理を示すフローチャートである。
【図23】 メロディ生成データの他に入力メロディデータを利用する場合に用いられる残区間メロディ生成処理を示すフローチャートである。
【図24】 この発明の更に他の実施形態に係る作曲処理を説明するための説明図である。
【図25】 図24の作曲処理において用いられる比較及び不一致情報検出処理の一例を示すフローチャートである。
【図26】 図25の処理において比較される入力メロディ及び参照メロディを示すグラフである。
【符号の説明】
10:パーソナルコンピュータ、12:電子楽器、12A:鍵盤、14:ディスプレイ、16:バス、18:CPU、20:ROM、22:RAM、22A〜22F:記憶部、24,26:検出回路、28:インターフェース、30:外部記憶装置、30A,30B:データベース、32:表示回路、36:キーボード、38:マウス。

Claims (15)

  1. 複数の曲生成データを記憶する記憶手段であって、各曲生成データは、参照メロディデータと、この参照メロディデータに付随したメロディ生成データとを含むものと、
    所望のメロディデータを供給する供給手段と、
    この供給手段により供給されたメロディデータと前記記憶手段に記憶された参照メロディデータとを比較し、供給に係るメロディデータと一致又は類似した参照メロディデータを検出する検出手段と、
    この検出手段により検出された参照メロディデータに付随したメロディ生成データを前記記憶手段から読出す読出手段と、
    前記記憶手段から読出されたメロディ生成データに基づいてメロディデータを生成する生成手段と
    を備えた自動作曲装置。
  2. 前記記憶手段に記憶されたメロディ生成データは、メロディ生成用メロディ特徴データ及びメロディ生成用メロディデータのうちいずれか一方又は双方からなるものである請求項1記載の自動作曲装置。
  3. メロディ特徴を表わす参照特徴データと、この参照特徴データに付随したメロディ生成データとを記憶する記憶手段と、
    所望のメロディデータを供給する供給手段と、
    この供給手段により供給されたメロディデータに関してメロディ特徴を分析し、そのメロディ特徴を表わす特徴データを作成する分析手段と、
    この分析手段により作成された特徴データと前記記憶手段に記憶された参照特徴データとを比較し、比較に係る両データのメロディ特徴の不一致状態に対応した不一致情報を検出する検出手段と、
    前記記憶手段に記憶されたメロディ生成データを読出すと共に該メロディ生成データを前記検出手段により検出された不一致情報に応じて修正する修正手段と、
    この修正手段により修正されたメロディ生成データに基づいてメロディデータを生成する生成手段と
    を備えた自動作曲装置。
  4. メロディ特徴を表わす参照特徴データと、この参照特徴データに付随したメロディ生成データとを記憶する記憶手段と、
    所望のメロディデータを供給する供給手段と、
    この供給手段により供給されたメロディデータに関してメロディ特徴を分析し、そのメロディ特徴を表わす特徴データを作成する分析手段と、
    この分析手段により作成された特徴データと前記記憶手段に記憶された参照特徴データとを比較し、比較に係る両データのメロディ特徴の不一致状態に対応した不一致情報を検出する検出手段と、
    前記記憶手段に記憶されたメロディ生成データを読出す読出手段と、
    前記記憶手段から読出されたメロディ生成データに基づいてメロディデータを生成する生成手段と、
    この生成手段により生成されたメロディデータを前記検出手段により検出された不一致情報に応じて修正する修正手段
    を備えた自動作曲装置。
  5. 参照メロディデータと、この参照メロディデータに付随したメロディ生成データとを記憶する記憶手段と、
    所望のメロディデータを供給する供給手段と、
    この供給手段により供給されたメロディデータと前記記憶手段に記憶された参照メロデ ィデータとを比較し、比較に係る両データのメロディの不一致状態に対応した不一致情報を検出する検出手段と、
    前記記憶手段に記憶されたメロディ生成データを読出すと共に該メロディ生成データを前記検出手段により検出された不一致情報に応じて修正する修正手段と、
    この修正手段により修正されたメロディ生成データに基づいてメロディデータを生成する生成手段
    を備えた自動作曲装置。
  6. 参照メロディデータと、この参照メロディデータに付随したメロディ生成データとを記憶する記憶手段と、
    所望のメロディデータを供給する供給手段と、
    この供給手段により供給されたメロディデータと前記記憶手段に記憶された参照メロディデータとを比較し、比較に係る両データのメロディの不一致状態に対応した不一致情報を検出する検出手段と、
    前記記憶手段に記憶されたメロディ生成データを読出す読出手段と、
    前記記憶手段から読出されたメロディ生成データに基づいてメロディデータを生成する生成手段と、
    この生成手段により生成されたメロディデータを前記検出手段により検出された不一致情報に応じて修正する修正手段
    を備えた自動作曲装置。
  7. 前記生成手段は、前記供給手段により供給されたメロディデータにも基づいてメロディデータを生成するものである請求項1〜6のいずれかに記載の自動作曲装置。
  8. 前記供給手段は、作成すべき曲の一部区間のメロディデータを供給するものであり、前記生成手段は、作成すべき曲の残区間のメロディデータを生成すると共に、前記一部区間のメロディデータと該残区間のメロディデータとを結合して1曲分のメロディデータを生成するものである請求項1〜7のいずれかに記載の自動作曲装置。
  9. 複数の曲生成データを記憶する記憶手段であって、各曲生成データは、参照メロディデータと、この参照メロディデータに付随したメロディ生成データとを含むものと、
    所望のメロディデータを供給する供給手段と
    を備えたコンピュータにおいて使用される記録媒体であって、
    前記供給手段により供給されたメロディデータと前記記憶手段に記憶された参照メロディデータとを比較し、供給に係るメロディデータと一致又は類似した参照メロディデータを検出する検出ステップと、
    この検出ステップにより検出された参照メロディデータに付随したメロディ生成データを前記記憶手段から読出すステップと、
    前記記憶手段から読出されたメロディ生成データに基づいてメロディデータを生成するステップと
    コンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
  10. メロディ特徴を表わす参照特徴データと、この参照特徴データに付随したメロディ生成データとを記憶する記憶手段と、
    所望のメロディデータを供給する供給手段と
    を備えたコンピュータにおいて使用される記録媒体であって、
    前記供給手段により供給されたメロディデータに関してメロディ特徴を分析し、そのメロディ特徴を表わす特徴データを作成する分析ステップと、
    この分析ステップにより作成された特徴データと前記記憶手段に記憶された参照特徴データとを比較し、比較に係る両データのメロディ特徴の不一致状態に対応した不一致情報を検出する検出ステップと、
    前記記憶手段に記憶されたメロディ生成データを読出すと共に該メロディ生成データを前記検出ステップにより検出された不一致情報に応じて修正する修正ステップと、
    この修正ステップにより修正されたメロディ生成データに基づいてメロディデータを生成するステップと
    コンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
  11. メロディ特徴を表わす参照特徴データと、この参照特徴データに付随したメロディ生成データとを記憶する記憶手段と、
    所望のメロディデータを供給する供給手段と
    を備えたコンピュータにおいて使用される記録媒体であって、
    前記供給手段により供給されたメロディデータに関してメロディ特徴を分析し、そのメロディ特徴を表わす特徴データを作成する分析ステップと、
    この分析ステップにより作成された特徴データと前記記憶手段に記憶された参照特徴データとを比較し、比較に係る両データのメロディ特徴の不一致状態に対応した不一致情報を検出する検出ステップと、
    前記記憶手段に記憶されたメロディ生成データを読出すステップと、
    前記記憶手段から読出されたメロディ生成データに基づいてメロディデータを生成する生成ステップと、
    この生成ステップにより生成されたメロディデータを前記検出ステップにより検出された不一致情報に応じて修正するステップと
    コンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
  12. 参照メロディデータと、この参照メロディデータに付随したメロディ生成データとを記憶する記憶手段と、
    所望のメロディデータを供給する供給手段と
    を備えたコンピュータにおいて使用される記録媒体であって、
    前記供給手段により供給されたメロディデータと前記記憶手段に記憶された参照メロディデータとを比較し、比較に係る両データのメロディの不一致状態に対応した不一致情報を検出する検出ステップと、
    前記記憶手段に記憶されたメロディ生成データを読出すと共に該メロディ生成データを前記検出ステップにより検出された不一致情報に応じて修正する修正ステップと、
    この修正ステップにより修正されたメロディ生成データに基づいてメロディデータを生成するステップと
    コンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
  13. 参照メロディデータと、この参照メロディデータに付随したメロディ生成データとを記憶する記憶手段と、
    所望のメロディデータを供給する供給手段と
    を備えたコンピュータにおいて使用される記録媒体であって、
    前記供給手段により供給されたメロディデータと前記記憶手段に記憶された参照メロディデータとを比較し、比較に係る両データのメロディの不一致状態に対応した不一致情報を検出する検出ステップと、
    前記記憶手段に記憶されたメロディ生成データを読出すステップと、
    前記記憶手段から読出されたメロディ生成データに基づいてメロディデータを生成する生成ステップと、
    この生成ステップにより生成されたメロディデータを前記検出ステップにより検出された不一致情報に応じて修正するステップと
    コンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
  14. 複数曲のうちの各曲毎に複数の演奏区間のメロディ特徴を表わす曲特徴データを記憶す る記憶手段と、
    前記複数の演奏区間のうち任意の1つの演奏区間を指定する指定手段と、
    この指定手段での指定に係る演奏区間において使用すべきメロディデータを供給する供給手段と、
    この供給手段により供給されたメロディデータに関してメロディ特徴を分析し、そのメロディ特徴を表わす特徴データを作成する分析手段と、
    この分析手段により作成された特徴データが表わすメロディ特徴と一致又は類似したメロディ特徴を前記指定手段での指定に係る演奏区間において有する曲特徴データを前記記憶手段から選択して読出す読出手段と、
    前記供給手段により供給されたメロディデータが表わすメロディの少なくとも一部を前記指定手段での指定に係る演奏区間において流用すると共に該演奏区間以外の演奏区間のメロディを前記記憶手段から読出された曲特徴データに基づいて作成することにより流用メロディ及び作成メロディを表わす1曲分のメロディデータを生成する生成手段と
    を備えた自動作曲装置。
  15. 複数曲のうちの各曲毎に複数の演奏区間のメロディを表わす曲データを記憶する記憶手段と、
    前記複数の演奏区間のうち任意の1つの演奏区間を指定する指定手段と、
    この指定手段での指定に係る演奏区間において使用すべきメロディデータを供給する供給手段と、
    この供給手段により供給されたメロディデータが表わすメロディと一致又は類似したメロディを前記指定手段での指定に係る演奏区間において有する曲データを前記記憶手段から選択して読出す読出手段と、
    前記供給手段により供給されたメロディデータが表わすメロディの少なくとも一部を前記指定手段での指定に係る演奏区間において流用すると共に該演奏区間以外の演奏区間のメロディを前記記憶手段から読出された曲データに基づいて作成することにより流用メロディ及び作成メロディを表わす1曲分のメロディデータを生成する生成手段と
    を備えた自動作曲装置。
JP35074298A 1997-12-17 1998-11-25 自動作曲装置と記録媒体 Expired - Fee Related JP3704980B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP35074298A JP3704980B2 (ja) 1997-12-17 1998-11-25 自動作曲装置と記録媒体
US09/212,192 US6124543A (en) 1997-12-17 1998-12-15 Apparatus and method for automatically composing music according to a user-inputted theme melody

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP36407297 1997-12-17
JP9-364072 1997-12-17
JP35074298A JP3704980B2 (ja) 1997-12-17 1998-11-25 自動作曲装置と記録媒体

Publications (2)

Publication Number Publication Date
JPH11237881A JPH11237881A (ja) 1999-08-31
JP3704980B2 true JP3704980B2 (ja) 2005-10-12

Family

ID=26579265

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35074298A Expired - Fee Related JP3704980B2 (ja) 1997-12-17 1998-11-25 自動作曲装置と記録媒体

Country Status (2)

Country Link
US (1) US6124543A (ja)
JP (1) JP3704980B2 (ja)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2785438A1 (fr) * 1998-09-24 2000-05-05 Baron Rene Louis Procede et dispositif de generation musicale
CN1269101C (zh) * 1999-09-16 2006-08-09 汉索尔索弗特有限公司 基于一个数字音乐文件演奏乐器的方法和装置
JP2001094635A (ja) * 1999-09-21 2001-04-06 Matsushita Electric Ind Co Ltd 電話端末装置
US6316710B1 (en) * 1999-09-27 2001-11-13 Eric Lindemann Musical synthesizer capable of expressive phrasing
JP3574603B2 (ja) * 2000-03-21 2004-10-06 日本電信電話株式会社 楽曲処理装置および楽曲処理用プログラム記録媒体
AT500124A1 (de) * 2000-05-09 2005-10-15 Tucmandl Herbert Anlage zum komponieren
US6229082B1 (en) * 2000-07-10 2001-05-08 Hugo Masias Musical database synthesizer
JP2002032078A (ja) 2000-07-18 2002-01-31 Yamaha Corp 自動作曲装置、方法及び記録媒体
US6384310B2 (en) * 2000-07-18 2002-05-07 Yamaha Corporation Automatic musical composition apparatus and method
JP3707364B2 (ja) 2000-07-18 2005-10-19 ヤマハ株式会社 自動作曲装置、方法及び記録媒体
US6740802B1 (en) * 2000-09-06 2004-05-25 Bernard H. Browne, Jr. Instant musician, recording artist and composer
WO2002077853A1 (en) * 2001-03-27 2002-10-03 Tauraema Iraihamata Eruera Composition assisting device
JP4808868B2 (ja) * 2001-06-29 2011-11-02 株式会社河合楽器製作所 自動演奏装置
US6747201B2 (en) 2001-09-26 2004-06-08 The Regents Of The University Of Michigan Method and system for extracting melodic patterns in a musical piece and computer-readable storage medium having a program for executing the method
US20030069655A1 (en) * 2001-10-05 2003-04-10 Jenifer Fahey Mobile wireless communication handset with sound mixer and methods therefor
JP2003131674A (ja) * 2001-10-22 2003-05-09 Megafusion Corp 楽曲検索システム
US7053291B1 (en) * 2002-05-06 2006-05-30 Joseph Louis Villa Computerized system and method for building musical licks and melodies
US8008561B2 (en) * 2003-01-17 2011-08-30 Motorola Mobility, Inc. Audio file format with mapped lighting effects and method for controlling lighting effects using an audio file format
US8841847B2 (en) 2003-01-17 2014-09-23 Motorola Mobility Llc Electronic device for controlling lighting effects using an audio file
KR100817744B1 (ko) * 2005-10-11 2008-03-31 한양대학교 산학협력단 창의적 컨텐츠 생성 방법 및 시스템
SE528839C2 (sv) * 2006-02-06 2007-02-27 Mats Hillborg Melodigenerator
EP2092511A1 (en) * 2006-12-12 2009-08-26 Koninklijke Philips Electronics N.V. Musical composition system and method of controlling a generation of a musical composition
US7962530B1 (en) * 2007-04-27 2011-06-14 Michael Joseph Kolta Method for locating information in a musical database using a fragment of a melody
JP4983506B2 (ja) * 2007-09-25 2012-07-25 ヤマハ株式会社 楽曲加工装置およびプログラム
JP5135982B2 (ja) * 2007-10-09 2013-02-06 ヤマハ株式会社 楽曲加工装置およびプログラム
JP5228432B2 (ja) * 2007-10-10 2013-07-03 ヤマハ株式会社 素片検索装置およびプログラム
US8097801B2 (en) * 2008-04-22 2012-01-17 Peter Gannon Systems and methods for composing music
US20090301287A1 (en) * 2008-06-06 2009-12-10 Avid Technology, Inc. Gallery of Ideas
JP5439994B2 (ja) * 2009-07-10 2014-03-12 ブラザー工業株式会社 データ集配システム,通信カラオケシステム
JP5168297B2 (ja) * 2010-02-04 2013-03-21 カシオ計算機株式会社 自動伴奏装置および自動伴奏プログラム
TW201411601A (zh) * 2012-09-13 2014-03-16 Univ Nat Taiwan 以情緒為基礎的自動配樂方法
US8912420B2 (en) * 2013-01-30 2014-12-16 Miselu, Inc. Enhancing music
US8847054B2 (en) * 2013-01-31 2014-09-30 Dhroova Aiylam Generating a synthesized melody
US9257954B2 (en) 2013-09-19 2016-02-09 Microsoft Technology Licensing, Llc Automatic audio harmonization based on pitch distributions
US9798974B2 (en) * 2013-09-19 2017-10-24 Microsoft Technology Licensing, Llc Recommending audio sample combinations
US9280313B2 (en) * 2013-09-19 2016-03-08 Microsoft Technology Licensing, Llc Automatically expanding sets of audio samples
US9372925B2 (en) 2013-09-19 2016-06-21 Microsoft Technology Licensing, Llc Combining audio samples by automatically adjusting sample characteristics
US9263013B2 (en) * 2014-04-30 2016-02-16 Skiptune, LLC Systems and methods for analyzing melodies
JP6160598B2 (ja) 2014-11-20 2017-07-12 カシオ計算機株式会社 自動作曲装置、方法、およびプログラム
JP6160599B2 (ja) * 2014-11-20 2017-07-12 カシオ計算機株式会社 自動作曲装置、方法、およびプログラム
US9165543B1 (en) * 2014-12-02 2015-10-20 Mixed In Key Llc Apparatus, method, and computer-readable storage medium for rhythmic composition of melody
US9818385B2 (en) * 2016-04-07 2017-11-14 International Business Machines Corporation Key transposition
JP6497404B2 (ja) * 2017-03-23 2019-04-10 カシオ計算機株式会社 電子楽器、その電子楽器の制御方法及びその電子楽器用のプログラム
CN113038998A (zh) 2018-11-15 2021-06-25 索尼互动娱乐有限责任公司 游戏中的动态音乐创建
US11328700B2 (en) 2018-11-15 2022-05-10 Sony Interactive Entertainment LLC Dynamic music modification
CN111223471A (zh) * 2018-11-26 2020-06-02 珠海格力电器股份有限公司 铃声生成方法、装置、存储介质和处理器
WO2021202868A1 (en) * 2020-04-02 2021-10-07 Sony Interactive Entertainment LLC Dynamic music modification

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4926737A (en) * 1987-04-08 1990-05-22 Casio Computer Co., Ltd. Automatic composer using input motif information
US4982643A (en) * 1987-12-24 1991-01-08 Casio Computer Co., Ltd. Automatic composer
JP2500528B2 (ja) * 1990-12-28 1996-05-29 ヤマハ株式会社 電子楽器
US5451709A (en) * 1991-12-30 1995-09-19 Casio Computer Co., Ltd. Automatic composer for composing a melody in real time
US5728962A (en) * 1994-03-14 1998-03-17 Airworks Corporation Rearranging artistic compositions
EP0715295B1 (en) * 1994-11-29 2000-01-19 Yamaha Corporation Automatic playing apparatus substituting available pattern for absent pattern
JP3303617B2 (ja) * 1995-08-07 2002-07-22 ヤマハ株式会社 自動作曲装置
JP3286683B2 (ja) * 1996-07-18 2002-05-27 衛 市川 旋律合成装置及び旋律合成方法

Also Published As

Publication number Publication date
JPH11237881A (ja) 1999-08-31
US6124543A (en) 2000-09-26

Similar Documents

Publication Publication Date Title
JP3704980B2 (ja) 自動作曲装置と記録媒体
JP6040809B2 (ja) コード選択装置、自動伴奏装置、自動伴奏方法および自動伴奏プログラム
JP4344499B2 (ja) 音楽データベースの検索
JP3484986B2 (ja) 自動作曲装置、自動作曲方法および記憶媒体
JP2000514571A (ja) 自動即興演奏システム及び方法
US6294720B1 (en) Apparatus and method for creating melody and rhythm by extracting characteristic features from given motif
JP3637775B2 (ja) メロディ生成装置と記録媒体
JP5293710B2 (ja) 調判定装置および調判定プログラム
JPH07219536A (ja) 自動編曲装置
JP3196604B2 (ja) 和音分析装置
JP2007219139A (ja) 旋律生成方式
JP2002268632A (ja) フレーズ分析装置及びフレーズ分析プログラムを記録した記録媒体
JP3633335B2 (ja) 楽曲生成装置および楽曲生成プログラムを記録したコンピュータ読み取り可能な記録媒体
JP6421811B2 (ja) コード選択方法およびコード選択装置
JP3531507B2 (ja) 楽曲生成装置および楽曲生成プログラムを記録したコンピュータで読み取り可能な記録媒体
JP3216529B2 (ja) 演奏データ分析装置および演奏データ分析方法
JP3752859B2 (ja) 自動作曲装置と記録媒体
JP2000112472A (ja) 自動作曲装置と記録媒体
JP3591444B2 (ja) 演奏データ分析装置
JP3163654B2 (ja) 自動伴奏装置
JP3316547B2 (ja) 和音付装置
JP3413842B2 (ja) 自動伴奏装置
JP3163653B2 (ja) 調性判定装置
JPH06274172A (ja) 自動編曲装置
JP2018101158A (ja) 自動伴奏方法および自動伴奏装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041022

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050315

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050401

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050705

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050718

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090805

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100805

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100805

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110805

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120805

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees