whisper.cpp/examples/wchess
2024-02-11 16:39:12 +02:00
..
libwchess wchess : whisper assisted chess (#1595) 2023-12-14 15:58:26 +02:00
wchess.cmd examples : initialize context params properly (#1852) 2024-02-11 16:39:12 +02:00
wchess.wasm wchess : whisper assisted chess (#1595) 2023-12-14 15:58:26 +02:00
CMakeLists.txt wchess : whisper assisted chess (#1595) 2023-12-14 15:58:26 +02:00
README.md wchess : update README.md 2023-12-14 22:00:47 +02:00

wchess

Voice-controlled chess using Whisper

Online demo: https://whisper.ggerganov.com/wchess/

https://github.com/ggerganov/whisper.cpp/assets/1991296/c2b2f03c-9684-49f3-8106-357d2d4e67fa

Command-line tool

mkdir build && cd build
cmake -DWHISPER_SDL2=1 ..
make -j

./bin/wchess -m ../models/ggml-base.en.bin

Move: start

a b c d e f g h
r n b q k b n r 8
p p p p p p p p 7
. * . * . * . * 6
* . * . * . * . 5
. * . * . * . * 4
* . * . * . * . 3
P P P P P P P P 2
R N B Q K B N R 1

White's turn
[(l)isten/(p)ause/(q)uit]: 

TODO

  • Fix bugs in the chess moves logic
  • Improve web-browser audio capture - sometimes it does not record the voice properly
  • Add support for more languages by making the generated grammar string multilingual
  • Explore ways to improve the dynamic grammar to be narrower

PRs welcome!

Thanks

  • chessboardjs for the neat chessboard JS library used in this demo