Skip to content

Arduino Library for building Tiny Trainable Instruments.

License

Notifications You must be signed in to change notification settings

montoyamoraga/TinyTrainable

Repository files navigation

TinyTrainable

About

TinyTrainable is an Arduino library, part of the project Tiny Trainable Instruments https://github.com/montoyamoraga/tiny-trainable-instruments, created by Aarón Montoya-Moraga, a research assistant at MIT Media Lab's Opera of the Future and Future Sketches research groups.

This library is being written between December 2020 and August 2021, with help from undergrad researchers Peter Tone and Maxwell Wang.

Distribution

This Arduino library is available on this repository https://github.com/montoyamoraga/TinyTrainable, and can also be installed on the Arduino IDE.

Dependencies

The dependencies of this library are specified on the library.properties file, which include:

There is an additional dependency that must be installed manually:

Contents

This repository is distributed in two branches:

The contents of the main branch are:

Source code

The source code is distributed in the following files and folders:

  • TinyTrainable.h and TinyTrainable.cpp: base classes for the library.
  • inputs/: base classes for each input.
  • outputs/: base classes for each output.
  • tensorflow_speech: additional code for speech recognition, authored by the TensorFlow team.

Examples

The examples are distributed in 4 folders, ordered alphabetically and in terms of complexity:

  • check: no input, intended to check the wiring of the instruments.
  • color: color input.
  • gesture: gesture input.
  • speech: speech input.

Each of these folders contains one example for each of the available outputs:

  • buzzer
  • led
  • midi
  • printer
  • screen
  • serial
  • servo

There is one additional helper example called get_gesture_data, for capturing gesture data for creating your own gesture database.

Hardware

This library is intended to be used with the microcontroller Arduino Nano 33 BLE Sense, and the bill of materials available at https://github.com/montoyamoraga/tiny-trainable-instruments/blob/main/docs/0-bill-of-materials.md

Releases

  • v0.0.1: 2020 December 07, placeholder alpha release, for testing the Arduino library ecosystem.
  • v0.1.0: 2021 January 12, alpha release with first draft versions of each class, and some examples.
  • v0.2.0: 2021 Sunday June 20, beta release for workshops.

License

MIT