TipToiDog - Tip Toi Dog With Python

Overview

TipToiDog

Was ist dieses Projekt?

Meine 5-jährige Tochter spielt sehr gerne das Quiz Wer kennt alle Hunde. Dabei interessiert sie sich gar nicht so sehr für die Details auf der Rückseite der Quizkarten, sondern hauptsächlich für die Hundenamen. Da sie aber noch nicht lesen kann, kann sie das Quiz nicht alleine machen. Da kam mir die Idee, den TipToi-Stift von Ravensburger dafür einzusetzen, dass sie das Spiel doch alleine spielen kann. Der Stift sollte also die jeweiligen Hundenamen vorlesen. Ich war zuversichtlich, dass es bestimmt paar clevere Leute gibt, die herausgefunden haben, wie man den Stift auch für eigene Projekt einsetzen kann. Und siehe da: Es gibt das geniale Tool tttool. Hiermit konnte ich das Projekt in ca. einem Tag umsetzen. Desweiteren war noch ein bisschen Python-Coding notwendig.

Wie funktioniert der TipToi-Stift überhaupt?

Dies wird hier hervorragend beschrieben und daher erlaube ich mir die Faulheit, die Funktionsweise nicht näher zu erläutern. Es sei nur so viel gesagt: Der Stift arbeitet optisch und erkennt so genannte OID-Codes. Jeder Hundename muss nun also einem OID-Code zu geordnet werden und dann jedem OID-Code noch eine entsprechende Audio-Datei, die den Hundenamen enthält.

Welche Dateien sind für was?

Wenn ihr direkt damit loslegen wollt, das Quiz um die TipToi-Funktion zu erweitern, so braucht ihr lediglich 2 Dateien:

  • dogs.gme: Diese Datei enthält alle Sounddateien und die notwendigen Information für den TipToi, um das Hundequiz auf diesem zu spielen. Hier könnt ihr genauer nachlesen, wenn ihr das Konzept der gme-Datei genauer verstehen wollt. Diese Datei könnt ihr direkt auf den Stift schieben.
  • dogs_box.pdf: In dieser Datei sind die Steuerfelder und alle Hunde-Namen in OID-Code abgebildet, wobei in jedem Codefeld ein Knochen eingebettet ist. Diese Datei muss ausgedruckt werden und dann jeder Knochen auf das entsprechende Hundekarte geklebt werden. Folgendes Bild zeigt 3 Hundekarten mit aufgeklebtem "OID-Knochen":

Die Steuerzeichen (Stop habe ich nicht verwendet), sind auf der Box aufgeklebt:

Beim Drucken liegt leider der Teufel im Detail, [siehe auch hier](https://github.com/entropia/tip-toi-reveng/wiki/Printing). Ich habe es mit meinem Drucker (Brother HL-L2370DN) mit den folgenden Druckeinstellungen gut hinbekommen:
  • Auflösung: HQ1200
  • Druckeinstellungen: Manuell
    • Helligkeit: 0
    • Konstrast: +34
    • Grafikqualität: Text
    • Rest wie vorgegeben

Auf weiße Etiketten spricht mein TipToi hervorragend an. Allerdings hatte ich den Ehrgeiz die Knochen auf transparente Etiketten zu drucken. Das klappt zwar immer noch, aber nicht mehr ganz so gut. Achtung: Der Druck darf nicht skaliert werden!

Wenn ihr das Projekt modifizieren wollt, also vielleicht die Audiodateien verändern wollt, weil sie euch nicht gefallen, oder ihr eigene Hundekarten ergänzen wollt, braucht ihr folgende Dateien, wobei die Reihenfolge, in der ich sie hier nennen, einen gewissen Ablauf beschreibt.

  • dogs.xls: Diese Excel-Tabelle enthält drei Spalten:
    1. Der Hundename in exakter Schreibweise
    2. Ein Dateiname (ohne Leerzeichen), der den Hundenamen repräsentiert.
    3. Die Sprache (repräsentiert durch ein Kürzel), in der später die Audio-Datei für den Hundenamen generiert werden soll
  • gen_dogs.py: Dieses Skript lädt diese Excel-Datei ein und lässt eine Schleife über alle Hundenamen laufen. Hierbei wird mit Hilfe der Google Text-to-Speech-API eine Audiodatei für jeden Hundenamen erzeugt. Desweiteren wird eine entsprechende yaml-Datei erzeugt. Diese Datei benötigt das tttool dann später um zu wissen für welche Ereignisse/Begriffe (hier: die Hundename) welche Aktionen (hier: Abspielen des Hundenamens) generiert und OID codiert werden sollen.
  • hello_dog.ogg: Diese ist eine akustische Begrüßung, die ich eingespielt habe und die ertönt, wenn das Start-Symbol gewählt wird. Sie kann nach Belieben durch eine andere Datei ersetzt werden. Eure Kinder freuen sich bestimmt, wenn sie eure eigene Stimme zu hören bekommen.
  • gen_gme.bat: Dieses Batch-Skript erzeugt aus der yaml-Datei und den Soundfiles die entsprechende gme-Datei
  • gen_oid.bat: Dieses Batch-Skript erzeugt die OID-Codes in einer Tabelle im PDF-Format. Die Größe habe ich entsprechend so gewählt, dass der Knochen auf der Quizkarte nicht zu viel Platz einnimmt. Außerdem habe ich die Pixel-Größe auf 3 (statt wie standardmäßig 2) eingestellt. Dadurch hat mein Stift die Codes überhaupt erst erkannt.
  • overlay.docx: In diesem Word-Dokument sind Hundeknochen tabellarisch im gleichen Raster angeordnet, wie die OID-Codes in dem PDF, was durch das vorherige Skript erstellt worden ist. Daraus muss eine PDF-Datei erstellt werden (auch hier nicht skalieren!)
  • merge_pdf.py: Dieses Python-Skript verschmelzt die dogs.pdf mit der overlay.pdf zu dogs_box.pdf, die dann gemäß obiger Beschreibung ausgedruckt werden kann.

Viel Spaß beim Verwenden und Modifizieren! Über eine Rückmeldung, wenn ihr es erfolgreich umgesetzt habt, würde ich mich freuen!

Code for Graph-to-Tree Learning for Solving Math Word Problems (ACL 2020)

Graph-to-Tree Learning for Solving Math Word Problems PyTorch implementation of Graph based Math Word Problem solver described in our ACL 2020 paper G

Jipeng Zhang 66 Nov 23, 2022
NuPIC Studio is an all­-in-­one tool that allows users create a HTM neural network from scratch

NuPIC Studio is an all­-in-­one tool that allows users create a HTM neural network from scratch, train it, collect statistics, and share it among the members of the community. It is not just a visual

HTM Community 93 Sep 30, 2022
Automatic Idiomatic Expression Detection

IDentifier of Idiomatic Expressions via Semantic Compatibility (DISC) An Idiomatic identifier that detects the presence and span of idiomatic expressi

5 Jun 09, 2022
CN24 is a complete semantic segmentation framework using fully convolutional networks

Build status: master (production branch): develop (development branch): Welcome to the CN24 GitHub repository! CN24 is a complete semantic segmentatio

Computer Vision Group Jena 123 Jul 14, 2022
UNAVOIDS: Unsupervised and Nonparametric Approach for Visualizing Outliers and Invariant Detection Scoring

UNAVOIDS: Unsupervised and Nonparametric Approach for Visualizing Outliers and Invariant Detection Scoring Code Summary aggregate.py: this script aggr

1 Dec 28, 2021
Using Machine Learning to Test Causal Hypotheses in Conjoint Analysis

Readme File for "Using Machine Learning to Test Causal Hypotheses in Conjoint Analysis" by Ham, Imai, and Janson. (2022) All scripts were written and

0 Jan 27, 2022
DeepSpeed is a deep learning optimization library that makes distributed training easy, efficient, and effective.

DeepSpeed+Megatron trained the world's most powerful language model: MT-530B DeepSpeed is hiring, come join us! DeepSpeed is a deep learning optimizat

Microsoft 8.4k Dec 28, 2022
The 2nd Version Of Slothybot

SlothyBot Go to this website: "https://bitly.com/SlothyBot" The 2nd Version Of Slothybot. The Bot Has Many Features, Such As: Moderation Commands; Kic

Slothy 0 Jun 01, 2022
The official implementation for ACL 2021 "Challenges in Information Seeking QA: Unanswerable Questions and Paragraph Retrieval".

Code for "Challenges in Information Seeking QA: Unanswerable Questions and Paragraph Retrieval" (ACL 2021, Long) This is the repository for baseline m

Akari Asai 25 Oct 30, 2022
This repository is related to an Arabic tutorial, within the tutorial we discuss the common data structure and algorithms and their worst and best case for each, then implement the code using Python.

Data Structure and Algorithms with Python This repository is related to the Arabic tutorial here, within the tutorial we discuss the common data struc

Mohamed Ayman 33 Dec 02, 2022
Official Code for AdvRush: Searching for Adversarially Robust Neural Architectures (ICCV '21)

AdvRush Official Code for AdvRush: Searching for Adversarially Robust Neural Architectures (ICCV '21) Environmental Set-up Python == 3.6.12, PyTorch =

11 Dec 10, 2022
Learning from Guided Play: A Scheduled Hierarchical Approach for Improving Exploration in Adversarial Imitation Learning Source Code

Learning from Guided Play: A Scheduled Hierarchical Approach for Improving Exploration in Adversarial Imitation Learning Source Code

STARS Laboratory 8 Sep 14, 2022
3D-Reconstruction 基于深度学习方法的单目多视图三维重建

基于深度学习方法的单目多视图三维重建 Part I 三维重建 代码:Part1 技术文档:[Markdown] [PDF] 原始图像:Original Images 点云结果:Point Cloud Results-1

HMT_Curo 19 Dec 26, 2022
🌎 The Modern Declarative Data Flow Framework for the AI Empowered Generation.

🌎 JSONClasses JSONClasses is a declarative data flow pipeline and data graph framework. Official Website: https://www.jsonclasses.com Official Docume

Fillmula Inc. 53 Dec 09, 2022
The Submission for SIMMC 2.0 Challenge 2021

The Submission for SIMMC 2.0 Challenge 2021 challenge website Requirements python 3.8.8 pytorch 1.8.1 transformers 4.8.2 apex for multi-gpu nltk Prepr

5 Jul 26, 2022
Pairwise model for commonlit competition

Pairwise model for commonlit competition To run: - install requirements - create input directory with train_folds.csv and other competition data - cd

abhishek thakur 45 Aug 31, 2022
Karate Club: An API Oriented Open-source Python Framework for Unsupervised Learning on Graphs (CIKM 2020)

Karate Club is an unsupervised machine learning extension library for NetworkX. Please look at the Documentation, relevant Paper, Promo Video, and Ext

Benedek Rozemberczki 1.8k Jan 07, 2023
Robustness between the worst and average case

Robustness between the worst and average case A repository that implements intermediate robustness training and evaluation from the NeurIPS 2021 paper

CMU Locus Lab 16 Dec 02, 2022
PyTorch GPU implementation of the ES-RNN model for time series forecasting

Fast ES-RNN: A GPU Implementation of the ES-RNN Algorithm A GPU-enabled version of the hybrid ES-RNN model by Slawek et al that won the M4 time-series

Kaung 305 Jan 03, 2023
Codes for CyGen, the novel generative modeling framework proposed in "On the Generative Utility of Cyclic Conditionals" (NeurIPS-21)

On the Generative Utility of Cyclic Conditionals This repository is the official implementation of "On the Generative Utility of Cyclic Conditionals"

Chang Liu 44 Nov 16, 2022