Skip to content
pidart is an electronic dart board
Branch: master
Clone or download
Latest commit b631a04 Nov 5, 2014
Type Name Latest commit message Commit time
Failed to load latest commit information.
arduino Small changes Nov 29, 2013
gamemanager EnterHold now also with ISAT sounds Nov 5, 2014
html Fix navbar? Nov 5, 2014
sounds New sounds, added DR as usual suspect, multiple sound files as altern… Sep 24, 2014
websockettest Working websockets and stuff Nov 23, 2013
.gitignore Git ignore Nov 5, 2014
LICENSE.txt Add license Sep 9, 2014
Pin-Zuordnung.ods Build event-driven version Nov 19, 2013 Update readme Sep 9, 2014


See LICENSE.txt for the license that applies to the source code.

Installation (on a Raspberry Pi)

sudo apt-get install python-dev python-espeak sox mercurial
hg clone
cd circuits-dev
sudo python install

Changing Settings

To change settings, create a file called "" in the gamemanager subdirectory. Example contents:

users = {"pidart_username": "pidart_password"}
port = 8181
listen = ''


Run the dart game by changing to the gamemanager subdirectory, then execute

sudo ./

(root rights are required for serial port access, unless explicitely configured otherwise). Refer to

./ --help

for further options.

There are three sound systems available, the legacy sounds (uses the sound files stored in sounds/old-*, the espeak sounds (uses TTS on the fly), and the ISAT sounds (for InfSec Adaptive TTS). It uses the legacy sounds plus pre-generated sound files from the MARY TTS system in sounds/cached-mary. The MARY TTS system supports some emotions in the generated voices. The sound files are (more or less) randomly selected, as defined by rules that may depend on the current game situation.

Adding/updating rules for the commentator

Texts and rules are stored in gamemanager/isat/

In the first part of this file, a list of texts is defined (see comments there). The second part contains the rules that are applied to select these texts.

After adding/changing stuff there, make sure to run the tests and, if needed, to generate the sound files from the texts (for both see below).


All tests can be run by executing

nosetests -v

in the gamemanager directory.

Generating Sound File Cache

Sound files are cached. Without the cache, the ISAT sounds cannot be used. To generate the sound files from the rules file, install MARY TTS system, install the voice cmu-rms-hsmm, and start the server. Then, use

python -m isat.generate_cache http://localhost:59125/process

in the gamemanager directory.

You can’t perform that action at this time.