棋譜音楽について
将棋の対戦内容を記録したものは棋譜と呼ばれます。棋譜を見れば、後から対戦を再生することができます。棋譜をデータ化したものにはいくつかの形式があり、これらはツールで再生したり、そのまま読むこともできます。普通、棋譜は一手一手検討しつつ読みます。しかしそうではなく、棋譜をより直感的に把握する手段を考えてみます。棋譜を読む前に全体像をイメージしておくことで理解の助けになるのではないでしょうか。
今回は二つのアプローチを試します。
・どこで駒の動きがあったのかヒートマップで画像にする視覚からの影響アプローチ
・どう駒が動いたのか音として表現する聴覚からのアプローチ
このように視覚と聴覚を使い感覚的に理解できるようにしていきます。
棋譜からのヒートマップ生成
今回のヒートマップは、どこに駒が打ち込まれたかをカウントしました。これによりどこで競り合いがあったのかが可視化できます。棋譜からの音楽生成
横一列ごとに音を当てはまる、縦に移動するとオクターブ音が変わるようにします。横一列の音は白鍵だけを使うようにしました。ですので盤上に同じ音が出る場所がありますがそのまま出力しています。横一列の当てはめ方は色々試しました。単純に半音ずつずらしたり、ヨナ抜き音階を使ったりしてみました。その中でしっくり来たものを採用しています。
将棋盤で表現するとこうなります。
鍵盤で表現するとこうなっています。
これを基本形とした上で、音全体をずらすことで、midiで表現できる音の枠内に収まるようにしています。
生成する音は、バッハの「平均律クラヴィーア曲集 第1巻 BWV 846‐869」の音を参考にしたものと、単に和音を鳴らしたものを用意しました。
結果
こちらから再生できます。・基本形
棋譜音楽 (AlphaZero vs. elmo No.81 2018-12-03)
棋譜音楽 (AlphaZero vs. elmo No.18 2018-12-03)
・和音版
棋譜音楽 (AlphaZero vs. elmo No.81 2018-12-03)
棋譜音楽 (AlphaZero vs. elmo No.18 2018-12-03)
使用データ
AlphaZero Resources | DeepMind「100 AlphaZero-Elmo games (.zip file).」より。
考察
今回の結果からは、いくつかの点で理解を助ける要素が現れました。・上下方向の移動がオクターブで表現され、耳で理解できる
・置いた駒が即座に取られた場合には、同じ音の連続として表現される
・激しいやりとりがあった場所はヒートマップに表現される しかし一方で当然ながら一貫性が無い曲調であり、全体を通じて印象を持つのは困難な曲です。
コメント
この取り組みにより直感的な理解ができそうかというとそうでもありません。とはいえこのような取り組みから何かを掴むことができるかもしれません。さらにより自然な表現も検討する必要があります。(参考)使用ツールとフロー
主に使用したツールPython3 mido, python-shogi, seaborn
ffmpeg