Hatena::ブログ(Diary)

やねうらお−俺のボカロがこんなに音痴なわけがない。 このページをアンテナに追加 RSSフィード

電王戦出場記念! 書籍化されたで! 監修したで!(`ω´) 絶版なってしもた 絶版プレミア価格 記事書いたで!
解析魔法少女美咲ちゃん マジカル・オープン!

YaneuLabs / やねうら王公式 / やねうらおにメール / twitter / プロフィール

2014-04-20 ボカロ(作るところから)はじめました

[] ボカロ(作るところから)はじめました  ボカロ(作るところから)はじめましたを含むブックマーク  ボカロ(作るところから)はじめましたのブックマークコメント


今日からボカロを始めることにした。もちろん、ボカロを作るところからだ。ボカロを含めて音源自作する。楽器(ハード)も自作する。

音楽理論自分で構築しなおす。自動作曲のためのプログラムも作る。そうして、やっと自分だけの音楽が完成する。とりあえず、目標はそこだ。


■ ボカロを作るとは?


初音ミク代表されるようなボーカロイドは、「あ」「い」「う」など、人間がそれぞれの文字を発声したものを録音しておき再生しているだけである。つながりが不自然なところは二文字、ときとして三文字つなげたファイルも持っている。ただそれだけである。私はそういうことをしたいわけではない。声を一から作るところからだ。


■ スーパーファミコンDSP


順序立てて話そう。


私は高校生ときアーケード麻雀移植のために音声合成の処理を書いたことがある。*1

このプログラムは実際には世に出なかったわけであるが、私はそれ以前から、音をプログラムすることに関して強い関心があった。


Falcomの『イース』の音源ドライバー中学とき夏休みを丸ごと潰して解析したのも音に対してすこぶる興味があったからだし*2、BM98を作ったことにしてもその延長線上にある。私はプログラム以上に音に対しての興味があった。


2004年ごろにソニーPS3の開発に際し、PS1/2のエミュレーションレイヤーの実装のための人員募集をしていた。そういう仕事は大好きなので、応募しようかと思ったのだが、その給料があまりにも安く、当時の自分給料の何分の一かになってしまうので、ずいぶん悩んだのだが、ついに応募はしなかった。ただ、そのときは応募も本気で考えていたので、小手調べにスーパーファミコンDSPソフトウェア実装してみた。


スーパーファミコンのサウンドを一度でも聴いたことがある人は、耳が腐ってでもいない限り、あれがとても特殊なサウンドであることがわかるだろう。ファミコンのそれとは一線を画する、そしてそのあとブームとなるFM音源とも異なる、骨太のサウンドである。実際、FM音源全盛期にスーパーファミコンゲーム移植しようとした会社が、FM音源パラメーターをどう調整してもスーパーファミコンっぽい音が出せなくてとても苦労したという話は枚挙にいとまがない。


要するに、スーパーファミコンDSP(サウンドチップ)とは当時の歴史のなかに本来、技術的に存在してはおかしいようなオーパーツのものなのである


何故こんなオーパーツがこの世に存在したのか。実は、このDSPはのちにソニー(SCEI)の社長にもなる久夛良木さんが手がけたものなのだ*3


f:id:yaneurao:20140420051801p:image


久夛良木さんレベルの超天才エンジニアの手がけたハード自分の手でエミュレーションレイヤーを実装してみて初めてその設計思想、素晴らしさが実感できるわけである。私はもちろん、久夛良木さんレベルのエンジニアではないが、しかし、プログラムを書く能力は人並み以上にあるから久夛良木さんのDSP自分の手でソフトウェアで再実装することが出来た。誰しも感動する小説に出会えたときには自分に文字を読む能力があり、そして小説の内容を理解できる能力が備わっていたことに感謝するだろう。それと同じ感動がそこにはあった。あのときだけは、自分プログラムを書く能力が備わっていたこと、そして、久夛良木さんの天才性の一部であれ、理解できたことに対して神様感謝してやまなかった。


スーパーファミコンDSPのどこがそんなに優れているのかについてざっと書いておく。本当は、この部分は本記事にはあまり関係がないのだが、ここを書いておかないと「やねうらおめ、また内容のない薄っぺらい記事を書きやがって!本当はスーファミDSPことなんか何も理解していないくせに!」などと勘ぐる輩が出てくるので、あえて書いておく。

※ 技術的な内容なので、興味のない人は読みとばしてください。


スーパーファミコンDSPの公称性能はこうなっている。*4


f:id:yaneurao:20140420051802p:image


上の説明は今ひとつわかりにくいが、DSPとは別に制御用のチップが載っている。6502を拡張した命令セットを持ち、音源ドライバーなどはここに配置する。この音源ドライバー結構いろいろなことが出来てしまうので、スーファミのサウンドはゲームメーカーによって音色がずいぶん違うと言われるゆえんである


・BRR圧縮された波形データ復元


事前にサンプリングした波形データ復元する機能PlayStationで使われている圧縮アルゴリズムと同一である*5


ADSR


ADSRは、Attack、Decay、Sustain、Releaseの頭文字で、FM音源に見られるようなエンベロープジェネレーターであるが、A,D,S,Rの値はそれぞれ4bit、3bit、5bit、3bitで指定する。(そのあと表引きして実際のA,D,S,Rの値が設定される) 併せて15bitだから16bitに収まっている。いまどきなら、それぞれの値を直接設定できるようにするところだろうが、当時はメモリもったいないのでこういう設計が好まれた。


ところが、このADSR機能を使わずに直接gain(≒ボリューム)を変更するモードもある。実のことを言うと大手メーカースーファミ用の音源ドライバーADSRモードではなく、こちらのモードを使ってあるものが多い(と思う)。自前の音源ドライバーADSRよりもっと細かな制御をしたほうが、サウンドに広がりが出てくるからである。なのでADSRはこのDSP代表的機能ではあるが、スーファミのサウンドの特徴ではないと私は考えている。


ガウス分布補間


指定した4点を曲線で補間する機能。実装的にはガウス分布テーブルを用いている(表引きしている)ので正確な補間ではないし、さら計算資源があるならスプライン補間したほうが歪みのないサウンドになるし、いまのPC用にソフトウェアで実装するならそうすべきところではあるのだが、良くも悪くもこの“歪み”自体スーファミらしいサウンドを形成していると思う。


ディレイ


ファミコンにはディレイがなかったのでこれは大きな進歩久夛良木さんの発言によると『ファミコンについてはサウンドトラック4本や音のディレイがないことから「そんなもんで音楽なんてやれませんよね」「普通の人はそれで感動するかというと、ぼくは感動しないと思う」「クリエイターがやりたいと思ってることがやれるかどうかというのがキー」』*6


リバーブ(次数8のFIRフィルタ付)


リバーブFIR(有限インパルス応答)フィルタ*7までつけてしまうのが恐ろしい。ここの「次数8」というのは、パラメーター(係数)が8個指定できるという意味FIRフィルタ自体デジタルフィルタとしては基本的ものなので説明は割愛


スーファミのサウンドまとめ


結局のところ、上記のような当時としてはかなり高機能な処理能力を備えたDSPと、このDSP制御チップ(ここに各ゲームメーカーが独自のサウンドドライバーを載せた)との組み合わせによりスーファミらしいサウンドがもたらされたわけである


■ オリジナルボカロを作るとは?


もうここまで説明すれば話は見えただろう。今回、ボカロ自作するわけであるが、まずそのためにスーファミDSPのようなソフトウェア実装のサウンドレイヤーを用意する。まあ、人間の肉声に近いサウンドが欲しいわけで、スーファミDSPよりは少し高機能ものにならざるを得ないが。また、ここは将来的にハードウェア化するかも知れないので、この部分はそのへんも見越しておく。


次に、このDSPに対してプログラムできる必要があるのだが、DSP制御用の命令セットを用意して、その命令によってプログラムすることにする。(将来的なハードウェア化を視野に入れているため)


あと、この自作ボカロライブで使うような用途を考えているため、この自作ボカロリアルタイムに歌わせることが出来るような楽器自体を作らなければならない。そのへんもすでに考えてある。


かなり早口な歌でも訓練次第ではリアルタイム演奏が可能である画期的楽器(音楽的なデバイス?)となる予定だ。


■ 音楽自動作曲とは?


ついでだからもう少し話を進めよう。コンピューターによるアルゴリズム作曲(自動作曲)についてである。この分野の近年の技術進歩めざましく、論文もたくさん出ているし、アルゴリズム作曲実用的になりつつあると思うのだが、私はそういう方向性でやりたいわけではないのだ。


作曲をやっている人にはわかると思うけど、どこかの段階で対位法とか勉強するわけだ。二声対位法、三声〜八声、厳格対位法模倣、二重対位法フーガetc…。そうするとその手の教科書には「禁則」(こういう進行は良くない)が延々と書いてある。和声に関しても、ある程度基礎が出来たのちに、いわゆる芸大和声(asin:4276102057)あたりから勉強するわけだが、「禁則」のオンパレードである。そして、興味深いことに本によって何が「禁則」であるかは定義が異なる。


じゃあ、そもそも「禁則」とは何なのか。

このように「禁則」とすることによって何が得られるのか。


結論的に言うと、その本を書いた人が想定している音楽(それは18世紀のものであったり、それ以前のものであったり、特定作曲家のものであったりするのだが)が得られるということである。この部分を理解していないと、やみくもに「禁則」だけ覚えることに終始してしまい、自分の作る曲の音楽的な可能性を狭めてしまう。


要するに「禁則」とは、曲の生成アルゴリズムが何かしらあるとしてそのためのルール集合の一部だと考えるとわかりやすいだろう。


例えば、モーツァルトの曲を分析し、そのルール集合が得られれば、そのルール集合からモーツァルトの曲っぽい曲が自動生成できるということだ。


しかし、自動生成と言っても、単にルール集合に書かれているルールを順番に適用していけばいいという単純なものではない。例えば、前の音符との次の音符との接続される形に良さの点数がつけられるとしたら、その点数を最大化したい。そして一曲通してその点数の合計が最大になるような曲にしたい。そうならないときは前の音符を消して、また別の音符に置き換えて…という作業を繰り返す必要がある。


実はこの部分はコンピューター将棋の探索と全く同じなのである。音符一つ(音符の高さ・音符の長さ)が将棋の指し手に相当し、音符を一つ置くことが将棋ではその指し手で局面を進めることを意味する。将棋で読みのなかで局面をいったりきたりするが、音符を足したり、消したりするのはそういう理由からである。そして、将棋であれば最終的な点数(将棋であれば最善応手列≒読み筋)の末端局面の評価値が最大になるような現局面での指し手を探すが、曲作りときも、最終的な点数が最大となるような音符の並びを探し出せば良いのである


まり自動作曲は実はルール集合さえ与えれば、コンピューター将棋の探索部によって解決できるのである


これは何も偶然の一致ではない。人間知的作業のほとんどは、何らかの点数を最大化するという、探索を伴う最大化問題に帰着されるので、作曲行為自体コンピューター将棋の探索の問題に還元されるのは何も不思議なことではないのだ。


■ 作曲のためのルール集合


では人間は何もしなくても曲が出来上がるのかと言うとそれは違う。作曲のためのルール集合自体人間が考えてやる必要がある。

ルール集合が同じであると似たような曲しか出来ないし、そこがまさに人間しか出来ない知的作業と言えるわけである


例えば、坂本龍一(織田信長に「さん」をつけないの同様、歴史レベルの偉人なので敬称をあえて略す)の作曲のための方法論として、自分が考えた作曲アルゴリズムに基づき、自分作曲機械だとみなしてそのアルゴリズムにより曲を生成し、その曲の良し悪しを音楽家坂本龍一が評価し、そして作曲アルゴリズム修正を行なうというフィードバックループにより作曲するという主旨のことが『坂本龍一音楽』(asin:4487801036)に書いてあったと思う。(うろ覚え)


坂本龍一が本当にそうやって作曲しているのかどうかは私は知らないが、そういう視点というのが面白いと思っていたし、この「自分作曲機械だとみなしてそのアルゴリズムにより曲を生成する」という部分は、私のプログラミング能力であればコンピューターに完全に肩代わりさせることが可能だ。


そうなってくると、「自分が考えた作曲アルゴリズム」が問題となる。従来のアルゴリズム作曲論文では、この部分が固定に近い形であったので、同じような曲しか作れなかった。自動生成される曲の完成度はともかく、私にはその部分が大いに不満であった。


私は特定ジャンル特定の種類の曲を大量に生成したいわけではないので、上記のようなフィードバックループをなるべく短い時間で回したいのである。そうすることにより短い時間自分作曲アルゴリズムが磨かれるわけである


そして、最終的にはこのループ自体を少しプログラム音楽に対して理解のある人であれば誰もが体験できるよう、自動作曲のためのプログラミングフレームワークとして公開したいわけである


■ まとめ


ということで、私の当面の目標は以下のような感じである。(何年かかるかは知らん)


ボカロ自作(そのために自分設計したDSPソフトウェア実装するところから)

音源自作(自分設計したDSPに対する制御プログラミングにより)

ボカロライブ演奏できるような楽器自作

アルゴリズム作曲とそのフレームワーク作成


■ あとがき


何故突然こんなことを思ったのかと言うと、電王戦が終わったので友達に借りてる漫画を読んでいたわけである。その友達とは電王トーナメントエントリーときにやねうら王の開発者としてもう一人名前が挙がっていたと思うが、彼である。彼は、いつも私をその気にさせる。やねうら王も彼がいたから作ろうという気になったわけである。だから、やねうら王のエントリーとき共同開発者として彼の名前を入れておいた。


今回、彼が持ってきた漫画は『ナッちゃん東京編 1―下町鉄工所奮闘記』 (asin:4088597001)という漫画で、下町の鉄工所で働く女の子(?)の物語である。この女の子ちょっとした天才で、創意工夫によって無理難題を解決していくわけであるが、これを見ていたら昔のことを思い出したわけだ。


私は小学生の段階ですでに仕事としてやっていける程度にはプログラミング能力があったわけであるが、大学卒業するころにはプログラミング自体に少し嫌気が刺しており、これを職業にするとプログラミングのことが嫌いになってしまうと考えて、プログラミングとは全く違う分野(製図設計)の仕事に就いたわけである。正直に言えば当時は自分プログラミングが出来ること自体が、本当に忌々しいと思っていたし、「こんな神がかったプログラミング能力とか要らねえんだよ!俺は、刺身たんぽぽを乗せるような頭の使わない仕事がしたいんだよ!」と考えていた。


ところが、モノづくりの現場で働くうちに、創意工夫して製品を作る(さらに、それをお客様に届け、喜んでもらう)ということの素晴らしさを知ったわけである。『ナッちゃん東京編 1―下町鉄工所奮闘記』を読んでいると、そんな当時の自分を思い出してしまった。そうだ、何でも工夫すれば作れるんだ。俺には、神がかったプログラミング能力があるんだしな!と思ったわけだ。


※ このブログの愛読者ならば、「神がかった」とか書いてあっても「また今日やねうらお節、全開だな」ぐらいに理解してもらえるはずなのであるが、そうでない人に言っておくと、「神がかった」というのは、ある種の冗談であり誇張表現の一種である。本気で自分プログラムを「神がかった」などと思っている人がいたら、それは相当な大馬鹿野郎である


そして、そのとき音楽コンピューター将棋との関係気づき、点と点が一本の線でつながったわけだ。これは、もうボカロを(作るところから)やるしかないなと。


ちなみに、私の作曲経験だが、自分の作った曲が商用ゲームに使われたことがある。まあ、自分プロデューサーだったんだから自分の曲使おうが何を使おうが自由なんだけども。商用ゲームに使われたらプロだという定義だとしたら、私はプロ作曲家である。おお、これはなんか凄くずるい感じがするな!


プロ作曲家になりたい人は、自分で商用ゲームでもプロデュースすればいいんだよ!」などとテキトーなことを言ってこの記事を終りにしたい。

羊 2014/04/20 05:47 びっくるねっとの頃からやねさんの音に関する記事を読んでました。私もボカロエンジンを作ってみたいと思っていましたので、とても楽しみにしています。

yaneuraoyaneurao 2014/04/20 05:57 ↑ボカロエンジンを作ってみたい?むしろ、私と一緒に作ればいいんじゃまいか?

yaneuraoyaneurao 2014/04/20 09:21 ちょっとコメントを整理(削除)した上で書いてあった内容に返信。

> 「何を点に結び付けるか」がぼやける作曲・編曲

例えば、並達8度・並達5度を減点だとか、声部が跳躍したあとはそれと反対側に進まないと減点するだとか、メジャー和音に対しての3rdのdoublingを減点するだとかそういう局所的な話です。どれくらい減点するかは、他の楽譜をもとにパラメーターを調整することもボナメソで十分可能です。

また、自動作曲により完成された曲の点数を自動的につけるという話ではありません。そこは人間が判断すべきところです。ですので曲が量産されることもないです。

あと、自動作曲のためのルールセットは、プロの作曲家が無意識にやっているようなことをルール化しなくてはならないわけで、そのためにはプロの作曲家と同等以上の音楽的センスおよび言語化能力が必要になりますね。

> 声優や歌手、作曲家・編曲家の方々が、だれも路頭に迷わないような配慮も極力した方が良いでしょう。

菅野よう子や上松範康レベルの天才作曲家が出てきたからと言って他の作曲家が廃業になるわけでもなく、初音ミクのような機械の歌い手(?)が出てきたからと言って他の人間の歌手が不要になったわけでもなく、まあ、音楽業界に関してはそのへんは柔軟に受け入れる土壌があると思いますけどね。

パオパオ 2014/04/20 09:25 ああ、ついに無敵のミクさんが駆逐される時が来るのか・・w
いや非常に楽しみです。やねさんの別次元のアプローチで
どんなボカロ(エンジン)が出来るのか。数年後ですか。長いのう・・

yaneuraoyaneurao 2014/04/20 09:31 ↑ 人工的な合成なので、どうやったところで肉声サンプリングには敵いません。VA音源(物理モデル音源)が生音に勝てないのと同じ理屈で。しかし、そこはそうでも、どれほど下手に人工的に合成された声であれ、一つの楽器と思えばいいのかなと。一時期、小室哲哉がその楽曲でデジタルフィルタでわざとロボットの声のように加工するのを多用していたと思いますが、あれも声ではなく声を一つの楽器かのように扱っていたのかなと、私は思うのです。

り 2014/04/20 11:55 めっちゃ期待。

ときメモ2のEVSでヒロインがプレイヤーの入力した主人公の名前をコンピュータの作成した合成音声で呼びかけてくれるやつがあってめっちゃドキドキしたんですけど、そういう方向にも進んでいきますかね?

作曲か・・・作曲か・・・ 2014/04/20 14:43 >>例えば、モーツァルトの曲を分析し、そのルール集合が得られれば、そのルール集合からはモーツァルトの曲っぽい曲が自動生成できるということだ。

モーツァルトの曲を1フレーズ取り出せば認識できるぐらいの分類器が必要なんでしょうか?なんか、色々な曲を同様の技法で解析すると、作曲家のパクリが疑惑が出て来そうで怖いですね(「?のブーメラン」と「DANZEN!ふたりはプリキュア」、ルールの一致率が80%を超えたからパクリ認定とか)

taratara 2014/04/20 16:38 やねうらさん、はじめまして。
いつも興味深く拝読させていただいております。

今回の記事、音楽の自動作成と将棋が同じスキームだという話、非常に興味深かったです。
素人質問なのですが、将棋の場合、膨大な量のプロの対局棋譜を入力し、それをもとに評価関数の精度を高めるということをされるかと思いますが、作曲においても、同様に大量の楽譜を入力することにより、どのような旋律、リズム、ハーモニーが心地よい組み合わせか、といった評価関数を作り上げるということも考えておられるのでしょうか。

名無し名無し 2014/04/20 17:08 今回のエントリは全く難しく、理解できなかったので質問させてください。
1. 「声を一から作る」とは、初音ミクのように、本職の声優や歌手からのサンプリングではなく、モデル無しでコンピュータに発声させてしまうのでしょうか?
2. 「つながりが不自然なところは〜」は、辞書ファイルやアドホックな調声無しに全てソフトウェアで行うのでしょうか?

yaneuraoyaneurao 2014/04/20 17:47 ↑*4 私がやろうとしている音声合成だとロボット風のボイスになると思うので聞いていてもドキドキはしないと思うんですが(笑)
↑*2 ですです。
↑*3 ↑*2が参考になるかと思います。ルール自体は将棋の3駒関係みたいに汎用的な特徴でもいいんです。例えばkey = Cのときに「ソ」の音のあとどこの音に遷移するかをマルコフモデルのようなもので調べて、自動作曲に活かすというアプローチが何十年も前からありますが、「ある音符からある音符への遷移」というのを一つの特徴因子としたり、あるいは「隣り合う声部に対してどのインターバルであるか」などを特徴因子として用いることが出来ます。それらに対して、モーツァルトの曲を食わせてボナメソでそれぞれの特徴因子の点数を算出することによって将棋ソフトで言うところの評価関数のようなものが得られます。
↑*1
> モデル無しでコンピュータに発声
ですです。
> 「つながりが不自然なところは〜」は、辞書ファイル
人工的に合成しているので(つまり、「あ」から「い」のように次の音へも滑らかに遷移できます)、つながり自体が不自然になる問題はあまりないですね。発声そのものが人間の肉声からかけ離れている可能性はあっても。また、本格的にやるのならば辞書的なものは必要だと思いますが、辞書を個人で用意するのは大変なので、そのへんは他のオープンソースのプロジェクトに依存してもいいかなと思ってます。

亜亜亜亜亜亜 2014/04/20 18:25 さすが、天才やねうらお!(歴史レベルの偉人なので敬称をあえて略す)
常人とは、発想が違いますね。
自動作曲が、将棋と同じく探索で実現するとは、目から竜王の鱗です。

私は音楽に関しては、全然詳しくないのですが、以前フリーゲームソフトを作った際には、自動作曲ソフトには随分とお世話になりました。
ただ、作れる曲の範囲に限界がありましたので、神がかった凄いソフトを期待しています。
もっとも、私は音楽に対して理解のある人ではないので、使いこなせないかもしれません。

近い将来、やねうら王を市販化し、解説自動生成したセリフをボカロが喋って、局面に応じた自動作曲BGMが流れることを期待しておりますw

みぞみぞ 2014/04/20 19:40 大変面白いです。ただ、楽曲の場合、将棋と違って、近傍のみを入力とする関数にはならないので、そこがかなり異なるアプローチになるとは思います。
つまり、しばらく前のフレーズを繰り返すようで少し変えたものをおくことが、独特の感興を催させるので、それを一般化したアルゴリズムからどう生み出すかは、難題ではないでしょうか。単にn次マルコフでなんとかなるとは思いがたいです。
私は自動ストーリーテリングに趣味的に関心がありますが、自動作曲にも共通する課題があります。「かみまみた」みたいな反復ネタを、それ専用の機能を組み込むことなく実現するには、という観点で。
現時点での私の見解は、巨視的な構成情報を生成し、そこから再帰的にディテールの作り込みをすることです。ストーリーの場合、最終的に描写、叙述等はそれぞれ特殊なジェネレータが必要ですが、楽曲の場合も、葉ノードでは幾つかのパターンを持たざるを得ないといけないと思います。さもなくば自動作曲にありがちなメリハリのなさに陥る気がします。

みぞみぞ 2014/04/20 19:53 補足です。巨視的な構成情報と言うと、なんかAA'BAみたいなナイーブなものを想起させますが、そういうものばかりではありません。もう少し細かい、小説で言えば詳細プロット、楽曲なら、いわゆる構造分析の成果物のようなものを想定しています。

yaneuraoyaneurao 2014/04/21 00:25
> 前のフレーズを繰り返すようで少し変えたものをおくことが、独特の感興を催させる

よく音楽をわかってはりますね。なら、少し専門的なことを書きます。

まず、前フレーズの模倣〜逸脱はある程度機械的に認識が可能です。例えば、5度上で模倣、もしくは、フレーズの最後の部分をわずかに付け足してあるかだとか、前の音符に対する音の高さの上昇・下降の列が一つ前のフレーズと一致するかなどは機械的に判定できます。(例:「ドレミミレ」と「ミファララソ」は一つ前の音符と比べていくとどちらも「↑・↑・→(変化なし)・↓」の順番になっているので一致します。)

機械的に構造を判定できる以上、それを特徴因子として用いることが出来るので、これらに対して点数付けが可能です。

> 巨視的な構成情報と言うと、なんかAA'BAみたいなナイーブなものを想起させますが

例えば、コード進行においてIV M7→V7→IIIm→VImのような王道進行があるとして、サビのところだけV7のあとに#V dim7とか挿入してpassing diminishっぽい感じにすることを考えてみます。

ところが、この#V dim7が曲の冒頭に出現したっきりで、そのあとただの王道進行になっていたら興ざめですね。すなわち、こういう盛り上がるような要素(借用和音のIII7とか、サブドミナントマイナーのIVm7とか)を出して、そのあとに盛り上がる要素が出てきていないことに対してマイナスの点数がついていればこういう曲の構成上の失敗は防ぐことが出来ます。

これは、実際にボナメソでターゲットとする楽譜を食わせてみればすぐに適切な点数がつきます。

このように適切な特徴因子を考えるのが人間の仕事(あるいは、この自動作曲フレームワークを作る人の仕事)であり、そのあと、ターゲットとする楽譜を食わせてそれらの特徴因子の点数を適切なところに持っていくとターゲットの曲のエッセンスの似た曲が生成できます。

あるいは、ボナメソを使わなくとも、人間の判断で、禁則に関しては点数として手で−∞(マイナス∞)にしておきます。そうするとその禁則パターンは自動作曲される曲には決して含まれることはないです。

UTHENAUTHENA 2014/04/21 02:06 ナッちゃんとか懐かしいですねー
連載当時はソレを目的に読んでた事もありましたw

音楽系はノイズの周波数テーブル作ってMMLで音階が出せるようにしたことくらいしかないチープDIYプログラマですが、それでもこの展開はワクワクしますね!

これ、完成したら販売とかされるのでしょうか?
ちょっと触ってみたいかも・・・

トラックバック - http://d.hatena.ne.jp/yaneurao/20140420

人気blogランキング
1900 | 01 |
2004 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2005 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2012 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2013 | 01 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2014 | 01 | 02 | 03 | 04 |


Microsoft MVP
Microsoft MVP Visual C# 2006.07-2011.06