- 2021-2-5
- 技術ニュース, 機械系, 海外ニュース
- Chess Champion MK1, Jazz Champion MK1, Leo Neumann, Python, Raspberry Pi Zero, WM8960 サウンドカードHAT, ジャズコード, チェスコンピュータ, テトラッド(4和音)
古いチェスコンピュータを改造し、コンピュータとジャズコード進行を競う「Jazz Champion MK1」が作製された。
Jazz Champion MK1を製作したのは、コンピュータ科学者でオーディオビジュアルアーティストのLeo Neumann氏。ベースになったのは、1978年に発売されたチェスコンピュータ「Chess Champion MK1」の上半分だ。和音のコードネームとチェスの駒の動きの表記は非常によく似ていることから、わずかな変更だけでキーボードを再利用できるようになった。また、Neumann氏は元のテーマに合うステッカーをデザインし、コンソールを装飾した。
ハードウェアには、Raspberry Pi Zeroとスピーカーが付いたWM8960 サウンドカードHATを使用した。従来の4桁7セグメントディスプレイは、より大きな176×220ピクセルLCDに交換して、1970年代の機器にふさわしいシンプルで直線的なフォントもデザイン。さらに、全ての部品を入れられる下半分のケースをPETG素材で3Dプリントした。
一番大変だったのは、調和したジャズのコードをコンピュータに「演奏」させることだったという。Neumann氏は、PythonでpyoモジュールとKivy UIフレームワークを使うプロトタイプ環境を構築。そうして、さまざまなコード生成アルゴリズムをすぐに試してみたり、ゲームロジックで遊んでみたりすることができた。
さらに、テトラッド(4和音)2つを12のキーを使って組み合わせるとその組み合わせは数千通りにもなるが、全て自分でキー入力して音を出してみて、コード進行がどれだけうまくつながっているかに基づいて評価付けした。これらの値の他にヒューリスティクスを追加して、ようやくジャズ調に聞こえるコード進行を生成することができるようになった。
このアルゴリズムは、時に本当に美しいコード進行を生成したり、時には奇妙なハーモニーを生成したりするという。Jazz Champion MK1は、コンピュータが最後に「演奏」したコードと調和するコードを入力すると、ポイントを獲得できるゲームとなっている。コンピュータ側の選択が完璧でない時こそ面白く、プレイヤー側にも勝ち目があるそうだ。