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

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

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

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

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

equation222

tex2html_wrap1180 は音符の長さ, tex2html_wrap1181 は変換後の値である。 このようにすると,全音符,2分音符,4分音符,8分音符,16分音符の間隔が均等になる。 また,グラフの上では4分音符1つを0.6[sec]として表示する。

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

音符の長さは,間隔が tex2html_wrap1182 になるようになっているので tex2html_wrap1183 から tex2html_wrap1184 までが全音符, tex2html_wrap1185 から tex2html_wrap1183 までが2分音符というように割り当てる。 音符の高さは,0から1の間に tex2html_wrap1187 段階あるので,間隔は tex2html_wrap1188 である。 このことからわかるように,長さは誤差が tex2html_wrap1189 以上で誤りが生じるのに対して, 高さは誤差が tex2html_wrap1190 以上という小さい値で誤りが生じる。 このことから,長さの方が速く学習できると考えられる。



Toshinori DEGUCHI
2004年 3月19日 金曜日 16時33分51秒 JST