next up previous contents
Next: 教師信号の選定と作成 Up: 実験準備 Previous: ニューラルネットワークにおける数値の単位の扱いについて

音符の数値化と量子化をする手法

想起過程においてニューラルネットワークの出力した値を各音符に対応させるため, 量子化をして細かな数字を除外してから,音符としての数値化をする必要がある. その手法として,当研究室卒業生の保木氏が提案した手法を用いる [8]. 次にその方法について説明する.

tex2html_wrap_inline1393 音符を数値に変換する方法

音符を高さと長さに分けて,それぞれをニューロンに入力するために, 0から1の値に変換することが必要である. 音符の高さの場合3オクターブをそのまま0から1に線形に割り当てるだけでいいが, 音符の長さの場合,短い音符の値が他の短い音符の値に近くなってしまうので, 次の式のように割り当てる.

equation243

tex2html_wrap1371 は音符の長さ, tex2html_wrap1372 は変換後の値である. この変化の様子を図 5.1 に示す.

このようにすると,全音符,2分音符,4分音符,8分音符,16分音符の 間隔が均等になる. また,グラフの上では4分音符1つを0.6[sec]として表示する.

   figure248
図 5.1: 音符の長さの変換

tex2html_wrap_inline1393 数値を音符に変換する方法

音符の長さは,間隔が tex2html_wrap1373 になるようになっているので tex2html_wrap1374 から tex2html_wrap1375 までが全音符, tex2html_wrap1376 から tex2html_wrap1374 までが2分音符というように割り当てる. 音符の高さは,0から1の間に tex2html_wrap1378 段階あるので,間隔は tex2html_wrap1379 である. このことからわかるように,長さは誤差が tex2html_wrap1380 以上で誤りが生じるのに対して, 高さは誤差が tex2html_wrap1381 以上という小さい値で誤りが生じる. このことから,長さの方が速く学習できると考えられる.



Toshinori DEGUCHI
2003年 4月11日 金曜日 11時42分54秒 JST