JP2002162968A - 音楽自動生成方法、音楽自動生成プログラム、および音楽自動生成プログラムを記録した記録媒体 - Google Patents

音楽自動生成方法、音楽自動生成プログラム、および音楽自動生成プログラムを記録した記録媒体

Info

Publication number
JP2002162968A
JP2002162968A JP2000361765A JP2000361765A JP2002162968A JP 2002162968 A JP2002162968 A JP 2002162968A JP 2000361765 A JP2000361765 A JP 2000361765A JP 2000361765 A JP2000361765 A JP 2000361765A JP 2002162968 A JP2002162968 A JP 2002162968A
Authority
JP
Japan
Prior art keywords
value
coordinate
numerical value
music
point
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.)
Pending
Application number
JP2000361765A
Other languages
English (en)
Inventor
Shiro Omagari
史朗 大曲
Kameyoshi Tanaka
亀義 田中
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.)
IT TELECOM KK
M ZONE KK
Zone Kk M
Original Assignee
IT TELECOM KK
M ZONE KK
Zone Kk M
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 IT TELECOM KK, M ZONE KK, Zone Kk M filed Critical IT TELECOM KK
Priority to JP2000361765A priority Critical patent/JP2002162968A/ja
Publication of JP2002162968A publication Critical patent/JP2002162968A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 音楽を自動的に生成する技術を提供する。 【解決手段】 文字列から数値を生成するステップ(S
100)と、数値から音列を生成するステップ(S20
0)と、数値からリズムを生成するステップ(S30
0)と、リズムを音列に当てはめて音楽を生成するステ
ップ(S400)とを含む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、音楽を自動的に生
成する方法、プログラムおよびそのようなプログラムを
記録したコンピュータ読み取り可能な記録媒体に関す
る。
【0002】
【従来の技術】従来の音楽自動生成方法の中には、予め
記憶されている和音データ等の音楽データの中からユー
ザ指定した音楽データを組み合わせて音楽を自動的に生
成するものの他に、マンデルブロー写像を含むフラクタ
ル図形のカオス的な性質を利用するものもある。
【0003】
【発明が解決しようとする課題】しかし、予め記憶され
ている音楽データを組み合わせて音楽を自動的に生成す
る場合、その組み合わせ数には当然限界がある。特に、
4〜8小節程度の短い音楽を自動生成する場合、例えば
携帯電話やPHS等の携帯通信端末の着信通知メロディ
ー(いわゆる、着メロ)を自動生成する場合、似通った
音楽が生成されやすいという問題があった。
【0004】また、フラクタル図形のカオス的な性質を
利用することによって、バリエーションの幅を広げるこ
とは可能である。しかし、フラクタル図形等を利用する
場合、ユーザが始点座標等を数値で指定する必要があっ
たり、また生成される音楽がいわゆる現代音楽またはミ
ニマルミュージックと呼ばれる聴感的につながりの良く
ない音楽になってしまうという問題があった。
【0005】本発明はこのような課題を解決すべくなさ
れたものであり、ユーザが音楽生成のためのパラメータ
となる数値を指定する必要が無く、また似通った音楽が
生成され難く、さらに生成される音楽が現代音楽風では
ない聴感的につながりの良いものである音楽自動生成方
法、音楽自動生成プログラムおよび音楽自動生成プログ
ラムを記録したコンピュータ読み取り可能な記録媒体を
提供することを目的とする。
【0006】
【課題を解決するための手段】上記の課題を解決するた
めの本発明の第1の特徴は、(1)平面内における所定
数の座標点のX座標値とY座標値を取得するXY座標値
取得ステップと、(2)前記所定数の座標点のそれぞれ
に対応する数値を取得する座標点対応数値取得ステップ
と、(3)前記座標点対応数値を所定の音階数で割った
余りに従って音を割り当てることによって音列を生成す
るステップと、を少なくとも含むことにある。
【0007】ここで「所定数の座標点」における「所定
数」とは、音列を構成する音符の総数を言う。例えば、
音列を128個の16分音符から構成する場合、「所定
数」は「128」となり、音列を64個の8分音符から
構成する場合、「所定数」は「64」となる。
【0008】また、「所定の音階数」とは、使用する音
階数を言う。1オクターブは通常8音または5音(ペン
タトニックスケール)なので、1オクターブを使用する
場合、所定の音階数は「8」または「5」となり、3オ
クターブを使用する場合、「所定の音階数」は「24」
または「15」となる。
【0009】また、「音階数で割った余りに従って音を
割り当てる」とは、例えば1オクターブを使用する場
合、座標点対応数値を音階数「8」または「5」で割っ
た余りが「1」なら「ド」を、余りが「2」なら「レ」
を、余りが「3」なら「ミ」を割り当てることを言う。
【0010】なお、全音階スケールの場合は1オクター
ブの音階数が「7」となり、半音階スケールの場合は
「12」となる。
【0011】本発明の第2の特徴は、前記音楽自動生成
方法であって、さらに、前記平面内の各座標点のそれぞ
れに予め数値を対応づけておくステップを含むことにあ
る。
【0012】本発明の第3の特徴は、前記音楽自動生成
方法であって、前記座標点対応数値取得ステップは、画
像を読み込み、画像を構成する各点の色の明るさを決定
する数値を前記座標点のそれぞれに対応する数値として
取得することにある。
【0013】「色の明るさを決定する数値」には、例え
ばRGBデータが含まれる。RGBデータとは、256
色モードの場合は8ビットデータ、65536色モード
の場合は16ビットデータ、1677万色モードの場合
は24ビットデータとなる。
【0014】本発明の第3の特徴は、前記音楽自動生成
方法であって、前記座標点対応数値取得ステップは、前
記座標点の座標値とフラクタル関数とを用いて、各座標
点に対応する数値を取得することにある。
【0015】「フラクタル関数」とは、自己相似性を有
するフラクタル図形を描画するために用いられる関数を
言う。自己相似性とは、図形の一部を取り出したとき、
それが図形全体の縮小図になっているという性質を言
う。
【0016】「フラクタル図形」には、マンデルブロー
写像、コッホ曲線などが含まれる。
【0017】本発明の第4の特徴は、前記音楽自動生成
方法であって、前記平面が複素平面であり、 前記座標点対応数値取得ステップは、 Z(0)=c Z(n)=Z(n−1)^2+c 但し、cの実数部分は前記X座標値、cの虚数部分は前
記Y座標値 nは自然数 で表されるZ(n)の絶対値が発散するまでの演算繰り
返し回数Tを求めて、該演算繰り返し回数Tを前記座標
点対応数値とすることにある。
【0018】Z(n)の「絶対値」とは、Z(n)の実
数部分の2乗と虚数部分の2乗との和の平方根をいう。
「発散」とは、Z(n)が所定値を超えることをいう。
【0019】Z(n)の絶対値が発散するまでの演算繰
り返し回数Tとは、 Z(1)=Z(0)^2+c Z(2)=Z(1)^2+c : というように演算を繰り返して順次Z(n)を求め、こ
のようにして求められたZ(n)の絶対値が所定値を超
えたときの数値nをいう。
【0020】このようにして得られる音列は、ランダム
ではないが、音程変化に富んでいる。
【0021】本発明の第5の特徴は、前記音楽自動生成
方法であって、前記XY座標値取得ステップは、(1)
前記平面内における始点のX座標値SXと、始点のY座
標値SYと、X方向の増分値DXと、Y方向の増分値D
Yとを取得し、(2)始点を第1の座標点とし、(3)
(始点のX座標値SX+m*増分値DX,始点のY座標
値SY+m*増分値DY)を第n番目の座標点とする
(m,nは自然数)ことにある。
【0022】始点の座標値に、m*増分値を加えること
によって、始点からm*増分値だけ離れた所定数の座標
点を取得することができる。
【0023】本発明の第6の特徴は、前記音楽自動生成
方法であって、さらに、(1)文字列を取得するステッ
プと、(2)前記文字列を構成する各文字を文字コード
に変換することによって前記文字列を文字コード列に変
換するステップと、(3)前記文字コード列を構成する
各英数字をビット列に変換することによって前記文字コ
ード列から第1のビット列を生成するステップと、
(4)前記第1のビット列から複数のビットを抜き出し
て得られる複数の第2のビット列のそれぞれを数値に変
換することによって複数の数値V1,V2,V3,V4
を生成するステップと、(5)前記複数の数値V1,V
2,V3,V4から前記SX,SY,DX,DYを生成
するステップと、を含むことにある。
【0024】数値(V1,V2,V3,V4)から数値
(SX,SY,DX,DY)を生成する計算式として
は、例えば、 SX=-2.0+V1/0x10000*4.0 SY=-2.0+V1/0x10000*4.0 DX=1/(V3+10) DY=1/(V4+10) などが挙げられる。
【0025】このような第6の特徴によって任意の文字
列から、第5の特徴を用いて音楽を自動的に生成するの
に適した数値(SX,SY,DX,DY)を得ることが
できる。増分値(DX,DY)があまりに小さすぎる
と、浮動小数点の有効桁数以下となり実質的に「0」と
して処理されてしまう。また、「0」として処理されな
くても増分値(DX,DY)が小さいと、取得される座
標点の間隔が狭すぎて、各座標点に対応する数値が近似
してしまう。このため、得られる音が近似してしまい、
同じ音が続く単調な音楽が生成されてしまう。しかし、
第6の特徴によって得られた数値(SX,SY,DX,
DY)を用いて、所定数の座標点を取得すると、取得さ
れた座標点に対応する数値から生成される音楽が単調で
はない、動きのある楽曲となる。
【0026】本発明の第7の特徴は、(1)複素平面内
における始点のX座標値SXと、始点のY座標値SY
と、X方向の増分値DXと、Y方向の増分値DYとを取
得するステップと、 (2) Z(0)=c Z(n)=Z(n−1)^2+c 但し、cの実数部分は始点のX座標値SX、cの虚数部
分は始点のY座標値SY nは自然数 で表されるZ(n)の絶対値が発散するまでの演算繰り
返し回数Tを求めるステップと、 (3) Z(0)=c Z(n)=Z(n−1)^2+c 但し、cの実数部分は(始点のX座標値SX+m*増分
値DX)、cの虚数部分は(始点のY座標値SY+m*
増分値DY) m、nは自然数 で表されるZ(n)の絶対値が発散するまでの演算繰り
返し回数Tを求めるステップと、 (4)0.01以上0.99以下の数値を取得して、こ
の数値をX(0)とするステップと、 (5) X(n)=λ*X(n−1)(1−X(n−1)) 但し、λは4未満の正の数 nは自然数 で表されるX(n)を順次計算して、各X(n)を算出
するステップと、 (6)前記各演算繰り返し回数Tが奇数か否かと、前記
X(n)と予め設定したしきい値との大小関係と、を判
断するステップと、 (7)前記奇数か否かの判断結果と、前記大小関係の判
断結果とに基づいて、「ノートオン(音を鳴らす)」、
「前の音を継続」または「休符」のいずれかを割り当て
ることによってリズムを生成するステップと、を少なく
とも含むことにある。
【0027】このようにして生成されたリズムは、カオ
ス的ではあるがランダムではないという振る舞いを持
つ。これにより、十分に変化に富んだリズムが生成され
る。「ランダムではない」とは、同一の初期値からスタ
ートすれば同一の結果が得られるという算術乱数の性質
を有することをいい、同一の初期値からスタートしても
同一の結果が得られない物理乱数とは異なるという意味
である。
【0028】算術乱数には、ロジスティック関数、レー
マー法、平方採中法、デジタルカオス法、メルセンヌ・
ツイスター法、ハッシュ関数、テント関数等が含まれ
る。
【0029】本発明の第8の特徴は、前記音楽自動生成
方法であって、さらに、(1)前記数値V1,V2,V
3,V4のいずれかをこれら数値が取りうる最大値で割
った値に0.01を加えて数値X(0)を生成するステ
ップと、 (2) X(n)=λ*X(n−1)(1−X(n−1)) 但し、λは4未満の正の数 nは自然数 で表されるX(n)を順次計算して、各X(n)を算出
するステップと、 (3)前記各演算繰り返し回数Tが奇数か否かと、前記
X(n)と予め設定したしきい値との大小関係と、を判
断するステップと、 (4)前記奇数か否かの判断結果と、前記大小関係の判
断結果とに基づいて、「ノートオン(音を鳴らす)」、
「前の音を継続」または「休符」のいずれかを割り当て
ることによってリズムを生成するステップと、を少なく
とも含むことにある。
【0030】このようにして生成された音楽は、音およ
びリズムともに変化に富んだものとなる。
【0031】
【発明の実施の形態】以下、図面を参照して本発明の実
施の形態について説明する。
【0032】図1は、本発明の実施の形態に係る音楽生
成方法の処理の概要を示すフローチャートである。図1
に示すように、本発明の実施の形態に係る音楽生成方法
は、文字列から数値を生成し、さらに音列とリズムを生
成し、最後にリズムを音列にあてはめて音楽を生成す
る。以下、各処理について具体的に説明する。
【0033】(A)文字列から数値の生成 図2は、文字列から数値を生成する処理の内容を示すフ
ローチャートである。図2に示すように、まず文字列を
文字コード列に変換し(ステップS110)、次に文字
コード列からビット列を生成し(ステップS120)、
そしてビット列から数値を生成する(ステップS13
0)。
【0034】(A−1)文字列を文字コード列へ変換す
る(ステップS110) 文字列を文字コード列へ変換するためには、文字と文字
コードとの対応関係を示す文字コードテーブルが必要で
ある。そして、文字列を各文字に分け、各文字について
文字コードテーブルを参照して対応する文字コードを調
べる処理を繰り返すことによって、文字列を文字コード
列へ変換する。
【0035】図3は、文字列と文字コード列の対応関係
を示す図である。図3は、文字列が「プレイバック Par
t2」の例であり、各文字をシフトJISコードまたはA
SCIIコードに変換する。つまり、「プ」を「8376」
に、「レ」を「838C」に、「イ」を「8343」に、「バ」
を「836F」に、「ッ」を「8362」に、「ク」を「834E」
に、「 」(半角スペース)を「20」に、「P」を「50」
に、「a」を「61」に、「r」を「72」に、「t」を「7
4」に、「2」を「32」にそれぞれ変換する。このように
して文字列「プレイバック Part2」から、コード列「83
76 838C 8343 836F 8362 834E 20 50 61 72 74 32」が
得られる。
【0036】(A−2)文字コード列からビット列を生
成する(ステップS120) 文字コードを構成する各英数字(0〜9とA〜F)から
4ビットのビット列を生成する。つまり、「0」から
「0000」を、「1」から「0001」を、「2」から「001
0」を、・・・「F」から「1111」を生成する。
【0037】この際、文字コード列中に出現する英数字
には偏りがあるので、この偏りを少なくする処理をする
ことが好ましい。
【0038】例えば、シフトJISコードの最上位の英
数字「8」、「9」または「E」を取り除き、詰めてし
まう。
【0039】図4は、文字コード列からビット列を生成
する際に、英数字の偏りを少なくする処理の一例を示す
図である。図4に示すように、「8376」を「376」と
し、「838C」を「38C」とし、「8343」を「343」とし、
「836F」を「36F」とし、「8362」を「362」とし、「83
4E」を「34E」とすることによって、「8」等の出現頻
度を少なくする。
【0040】その後、各英数字列をビット列に変換す
る。つまり、「376」を「001101110110」とし、「38C」
を「001110001100」とし、「343」を「001101000011」
とし、「36F」を「001101101111」とし、「362」を「00
1101100010」とし、「34E」を「001101001110」とす
る。
【0041】また、ASCIIコードの各数値を8ビッ
トのビット列に変換した場合の最上位ビットは、常に
「0」であるから、これを取り除いて、詰めることによ
って、「0」の出現頻度を少なくする。つまり、「20」
を「00100000」を経て「0100000」とし、「50」を「010
10000」を経て「1010000」とし、「61」を「01100001」
を経て「1100001」とし、「72」を「01110010」を経て
「1110010」とし、「74」を「01110100」を経て「11101
00」とし、「32」を「00110010」を経て「0110010」と
する。このようにして、文字コード列「8376 838C 8343
836F 8362 834E 2050 61 72 74 32」から、ビット列
「001101110110001110001100001101000011001101101111
00110110001000110100111001000001010000110000111100
1011101000110010」が得られる。
【0042】(A−3)ビット列から数値を生成する
(ステップS130) 次に、ビット列から4つの数値(V1〜V4)を生成す
る。コード列から生成されたビット列が64ビット以上
である場合は、最上位ビットまたは最下位ビットから、
16ビット毎に分割して、16ビットのビット列を4つ
生成しても良い。
【0043】また、コード列から生成されたビット列が
64ビット未満である場合は、「0」を補完して、64
ビットのビット列とした後に、16ビット毎に分割して
も良い。
【0044】また、64ビットのビット列の最上位ビッ
トまたは最下位ビットから、4ビットおきに16個のビ
ットを抜き出して、16ビットのビット列を4つ生成し
ても良い。
【0045】図5に、64ビットのビット列から4ビッ
トおきに16個のビットを抜き出して、16ビットのビ
ット列を生成して、数値Vを取得する処理の一例を示
す。
【0046】図5(a)に示すように、ビット列「0011
01110110001110001100001101000011001101101111001101
1000100011」から、1番目の「0」、5番目の「0」、9
番目の「0」、13番目の「0」、17番目の「1」、2
1番目の「1」、25番目の「0」、29番目の「0」、
33番目の「0」、37番目の「0」、41番目の
「0」、45番目の「1」、49番目の「0」、53番目
の「0」、57番目の「0」、61番目の「0」を抜き出
して、ビット列「0000110000010000」を生成する。そし
て、得られたビット列から数値V1を得る。
【0047】同様に、図5(b)に示すように、ビット
列「0011011101100011100011000011010000110011011011
110011011000100011」から、2番目の「0」、6番目の
「1」、10番目の「1」、14番目の「0」、18番目
の「0」、22番目の「1」、26番目の「0」、30番
目の「1」、34番目の「0」、38番目の「0」、42
番目の「1」、46番目の「1」、50番目の「0」、5
4番目の「1」、58番目の「0」、62番目の「0」を
抜き出して、ビット列「0110010100110100」を生成す
る。そして、得られたビット列から数値V2を得る。
【0048】4ビットおきに抜き出して生成する方が、
文字列中のほんの1部でも変化すると、全体が変化する
ようになるため、好ましい。
【0049】このようにして、4つの数値(以下、V
1、V2、V3、V4とする。)を生成する。
【0050】(B)数値から音列を生成する(ステップ
S200) 図6は、数値から音列を生成する処理の流れを示すフロ
ーチャートである。図6に示すように、まず数値(V
1、V2、V3、V4)から数値(SX、SY、DX、
DY)を得る(ステップS210)。SXとSYはそれ
ぞれ始点のX座標とY座標を表し、DXとDYはそれぞ
れX方向の増分とY方向の増分を表す。
【0051】次に、数値(SX、SY、DX、DY)か
ら128個の繰り返し回数Tを求める(ステップS22
0)。まず始点(SX、SY)について繰り返し回数T
を求め、次に2番目の点(SX+DX、SY+DY)に
ついて繰り返し回数Tを求める。以下同様にして、12
8番目の点(SX+127*DX、SY+127*D
Y)について繰り返し回数を求める。
【0052】最後に、128個の繰り返し回数Tから1
28個の音を求める(ステップS230)。各ステップ
の具体的内容について説明する。
【0053】(B−1)数値(V1、V2、V3、V
4)から数値(SX、SY、DX、DY)を得る(ステ
ップS210) 例えば、下記式を用いて4つの数値(V1、V2、V
3、V4)から4つの数値(SX、SY、DX、DY)
を得る。
【0054】 SX=−2.0+V1/0x10000×4.0 SY=−2.0+V2/0x10000×4.0 DX=1/(V3+10) DY=1/(V4+10) 始点(SX,SY)は、(−2,−2)、(−2,
2)、(2,2)および(2,−2)で囲まれる四角形
の中に入る。つまり2≧|X|、2≧|Y|である。始
点をこの範囲に入るものとしたのは、この範囲外では少
ない繰り返し回数でZ(n)の絶対値が発散に至ってし
まうためである。例えば、|X|≧3、|Y|≧3だと
Z(5)程度で発散してしまう。つまり繰り返し回数が
常に「5」になってしまい、生成される音楽が単調にな
ってしまう。
【0055】(B−2)数値(SX、SY、DX、D
Y)から128個の繰り返し回数Tを求める(ステップ
S220) マンデルブロー関数等のフラクタル関数を用いて128
個の座標点について繰り返し回数Tを求める。
【0056】具体的には、始点(SX、SY)、2番目
の点(SX+DX、SY+DY)、3番目の点(SX+
2*DX、SY+2*DY)、・・・128番目の点
(SX+127*DX、SY+127*DY)の各点に
ついて、マンデルブロー関数の値|Z|が所定値を超え
るまでの漸化式の繰り返し回数Tを求める。
【0057】図7に、マンデルブロー関数を用いて始点
座標(SX、SY)について繰り返し回数Tを求める処
理を示す。
【0058】まず、始点(SX、SY)についてマンデ
ルブロー関数の値が発散するまでの演算繰り返し回数を
求める(ステップS310)。
【0059】一般的に、マンデルブロー関数とは、 Z(n)=Z(n−1)^2+c (nは自然数) で表される漸化式をいう。cは、c=a+ib (a、
bは実数であり、aを実数部分、bを虚数部分という。
iは−1の平方根である。)と表される。また、(a^
2+b^2)の平方根をcの絶対値といい、|c|と表
す。
【0060】本実施形態においては、始点のX座標(S
X)を複素数cの実数部分とし、始点のY座標(SY)
を虚数部分とし、また|Z|が2を超えたら「発散」と
みなす。
【0061】具体的には、図7に示すように、 Z(0)=SX+iSY Z(1)=Z(0)^2+Z(0) Z(2)=Z(1)^2+Z(0) : : Z(n)=Z(n−1)^2+Z(0) という様にZ(n)を順次求め、かつ各Z(n)につい
て|Z(n)|が2を超えたか否かを調べる。|Z
(n)|が2を超えた時のnを、発散するまでの演算繰
り返し回数Tとする。なお、計算を400回繰り返して
も発散しない場合は、繰り返し回数T=400とする。
【0062】このようにして(SX、SY)についての
繰り返し回数Tを求める。
【0063】次に、2番目の点(SX+DX、SY+D
Y)についての繰り返し回数Tを求める。
【0064】図8(a)に、始点(SX、SY)に増分
を加えた座標(SX+DX、SY+DY)について、発
散までの演算繰り返し回数を求める計算式を示す。
【0065】図8(a)に示すように、 Z(0)=(SX+DX)+i(SY+DY) Z(1)=Z(0)^2+Z(0) Z(2)=Z(1)^2+Z(0) : : Z(n)=Z(n−1)^2+Z(0) という様にZ(n)を順次求め、かつ各Z(n)につい
て|Z(n)|が2を超えたか否かを調べる。|Z
(n)|が2を超えた時のnを、発散するまでの演算繰
り返し回数Tとする。始点(SX、SY)と同様に、計
算を400回繰り返しても発散しない場合は、繰り返し
回数T=400とする。
【0066】ここまでで始点座標(SX、SY)と2番
目の座標(SX+DX、SY+DY)という2つの座標
のそれぞれについて、演算繰り返し回数Tが求まる。
【0067】図8(b)に示すように、さらに同様にし
て3番目の点(SX+2*DX、SY+2*DY)から
128番目の点(SX+127*DX、SY+127*
DY)までについて繰り返し回数を求めることによっ
て、128個の繰り返し回数Tを得る。なお、128番
目まで求めるのは、1トラックを128個の16分音符
で構成するとしたためである。
【0068】1トラックを構成する音の数を増減した場
合は、必要となる繰り返し回数Tの個数も増減する。
【0069】なお、n番目の座標(Xn、Yn)につい
ての繰り返し回数T(n)と、n番目の座標に増分(D
X、DY)を加えた座標(Xn+DX、Yn+DY)に
ついての繰り返し回数Tとが同じ値になってしまう場合
は、n番目の座標に増分(DX、DY)の2倍を加えた
座標(Xn+2*DX、Yn+2*DY)について求め
た繰り返し回数TをT(n+1)とすることが好まし
い。
【0070】また、n番目の座標(Xn、Yn)につい
ての繰り返し回数T(n)と、n番目の座標に増分(D
X、DY)の2倍を加えた座標(Xn+2*DX、Yn
+2*DY)についての繰り返し回数Tとが同じ値にな
ってしまう場合は、異なる繰り返し回数Tが得られるま
で、増分(DX、DY)の加算を繰り返すことが好まし
い。つまり、異なる繰り返し回数Tが得られるまで、
(Xn+2*DX、Yn+2*DY)、(Xn+3*D
X、Yn+3*DY)、(Xn+4*DX、Yn+4*
DY)、・・・のそれぞれについて繰り返し回数Tを求
める。
【0071】さらに、n番目の座標(Xn、Yn)につ
いての繰り返し回数T(n)と、n番目の座標に増分
(DX、DY)の2倍を加えた座標(Xn+2*DX、
Yn+2*DY)についての繰り返し回数Tとが同じ値
になってしまった場合に、異なる繰り返し回数Tが得ら
れるまで、増分(DX、DY)の2倍の加算を繰り返す
ことがより好ましい。つまり、異なる繰り返し回数Tが
得られるまで、(Xn+2*DX、Yn+2*DY)、
(Xn+4*DX、Yn+4*DY)、(Xn+6*D
X、Yn+6*DY)、・・・のそれぞれについて繰り
返し回数Tを求める。増分を大きくすることによって、
異なる繰り返し回数Tを得るまでに必要な計算の総数を
減少させることが可能となる。
【0072】また、増分(DX、DY)を加算すること
によって得られた新たな座標が、(2.0,2.0)と(2.0,-
2.0)と(-2.0,2.0)と(-2.0,-2.0)の4点によって囲
まれる四角形の外に出てしまう場合は、図9に示すよう
に、ラップ・アラウンド(上辺からはみ出したら下辺へ
移動し、右辺からはみ出したら左辺へ移動する)という
処理をすることが好ましい。
【0073】(多声化)なお、単音での生成でも音楽と
して成立するが、「聞くに耐える音楽」とするには複数
の音の方が音楽的幅が広がるため好ましい。
【0074】「聞くに耐える音楽」とは、十分な音程変
化があり、さらにリズム的にも十分複雑な旋律を持った
音楽のことである。さらに、複数の旋律が短2度等の不
協和音にならない限り、できるだけ各旋律同士がうまく
絡み合わさることによって、主旋律を強調したり、主旋
律以外の旋律の動きがリズミックに聞こえるとより一層
音楽的といえる。
【0075】例えば、1番目のトラックの終点(SX+
127*DX、SY+127*DY)から所定値だけ離
れた点を2番目のトラックの始点として、上記と同じ処
理を繰り返すことによって、2番目のトラック用の12
8個の繰り返し回数を求める。同様の処理を繰り返し
て、3番目から8番目のトラック用の128個の繰り返
し回数を求める。
【0076】m番目のトラックの終点と(m+1)番目
のトラックの始点の座標が近接していると、m番目のト
ラックの数列パターンと(m+1)番目のトラックの数
列パターンが似てしまい、その結果、m番目のトラック
の音列と(m+1)番目のトラックの音列のパターンが
似てしまう。ここで、mは7以下の自然数である。
【0077】一方、m番目のトラックの終点と(m+
1)番目のトラックの始点の座標が離れ過ぎていると、
m番目のトラックの数列パターンと(m+1)番目のト
ラックの数列パターンの関連性が希薄になり、その結
果、m番目のトラックの音列と(m+1)番目のトラッ
クの音列のパターンの関連性が希薄になってしまう。
【0078】そこで、m番目のトラックの始点と(m+
1)番目のトラックの始点との間隔を以下のようにして
決定することが好ましい。なお、以下の処理はX座標お
よびY座標のそれぞれについて行うことが好ましい。
【0079】(m番目のトラックの終点座標−m番目の
トラックの始点座標)を10で割って得られた値が0.
01より小さい場合は、得られた値をそのまま、m番目
のトラックの終点と(m+1)番目のトラックの始点と
の間隔とする。
【0080】10で割って得られた値が0.01より大
きい場合は、0.01より小さくなるまで7で割る。
【0081】隣接するトラックから生成される音列は、
似ているが少し違うことが好ましい。隣接するトラック
から生成される音列が、あまりにかけ離れているとまと
まりのない音楽になってしまう。隣接するトラックの始
点が接近しすぎると、両トラックから生成される音列が
同じになってしまい好ましくない。
【0082】(m番目のトラックの終点座標−m番目の
トラックの始点座標)を「10」で割る、とした。しか
し「10」に限らずに、「5」から「50」の間の数値
で割っても「似ているが少し違う」音列を生成すること
は可能である。ただし、短時間で計算可能という理由で
「10」が好ましい。
【0083】また、10で割って得られた値が0.01
より大きい場合は、0.01より小さくなるまで「7」
で割る、とした。しかし「7」に限らず、「10」以外
で「10」に近い他の数値(例えば、「5〜15」)で
割る、としても「似ているが少し違う」音列を得ること
ができる。
【0084】全部で8トラック分の数列が得られたら全
てのトラックを比較し、「あるトラックの第1小節を構
成する音列に対応する数列」と「他のトラックの第1小
節を構成する音列に対応する数列」が完全に一致する場
合は、以下の操作を行った上で再計算することが好まし
い。
【0085】例えば、m番目のトラックの終点を、増分
に関係なく(0,0)とする。そして、m番目のトラック
の終点と(m+1)番目のトラックの始点との間隔を
(m番目のトラックの終点−m番目のトラックの始点)
*2/10とする。ただし、(m番目のトラックの終点
−m番目のトラックの始点)*2/10が、0.001
より小さい場合に限る。
【0086】(B−3)各繰り返し回数Tから音を生成
する(ステップS230) 各繰り返し回数を音へ変換する場合、使用する音階を予
め定義し、かつ各音に通し番号を付与しておく。そし
て、各繰り返し回数を音階の総個数で割り、得られた剰
余と等しい番号が付与されている音を、各繰り返し回数
の音とする。
【0087】図10に、「ドレミファソラシ」の各音
を、繰り返し回数Tに割り当てる例を示す。図10に示
すように、繰り返し回数Tを7で割った余りが「0」な
ら「ド」、「1」なら「レ」、「2」なら「ミ」、
「3」なら「ファ」、「4」なら「ソ」、「5」なら
「ラ」、「6」なら「シ」というように割り当てる。
【0088】このように割り当てた場合、1番目の繰り
返し回数T(0)が「70」なら1番目の音は「ド」、
2番目の繰り返し回数T(1)Gが「71」なら2番目
の音は「レ」、3番目の繰り返し回数T(2)が「7
2」なら3番目の音は「ミ」、・・・、100番目の繰
り返し回数T(99)が「350」なら100番目の音
は「ド」、・・・128番目の繰り返し回数T(12
7)が「286」なら128番目の音は「シ」となる。
【0089】(C)リズムの生成 図11は、数値V1と繰り返し回数T(0)〜T(12
7)を用いてリズムを生成する処理の流れを示すフロー
チャートである。数値V1の代わりに、数値V2,V
3,V4のいずれかを用いても良い。
【0090】図11に示すように、まず数値V1から1
28個の数値X(0)〜X(127)を生成し(ステッ
プS310)、その後これら数値X(0)〜X(12
7)と繰り返し回数T(0)〜T(127)からノート
オン、前音の継続または休符のいずれかを指示する12
8個の命令を生成する(ステップS320)。以下、具
体的に説明する。
【0091】(C−1)数値V1から128個の数値X
(0)〜X(127)を生成する(ステップS310) 数列X(n)において(nは自然数)、X(n)とX
(n+1)との関係が X(n+1)=λ*X(n)*(1−X(n)) 0≦
λ≦4 で与えられているとき、このような数列をロジスティッ
クモデルという。この数列は不規則な値をとる。すなわ
ちカオス的な振る舞いをする。
【0092】例えば、λ=3.98とし、また、X
(n)の初期値X(0)は、前記V1を再利用して、 X(0)=0.01+0.98*V1/65535 とする。この式において、V1=0ならX(0)=0.
01となり、V1=65535(16ビットで表現でき
る最大値)ならX(0)=0.99となる。
【0093】図12に、ロジスティック関数を用いてX
(n)を順次計算する例を示す。図12(a)に示すよ
うに、まず、 X(0)=0.01+0.98*V1/65535 からX(0)を求める。次に、このX(0)を X(1)=λ*X(0)*(1-X(0)) に代入してX(1)を求める。以下同様にして、 X(2)=λ*X(1)*(1-X(1)) : : X(126)=λ*X(125)*(1-X(125)) X(127)=λ*X(126)*(1-X(126)) と順次計算を繰り返して、X(0)からX(127)ま
での数値を求める。
【0094】仮に、λ=3.98、V1=100とする
と、 X(0)=0.01+0.98*100/65535=0.01149538414 X(1)=3.98*0.01149538414*(1-0.01149538414)=0.045225
69632 X(2)=3.98*0.04522569632*(1-0.04522569632)=0.171857
72419 X(3)=3.98*0.17185772419*(1-0.17185772419)=0.566444
13436 : となる。
【0095】λを一定値とし、一方V1を0以上655
35以下の整数とした場合、X(0)の取りうる値は6
5536通りに限定される。このため、各X(0)から
順次計算して得られるX(127)までの数列も655
36通りに限定されてしまう。
【0096】数列が65536通りに限定されてしまう
と、同じリズムが生成される確率が高くなる。同じリズ
ムが生成される確率を下げるためには、つまり異なるリ
ズムが生成される確率を上げるためには、各X(0)か
らN回計算を繰り返してX(N)を求め、このX(N)
からさらに127回計算を繰り返してX(N+127)
までの数値を求め、これらX(N)からX(N+12
7)までの128個の数値を用いてリズムを生成するこ
とが好ましい。
【0097】図12(b)に、X(0)からN回計算を
繰り返してX(N)を求め、このX(N)からさらに1
27回計算を繰り返してX(N)からX(N+127)
までの数値を求める例を示す。
【0098】図12(b)に示すように、 X(0)=0.01+0.98*V1/65535 X(1)=λ*X(0)*(1-X(0)) X(2)=λ*X(1)*(1-X(1)) : X(N)=λ*X(N-1)*(1-X(N-1)) という計算を繰り返して、X(N)を求める。そして、
さらに X(N+1)=λ*X(N)*(1-X(N)) X(N+2)=λ*X(N+1)*(1-X(N+1)) : X(N+126)=λ*X(N+125)*(1-X(N+125)) X(N+127)=λ*X(N+126)*(1-X(N+126)) という計算を繰り返して、X(N)からX(N+12
7)までの各数値を求める。このようにして、1トラッ
ク分の128個のX(n)が求まる。
【0099】上記数値Nは、例えば入力された文字列の
下位7ビット(ASCII/全角の区別無し)を全て加算し
た値とする。つまり、入力された文字列が”abc”で
ある場合、各文字の文字コードは”65,66,67”
である。これら各文字コードをビット列には変換し、下
位7ビットを全て加算した値は「198」となる。
【0100】仮に、V1=100とすると、 X(0)=0.01+0.98*100/65535=0.01149538414 X(1)=3.98*0.01149538414*(1-0.01149538414)=0.045225
69632 X(2)=3.98*0.04522569632*(1-0.04522569632)=0.171857
72419 X(3)=3.98*0.17185772419*(1-0.17185772419)=0.566444
13436 : という計算を198回繰り返して、X(198)を求め
る。そして、さらに計算を127回繰り返すことによっ
て、X(198)からX(198+127)までの各X
(n)の値を求める。
【0101】(C−2)128個の繰り返し回数Tと1
28個の数値Xとからリズムを生成する(ステップS3
20) マンデルブロー関数を用いて得られた128個の繰り返
し回数T(0)〜T(127)と、ロジスティック関数
を用いて得られた128個の数値X(0)〜X(12
7)とに基づいて、「ノートオン」、「継続」または
「休符」のいずれかを決定する。
【0102】例えば、 1)繰り返し回数T(n)が奇数で、X(n)がしきい
値より大きければ「ノートオン(音を鳴らす)」とし、 2)繰り返し回数T(n)が奇数で、X(n)がしきい
値以下である場合は前の音を「継続」とする。ただし、
前に音が無ければ「ノートオン」とし、 3)繰り返し回数T(n)が偶数で、X(n)がしきい
値より大きければ「ノートオン」とし、 4)繰り返し回数T(n)が偶数で、X(n)がしきい
値以下である場合は「休符」とする。
【0103】図13は、繰り返し回数Tと数値Xに基づ
いてリズムを生成する処理の流れを示すフローチャート
である。
【0104】図13に示すように、まず繰り返し回数T
(n)が奇数か偶数かを判断する(ステップS32
1)。
【0105】繰り返し回数T(n)が奇数の場合、X
(n)がしきい値より大きいか小さいかを判断する(ス
テップS322)。X(n)がしきい値より大きい場合
は、ノートオンとする。X(n)がしきい値より小さい
場合は、さらに前に音が有るか/無いかを判断する(ス
テップS323)。前に音が有る場合は前の音を継続
し、前に音が無い場合はノートオンとする。
【0106】繰り返し回数T(n)が偶数の場合も、X
(n)がしきい値より大きいか小さいかを判断する(ス
テップS325)。X(n)がしきい値より大きい場合
は、さらに前に音が有るか/無いかを判断する(ステッ
プS326)。前に音が有る場合は前の音を継続し、前
に音が無い場合はノートオンとする。X(n)がしきい
値より小さい場合は、休符とする。
【0107】(D)リズムを音列に当てはめて音楽を生
成する 最後に、既に生成したリズムを、既に生成した音列に当
てはめて、音楽を作成する。
【0108】図14に、リズムを音列に当てはめて音楽
を生成する処理の一例を示す。図14に示す例では、
「ノートオン」を「0」、「前の音の継続」を「1」、
「休符」を「2」と表すとした場合に、生成されたリズ
ムが「0010200201022101121012
010」で表されるとする。また、「C」が「ド」、
「D」が「レ」、「E」が「ミ」、「F」が「ファ」、
「G」が「ソ」、「A」が「ラ」、「B」が「シ」を表
すとした場合に、生成された音列が「CBFGECDB
FCFDGCDFAADCBDEFG」で表されるとす
る。
【0109】つまり、リズムは、 0010200201022101121012010 と表記され、音列は、 CBFGECDBFCFDGCDFAADCBDEFG と表記される。
【0110】そして、前記リズムを前記音列に当てはめ
ると、 CB−G_CD_F−F__CD−−_DC−_E−G という音楽が得られる。
【0111】16分音符ごとにノートオン、継続、休符
を割り当てるとすると、「C 16分音符」、「B 8
分音符」、「G 16分音符」、「16分休符」、「C
16分音符」、「D 16分音符」、「16分休
符」、「F 8分音符」、「F16分音符」、「8分休
符」、「C 16分音符」、「D付点8分音符」、「1
6分休符」、「D 16分音符」、「C 8分音符」、
「16分休符」、「E8分音符」、「G 16分音符」
からなる音楽が得られる。
【0112】以上説明したように、本発明の実施の形態
によれば、文字列から数値を生成すること、音列を生成
すること、リズムを生成すること、音楽を生成すること
ができる。
【0113】このようにして生成される音列は、同一の
初期値から同一の結果が得られるという性質を有するた
めランダムではないが、音程変化に富んでいる。
【0114】なお、文字列から音列を生成するのではな
く、既存の画像データから音列を生成することもでき
る。例えば、(1)256種類の色で表現された画像上
から複数の座標点を取得し、(2)各座標点に対応する
色データ(0〜255の数値)を取得し、(3)取得さ
れた色データの数値を使用する音階数(例えば、「3
6」)で割った余りに応じて音を割り当てるとしても良
い。
【0115】このようにして生成されるリズムは、ラン
ダムではないが、カオス的な振る舞いを持ち、十分に変
化に富んでいる。
【0116】また、ロジスティック関数は、(1)同一
の初期値から同一の結果が得られる、(2)計算が簡単
であるという特徴を有するため、好ましい。
【0117】計算に時間がかかってもかまわない又は複
雑な式を用いても瞬時に計算を完了できるほど高機能な
計算機を使用できるという場合は、複雑な計算式を用い
ても良い。例えば、テント写像を表す関数から求めた同
相変換式Y(t)={2/π/sin√x(t)}を用いて得られるY
(t)が整数値になるように量子化を施した下記式からで
も同様な結果が得られる。
【0118】Y(t)=[{2/π/sin√x(t)}*2^n] なお、[]は小数点以下を切り捨てる処理を意味する。
【0119】また、各座標値から数式を用いて各座標点
に対応する数値を算出するのではなく、予め各座標値に
対応する数値を決めておき、かかる数値を読み出すとし
ても良い。
【0120】このようにして生成される音楽は、十分な
音程変化があり、リズム的にも十分複雑な旋律を持つ。
さらに複数の旋律が短2度等の不協和音にならない限
り、できるだけ各旋律同士がうまく絡み合わさる事で、
主旋律を強調したり、主旋律以外の旋律の動きがリズミ
ックに聴こえる。
【0121】上記実施形態では、V1から始点のX座標
値SXを生成する式として SX=−2.0+V1/0x10000*4.0 使用したが、 V1/0x10000 の代わりに微分関数 を利用しても良い。なお「h->0」は|h|=1/n(nは
自然数)とする。
【0122】また、128個の座標点を取得するために
始点(SX,SY)に増分(DX,DY)を順次加算し
た。しかし、このような1次関数を用いる方法の他に、
Y=a*X^2などの2次関数を用いても良い。
【0123】さらに、範囲を円周の中に求めるようなプ
ログラムにした場合、πを利用した関数を使用しも良
い。またさらに、その関数を微分したものを使用しても
良い。
【0124】
【発明の効果】本発明によれば、複数の座標点から数値
を取得し、各数値から音を生成することができる。
【0125】また、(1)複素平面の座標点、増分およ
びフラクタル関数から音列を、(2)複素平面の座標
点、増分、フラクタル関数およびロジスティック関数か
らリズムを、(3)そして音列とリズムを組み合わせて
音楽を、生成する方法、生成するプログラムおよびその
ようなプログラムを記録したコンピュータ読み取り可能
な記録媒体を実現することができる。
【0126】また、文字列からこのような音列およびリ
ズムの生成に必要な複素平面の座標点および増分を生成
する方法、生成するプログラムおよびそのようなプログ
ラムを記録したコンピュータ読み取り可能な記録媒体を
実現することもできる。
【図面の簡単な説明】
【図1】本発明の実施の形態に係る音楽生成方法の処理
の概要を示すフローチャートである。
【図2】文字列から数値を生成する処理の内容を示すフ
ローチャートである。
【図3】文字列と文字コード列の対応関係を示す図であ
る。
【図4】図3に示す文字コード列からビット列を生成す
る際に、英数字の偏りを少なくする処理の一例を示す図
である。
【図5】64ビットのビット列から4ビットおきに16
個のビットを抜き出して、16ビットのビット列を生成
して、数値Vを取得する処理の一例を示す図である。
【図6】数値から音列を生成する処理の流れを示すフロ
ーチャートである。
【図7】マンデルブロー関数を用いて始点座標(SX、
SY)について繰り返し回数Tを求める処理を示す図で
ある。
【図8】(a)はマンデルブロー関数を用いて2番目の
点(SX+DX、SY+DY)について繰り返し回数T
を求める処理、(b)はマンデルブロー関数を用いて3
番目の点(SX+2*DX、SY+2*DY)および1
28番目の点(SX+127*DX、SY+127*D
Y)について繰り返し回数Tを求める処理を示す図であ
る。
【図9】ラップ・アラウンド処理を示す図である。
【図10】「ドレミファソラシ」の各音を、繰り返し回
数Tに割り当てる例を示す図である。
【図11】数値V1と繰り返し回数T(0)〜T(12
7)を用いてリズムを生成する処理の流れを示すフロー
チャートである。
【図12】(a)はロジスティック関数を用いてX
(0)からX(127)までを、(b)はロジステック
関数を用いてX(N)からX(N+127)までを順次
計算する例を示す図である。
【図13】繰り返し回数Tと数値Xに基づいてリズムを
生成する処理の流れを示すフローチャートである。
【図14】リズムを音列に当てはめて音楽を生成する処
理の一例を示す図である。
【符号の説明】
100 文字列から数値を生成するステップ 200 音列を生成するステップ 300 リズムを生成するステップ 400 リズムを音列に当てはめて音楽を生成するステ
ップ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 田中 亀義 東京都新宿区市谷薬王寺町58春日マンショ ン4F 株式会社エム・ゾーン内 Fターム(参考) 5D378 MM67 PP01 PP03

Claims (19)

    【特許請求の範囲】
  1. 【請求項1】 平面内における所定数の座標点のX座標
    値とY座標値を取得するXY座標値取得ステップと、 前記所定数の座標点のそれぞれに対応する数値を取得す
    る座標点対応数値取得ステップと、 前記座標点対応数値を所定の音階数で割った余りに従っ
    て音を割り当てることによって音列を生成するステップ
    と、を少なくとも含むことを特徴とする音楽自動生成方
    法。
  2. 【請求項2】 前記音楽自動生成方法であって、さら
    に、 前記平面内の各座標点のそれぞれに予め数値を対応づけ
    ておくステップを含むことを特徴とする請求項1に記載
    の音楽自動生成方法。
  3. 【請求項3】 前記音楽自動生成方法であって、 前記座標点対応数値取得ステップは、 画像を読み込み、 画像を構成する各点の色の明るさを決定する数値を前記
    座標点のそれぞれに対応する数値として取得することを
    特徴とする請求項1乃至2に記載の音楽自動生成方法。
  4. 【請求項4】 前記音楽自動生成方法であって、 前記座標点対応数値取得ステップは、 前記座標点の座標値とフラクタル関数とを用いて、各座
    標点に対応する数値を取得することを特徴とする請求項
    1に記載の音楽自動生成方法。
  5. 【請求項5】 前記音楽自動生成方法であって、 前記平面が複素平面であり、 前記座標点対応数値取得ステップは、 Z(0)=c Z(n)=Z(n−1)^2+c 但し、cの実数部分は前記X座標値、cの虚数部分は前
    記Y座標値 nは自然数 で表されるZ(n)の絶対値が発散するまでの演算繰り
    返し回数Tを求めて、該演算繰り返し回数Tを前記座標
    点対応数値とすることを特徴とする請求項1に記載の音
    楽自動生成方法。
  6. 【請求項6】 前記音楽自動生成方法であって、 前記XY座標値取得ステップは、 前記平面内における始点のX座標値SXと、始点のY座
    標値SYと、X方向の増分値DXと、Y方向の増分値D
    Yとを取得し、 始点を第1の座標点とし、 (始点のX座標値SX+m*増分値DX,始点のY座標
    値SY+m*増分値DY)を第n番目の座標点とする
    (m,nは自然数)ことを特徴とする請求項1乃至5の
    いずれかに記載の音楽自動生成方法。
  7. 【請求項7】 前記音楽自動生成方法であって、さら
    に、 文字列を取得するステップと、 前記文字列を構成する各文字を文字コードに変換するこ
    とによって前記文字列を文字コード列に変換するステッ
    プと、 前記文字コード列を構成する各英数字をビット列に変換
    することによって前記文字コード列から第1のビット列
    を生成するステップと、 前記第1のビット列から複数のビットを抜き出して得ら
    れる複数の第2のビット列のそれぞれを数値に変換する
    ことによって複数の数値V1,V2,V3,V4を生成
    するステップと、 前記複数の数値V1,V2,V3,V4から前記SX,
    SY,DX,DYを生成するステップと、を含むことを
    特徴とする請求項6に記載の音楽自動生成方法。
  8. 【請求項8】 複素平面内における始点のX座標値SX
    と、始点のY座標値SYと、X方向の増分値DXと、Y
    方向の増分値DYとを取得するステップと、 Z(0)=c Z(n)=Z(n−1)^2+c 但し、cの実数部分は始点のX座標値SX、cの虚数部
    分は始点のY座標値SY nは自然数 で表されるZ(n)の絶対値が発散するまでの演算繰り
    返し回数Tを求めるステップと、 Z(0)=c Z(n)=Z(n−1)^2+c 但し、cの実数部分は(始点のX座標値SX+m*増分
    値DX)、cの虚数部分は(始点のY座標値SY+m*
    増分値DY) m、nは自然数 で表されるZ(n)の絶対値が発散するまでの演算繰り
    返し回数Tを求めるステップと、 0.01以上0.99以下の数値を取得して、この数値
    をX(0)とするステップと、 X(n)=λ*X(n−1)(1−X(n−1)) 但し、λは4未満の正の数 nは自然数 で表されるX(n)を順次計算して、各X(n)を算出
    するステップと、 前記各演算繰り返し回数Tが奇数か否かと、前記X
    (n)と予め設定したしきい値との大小関係と、を判断
    するステップと、 前記奇数か否かの判断結果と、前記大小関係の判断結果
    とに基づいて、「ノートオン(音を鳴らす)」、「前の
    音を継続」または「休符」のいずれかを割り当てること
    によってリズムを生成するステップと、を少なくとも含
    むことを特徴とする音楽自動生成方法。
  9. 【請求項9】 前記音楽自動生成方法であって、さら
    に、 前記数値V1,V2,V3,V4のいずれかをこれら数
    値が取りうる最大値で割った値に0.01を加えて数値
    X(0)を生成するステップと、 X(n)=λ*X(n−1)(1−X(n−1)) 但し、λは4未満の正の数 nは自然数 で表されるX(n)を順次計算して、各X(n)を算出
    するステップと、 前記各演算繰り返し回数Tが奇数か否かと、前記X
    (n)と予め設定したしきい値との大小関係と、を判断
    するステップと、 前記奇数か否かの判断結果と、前記大小関係の判断結果
    とに基づいて、「ノートオン(音を鳴らす)」、「前の
    音を継続」または「休符」のいずれかを割り当てること
    によってリズムを生成するステップと、を少なくとも含
    むことを特徴とする請求項1乃至7に記載の音楽自動生
    成方法。
  10. 【請求項10】 平面内における所定数の座標点のX座
    標値とY座標値を取得するXY座標値取得ステップと、 前記所定数の座標点のそれぞれに対応する数値を取得す
    る座標点対応数値取得ステップと、 前記座標点対応数値を所定の音階数で割った余りに従っ
    て音を割り当てることによって音列を生成するステップ
    と、をコンピュータに実行させることを特徴とする音楽
    自動生成プログラム。
  11. 【請求項11】 前記音楽自動生成プログラムであっ
    て、さらに、 前記平面内の各座標点のそれぞれに予め数値を対応づけ
    ておくステップを含むことを特徴とする請求項10に記
    載の音楽自動生成プログラム。
  12. 【請求項12】 前記音楽自動生成プログラムであっ
    て、 前記座標点対応数値取得ステップは、 画像を読み込み、 画像を構成する各点の色の明るさを決定する数値を前記
    座標点のそれぞれに対応する数値として取得することを
    特徴とする請求項11に記載の音楽自動生成プログラ
    ム。
  13. 【請求項13】 前記音楽自動生成プログラムであっ
    て、 前記座標点対応数値取得ステップは、 前記座標点の座標値とフラクタル関数とを用いて、各座
    標点に対応する数値を取得することを特徴とする請求項
    10に記載の音楽自動生成プログラム。
  14. 【請求項14】 前記音楽自動生成プログラムであっ
    て、 前記平面が複素平面であり、 前記座標点対応数値取得ステップは、 Z(0)=c Z(n)=Z(n−1)^2+c 但し、cの実数部分は前記X座標値、cの虚数部分は前
    記Y座標値 nは自然数 で表されるZ(n)の絶対値が発散するまでの演算繰り
    返し回数Tを求めて、該演算繰り返し回数Tを前記座標
    点対応数値とすることを特徴とする請求項10に記載の
    音楽自動生成プログラム。
  15. 【請求項15】 前記音楽自動生成プログラムであっ
    て、 前記XY座標値取得ステップは、 前記平面内における始点のX座標値SXと、始点のY座
    標値SYと、X方向の増分値DXと、Y方向の増分値D
    Yとを取得し、 始点を第1の座標点とし、 (始点のX座標値SX+m*DX,始点のY座標値SY
    +m*DY)を第n番目の座標点とする(m,nは自然
    数)ことを特徴とする請求項10乃至14のいずれかに
    記載の音楽自動生成プログラム。
  16. 【請求項16】 前記音楽自動生成プログラムであっ
    て、さらに、 文字列を取得するステップと、 前記文字列を構成する各文字を文字コードに変換するこ
    とによって前記文字列を文字コード列に変換するステッ
    プと、 前記文字コード列を構成する各英数字をビット列に変換
    することによって前記文字コード列から第1のビット列
    を生成するステップと、 前記第1のビット列から複数のビットを抜き出して得ら
    れる複数の第2のビット列のそれぞれを数値に変換する
    ことによって複数の数値V1,V2,V3,V4を生成
    するステップと、 前記複数の数値V1,V2,V3,V4から前記SX,
    SY,DX,DYを生成するステップと、をコンピュー
    タに実行させることを特徴とする請求項15に記載の音
    楽自動生成プログラム。
  17. 【請求項17】 少なくとも、複素平面内における始点
    のX座標となる数値SXと、始点のY座標となる数値S
    Yと、X方向の増分となる数値DXと、Y方向の増分と
    なる数値DYとを取得するステップと、 Z(0)=c Z(n)=Z(n−1)^2+c 但し、cの実数部分は数値SX、cの虚数部分は数値S
    Y nは自然数 で表されるZ(n)の絶対値が発散するまでの演算繰り
    返し回数Tを求めるステップと、 Z(0)=c Z(n)=Z(n−1)^2+c 但し、cの実数部分は(X座標値SX+m*増分値D
    X)、cの虚数部分は(Y座標値SY+m*増分値D
    Y) m、nは自然数 で表されるZ(n)の絶対値が発散するまでの演算繰り
    返し回数Tを求めるステップと、 0.01以上0.99以下の数値を取得して、この数値
    をX(0)とするステップと、 X(n)=λ*X(n−1)(1−X(n−1)) 但し、λは4未満の正の数 nは自然数 で表されるX(n)を順次計算して、各X(n)を算出
    するステップと、 前記各演算繰り返し回数Tが奇数か否かと、前記X
    (n)と予め設定したしきい値との大小関係と、を判断
    するステップと、 前記奇数か否かの判断結果と、前記大小関係の判断結果
    とに基づいて、「ノートオン(音を鳴らす)」、「前の
    音を継続」または「休符」のいずれかを割り当てること
    によってリズムを生成するステップと、をコンピュータ
    に実行させることを特徴とする音楽自動生成プログラ
    ム。
  18. 【請求項18】 前記音楽自動生成プログラムであっ
    て、さらに、 前記数値V1,V2,V3,V4のいずれかをパラメー
    タとして0.01以上0.99以下の数値X(0)を生
    成するステップと、 X(n)=λ*X(n−1)(1−X(n−1)) 但し、λは4未満の正の数 nは自然数 で表されるX(n)を順次計算して、各X(n)を算出
    するステップと、 前記各演算繰り返し回数Tが奇数か否かと、前記X
    (n)と予め設定したしきい値との大小関係と、を判断
    するステップと、 前記奇数か否かの判断結果と、前記大小関係の判断結果
    とに基づいて、「ノートオン(音を鳴らす)」、「前の
    音を継続」または「休符」のいずれかを割り当てること
    によってリズムを生成するステップと、をコンピュータ
    に実行させることを特徴とする請求項10乃至16に記
    載の音楽自動生成プログラム。
  19. 【請求項19】 平面内における所定数の座標点のX座
    標値とY座標値を取得するXY座標値取得ステップと、 前記所定数の座標点のそれぞれに対応する数値を取得す
    る座標点対応数値取得ステップと、 前記座標点対応数値を所定の音階数で割った余りに従っ
    て音を割り当てることによって音列を生成するステップ
    と、をコンピュータに実行させることを特徴とする音楽
    自動生成プログラムを記録したコンピュータ読み取り可
    能な記録媒体。
JP2000361765A 2000-11-28 2000-11-28 音楽自動生成方法、音楽自動生成プログラム、および音楽自動生成プログラムを記録した記録媒体 Pending JP2002162968A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000361765A JP2002162968A (ja) 2000-11-28 2000-11-28 音楽自動生成方法、音楽自動生成プログラム、および音楽自動生成プログラムを記録した記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000361765A JP2002162968A (ja) 2000-11-28 2000-11-28 音楽自動生成方法、音楽自動生成プログラム、および音楽自動生成プログラムを記録した記録媒体

Publications (1)

Publication Number Publication Date
JP2002162968A true JP2002162968A (ja) 2002-06-07

Family

ID=18833157

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000361765A Pending JP2002162968A (ja) 2000-11-28 2000-11-28 音楽自動生成方法、音楽自動生成プログラム、および音楽自動生成プログラムを記録した記録媒体

Country Status (1)

Country Link
JP (1) JP2002162968A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003081572A1 (fr) * 2002-03-25 2003-10-02 Yoshihiko Sano Procede, dispositif et systeme de generation de representation
WO2004012181A1 (ja) * 2002-07-25 2004-02-05 Photon, Inc. 情報信号コンバートシステム
JP2006346471A (ja) * 2002-12-12 2006-12-28 Hidenori Ito サウンド生成方法、コンピュータ読み取り可能な記憶媒体、スタンドアロン型サウンド生成再生装置及びネットワーク配信型サウンド生成再生システム
JP2009020714A (ja) * 2007-07-12 2009-01-29 Nec Soft Ltd 音響による塩基配列比較装置および塩基配列比較方法ならびにプログラム
KR100971858B1 (ko) * 2002-12-12 2010-07-22 히데노리 이또 사운드 생성 방법, 컴퓨터 판독 가능한 기억 매체, 스탠드얼론형 사운드 생성 재생 장치 및 네트워크 배신형 사운드생성 재생 시스템
JP2014224976A (ja) * 2013-04-15 2014-12-04 清 宮浦 音声生成装置、音声生成方法及びプログラム

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003081572A1 (fr) * 2002-03-25 2003-10-02 Yoshihiko Sano Procede, dispositif et systeme de generation de representation
JPWO2003081572A1 (ja) * 2002-03-25 2005-08-11 芳彦 佐野 表現生成方法,表現生成装置,表現生成システム
US7272539B2 (en) 2002-03-25 2007-09-18 Yoshihiko Sano Representation generation method, representation generation device, and representation generation system
JP4625638B2 (ja) * 2002-03-25 2011-02-02 芳彦 佐野 表現生成方法,表現生成装置,表現生成システム
WO2004012181A1 (ja) * 2002-07-25 2004-02-05 Photon, Inc. 情報信号コンバートシステム
JP2006346471A (ja) * 2002-12-12 2006-12-28 Hidenori Ito サウンド生成方法、コンピュータ読み取り可能な記憶媒体、スタンドアロン型サウンド生成再生装置及びネットワーク配信型サウンド生成再生システム
KR100971858B1 (ko) * 2002-12-12 2010-07-22 히데노리 이또 사운드 생성 방법, 컴퓨터 판독 가능한 기억 매체, 스탠드얼론형 사운드 생성 재생 장치 및 네트워크 배신형 사운드생성 재생 시스템
JP2009020714A (ja) * 2007-07-12 2009-01-29 Nec Soft Ltd 音響による塩基配列比較装置および塩基配列比較方法ならびにプログラム
JP2014224976A (ja) * 2013-04-15 2014-12-04 清 宮浦 音声生成装置、音声生成方法及びプログラム
WO2015105142A1 (ja) * 2014-01-09 2015-07-16 佐藤勇二 音声生成装置、音声生成方法及びプログラム

Similar Documents

Publication Publication Date Title
US6791021B2 (en) Automatic chord progression correction apparatus and automatic composition apparatus
JPH01173099A (ja) 自動伴奏装置
US20020007721A1 (en) Automatic music composing apparatus that composes melody reflecting motif
JP3557917B2 (ja) 自動作曲装置および記憶媒体
US20050235812A1 (en) Methods and electronic systems for fingering assignments
USRE30736E (en) Tone wave generator in electronic musical instrument
US5852252A (en) Chord progression input/modification device
JP2019159145A (ja) 情報処理方法、電子機器及びプログラム
CN108062417B (zh) 一种基于复杂网络的图像生成音乐的方法
JP2002162968A (ja) 音楽自動生成方法、音楽自動生成プログラム、および音楽自動生成プログラムを記録した記録媒体
JP2000221968A (ja) 自動作曲装置および記憶媒体
US4205574A (en) Electronic musical instrument with variable pulse producing system
EP0333451B1 (en) Electronic musical instrument
US4619176A (en) Automatic accompaniment apparatus for electronic musical instrument
JP4614307B2 (ja) 演奏データ処理装置及びプログラム
JPS636796Y2 (ja)
JPS6380299A (ja) 自動編曲方式及び装置
CN104464702A (zh) 基于遗传算法的和弦伴奏生成方法
JP2002032079A (ja) 自動作曲装置及び方法並びに記憶媒体
KR102634002B1 (ko) 음악 미디어에 대한 가사 표시 정보를 제공하는 방법
JP3223560B2 (ja) 波形データ読出し装置
JP3651241B2 (ja) 音列合成装置
KR100484902B1 (ko) 음악선률 수치화에 의한 곡 저장 및 검색방법
JPH06318074A (ja) 楽音データ入力装置
JPH0651764A (ja) 音楽生成装置