DTMビギナーのメモ③

前回書いてからかなり放置してしまったが『メタルマン』を作成過程での覚書。

シーケンサー

CUBASE-AIを使用。使い方が慣れないと全然わからん。自分はシンガーソングライター使って譜面を打っていたので、ピアノロールに面食らった。慣れて来ると、音の長さの調節、ベロシティ(音の強弱)を一元で管理できかなり合理的な使い勝手だとわかる。とりあえず音を打ち込まなければ、何も始まらない

『初心者が心折れないためのTips1 CUBASE編』



1.「ファイル」→「新規プロジェクト」→「CAI4-16 MIDI Tracks」で新規作成
MIDI作るならこれでOK。

2.上のツールボックスから鉛筆でトラックをドラッグ→色がついたらおk。
ツールボックスから「オブジェクトの選択」選び色ついたところクリック→「MIDI」タブ
「キーエディタを開く」でピアノロール出現。
これで当該トラック(トラックとは1つの楽器パートみたいなものと思っていればいい。)
1小節の入力ができる。入力は出したい音の上でマウスクリック。
だが正直めんどくさいので、MIDIキーボード買ったほうがよい。私はピアノ弾けないが、重宝している。

音源

前回はオンボードであったので、今回はソフトシンセ音源(主にシーケンサーにpluginとして使う)を使用。

  • HALlionOne:CUBASEに付属しているソフトシンセ。YAMAHA製品買えばバンドルされています。→ドラムパート、ベースに使用。
  • Synth1:http://www.geocities.jp/daichi1969/softsynth/で手に入る。超有名フリーシンセ。→メロディに使用。

DTMビギナーのメモ②

①で色々何ができるか及びしたいか書いたが、DAWでのフェーズごとにそれを実現するメソッドを調べていく。
・ギターの録音から演奏した音声ファイルの作成まで。
・作曲・編曲
この両者に共通している事項は『音を録る』『音を聞かせられるレベルに加工する』ということである。素人目線で見るとどうやらこの大まかな2つの作業を統合して行える、かつAUDIO、MIDIの両形式を扱えるのがDAWなのかなあ思う。
言うまでもなくギターの音は電子的に作られたものではなく、弦の振動という物理現象である。こいつをPCにとりこむんでAUDIOファイルとして扱う。この取り込む作業が『録音』にあたる。
次いで、コンピューターに音を鳴らして『録音』する作業がMIDIの打ち込みに相当する。(MIDIはコンピューターに音を奏でさせる譜面のようんも)

ロックマン2のメタルマンステージの音楽をとりあえず、練習として打ち込みました。

耳コピについて‥

ずっと苦手意識があったが、何でも始めは物まねということからで、気合入れてスタート。
ファミコンなので、音が少なくてやりやすい。
メロディーラインを聞き取る。8部音符のところは難しいので、
http://soft.edolfzoku.com/hayaemon2/を使用して再生速度落とします。

次は副旋律、ベースと進んでいきます。

譜面にしてわずか100小節にも行かないのに、仕事帰りに家でこつこつやって1週間かかりました。

まだこの段階ではベタ打ちです。なんの抑揚もなく、音源はオンボードです。

UPしたいが、JASRAC怖いのでやめておきます。

ではまた。

大学院ゼミ

今年で入社3年目なので、そろそろ大学院にいきたくなってきたので、ゼミを見学しに行った。ちょうどD論文の発表練習みたいなのやっていた。内容はちんぷうんかんぷんでしたが、研究プレゼンの勉強にはなった。しかしこの不景気で会社は俺を大学院に行かしてくれるのだろうか?

恐怖のノーボーナス‥

6月も半ばを過ぎてもいまだ、ボーナスのアナウンスがありません。例年ですと第3週には支給されていますので、緊急事態です。ノーボーナスという恐怖が現実を帯びてきました。時短100回何事も無く抜けるように6月もスルーしそうです。うちの会社は、基本6月、12月、業績に応じて3月に決算賞与という形なんだけど、もちろんこの前の3月は出なかった。なんか6月もこのまま抜けそうです。

単純ベイズ分類器と変数選択問題

スパム分類

スパムフィルターの分類器として有名な単純ベイズ分類器は、ベイズの定理と説明変数の条件付(分類先に条件つけた)独立性を用いたシンプルな学習器である。

分類先として①正常先②スパム先として2つのカテゴリを考える。
あるメールを①②にずれかに分類するのが適当か判別したい。
そのために、あるメールが出現したときにそいつが
クラス①に属する確率:P(クラス=①|あるメール)
クラス②に属する確率:P(クラス=②|あるメール)
を計算し比較すればよい。

★単語の出現率
あるメールに含まれる単語をwi(i=1,,,n)としたとき、単語wiの出現率を
P(wi)と書くことにする。同様にクラス①と②に分類された先での条件付確率を
P(wi|クラス=①)
P(wi|クラス=②)
と書くことにする。

ここでは単純化のために、P(wi)は分かっているものとする。
注意1)本来はスパム分類先が増えるほど、P(wi)はよりよいものに更新されていく。

★独立性と条件付独立性
強引な仮説だが、任意の単語は全て独立に出現する物とする。
したがって、P(w1∧w2∧,,,,,,∧wN)=P(w1)*,,,,,,*P(wN)が成り立つ。
(単純ベイズ分類器といわれるゆえんである)
どうように条件付の場合
P(w1∧w2∧,,,,,,∧wN|クラス=①)=P(w1|クラス=①)*,,,,,,*P(wN|クラス=①)
P(w1∧w2∧,,,,,,∧wN|クラス=②)=P(w1|クラス=②)*,,,,,,*P(wN|クラス=②)
が成り立つ。

★あるメールの出現率
メールの出現率というといろいろな解釈ができるが、
(例えば毎日誰かれからメールが分かっているというときの今日の誰彼からのメールの出現率は100%ととも考えれる)
わかっている情報は構成されている単語のベクトルのみとする。⇒{w1、、、、wn}
(単語の世俗的な意味など考えない。あくまでここでは)

したがって以下のようにメールの出現率を定義する。
メールの出現率:=そのメールに含まれている単語の同時出現確率

数式化すると
あるメールは単語w1,w2,,,,,wNで構成されているとする、
あるメールの出現率は(出現する事象をMとすると)
P(M):=P(w1∧w2∧,,,,,,∧wN)

wiki参照
http://ja.wikipedia.org/wiki/%E5%8D%98%E7%B4%94%E3%83%99%E3%82%A4%E3%82%BA%E5%88%86%E9%A1%9E%E5%99%A8
(wikiの記述で事前事後の式と文章が逆になっていると思われる場所がある)

で私が携わっている分野はスパムメールフィルターの仕事ではなく大規模データベースからの知識発見なんだけど、こいつを使えないか現在考えている所。
実際に現実として出てくるデータで各説明変数が被説明で条件つけて独立であることなんか無いわけで、なるべく相関が低いかつ、説明力の高い変数の組でモデルを構築したい。
今回考えたのは、「よい変数の組」の基準として尤度を用いてみようということです。

最尤法

母分布は何か?

あるくじがあり、当たりの確率は知らされていない。このとき1000回引いて100回当たったとき(事象A)、このくじはだいたい1割の確率で当たるだろうと予測することは自然な考え方である。

このごく自然な考えを定式化してみる。

隠されている確率をαとおく。このとき1000回のうち10回当たる確率は
conbin(1000,100)α^(100)*(1-α)^(900)

こいつをL(α)としてαの関数としてみる。
適当にエクセルか何かでαを0.01ずつ動かしてグラフを書いてみる。L(α)とは何だろうか?

問題

L(α1)>L(α2)となるα1とα2の組みを考える。

  • ①隠されている確率がα1と仮定した場合とα2と仮定した場合、どちらが事象Aが起きる確率が高いか?

答え:α1(L(α1)>L(α2)より自明)

  • 事象Aが観測されたとする。I君とH君がこのくじの確率について議論している。

I君の主張:母確率はα1よりα2に近い値だ。
H君の主張:母確率はα2よりα1に近い値だ。
どちらの考えを支持する?

同じL(α)の仮定での問題であるが、
①は事象A観測前の話題であり、②は観測後である。
①のときはL(α)事象Aの確率とみている。しかし②の場合L(α)は事象Aの観測結果が織り込まれた関数であり
確率という概念にはそぐわない。

尤度とは?

事象Aが起きたときに、これはめったにないことが起きたと考えるより、よくあることが起きたと考えるのが尤もらしい考え方である。このことから尤らしさの尺度は①の時点のL(α)が大きい方が(確率の多きいほうがよく起こるから)大きくなる。

従って確率と尤もらしさの尺度は概念としては異なるものだが、見た目の式を同じにしても問題はない。尤もらしさの尺度②のL(α)を尤度とよぶ。
(実務上は確率と尤度を明確に分けて理解しなくても何とかなってしまうが)

反論:ごくたまに確率が薄いところをひく可能性があるのに乱暴すぎないか?
隠されている確率がα1であるとは述べてはいない。わかっている事象Aからα1のほうがα2より尤らしいということである。(ここが自然な考え)

最尤法

?の問題を一般化してみる。

MAX(L(α)|α∊(0,1))=L(α~)
となるα^は最も尤もらしいαとなる。

このα^を母確率の推定値とする方法を最尤法と呼ぶ。
推定された値を最尤推定量と呼ぶ。

あたりくじの最尤推定

パラメトリックな分布ではたやすく最尤推定量を求めることができる。

L(α)=CONBIN(1000,100)*(α)^(100)*(1−α)^(900)
をαの関数とみなし、最大値問題を解く。
一般的にはL(α)に対数をとったものを目的関数とすることが多い
(これはLOGの単調増加性と積⇒加法とする性質が最大値問題を解くにあたって有効である)

LOG(L(α))=LOG(CONBIN(1000,100))+100LOG(α)+900LOG(1−α)
ここでLOG(L(α))は(0<α<1)の範囲で上に凸であるので
LOG(L(α))^(1)=0となるαにおいて最大値をとる。

100*(1/α)=900*(1/(1−α))
100*(1−α)/α=900
100−100α=900α
100=1000α
α=0.1

従ってあたりくじの最尤推定値は0.1である。
自然な考え方と同じ値である。

AX

記すこと・残すこと

昔HPを作って、すぐに飽きて放置してしまった。
日記などを、毎日書いている人はよほど暇人なのかドエムなのかと思っていた時期もあった。

○メモの重要性、自分の言葉でラフスケッチを描く。

しかし仕事を始めてから、
気付いたことや、自分なりのノウハウをノートに残すようにした。

それがきっかけで、自身の考えや何かのノウハウを書いて形にするということはとても勉強になると気付いた。
(むしろそれに今まで気付いていないのが自分でも恐ろしい。:)

しかしノートに記したメモは頭の中のラフをトレースしたようなものなので私以外の人間には理解できないし、
人に説明を求められても上手く説明できないものだった。

○ラフを価値ある情報にする。

現在web上で自身の文章を表現できる時代になった。人に見られるという場で文章を書くということは、
自分の頭の中のラフを人に説明できるレベルに昇華させることと同じだと思う。

その結果価値のある情報を生み出すことができる。

○自分への効用

論語にもあるように

「まなびておもわざればすなわちくらし、おもいてまなばざればすなわちあやうし」

一連の作業が情報に価値を付加させるだけではなく、自分自身が当該項目の深い理解をえることができる。