Custom Speech-to-Text app for Season 2 of BBC 2's Big Life Fix.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
assets.sketch Initial commit Aug 9, 2018


Custom Speech-to-Text app for Season 2 of BBC 2's Big Life Fix.

This app is designed to work with just the device or a specially designed Raspberry Pi app and Bluetooth 7-mic array device - the Bobbycom.

Features include:

  • Uses Google's Speech-to-Text API.
  • Use on-device or specially designed Bluetooth 7-mic array device.
  • Add custom audio keywords that can be associated with a colour to set text on the screen and whom is speaking e.g. Banana -> John in Yellow.
  • Select any ASR language from the full list provided by Google.
  • Play/pause microphone capture.
  • Add common phrases to assist Google' ASR algorithm.
  • Continuous transcription despite 1 minute limit of API.
  • Clear the text.
  • Hide intermediate (prediction) text.


This app requires your own Google's Speech-to-Text API key available here.

You will need to setup a Google Cloud Platform account.


Keyword Colours Options

Getting Started

Installation Instructions

  1. Download the source code

$ git clone

  1. Install cocoapods
   $ cd ./subtitles
   $ chmod +x ./
   $ ./
  1. Open "Subtitles.xcworkspace" in Xcode

  2. Open Xcode's Preferences > Accounts and add your Apple ID

  3. In Xcode's sidebar select "Subtitles" and go to Targets > Subtitles > General > Identity and add a word to the end of the Bundle Identifier to make it unique. Also select/change your Apple ID in Signing > Team

  4. Connect your iPad or iPhone and select it in Xcode's Product menu > Destination

  5. Press CMD+R or Product > Run to install Subtitles

Build Fixes

At the time of development, the 2 frameworks that this project relied on had build issues.

BoringSSL as a dependency of the googleapis package

XCode 8.3 and onwards will complain about module.modulemap redefining the openssl module.

Solution: Comment out the file contents of module.modulemap.


If using Swift 3.2, there are 2 compilation errors for the Material framework.

Solution: Simply follow Xcode's instructions and accept the fixes.